1 1 BAB I PENDAHULUAN 1.1 Latar Belakang Tingkat persaingan bisnis saat ini sangatlah ketat. Kematangan suatu perusahaan dalam menghadapi derasnya per...
Latar Belakang Tingkat persaingan bisnis saat ini sangatlah ketat. Kematangan suatu
perusahaan dalam menghadapi derasnya persaingan mutlak diperlukan agar tetap dapat mempertahankan eksistensi usahanya dalam persaingan tersebut. Untuk mencapai kematangan tersebut, tidak hanya diperlukan strategi bisnis yang baik, namun diperlukan sumber daya yang kuat untuk menerapkan strategi bisnis tersebut khususnya sumber daya manusia yang berperan sebagai penggerak usaha. Para karyawan atau staff yang bertindak sebagai sumber daya manusia yang dimiliki perusahaan membutuhkan motivasi yang tinggi agar kinerja maksimal dapat diperoleh, sehingga diharapkan produktivitas usaha perusahaan dapat meningkat. Oleh karena itu, biasanya perusahaan menerapkan kebijakankebijakan terhadap para karyawan yang berkaitan dengan kinerja dalam bekerja, misalnya dengan menerapkan promosi, demosi atau peningkatan maupun penurunan rate salary. Karyawan atau staff yang memiliki kinerja yang baik dalam bekerja tentunya berpotensi sangat besar mendapatkan promosi atau peningkatan rate salarynya sebagai reward atas kinerja yang ditunjukkannya. Begitu juga sebaliknya, karyawan atau staff yang memiliki kinerja yang buruk tentunya akan berpotensi lebih besar mendapatkan punishment berupa demosi ataupun penurunan rate salary dari perusahaan. Hal inilah yang membuat banyak perusahaan yang menggunakan suatu sistem penilaian kinerja atau biasa yang
2
disebut job performance appraisal untuk mengukur kinerja pekerjaan para karyawan atau staffnya. PT.
Learning
Resources
merupakan
perusahaan
konsultan
yang
menyediakan sejumlah program-program pelatihan soft skill kelas dunia. Di tengah ketatnya persaingan usaha bisnis saat ini, PT. Learning Resources berupaya mengembangkan layanan baik dari sisi inovasi, kualitas dan kuantitas, yakni salah satunya dengan menghadirkan layanan baru yakni sistem job performance appraisal yang diperuntukkan bagi para perusahaan klien yang ingin melakukan penilaian kinerja karyawan atau staffnya. Selama ini sistem job performance appraisal yang dimiliki oleh PT. Learning Resources yang digunakan untuk menilai kinerja kerja para karyawan atau staff perusahaan kliennya masih manual, yakni masih banyak menggunakan kertas dalam proses penilaiannya, kemudian kertas-kertas penilaian tersebut akan diserahkan pada admin, dalam hal ini pihak PT.Learning Resources, dari kertaskertas data penilaian tersebut, akan diolah menggunakan Microsoft Excel, dan proses perhitungan penilaiannya dan pengurutan rangkingnya pun masih manual dengan melihat nilai tertinggi dari hasil perhitungan. Sehingga banyak masalahmasalah yang terkadang muncul di saat pelaksanaan atau implementasi sistem penilaian ini. Diantaranya human error yang terkadang terjadi seperti kesalahan penghitungan nilai, hilangnya dokumen penilaian dan juga lamanya waktu pendistribusian soal-soal monitoring checklist atau dokumen penilaian dari dan ke kantor pusat perusahaan klien.
3
Ada banyak metode penilaian yang dapat digunakan untuk menilai kinerja karyawan, antara lain skala penilaian grafis, checklist, penentuan peringkat, distribusi paksa, kejadian penting, esai, tinjauan lapangan, pendekatan penilaian perilaku, manajemen berdasarkan tujuan (Management By Objectives - MBO). Namun, metode penilaian yang digunakan dalam sistem job performance appraisal milik PT. Learning Resources ada metode checklist. Penilaian yang objektif dan kemudahan dalam menilai menjadi alasan mendasar digunakannya metode ini. Namun, karena tidak digunakan bobot penilaian dalam metode penilaian pada sistem ini, muncul kemungkinan masalah yang mungkin terjadi, yakni besarnya peluang munculnya nilai yang sama antar karyawan atau staff yang dinilai. Hal ini tentunya membuat branch manager bingung dalam menentukan nama staff atau karyawan sebagai staff terbaik di kantor cabang tersebut. Staff terbaik tersebut akan dikirimkan sebagai delegasi staff terbaik dari kantor cabang tersebut yang nantinya akan dijadikan calon delegasi staff terbaik dari seluruh kantor cabang yang mana penentuan siapakah staff terbaik dari seluruh kantor cabang didasarkan atas nilai tertinggi dari penilaian yang sudah dilakukan di kantor cabang. Dengan memperhatikan potensi masalah-masalah yang bisa timbul pada penerapan sistem job performance appraisal yang masih manual tersebut, penulis mencoba merancang dan mengembangkan sistem job performance appraisal yang terkomputerisasi menggunakan CI Framework. Pemilihan CI Framework sebagai application framework bukannya tanpa alasan, hal ini didasarkan pada kenyataan bahwa PT. Learning Resources sampai saat ini belum memiliki dedicated server
4
sendiri atau sebuah PC (personal computer) milik sendiri yang dijadikan server untuk menjalankan sistemnya, dan masih menggunakan jasa web hosting untuk implementasi sistem yang terkomputerisasi, sehingga sangat tepat jika pilihan jatuh pada CI Framework sebagai framework yang memiliki kompatibilitas dan kapabilitas sangat baik terhadap sebagian besar web hosting saat ini dibanding application framework yang lain. Dan tentunya dalam sistem job performance appraisal ini masih menggunakan metode penilaian yang sama, yakni metode checklist untuk menilai kinerja staff atau karyawan, namun penerapan bobot penilaian akan diterapkan pada sistem job performance appraisal untuk menghindari terjadinya kemungkinan nilai yang sama antar karyawan atau staff yang dinilai. 1.2
Rumusan Masalah Berdasarkan latar belakang yang dipaparkan di atas, maka penulis
merumuskan permasalahan yang saat ini dihadapi, antara lain : 1.
Bagaimana mencegah human error yang terkadang terjadi seperti kesalahan penghitungan nilai?
2.
Bagaimana mencegah kemungkinan hilangnya dokumen penilaian, baik pada waktu pendistribusian soal-soal monitoring checklist atau dokumen penilaian dari dan ke kantor pusat, atau pada saat waktu penilaian di kantor cabang?
3.
Bagaimana meningkatkan efektivitas dan mempersingkat lamanya waktu pendistribusian soal dari dan ke kantor pusat?
5
4.
Bagaimana mengurangi pemborosan dalam penggunaan sumber daya, semisal kertas untuk dokumen penilaian?
5.
Bagaimana mengimplementasikan sistem job performance appraisal yang terkomputerisasi oleh PT.Learning Resources yang belum memiliki dedicated server sendiri untuk memberikan layanan sistemnya, masih menggunakan jasa web hosting?
6.
Bagaimana meminimalisir kemungkinan terjadinya nilai yang sama antar staff sangat tinggi yang disebabkan metode checklist yang digunakan pada sistem yang berjalan belum menggunakan bobot?
6
1.3
Batasan Masalah Penulis membatasi masalah yang dibahas pada penelitian dalam skripsi ini,
yaitu : 1.
Dalam pengembangan sistem job performance appraisal pada PT. Learning Resources, penulis menggunakan metode pengembangan sistem dengan model Waterfall, mulai dari tahap Analysis (Analisis), Design (Perancangan), Code (Pengkodean), Test (Ujicoba). Sedangkan, untuk tahap Maintenance (Pemeliharaan) tidak penulis lakukan dalam penelitian ini.
2.
Sistem ini hanya bersifat simulasi yakni menggunakan sample data atau bukan data sebenarnya.
3.
Sistem ini berbasis web.
4.
Pada sistem ini pula, penulis menggunakan XAMPP 1.7.0 sebagai development toolkit yang berisi PHP versi 5.2.8 sebagai bahasa pemrograman, MySQL versi 5.1.30 sebagai database server, dan Apache Server versi 2.0 sebagai web server. Notepad++ versi 4.8.1 sebagai Integrated Development Environment (IDE) dalam pembuatan aplikasi, Microsoft Visio 2007 sebagai tools dalam pembuatan DFD dan flowchart Power Designer untuk merancang ERD, dan CI Framework versi 1.7.2 sebagai application framework aplikasinya, fusion chart sebagai reporting chart, Microsoft Windows Vista Home Premium SP1 sebagai sistem operasi untuk simulasi, dan Mozilla Firefox 3.0.18 sebagai browsernya.
7
5.
Sistem job performance appraisal ini menggunakan metode checklist sebagai metode penilaiannya dengan bobot penilaian menggunakan rumus yang penulis buat sesuai kebutuhan.
6.
Penilaian hanya dilakukan oleh supervisor terhadap staff yang ditangani, dan untuk setiap aspek penilaian terhadap masing-masing staff dilakukan penilaian sebanyak 10 kali.
7.
Dalam sistem ini, penggunanya terdiri atas administrator, head officer, branch manager, dan supervisor.
8.
Laporan yang dapat dihasilkan oleh sistem ini meliputi laporan staff terbaik seluruh cabang perbulan, laporan staff terbaik seluruh cabang pertahun, laporan aspek terbaik seluruh cabang perbulan yang dapat dilihat oleh head officer. Dan laporan untuk branch manager adalah laporan staff terbaik kantor cabang dan laporan aspek terbaik kantor cabang.
9.
Tidak ada perubahan pada seluruh aspek penilaian dalam satu periode penilaian yakni tiap bulan.
10.
Untuk pengujian sistem, penulis hanya menggunakan black box testing.
8
1.4
Tujuan Tujuan dari penelitian tentang pengembangan sistem job performance
appraisal menggunakan metode checklist menggunakan CI Framework pada PT. Learning Resources ini adalah sebagai berikut : 1.
Membuat alat bantu berupa sistem job performance appraisal bagi PT. Learning Resources dalam memberikan layanan pada perusahaan klien yang ingin melakukan penilaian kinerja menggunakan metode checklist untuk metode penilaiannya yang bersifat objektif kepada para staffnya dengan proses yang lebih efektif dan efisien.
2.
Membangun sebuah aplikasi berbasis web yang memiliki kompatibilitas yang baik terhadap sebagian besar web hosting yang ada dengan menggunakan CI Framework, sehingga permasalahan tentang infrastruktur yang belum dimiliki saat ini semisal dedicated server bisa diatasi. Dan penggunaan CI Framework diharapkan aplikasi yang dibuat menjadi lebih terstruktur, sehingga mudah dilakukan maintenance.
1.5
Manfaat
1.5.1
Bagi Penulis
a. Penulis dapat lebih mengenal dan mendalami konsep pengembangan aplikasi web menggunakan PHP dan application framework menggunakan CI Framework. b. Penulis dapat menerapkan ilmu-ilmu dan materi yang telah penulis dapatkan di kuliah, di antaranya analisa dan perancangan sistem, rekayasa
9
perangkat lunak, web programming, sistem informasi manajemen, metodologi penelitian, dan sistem basis data. c. Untuk memenuhi salah satu syarat kelulusan mahasiswa Teknik Informatika UIN Syarif Hidayatullah Jakarta. 1.5.2
Bagi Akademik
a. Mengetahui kemampuan mahasiswa dalam menguasai materi teori yang diperoleh selama kuliah. b. Mengetahui kemampuan mahasiswa dalam menerapkan ilmunya dan sebagai bahan evaluasi. c. Memberikan gambaran tentang kesiapan mahasiswa dalam menghadapi dunia kerja dan hasil yang diperoleh selama kuliah. 1.5.3
Bagi Perusahaan
a. Tersedianya sistem job performance appraisal sebagai alat bantu penilaian kinerja para staff perusahaan klien dari PT. Learning Resources. b. Tersedianya sistem informasi untuk mengetahui kinerja dari masingmasing staff di kantor cabang dan staff terbaik di kantor cabang dan antar seluruh kantor cabang. c. Mempercepat proses pendistribusian soal-soal monitoring checklist dan penilaian kinerja staff. d. Membantu administrator dalam mengolah data perusahaan klien, semisal kantor cabang berikut para staffnya dan mengelola data-data soal-soal monitoring checklist yang digunakan dalam melakukan penilaian.
10
1.6
Metodologi Penelitian
1.6.1
Metode Pengumpulan Data Dalam penelitian ini penulis dalam melakukan pengumpulan data,
menggunakan beberapa metode yaitu wawancara, observasi, dan studi kepustakaan (library research). A.
Observasi Pengumpulan data dengan observasi langsung atau dengan pengamatan langsung adalah cara pengambilan data dengan menggunakan mata tanpa ada pertolongan alat standar lain untuk keperluan tersebut. (Pangestu, 2009)
B.
Wawancara Mengumpulkan data dengan cara tanya jawab, sambil bertatap muka antara si penanya atau pewawancara dengan si penjawab atau responden dengan menggunakan alat yang dinamakan interview guide (panduan wawancara). (Pangestu, 2009)
(Hasil Wawancara terlampir pada Lampiran A)
11
1.6.2
Metode Pengembangan Sistem Sedangkan untuk pengembangan sistem ini penulis menggunakan metode
System Development Life Cycle (SDLC) dengan menggunakan model waterfall yang diciptakan oleh Rasmus Lerdorf (Al-Fatta, 2007: 26), berikut tahapantahapan dalam metode Waterfall menurut Pressman (2001, 29) : 1.
Analisis (Analysis) Analisis merupakan tahap awal dimana dilakukan proses pengumpulan data, identifikasi masalah, dan analisis kebutuhan sistem hingga aktivitas pendefinisian sistem. Tahap ini bertujuan untuk menentukan solusi yang didapat dari aktivitas-aktivitas tersebut.
2.
Perancangan (Design) Pada tahap ini dilakukan pembuatan model dari perangkat lunak. Maksud pembuatan model ini adalah untuk memperoleh pengertian yang lebih baik terhadap aliran data dan kontrol, proses-proses fungsional, tingkah laku operasi dan informasi-informasi yang terkandung di dalamnya. Terdiri dari aktivitas utama pemodelan proses, pemodelan data dan desain antarmuka.
3.
Pengkodean (Code) Pada tahap ini hasil dari perancangan mulai diterjemahkan ke dalam bahasa mesin melalui bahasa pemrograman. Terdiri dari dua aktivitas yaitu pembuatan kode program dan pembuatan antarmuka program untuk navigasi sistem.
12
4.
Ujicoba (Test) Selanjutnya program harus diuji coba dimana di fokuskan terhadap tiga aktivitas yakni logika internal perangkat lunak, pemastian bahwa semua perintah yang ada telah dicoba, dan fungsi eksternal untuk memastikan bahwa dengan masukan tertentu suatu fungsi akan menghasilkan keluaran sesuai dengan yang dikehendaki.
1.7
Sistematika Penulisan Untuk mempermudah penulis dalam melakukan penelitian ini, maka
penulis membagi sesuai dengan ruang lingkup yang dijelaskan sebelumnya secara garis besar, yang dibagi menjadi beberapa bab yang secara ringkas dapat dijabarkan sebagai berikut : BAB I
PENDAHULUAN Bab ini berisi pendahuluan yang terdiri dari latar belakang, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, waktu dan tempat penelitian dan sistematika penulisan.
BAB II
LANDASAN TEORI Bab ini berisi tentang definisi dan komponen pembangun yang ada pada Sistem Job Performance Appraisal dengan metode checklist pada PT. Learning Resources.
13
BAB III
METODE PENELITIAN Bab ini berisi tentang uraian penjelasan metodologi yang digunakan dalam penelitian terhadap Pengembangan Sistem Job Performance Appraisal dengan metode checklist pada PT. Learning Resources secara keseluruhan.
BAB IV
PEMBAHASAN SISTEM Bab ini berisi tentang uraian penjelasan terhadap Pengembangan Sistem Sistem Job Performance Appraisal dengan metode checklist pada PT. Learning Resources secara keseluruhan.
BAB V
PENUTUP Pada bab ini penulis menyampaikan kesimpulan dari hasil penelitian dan studi kasus yang dilaksanakan serta saran-saran untuk lembaga.
14
BAB II LANDASAN TEORI
2.1
Pengertian Pengembangan Pengembangan adalah proses, cara, pembangunan secara bertahap dan
teratur yang menjurus ke sasaran yang dikehendaki (Kamus Besar Bahasa Indonesia, 1988 : 414). Jadi pengembangan adalah suatu proses pembangunan secara bertahap dan teratur yang menuju kepada tujuan yang diinginkan.
2.2
Konsep Dasar Sistem Informasi
2.2.1
Definisi Sistem Definisi sistem berkembang pesat sesuai dengan konteks di mana
pengertian sistem itu digunakan. Berikut akan diberikan beberapa definisi sistem secara umum : 1.
Sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur atau variabel-variabel yang saling terorganisasi, saling berinteraksi, dan saling bergantung satu sama lain (Al Fatta, 2007:3).
2.
Sistem adalah seperangkat elemen yang digabungkan satu dengan lainnya untuk suatu tujuan bersama (Murdick dan Ross ,1993).
3.
Sistem dalam adalah elemen-elemen yang saling berhubungan dan membentuk satu kesatuan atau organisasi (kamus kamus Webster’s Unbriged).
15
4.
Sistem adalah kumpulan elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu. (Jogiyanto, 2005 ).
5.
Sistem merupakan sekelompok elemen-elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan (Mc. Leod, 1995). Menurut Scott (1996), sistem terdiri dari unsur-unsur seperti masukan
(input), pengolahan (processing), serta keluaran (output). Ciri pokok sistem menurut Gapspert ada empat, yaitu sistem itu beroperasi dalam suatu lingkungan, terdiri atas unsur-unsur, ditandai dengan saling berhubungan, dan mempunyai satu fungsi atau tujuan utama (Al Fatta, 2007:3).
Gambar 2.1 Model Sistem Sumber daya mengalir dari elemen output dan untuk menjamin prosesnya berjalan dengan baik maka dihubungkan dengan mekanisme control. Untuk lebih jelasnya elemen sistem tersebut dapat digambarkan dengan model sebagai berikut:
Gambar 2.2 Model hubungan elemen-elemen sistem
16
Pada gambar 2.2 menunjukkan bahwa sistem atau pendekatan sistem minimal harus mempunyai empat komponen, yakni masukan, pengolahan, keluaran, dan balikan atau control.
2.2.2
Beberapa Konsep Sistem yang Penting Untuk lebih mudah memahami pengertian sistem dan sistem informasi
lebih jauh, maka perlu diingat beberapa konsep yang penting dalam pengembangan sistem (Al Fatta, 2007:8), yaitu : 1.
Dekomposisi Untuk lebih menganalisa dan memahami secara menyeluruh sebuah sistem yang besar, biasanya dibutuhkan waktu yang cukup lama. Untuk mempermudah pekerjaan ini digunakan konsep dekomposisi. Dekomposisi adalah pembagian sistem ke dalam komponen-komponen yang lebih kecil (subsistem). Dekomposisi memiliki beberapa keuntungan, di antaranya : Analis menjadi lebih mudah mengatur dan menganalisa setiap subsistem secara lebih detail. Pada pengembangan sistem, sistem bisa didekomposisi menjadi beberapa modul. Pengembangan beberapa modul bisa dilakukan secara paralel dengan syarat tidak ada ketergantungan antar modul yang dibangun.
17
2.
Modularitas Konsep modularitas berhubungan dengan dekomposisi. Pada saat melakukan dekomposisi, diharapkan sistem yang besar terbagi menjadi subsistem-subsistem yang relatif sama ukurannya. Dengan modul-modul ini maka beban kerja mengembangkan sistem bisa didistribusikan secara merata pada sumber daya yang ada. Pengembangan sistem jadi lebih sederhana karenah hanya terfokus pada satu modul terlebih dahulu, baru dilakukan integrasi antar modul.
3.
Coupling Dari modul-modul yang kita peroleh, kadang-kadang ditemukan beberapa modul yang memiliki ketergantungan dengan modul yang lain. Pada kasus seperti ini, modul-modul yang saling bergantung harus dipasangkan (di-couple). Dengan cara ini bisa diketahui modul yang bisa bekerja secara independen dan modul-modul yang harus diselesaikan terlebih dahulu sebelum modul yang lain bisa bekerja.
4.
Kohesi Dari proses coupling antar modul, kita bisa dapatkan kelompokkelompok modul dengan karakteristik yang hampir sama. Di sini muncul konsep kohesi di mana kelompok modul itu harus dianalisis bersama-sama dengan kelompok modul yang saling berkohesi.
18
2.2.3
Pengertian Sistem Informasi Untuk memahami pengertian sistem informasi, harus dilihat keterkaitan
antara data dan informasi sebagai entitas penting pembentuk sistem informasi. Data merupakan nilai, keadaan, atau sifat yang berdiri sendiri lepas dari konteks apapun. Sementara informasi adalah data yang telah diolah menjadi sebuah bentuk yang berarti bagi penerimanya dan bermanfaat dalam pengambilan keputusan saat ini atau mendatang (Davis, 1995). Mc Leod (1995) mengatakan bahwa informasi adalah data yang telah diproses, atau data yang memiliki arti (Al Fatta, 2007:9). Sistem informasi adalah suatu sistem didalam satu organisasi yang mempertemukan kebutuhan pengolahan transaksi, mendukung operasi, bersifat manajerial, dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tetentu dengan laporan-laporan yang diperlukan. (Jogiyanto, 2005). Tujuannya adalah untuk menyajikan informasi guna pengambilan keputusan pada perencanaan, pemrakarsaan, pengorganisasian, pengendalian kegiatan operasi subsistem suatu perusahaan, dan menyajikan sinergi organisasi pada proses (Murdick dan Ross, 1993). Dengan demikian, sistem informasi berdasarkan konsep (input, processing, output – IPO) dapat dilihat pada gambar berikut :
Gambar 2.3 Konsep sistem informasi
19
2.2.4
Komponen Sistem Informasi Stair (1992) menjelaskan bahwa sistem informasi berbasis komputer (CBIS) dalam suatu organisasi terdiri dari beberapa komponen (Al Fatta, 2007:10), antara lain :
a.
Perangkat keras, yaitu perangkat keras komponen untuk melengkapi kegiatan memasukkan data, memproses data, dan keluaran data.
b.
Perangkat lunak, yaitu program dan instruksi yang diberikan ke komputer.
c.
Database, yaitu kumpulan data dan informasi yang diorganisasikan sedemikian rupa sehingga mudah diakses pengguna sistem informasi.
d.
Telekomunikasi, yaitu komunikasi yang menghubungkan antara pengguna sistem dengan sistem komputer secara bersama-sama ke dalam suatu jaringan kerja yang efektif.
e.
Manusia, yaitu personel dari sistem informasi, meliputi manajer, analis, programmer, dan operator, serta yang bertanggung jawab terhadap perawatan sistem.
f.
Prosedur, yakni tata cara yang meliputi strategi, kebijakan, metode, dan peraturan-peraturan dalam menggunakan sistem informasi berbasis komputer.
2.2.5
Tipe-Tipe Sistem Informasi CBIS biasanya dibedakan menjadi beberapa tipe aplikasi (Al Fatta,
2007:12), yaitu : a.
Transaction Processing System (TPS)
20
b.
Management Information System (MIS)
c.
Decision Support System (DSS)
d.
Expert System and Artificial Intelegence (ES & AI)
Berikut penjelasan singkat tentang perbedaan masing-masing tipe aplikasi sistem informasi tersebut (Al Fatta, 2007:12-13): •
Transaction Processing System Transaction Processing System atau Sistem Pemrosesan Transaksi adalah sistem informasi terkomputerisasi yang dikembangkan untuk memproses sejumlah besar data untuk transaksi bisnis rutin. Adapun hal-hal yang bisa dilakukan dalam sistem ini meliputi : -
Mengotomasi penanganan data-data aktifitas bisnis dan transaksi yang bisa dianggap sebagai kejadian diskrit dalam kehidupan organisasi.
-
Menangkap data dari setiap transaksi.
-
Memverifikasi transaksi untuk diterima atau ditolak.
-
Menyimpan transaksi yang telah divalidasi untuk pengumpulan data berikutnya.
-
Menghasilkan laporan untuk menyediakan rangkuman dari setiap transaksi.
-
Memungkinkan memindah transaksi dari satu proses ke proses yang lainnya untuk menangani seluruh aspek bisnis.
21
•
Management Information System Management Information System (MIS) atau Sistem Informasi Manajemen adalah suatu sistem informasi pada level manajemen yang berfungsi untuk membantu perencanaan, pengendalian, dan pengambilan keputusan dengan menyediakan resume rutin dan laporan-laporan tertentu. SIM mengambil data mentah dari TPS dan mengubahnya menjadi sekumpulan data yang lebih berarti yang dibutuhkan manajer untuk menjalankan tanggung jawabnya. Untuk mengembangkan suatu SIM, diperlukan pemahaman yang baik tentang informasi apa saja yang dibutuhkan manajer dan bagaimana mereka menggunakan informasi tersebut.
•
Decision Support System Decision Support System (DSS) atau Sistem Pendukung Keputusan merupakan sistem informasi pada level manajemen dari suatu organisasi yang mengkombinasikan data dan model analisis atau peralatan data analisis untuk mendukung pengambilan yang semi terstruktur dan tidak. DSS dirancang untuk membantu pengambilan keputusan organisasional. DSS biasanya tersusun dari : -
Database (bisa diekstraksi dari TPS/MIS)
-
Model grafis atau matematis, yang digunakan untuk proses bisnis.
-
Antarmuka pengguna, yang digunakan oleh pengguna untuk berkomunikasi dengan DSS.
22
•
Expert System Expert System (ES) atau Sistem Pakar merupakan representasi pengetahuan yang menggambarkan cara seorang ahli dalam mendeteksi suatu masalah. ES lebih berpusat pada bagaimana mengkodekan dan memanipulasi pengetahuan dari informasi (misalnya aturan if...then). Adapun cara kerja ES sebagai berikut : a.
Pengguna berkomunikasi dengan sistem menggunakan dialog interaktif.
b.
ES menanyakan pertanyaan (yang ditanyakan seorang pakar) dan pengguna memberikan jawaban.
c.
Jawaban digunakan untuk menentukan aturan mana yang dipakai dan ES sistem menyediakan rekomendasi berdasarkan aturan yang telah disimpan.
d.
Seorang knowledge engineer bertanggung jawab pada bagaimana melakukan akuisisi pengetahuan, sama seperti seorang analis tetapi dilatih untuk menggunakan teknik yang berbeda.
23
2.3
Job Performance Appraisal
2.3.1
Pengertian Job Performance Appraisal Kinerja (performance) pada dasarnya adalah apa yang dilakukan atau tidak
dilakukan oleh karyawan. Kinerja karyawan yang umum untuk kebanyakan pekerjaan meliputi elemen sebagai berikut (Mathis & Jackson, 2009:378) : •
Kuantitas dari hasil
•
Kualitas dari hasil
•
Ketepatan waktu dari hasil
•
Kehadiran
•
Kemampuan bekerja sama
Penilaian kinerja pekerjaan (job performance appraisal) atau yang biasa disebut penilaian prestasi kerja ialah proses mengevaluasi seberapa baik karyawan melakukan pekerjaan mereka jika dibandingkan dengan seperangkat standar, dan kemudian mengomunikasikan informasi tersebut kepada karyawan (Mathis & Jackson, 2009:382). Penilaian kinerja pekerjaan juga disebut pemeringkatan karyawan, evaluasi karyawan, tinjauan kinerja, evaluasi kinerja, dan penilaian hasil . Penilaian kinerja dapat menjawab pertanyaan mengenai apakah pemberi kerja telah bertindak adil atau bagaimana pemberi kerja mengetahui bahwa kinerja karyawan tersebut tidak memenuhi standar. Meskipun pemberi kerja secara teknis mungkin tidak membutuhkan alasan untuk memecat seorang karyawan, tetapi
24
secara praktis, penilaian dapat memberikan pembenaran untuk tindakan sejenis jika dibutuhkan.
Gambar 2.4 Peran Penilaian Kinerja
Sistem penilaian kinerja sering kali menjadi penghubung antara penghargaan yang diinginkan karyawan dan produktivitas mereka. Hubungan tersebut dapat diperkirakan sebagai berikut : Produktivitas -> Penilaian kinerja -> Penghargaan Kompensasi yang berbasis kinerja menegaskan ide bahwa kenaikan gaji seharusnya diberikan untuk pencapaian kinerja daripada untuk senioritas. Dalam sistem ini, manajer secara historis telah menjadi pengevaluasi dari kinerja bawahan dan juga yang membuat rekomendasi kompensasi untuk karyawan. Jika ada bagian dari proses penilaian yang gagal, para karyawan yang berkinerja baik tidak menerima kenaikan gaji yang lebih besar, yang akan menyebabkan adanya ketidakadilan dalam kompensasi yang dirasakan karyawan.
25
Penilaian kinerja dapat dilakukan oleh siapapun yang mengetahui dengan baik kinerja dari karyawan secara individual. Kemungkinannya adalah sebagai berikut : •
Para supervisor yang menilai karyawan / staff mereka
•
Para karyawan yang menilai atasan mereka
•
Anggota tim yang menilai sesamanya
•
Sumber-sumber dari luar
•
Karyawan yang menilai diri sendiri
•
Penilaian dan multisumber (umpan balik 360)
Gambar 2.5 Logika dan Proses Penilaian Kinerja
26
Penilaian karyawan / staff oleh supervisor atau manajer mereka adalah metode yang paling umum. Atasan langsung mempunyai tanggung jawab utama untuk mengadakan penilaian dalam kebanyakan organisasi, meskipun atasan supervisor tersebut akan meninjau dan menyetujui penilaian tersebut. Semakin banyaknya penggunaan tim dan adanya perhatian pada masukan pelanggan memberi kontribusi pada dua sumber informasi penilaian yang tumbuh dengan cepat : anggota tim dan sumber di luar organisasi. Penilaian dan multisumber ( atau umpan balik 360) mengkombinasikan banyak metode dan akhir-akhir in penggunaannya meningkat. Penilaian secara tradisional atas karyawan oleh supervisor didasarkan pada asumsi bahwa supervisor langsung adalah orang yang paling memenuhi syarat untuk mengevaluasi kinerja karyawan secara realistis dan adil. Untuk mencapai tujuan ini, beberapa supervisor menyimpan catatan kinerja mengenai pencapaian karyawan mereka. Catatan ini menyediakan contoh spesifik untuk digunakan ketika menilai kinerja.
27
2.3.2
Metode-Metode Penilaian
Gambar 2.6 Berbagai Metode Penilaian Kinerja
Kinerja dapat dinilai dengan sejumlah metode, berbagai metode tersebut dikategorikan ke dalam empat kelompok (Mathis & Jackson, 2009:394), yaitu : 1
Metode Penilaian Kategori Metode yang paling sederhana untuk menilai kinerja adalah metode penilaian kategori, yang membutuhkan seorang manajer untuk menandai tingkat kinerja karyawan atau staffnya pada formulir khusus yang dibagi ke dalam kategori kinerja. Metode penilaian kategori yang paling umum yakni :
2
1.1
Skala penilaian grafis
1.2
Checklist
Metode Penilaian Komparatif
28
Metode komparatif memerlukan para manajer untuk membandingkan secara langsung kinerja karyawan mereka terhadap satu sama lain. Sebagai contoh, kinerja seorang operator pemasukan data (data entry) akan dibandingkan dengan kinerja dari operator pemasukan data (data entry) yang lain oleh supervisor. Metode yang digunakan terdiri dari :
3
2.1
Penentuan peringkat
2.2
Distribusi paksa
Metode Naratif Para manajer dan spesialis SDM sering kali diharuskan untuk memberikan informasi penilaian tertulis. Dokumentasi dan deskripsi adalah inti dari metode kejadian penting, esai, dan tinjauan lapangan. Metode-metode ini menguraikan
tindakan
karyawan
atau
staff
dan
juga
dapat
mengindikasikan penilaian aktual. Metode yang digunakan terdiri dari :
4
3.1
Kejadian penting
3.2
Esai
3.3
Tinjauan lapangan
Metode Perilaku/Tujuan Metode ini lebih berusaha untuk menilai perilaku karyawan dibandingkan karakteristik yang lainnya. Beberapa dari pendekatan perilaku yang berbeda adalah skala penilaian perilaku yang diharapkan (behaviorally anchored rating scales – BARS), skala observasi perilaku (behavioral observation scales – BOS), dan skala perilaku yang diharapkan (behavioral expectation scales – BES). BARS membandingkan apa yang
29
dilakukan karyawan terhadap kemungkinan perilaku yang ditunjukkan pada suatu pekerjaan. BOS menghitung jumlah berapa kali perilaku tertentu diperlihatkan. BES mengurutkan perilaku pada rangkaian kesatuan untuk mendefinisikan kinerja yang menonjol, rata-rata, dan tidak dapat diterima. Pendekatan penilaian perilaku menguraikan contoh dari perilaku karyawan pada pekerjaan. Dengan menjelaskan secara terperinci setiap tingkatan kinerja akan membantu meminimalkan masalah yang terlihat sejak awal untuk pendekatan yang lain. Metode yang digunakan terdiri dari :
2.4
4.1
Pendekatan penilaian perilaku
4.2
Manajemen berdasarkan tujuan (Management By Objectives - MBO)
Metode Checklist Metode checklist atau biasa disebut metode daftar periksa adalah alat
penilaian kinerja yang menggunakan daftar pernyataan atau kata-kata (Mathis & Jackson, 2009:396). Penilai memberi tanda pernyataan yang paling representatif dari karakteristik dan kinerja karyawan. Berikut ini adalah pernyataan-pernyataan checklist yang umum: •
Dapat diharapkan untuk menyelesaikan pekerjaan tepat waktu
•
Jarang bersedia untuk lembur
•
Kooperatif dan penolong
•
Bersedia menerima kritik
•
Berusaha untuk mengembangkan diri
30
Checklist dapat dimodifikasi sehingga beragam bobot dapat diterapkan pada pernyataan atau kata-kata tersebut. Hasilnya kemudian dijumlahkan. Umumnya, supervisor yang memberi nilai tidak mengetahui bobot dari setiap pernyataan satu per-satu karena bobot-bobot tersebut ditabulasikan oleh orang lain, misalnya salah seorang staf SDM. Tetapi, ada beberapa kesulitan yang muncul dengan adanya checklist : (1) Seperti pada skala penilaian grafis, kata-kata atau pernyataan-pernyataannya mempunyai arti yang berbeda bagi penilai yang berbeda. (2) Penilai tidak dapat secara langsung melihat hasil penilaian jika menggunakan sebuah checklist yang diberi bobot. (3) Para penilai tidak menyesuaikan bobot-bobot tersebut pada faktor-faktor. Kesulitan ini membatasi penggunaan informasi ketika seorang penilai mendiskusikan hasil checklist dengan seorang karyawan, di mana akan menciptakan rintangan yang lebih besar menuju bimbingan pengembangan yang efektif. Metode checklist adalah metode Penilaian Prestasi Kerja dengan cara memberi tanda checklist (V) pada uraian perilaku negatif atau positif pegawai/karyawan yang namanya tertera dalam daftar. Masing-msing perilaku tersebut diberi bobot nilai. Besarnya bobot nilai tergantung dari tingkat kepentingan perilaku tersebut terhadap suksesnya suatu pekerjaan. Keuntungan dari metode ini mudah untuk digunakan dan dapat menghindari kecenderungan pemberian nilai rata-rata atau pemberian nilai karena kemurahan hati. Namun karena keharusan adanya relevansi antara item perilaku yang terdaftar dalam penilaian prestasi dengan pekerjaan yang dilaksanakan,
31
maka dibutuhkan keahlian khusus untuk membangun sejumlah item perilaku yang berbeda untuk jenis pekerjaan dan tingkatan yang berbeda. Oleh karena itu dibutuhkan bantuan tenaga profesional yang andal di bidang ini. Ketidakandalan dalam membuat item perilaku dan kesesuaian bobot nilai masing-masing item dapat mengakibatkan ketidaksesuaian di dalam pemberian ukuran-ukuran item. Akibatnya para supervisor kesulitan di dalam mengiterprestasikan hasilnya. Metode penilaian checklist biasanya penilai adalah atasan langsung, dan pada
metode
ini
menggunakan
kalimat-kalimat
atau
kata-kata
yang
menggambarkan prestasi kerja dan karakter-karakter karyawan, sehingga penilai tinggal memilihnya. Pada checklist ini, terdapat item-item yang masing-masing diberi
bobot,
dan
pemberian
bobot
ini
memungkinkan
penilai
dapat
dikwantifikasikan sehingga skor total dapat ditentukan. Metode checklist dapat memberikan suatu gambaran prestasi kerja secara akurat, dan praktis serta terstandardisasi. PERUSAHAAN PT TERUS MAJU Instruksi : Periksa setiap item berikut dan terapkan pada karyawan yang namanya tertera di bawah ini : Nama Karyawan : …………………………………… Bagian : ……………………………… Nama Penilai : …………………………………… Tanggal : ……………………………… Bobot
Aspek yang dinilai
(6,5) (4,0) (3,9) (…)
1. Karyawan tidak datang terlambat 2. Karyawan menggunakan atribut seragam lengkap 3. Karyawan tidak merokok ……………………………………………………………..
Cek di sini
Gambar 2.7 Contoh Dokumen Penilaian Checklist
V V
32
2.5
Pengertian Pengembangan Sistem Job Performance Appraisal dengan Metode Checklist Sesuai dengan landasan teori tentang arti pengembangan, sistem, job
performance appraisal, dan metode checklist, dapat disimpulkan Pengembangan Sistem Job Performance Appraisal dengan metode checklist berarti proses pembangunan secara bertahap suatu sistem proses mengevaluasi seberapa baik karyawan melakukan pekerjaan mereka jika dibandingkan dengan seperangkat standar menggunakan metode checklist yang mana penilai memberi tanda pernyataan yang paling representatif dari karakteristik dan kinerja karyawan dengan alat penilaian kinerja yang menggunakan daftar pernyataan atau kata-kata yang mana masing-masing pernyataan tersebut diberi bobot nilai dan besarnya bobot nilai tergantung dari tingkat kepentingan perilaku tersebut terhadap suksesnya suatu pekerjaan.
2.6
Konsep Pengembangan Sistem Pengembangan sistem (system development) dapat berarti menyusun suatu
sistem yang baru untuk menggantikan sistem yang lama secara keseluruhan atau memperbaiki sistem yang telah ada (Jogiyanto, 2005 : 35).
2.7
Metodologi Pengembangan Metodologi adalah suatu kumpulan atau metode sistem, dasar aturan untuk
mengatur ketertiban dalam pengembangan sistem informasi atau manajemen sistem informasi (Brown, 2002 : 35).
33
Metodologi adalah sebuah pendekatan yang dibuat dalam melaksanakan penelitian, dimana di dalamnya terdapat rangkaian langkah-langkah dalam melakukan penelitian dan hasilnya (Fitrianah, 2005 : 2). Metodologi pengembangan sistem menyediakan pedoman yang mengikuti secara lengkap setiap aktivitas di siklus hidup pengembangan sistem. Siklus hidup pengembangan sistem adalah suatu proses secara keseluruhan yang terdiri dari proses pembangunan, penyebaran, penggunaan, dan perubahan pada sistem informasi (Satzinger, 2009 : 38). Dalam siklus hidup pengembangan sistem (SDLC) terdiri dari pendekatan ramalan (predictive approach) dan pendekatan penyesuaian (adaptive approach) (Satzinger, 2009 : 39). Berikut ini merupakan penjelasan dari pendekatan SDLC : a)
Pendekatan ramalan adalah pendekatan siklus hidup pengembangan sistem yang menganggap pengambangan projek dapat direncanakan dan diorganisir dalam tingkat yang lebih tinggi dan sistem informasi baru dapat dikembangkan ke dalam rencana. Dalam pendekatan metodologi ini terdiri dari model waterfall.
b)
Pendekatan penyesuaian adalah pendekatan siklus hidup pengambangan sistem yang sangat fleksibel yang menganggap bahwa project tidak bisa direncanakan
secara
lengkap
tetapi
harus
dimodifikasi
dalam
pengembangannya. Dalam pendekatan SDLC jenis ini terdiri dari model spiral, prototype, dan iterasi.
34
Gambar 2.8 Perbedaan dari pendekatan siklus hidup pengembangan sistem
Metodologi pengembangan sistem atau aplikasi terdiri dari model, perangkat, dan teknik yang khusus. Berikut ini merupakan gambar komponen yang berhubungan dalam metodologi.
Gambar 2.9 Arsitektur metodologi Model merupakan representasi aspek yang paling penting digambarkan dalam dunia nyata. Dalam hal ini aplikasi dianggap sebagai model yang nyata dalam mengembangkannya dalam rincian rancang bangun informasi yang dibutuhkan untuk mengembangkan suatu aplikasi. Model digunakan dalam
35
pengembangan sistem terdiri dari input, output, proses, data, objek, interaksi objek, lokasi, jaringan, dan alat. Kebanyakan model digambar dengan menggunakan diagram dan grafik. Contoh model yang digunakan pada pengembangan sistem seperti flowchart, Data Flow Diagram (DFD), UML diagram (Satzinger, 2009 : 50). Perangkat merupakan pendukung perangkat lunak yang membantu dalam membuat model yang dibutuhkan dalam aplikasi. Perangkat secara sederhana menerjemahkan model ke dalam program. Contoh perangkat yang digunakan dalam pengembangan sistem yaitu IDE (Integrated Development Environment) seperti Eclipse dalam pengembangan aplikasi ini dan perangkat pemodelan visual (Satzinger, 2009 : 51). Teknik merupakan kumpulan pedoman yang membantu dalam analisis yang lengkap dari aktivitas pengembangan sistem. Teknik terdiri dari langkahlangkah perintah untuk membuat sebuah model. Beberapa contoh teknik seperti teknik wawancara dengan pengguna, teknik pemodelan data (Satzinger, 2009: 51). Dalam sebuah perencanaan perangkat lunak diperlukan model-model proses atau paradigma rekayasa perangkat lunak berdasarkan sifat aplikasi dan proyeknya, metode dan alat bantu yang dipakai, dan kontrol serta penyampaian yang dibutuhkan. Ada beberapa model dari proses perangkat lunak, yaitu: Model Sekuensial Linear(Waterfall), Prototipe, RAD (Rapid Application Development), Evolusioner, Formal (Pressman, 2002: 27). Beberapa metode dan perbedaannya dapat dilihat pada tabel. Tabel 2.1 Perbandingan antar metode pengembangan sistem
36
Metode
Kelebihan
Kekurangan
Penggunaan Secara Umum
Sequential Linier Metode ini baik Iterasi yang sering Bekerja (Waterfall)
oleh digunakan
untuk terjadi
winston W Royce kebutuhan pada tahun 1970
sudah
dengan
baik pada proyek
yang menyebabkan
skala kecil.
diketahui masalah baru bagi
dengan baik.
pelanggan,
sulit
menentukan kebutuhan secara eksplisit. Prototype
Metode ini efektif Pengembangan
Prototyping dapat
dengan
terkadang
bekerja
mendapatkan
membuat
baik
kebutuhan
dengan jika
kerjsama
dan implementasi
aturan yang jelas sembarang, karena baik dan
pelanggan ingin
bisa
yang antara
working pengembang selesai dengan pengguna.
langsung version
melihat
ada
sistem dengan cepat
yang sebenarnya. RAD
Metode ini lebih Karena
proyek Cocok
untuk
cepat
dari dipecah
menjadi aplikasi ang tidak
waterfall
jika beberapa
bagian, mempunyai resiko
kebutuhan
dan maka dibutuhkan teknis yang tinggi.
batasan sudah
proyek banyak
orang RAD cocok untuk
diketahui untuk membentuk proyek
yang
dengan baik dan suatu tim, karena memiliki bisa
untuk komponen-
dimodularisasi.
komponen sudah
yang
baik
SDM dan
yang sudah ada, berpengalaman.
fasilitas-fasilitas
37
pada
tiap
komponen belum tentu
digunakan
seluruhnya sehingga kualitas program
bisa
menurun. Incremental
dan Semua kebutuhan Cocok
untuk
untuk tidak dikumpulkan aplikasi
yang
Fleksibel mudah
dan pada tahap awal kebutuhannya
dikelola pengujian
telah diidentifikasi
yang sehingga
mudah.
menimbulkan
dengan baik.
masalah serta sulit untuk
mengukur
progress
karena
tidak
ada
milestone. Iterative
Fase
desain, Butuh waktu yang Hanya
pengkodean, pengujian
banyak
untuk untuk
cocok software
lebih menganalisis dan berskala besar.
cepat.
terlalu
banyak
langkah
yang
dibutuhkan model. Spiral
Model
ini Resiko
utama Hanya ditemukan, untuk
cocok
digunakan
untuk tidak
skala
besar, maka masalah bisa berskala besar.
membutuhkan
muncul kemudian,
konsiderasi
sehingga
langsung terhadap membutuhkan resiko
teknis, kemampuan
software
38
sehingga
dapat manajemen
mengurangi terjadinya
perkiraan
dan resiko
resiko yang cukup tinggi.
yang lebih besar.
Dalam penelitian ini, penulis menggunakan model Waterfall untuk mengembangkan sistemnya. Di dalam bukunya, Pressman (2001 : 78) menjelaskan model ini bisa juga disebut dengan linear sequential model, menggunakan pendekatan sistematis dan sekuensial dalam pengembangan aplikasi, dimulai melalui proses analisis, desain, pengkodean dan ujicoba.
Gambar 2.10 Model Waterfall Model waterfall tersusun atas aktivitas- akivitas berikut ini : 1.
Analysis (Analisis) Hal pertama yang harus dilakukan dalam tahap analisis adalah komunikasi dengan berbagai pihak yang terkait mulai dari mengidentifikasi dan mendefinisikan permasalahan, menentukan keperluan untuk semua elemen dan aplikasi.
39
Pengetahuan ini terasa perlu ketika aplikasi harus berinteraksi dengan elemen-elemen yang lain seperti perangkat keras, manusia dan basis data. 2.
Design (Perancangan) Perancangan menentukan bagaimana suatu aplikasi menyelesaikan apa yang harus diselesaikan. Pada tahap ini dilakukan pembuatan model dari aplikasi. Maksud pembuatan model ini adalah untuk memperoleh pengertian yang lebih baik terhadap aliran data dan kontrol, proses-proses fungsional, tingkah laku operasi dan informasi-informasi yang terkandung di dalamnya. Perancangan dilakukan mulai dari tingkat global sampai ke tingkat rincian tertentu. Pada tahap ini dilakukan beberapa aktivitas, seperti pemodelan proses serta pemodelan data.
3.
Code (Pengkodean) Code atau pengkodean adalah tahap dimana aplikasi yang telah dianalisis dan dirancang mulai diterjemahkan ke dalam bahasa mesin melalui bahasa pemrograman. Jika rancangan dibuat secara detil maka pengkodean akan menjadi aktivitas yang cepat. Pada tahap ini lakukan pengkodean program dan juga antarmuka program.
4.
Test (Ujicoba) Ketika pengkodean telah selesai dilakukan selanjutnya aplikasi harus diuji coba. Proses uji coba di fokuskan terhadap tiga aktivitas yakni logika internal aplikasi, pemastian bahwa semua perintah yang ada telah dicoba,
40
dan fungsi eksternal, untuk memastikan bahwa dengan masukan tertentu suatu fungsi akan menghasilkan keluaran sesuai dengan yang dikehendaki.
2.8
Alat Bantu Pemodelan Sistem
2.8.1
Flowchart
Pengertian Flowchart Flowchart adalah penyajian yang sistematis tentang proses dan logika dari kegiatan penanganan informasi atau penggambaran secara grafik dari langkahlangkah dan urut-urutan prosedur dari suatu program (Anharku, 2009). Bagan alir (flowchart) juga merupakan bagan (chart) yang menunjukkan alir (flow) di dalam program atau prosedur sistem secara logika (Jogiyanto, 2005). Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmensegmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Pengertian System Flowchart System flowchart adalah urutan proses dalam system dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data. (Anharku, 2009) Pengertian Program Flowchart Program flowchart adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program. (Anharku, 2009)
41
Pedoman-Pedoman Dalam Membuat Flowchart Jika seorang analis dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan (Anharku, 2009), seperti : 1.
Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan.
2.
Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.
3.
Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.
4.
Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja, misalkan Melakukan penggandaan diri.
5.
Setiap langkah dari aktivitas harus berada pada urutan yang benar.
6.
Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem.
7.
Gunakan simbol-simbol flowchart yang standar.
42
Tabel 2.2 Simbol-simbol flowchart
Contoh: Buatlah algoritma untuk menghitung sisa bagi antara bilangan dengan 2, apakah sisa ataukah tidak sisa,jika sisa maka maka cetak genap jika tidak sisa maka cetak ganjil. Gambar Flowchartnya:
Gambar 2.11 Contoh Flowchart
43
2.8.2
DFD Data Flow Diagram (DFD) adalah pemodelan proses yang digunakan
untuk menggambarkan alur dari data yang melewati suatu sistem dan menjalankan atau melakukan pengolahan melalui sistem tersebut (Whitten, 2004). DFD merupakan cara formal untuk menggambarkan bagaimana bisnis beroperasi, mengilustrasikan aktivitas-aktivitas yang dilakukan dan bagaimana data berpindah di antara aktivitas-aktivitas itu (Al Fatta, 2007:105). Ada banyak cara untuk merepresentasikan proses model. Cara yang popular adalah dengan menggunakan data flow diagram (DFD). Ada dua jenis DFD, yaitu DFD Logis dan DFD Fisik. DFD Logis menggambarkan proses tanap menyarankan bagaimana mereka akan dilakukan, sedangkan DFD fisik menggambarkan proses model berikut implementasi pemrosesan informasinya. Untuk membaca suatu DFD kita harus memahami dulu, elemen-elemen yang menyusun suatu DFD. Ada empat elemen yang menyusun suatu DFD (Al Fatta, 2007:106-107), yaitu: 1.
Proses Aktivitas atau fungsi yang dilakukan untuk alas an bisnis yang spesifik, biasa berupa manual maupun terkomputerisasi.
2.
Data Flow Satu data tunggal atau kumpulan logis suatu data, selalu diawali atau berakhir pada suatu proses.
44
3.
Data Store Kumpulan data yang disimpan dengan cara tertentu. Data yang mengalir disimpan dalam data store. Aliran data di-update atau ditambahkan ke data store.
4.
External Entity Orang, organisasi, atau sistem yang berada di luar sistem tetapi berinteraksi dengan sistem. Masing-masing elemen akan diberi lambang tertentu untuk membedakan satu dengan yang lain. Ada beberapa metode untuk menggambarkan elemen-elemen tersebut. Untuk lebih jelasnya dapat dilihat pada gambar berikut : Tabel 2.3 Elemen-elemen DFD
45
Proses bisnis biasanya terlalu kompleks untuk ditujukan dalam satu DFD. Dekomposisi adalah proses untuk menggambarkan sistem dalam hierarki dari diagram DFD. Diagram anak menggambarkan proses yang lebih detail dibandingkan dengan diagram induk. Harus ada proses balancing untuk menjamin informasi yang disajikan dalam satu level dari suatu DFD secara akurat direpresentasikan pada DFD level berikutnya. a) Context
Diagram
:
DFD
pertama
dalam
proses
bisnis.
Menunjukkan konteks di mana proses bisnis berada. Menunjukkan semua proses bisnis dalam 1 proses tunggal (proses 0). Context diagram juga menunjukkan semua entitas luar yang menerima informasi dari atau memberikan informasi ke sistem. b) Level 0 Diagram : menunjukkan semua proses utama yang menyusun keseluruhan sistem. Level ini juga menunjukkan komponen internal dari proses 0 dan menunjukkan bagaimana proses-proses utama direlasikan menggunakan data flow. Pada level ini juga ditunjukkan bagaimana proses-proses utama terhubung dengan entitas eksternal. Pada level ini juga dilakukan penambahan data store. c) Level 1 Diagram : umumnya diagram level 1 diciptakan dari setiap proses utama dari level 0. Level ini menunjukkan proses-proses internal yang menyusun setiap proses-proses utama dalam level 0, sekaligus menunjukkan bagaiman informasi berpindah dari satu proses ke proses yang lainnya. Jika misalnya proses induk dipecah,
46
katakanlah menjadi 3 proses anak, maka 3 proses anak ini secara utuh menyusun proses induk. d) Level 2 Diagram : menunjukkan semua proses yang menyusun sebuah proses pada level 1. Bisa saja penyusunan DFD tidak mencapai level 2 ini. Atau mungkin harus dilanjutkan ke level berikutnya (level 3, level 4, dan seterusnya).
Gambar 2.12 Hierarki DFD
47
2.8.3
ERD
Entity Relationship Diagram (ERD) adalah gambar atau diagram yang menunjukkan informasi dibuat, disimpan, dan digunakan dalam sistem bisnis (Al Fatta, 2007:121). Diagram hubungan entitas atau yang lebih dikenal dengan sebutan E-R diagram (ERD), merupakan notasi grafik dari sebuah model data atau sebuah model jaringan yang menjelaskan tentang data yang tersimpan (storage data) dalam sistem secara abstrak. Diagram hubungan entitas tidak menyatakan bagaimana memanfaatkan data, membuat data, mengubah data dan menghapus data. (Ladjamudin, 2005). Entitas biasanya menggambarkan jenis informasi yang sama. Dalam entitas
digunakan
untuk
menghubungkan
antar
entitas
yang
sekaligus
menunjukkan hubungan antar data. Pada akhirnya ERD bisa juga digunakan untuk menunjukkan aturan-aturan bisnis yang ada pada sistem informasi yang akan dibangun. Bagaimana menggunakan ERD untuk menunjukkan aturan bisnis? Ada beberapa poin yang bisa dilihat untuk menjawab pertanyaan ini : •
Aturan bisnis adalah batasan yang harus diikuti ketika sistem beroperasi.
•
Simbol ERD hanya menunjukkan satu instance dari entitas harus ada sebelum instance lain dari suatu entitas. Sebagai contoh : seorang dokter harus ada sebelum perjanjian ketemu dengan dokter dibuat.
•
Simbol ERD dapat menunjukkan ketika salah satu instance dari suatu entitas dapat direlasikan dengan satu anggota atau lebih dari entitas lainnya. Sebagai contoh, satu dokter bisa memiliki banyak pasien, satu pasien bisa jadi hanya memiliki satu dokter utama.
48
•
Simbol ERD juga menunjukkan ketika eksistensi dari suatu instance dalam suatu entity adalah opsional untuk sebuah relasi dengan instance lain dari suatu entitas. Sebagai contoh, pasien mungkin memiliki atau mungkin tidak memiliki biaya asuaransi.
Elemen-elemen ERD Seperti halnya DFD, ERD juga menggunakan simbol-simbol khusus untuk menggambarkan elemen-elemen ERD. Berikut simbol-simbol yang digunakan dalam ERD : Tabel 2.4 Elemen-elemen ERD
Keterangan : Entitas Entitas bisa berupa orang, kejadian, atau benda di mana data akan dikumpulkan. Untuk menjadi sebuah entitas, suatu obyek harus menampilkan beberapa kali event. Sebagai contoh, jika suatu firma hanya memiliki 1 gudang, maka gudang tersebut bukan entitas. Tetapi jika perusahaan memiliki banyak
49
gudang, maka gudang bisa menjadi instance suatu entitas jika perusahaan ingin menyimpan data untuk setiap anggota dari gudang. Atribut a.
Informasi yang diambil tentang sebuah entitas.
b.
Hanya yang digunakan oleh organisasi yang dimasukkan dalam model.
c.
Nama atribut harus merupakan kata benda.
d.
Kadang nama entitas diletakkan di depan nama atribut untuk ketelitian.
Identifier a.
Satu atau lebih atribut dapat menjadi identifier entitas, yang secara unik mengidentifikasi setiap anggota dari entitas.
b.
Concatenated identifier (identifier gabungan) terdiri dari beberapa atribut.
c.
Identifier bisa saja artifisial, seperti dengan membuat nomor ID.
d.
Identifier tidak akan dikembangkan sampai fase desain.
Relationships a.
Hubungan antar entitas.
b.
Entitas pertama dalam relationship disebut entitas induk, entitas kedua disebut sebagai entitas anak.
c.
Relationship harus memiliki nama yang berupa kata kerja.
d.
Relationship berjalan 2 arah. Sebagai contoh, jika dimiliki dua entitas, yaitu buku dan toko buku, maka
bisa dibuat beberapa relationship, di antaranya : a.
Toko buku memesan buku.
b.
Toko buku menampilkan buku.
50
c.
Toko buku menstock buku.
d.
Toko buku menjual buku.
e.
Toko buku mengembalikan buku. Relationship
memesan,
menampilkan,
menstok,
menjual
dan
mengembalikan mendefinisikan hubungan yang relevan antara buku dan toko buku. Kardinalitas a.
Kardinalitas mengacu pada berapa kali instance dari suatu entitas dapat berelasi dengan instance lain di entitas yang berbeda.
b.
Satu instance dalam suatu entitas mengacu pada satu dan hanya satu instance pada entitas lainnya (1:1).
c.
Satu instance dalam suatu entitas mengacu ke satu atau lebih instance yang berelasi (1:N)
d.
Satu atau lebih instance dalam satu entitas mengacu pada satu atau lebih instance pada entitas yang berelasi (M:N)
Modalitas a.
Mengacu pada apakah suatu instance dari entitas anak dapat ada tanpa suatu relasi dengan instance dari entitas induk atau tidak.
b.
Not null, berarti bahwa suatu instance pada entitas yang berelasi harus ada untuk suatu instance dari entitas lain untuk disebut valid.
c.
Null, berarti bahwa tidak ada instance dalam entitas yang berelasi yang diperlukan untuk instance pada relasi lain untuk dikatakan valid.
51
Data dictionary dan metadata a.
Metadata adalah informasi yang tersimpan yang berisi komponen dari model data.
b.
Metadata disimpan dalam data dictionary sehingga bisa dibagi dengan developer dan pengguna melalui SDLC.
c.
Data dictionary yang lengkap dan bisa dibagi untuk membantu meningkatkan kualitas sistem yang sedang dikembangkan.
Memvalidasi ERD Untuk membuat ERD, diperlukan latihan dan jam terbang. Ada beberapa pedoman yang perlu diperhatikan untuk membuat ERD, di antaranya : a.
Entitas harus memiliki banyak kejadian/realitas.
b.
Hindari penggunaan atribut yang tidak perlu.
c.
Berilah label yang jelas untuk semua komponen.
d.
Pasangkan kardinalitas dan modalitas yang jelas dan benar.
e.
Pecah atribut menjadi level serendah mungkin yang diperlukan.
f.
Label harus merefleksikan istilah-istilah bisnis yang umum.
g.
Asumsi harus disebutkan dengan jelas.
52
2.8.4
Normalisasi
Beberapa definisi normalisasi menurut Ladjamudin (2005 : 169), yaitu : a) Normalisasi adalah suatu proses memperbaiki / membangun dengan model data relasional, secara umum lebih tepat dikoneksikan dengan model data logika. b) Normalisasi adalah proses pengelompokkan data ke dalam bentuk tabel atau relasi atau file untuk menyatakan entitas dan hubungan mereka sehingga terwujud satu bentuk database yang mudah untuk dimodifikasi. c) Normalisasi dapat berguna dalam menjawab 2 pertanyaan mendasar yaitu : “Apa yang dimaksud dengan desain database logical ?” dan “Apa yang dimakdud dengan disini database fisikal yang baik ? What is a Physical good logical dabase design?”. d) Normalisasi adalah suatu proses untuk mengidentifikasi “tabel” kelompok atribut yang memiliki ketergantungan yang sangat tinggi antara satu atribut dengan atribut lainnya. e) Normalisasi bisa disebut juga sebagai proses pengelompokkan atribut – atribut dari suatu relasi sehingga membentuk WELL STRUCTURED RELATION.
53
Menurut Ladjamudin (2005 : 176-188), ada beberapa langkah dalam pembentukan normalisasi, yaitu : 1. Bentuk Tidak Normal (Unnormalized Form) Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti format tertentu, dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai saat menginput. 2. Bentuk Normal kesatu (First Normal Form / 1NF) Pada tahap ini dilakukan penghilangan beberapa grup elemen yang berulang agar menjadi satu harga tunggal yang berinteraksi diantara setiap baris pada suatu tabel, dan setiap atribut harus mempunyai nilai data yang atomic (bersifat atomic value). Atom adalah zat terkecil yang masih memiliki sifat induknya, bila ia dipecah lagi maka ia tidak memiliki sifat induknya. Syarat normal kesatu (1-NF) : a) Setiap data dibentuk dalam flat file, data dibentuk dalam satu record demi satu record nilai dari field berupa “atomic value”. b) Tidak ada set atribut yang berulang atau bernilai ganda. c) Telah ditentukannya primary key untuk tabel / relasi tersebut. d) Tiap atribut hanya memiliki satu pengertian. 3. Bentuk Normal kedua (Second Normal Form / 2NF) Bentuk normal kedua didasari konsep full functional dependency (ketergantungan fungsional sepenuhnya) yang dapat didefinisikan sebagai berikut :
54
Jika A dan B adalah atribut-atribut dari suatu relasi, B dikatakan full functional dependency (memiliki ketergantungan fungsional sepenuhnya) terhadap A, tetapi tidak secara tepat memiliki ketergantungan fungsional dari subset (himpunan bagian) dari A. Syarat normal kedua (2-NF) : a) Bentuk data telah memenuhi kriteria bentuk normal kesatu. b) Atribut bukan key (non-key) haruslah memiliki ketergantungan fungsional sepenuhnya (fully fungsional dependency) pada kunci utama / primary key. 4. Bentuk Normal ketiga (Third Normal Form / 3NF) Syarat normal ketiga (3-NF) : a) Bentuk data telah memenuhi kriteria bentuk normal kedua. b) Atribut bukan kunci (non-key) haruslah tidak memiliki ketergantungan transitif, dengan kata lain suatu atribut bukan kunci (non-key) tidak boleh memiliki ketergantungan fungsional (fungsional dependency) terhadap atribut bukan kunci lainnya, seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.
55
2.8.5
STD (State Transition Diagram) State transition diagram (STD) merupakan suatu diagram yang
menggambarkan bagaimana state dihubungkan dengan state yanglainpada satu waktu. State transition diagram
menggambarkan suatu state yang
mempunyai kondisi dimana dapat menyebakan perubahan satu state ke state yang lain (Hoffer & Valavich, 1996 : 364) . State transition diagram pada dasarnya merupakan sebuah diagram yang terdiri dari state dan transisi (perpindahan). Transisi state terdiri dari kondisi dan aksi. Transisi dianatar akedua keadaan pada umumnya disebabkan oleh suatu kondisi. Kondisi adalah suatu kejadian yang dapat di ketahui oleh system. Sedangkan aksi adalah tindakan oleh sistem apabila terjadi perubahan state atau merupakan reaksi sistem.
State 1 Aksi State 1 Gambar 2.13 Contoh Perubahan State Adapun komponen atau simbol yang digunakan dalam diagram ini adalah: 1. Modul Menggunakan simnol lingkran kecil (Gambar 2.3) yang mewakili modul yang dipanggil apabila terjadi suatu tindakan.
56
Gambar 2.14 Notasi Modul 2. Tampilan kondisi (state) Merupakan layer yang ditampilkan menurut keadaan atau atribut, untuk memenuhi suatu tindakan pada waktu tertentu yang mewakili suatu bentuk keberadaan atau kondisi tertentu, disimbolkan dengan gambar persegi (Gambar 2.4).
Gambar 2.15 Notasi Tampilan 3. Tindakan (state transition) Menggunakan simbol anak panah (Gambar 2.5) disertai keterangan tindakan yang dilakukan.
Gambar 2.16 Notasi Tindakan
2.9
Alat Bantu Pengembangan Sistem
2.9.1
PHP Dari sekian pemrograman server-side, PHP (Hypertext Preprocessor)
merupakan bahasa pemrograman open source yang telah dipakai secara luas untuk tujuan umum yang secara khusus digunakan untuk pengembangan aplikasi
57
berbasis web dan dapat diintegrasikan dengan HTML (PHP Manual, 2007). Dengan PHP kita mampu menghasilkan aplikasi dinamis. Terbukti sejak dipublikasikan pertama kali oleh Rasmus Lerdorf untuk membuat situs pribadinya, banyak kalangan merespon positif dan beramai-ramai menawarkan jasa untuk mengembangkan. Pada awal tahun 1995, Rasmus Lerdorf membuat produk bernama PHP/ FI (Personal Home Page /Forms Interpreter). Produk yang merupakan cikal bakal PHP ini ditulis menggunakan bahasa C, dan memiliki kemampuan untuk berkomunikasi dengan database serta membuat halaman dinamis. Produk yang cukup sukses ini dirilis dengan disertai source code-nya, sehingga setiap orang dapat melihat dan menggunakannya secara bebas. Beberapa tahun kemudian, tepatnya November 1997, Rasmus melepas PHP/ FI versi 2.0. Namun tidak lama kemudian, Andi Gutmans dan Zeev Suraski melepas PHP 3.0 yang dihasilkan dengan menulis ulang PHP/ FI, hal ini juga berarti bahwa usia PHP/ FI tidak bertahan lama. Pada generasi ini pula disepakati bahwa PHP merupakan singkatan dari PHP Hypertext Preprocessor. Hasil dari produk ini juga cukup bagus, kurang lebih waktu itu 10% web server di Internet telah memangsangnya. Usia PHP 3 memang diramalkan tidak bertahan lama, karena tahun 1998 PHP ditulis ulang kembali. Akan tetapi baru tahun 2003 secara resmi PHP 4 dikeluarkan, dengan banyak kemampuan tambahan tentunya. Tujuan utama yang ingin dicapai adalah meningkatkan performansi dari kompleksitas aplikasi dan meningkatkan modularitas.
58
Akhirnya pada akhir Juni 2003, pengembang PHP secara resmi meluncurkan PHP versi 4 tidak sia-sia memang, karena dapat dikatakan pada versi 4 ini PHP semakin popular dan banyak digunakan. PHP versi 5 dengan rilis Beta 1. teknologi inilah yang kemudian akrab disebut sebagai PHP 5, meskipun sampai saat itu pengembangannya masih terus dilakukan, akan tetapi sudah mendapat respon cukup baik dikalangan pemrogram. Sampai saat ini, pengembangan yang dilakukan telah mencapai versi 5.0.3 dan disebarkan secara luas sejak Desember 2004. beberapa bug yang ditemukan pada versi-versi sebelumnya sudah banyak diperbaiki. Sebenarnya sejak versi 5.0.0 sudah sempat dikatakan sebagai final, akan tetapi satu bulan kemudian disempurnakan dengan meluncurnya versi 5.0.1 dan sampai kini terus dikembangkan lagi. (Prasetya, 2005: 30).
2.9.2
MySQL MySQL adalah Relational Database Mangement Sistem (RDBMS) yang
didistribusikan secara gratis di bawah lisensi GPL (General Public License), MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structure Query Language), SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan/ seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Sebagai database server yang memiliki konsep database modern, MySQL memiliki banyak sekali keistimewaan.
59
Berikut ini beberapa keistimewaan yang dimiliki oleh MySQL (Prasetyo, 2003: 1-3) : 1.
Protability, dapat berjalan stabil pada berbagai sistem operasi.
2.
Open Source, dapat digunakan secara cuma-cuma.
3.
Multi User, dapat digunakan oleh banyak user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
4.
Performance Tuning, memiliki kecepatan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL persatuan waktu.
5.
Column Type, memiliki tipe kolom yang sangat kompleks.
6.
Command dan Fuctions, memiliki operator dan fungsi secara penuh yang mendukung SELECT dan WHERE dalam query.
7.
Security, memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail secara password.
8.
Scalability dan Limits, mampu menangani database dalam skala besar, dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris.
9.
Connectivity, dapat melakukan koneksi dengan client menggunakan protokol TCP/ IP, Unix soket (Unix), atau Named Pipes (NT).
10.
Localisation, dapat mendeteksi pesan kesalahan (error code) pada client dengan menggunakan lebih dari dua puluh bahasa.
60
11.
Interface, memiliki antarmuka terhadap berbagai aplikasi dan bahasa pemrograman
dengan
menggunakan
fungsi
API
(Application
Programming Interface). 12.
Client dan Tools, dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk online.
13.
Struktur Tabel, memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibanding database lainnya semacam PostgreSQL ataupun Oracle.
2.9.3
Apache Server Web server adalah software yang memberikan layanan web. Web server
menggunakan protokol yang disebut dengan HTTP (HyperText Transfer Protocol). Apache adalah nama web server yang dibuat berbasiskan kode sumber dan ide-ide yang ada pada web server leluhurnya, yaitu web server NCSA. Sesuai namanya, web server NCSA dibuat oleh National Center for Supercomputing Applications. Tidak seperti proyek leluhurnya yang dibiayai oleh pemerintah Amerika, web server Apache dikembangkan oleh sekelompok programmer yang bekerja tanpa dibayar oleh siapapun. Mereka mengerjakan proyek ini dengan berbagai macam alasan, akan tetapi alasan yang paling mendasar adalah mereka senang jika perangkat lunak mereka digunakan oleh banyak orang. Apache adalah web server yang kompak, modular, mengikuti standar protokol HTTP, dan tentu
61
saja sangat digemari. Kesimpulan ini bisa didapatkan dari jumlah pengguna yang jauh melebihi para pesaingnya. Sesuai hasil survai yang dilakukan oleh Netcraft, bulan Januari 2005 saja jumlahnya tidak kurang dari 68% pangsa web server yang berjalan di Internet. Ini berarti jika semua web server selain Apache digabung, masih belum bisa mengalahkan jumlah Apache. Saat ini ada dua versi Apache yang bisa dipakai untuk server produksi, yaitu versi mayor 2.0 dan versi mayor 1.3. Anda bisa menggunakan salah satu dari keduanya. Tapi sangat dianjurkan Anda memakai versi 2.0. Alasan menggunakan Apache: 1.
Arsitektur modular.
2.
Mendukung banyak sistem operasi, termasuk di dalamnya adalah Windows NT/ 2000/ XP dan berbagai varian Unix.
3.
Mendukung IP versi 6 (Ipv6).
4.
Mendukung berjalannya CGI (Common Gateway Interface) dan SSI (Server Side Include).
5.
Mendukung otentifikasi dan kontrol akses.
6.
Mendukung SSL (Secure Socket Layer) untuk komunikasi terenkripsi.
7.
Konfigurasi yang mudah dipahami.
8.
Mendukung Virtual Host.
9.
Pesan kesalahan multi bahasa dan bisa dimodifi kasi.
2.9.4
HTML HTML (Hypertext Markup Language) adalah bahasa yang menggunakan
perintah sederhana dalam standar dokumen teks ASCII untuk menyediakan suatu
62
tampilan visual yang terintegrasi. HTML terdiri atas perintah-perintah sederhana yang menjelaskan bagaimana struktur dokumen, tetapi tidak memformatnya. Browser yang menampilkan HTML akan memformat dan menyesuaikan tampilan HTML sehingga sesuai dengan layer komputer pengunjung. HTML menggunakan penanda berupa tag (<..>) yang mengindikasikan bagaimana browser web meampilkan elemen halaman seperti teks atau grafik. Metode HTML terletak diantara container tag diawali dengan dan diakhiri dengan nametag>. HTML mempunyai tiga buah tag utama, yaitu HTML, HEAD, dan BODY. Tag HTML berfungsi menyatakan suatu dokumen HTML, tag HEAD berfungsi memberkan informasi tentang dokumen, dan tag BODY menetukan bagaimana isi sebuah dokumen ditampilkan oleh browser.
2.9.5
CI / CodeIgniter
Pengertian Framework Framework adalah kerangka kerja yang memudahkan programmer untuk membuat sebuah aplikasi sehingga programmer akan lebih mudah melakukan perubahan (customize) terhadap aplikasinya dan dapat memakainya kembali untuk aplikasi lain yang sejenis (Shalahudin, 2008 : 13). Dengan framework pengembang tidak harus menulis suatu aplikasi dari awal. Framework dibangun dari kumpulan objek yang digabung dengan desain dan pengkodean dari framework tersebut.
63
Pengertian CodeIgniter CodeIgniter adalah sebuah Application Development Framework – seperangkat alat bantu - bagi orang-orang yang membangun situs web menggunakan PHP. Tujuannya adalah untuk memungkinkan Anda untuk mengembangkan proyek-proyek yang jauh lebih cepat daripada yang dapat jika Anda langsung mengkodekannya dari awal, dengan menyediakan berbagai library fungsi yang dibutuhkan untuk membuat tugas-tugas umum, serta antarmuka yang sederhana dan struktur logika dalam mengakses library fungsi tersebut. CodeIgniter memungkinkan Anda menjadi lebih kreatif untuk fokus pada proyek Anda dengan meminimalkan jumlah kode yang dibutuhkan untuk tugas tertentu yang umum (http://www.codeigniter.com). Kelebihan CodeIgniter Ada beberapa kelebihan yang dimiliki CodeIgniter, antara lain adalah sebagai berikut : 1.
Hemat waktu Anda tidak membutuhkan banyak waktu untuk mempelajari CI, dan dengan cepat usaha anda untuk belajar akan terbayar dalam menghemat waktu di kemudian hari. Kita bisa melihat contoh berikut, bagaimana CI begitu menghemat serangkaian penggunaan kode yang dibutuhkan. Mari kita ambil 2 contoh, kode PHP tanpa menggunakan CI dan yang menggunakan CI. Berikut contoh kode yang tanpa menggunakan CI : $connection=mysql_connect("localhost","fred","12345"); mysql_select_db("websites", $connection);
64
$result=mysql_query
("SELECT
*
FROM
sites",
$connection); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { foreach ($row as $attribute) print "{$attribute[1]}"; }
Berikut contoh kode yang menggunakan CI : $this->load->database('websites'); $query = $this->db->get('sites'); foreach ($query->result() as $row) { print $row->url; }
Cobalah membandingkan jumlah karakter atau huruf yang digunakan, syntax tradisional (tanpa menggunakan CI) menggunakan 224 karakter, dan dengan CI hanya menggunakan 112 karakter.
2.
Kokoh dan Aman Meskipun kita tidak memerlukan untuk menulis banyak kode, CI menyediakan banyak fungsi standar dengan keamanan yang lebih baik. Berikut beberapa fitur keamanan yang dimiliki CI, yaitu : •
Mencegah serangan SQL Injection Banyak cara yang bisa dilakukan untuk bisa menembus suatu system berbasis web, salah satu yang paling popular dan sering digunakan adalah SQL Injection. SQL injection merupakan suatu teknik
65
penyerangan dengan cara melakukan input dengan karakter tertentu untuk dapat menjalankan kode SQL yang tidak terverifikasi dan memiliki kerentanan terhadap keamanan data yang didapatkan dari kode SQL yang dijalankan, sehingga biasanya hasil tersebut digunakan oleh pihak yang tidak bertanggung jawab untuk melakukan penyerangan lebih lanjut. •
Melindungi dari serangan XSS XSS (cross site scripting) adalah jenis serangan yang rentan terjadi yang mana memungkinkan beberapa kode yang tidak diinginkan dilakukan dalam aplikasi kita, serangan phishing, pencurian data, dan banyak lagi. Untuk menghindari ini Anda harus memvalidasi data kita. CodeIgniter membantu kita untuk melakukannya, dalam semua aplikasi jika Anda mengatur filter XSS global dengan benar di dalam file konfigurasi (config.php), atau kapan pun kita membutuhkannya: $data = $this->input->xss_clean($data);
Kita bahkan dapat menggunakannya untuk memeriksa potensi serangan XSS dalam file gambar: $this->input->xss_clean ($file, TRUE);
Parameter kedua CI mengatakan bahwa itu adalah gambar yang memerlukan validasi.
66
3.
Konfigurasi yang mudah dan kompatibilitas yang baik terhadap jasa web hosting Beberapa PHP framework selain CI, semisal Symfony maupun Zend, memiliki konfigurasi yang cukup rumit, bahkan sulit diterapkan pada hosting standar karena harus melakukan perubahan pada file konfigurasi pada web hosting yang mana kita tidak memiliki akses yang cukup untuk melakukannya, semisal kita harus melakukan konfigurasi pada file httpd.conf maupun php.ini. Inilah salah satu alasan mengapa banyak pengembang
sistem
memilih
mengembangkan sistemnya.
CI
sebagai
framework
dalam
67
BAB III METODOLOGI PENELITIAN
3.1
Kerangka Penelitian Penelitian ini dilakukan untuk membantu PT.Learning Resources untuk
mengembangkan layanan sistem job performance appraisal untuk perusahaanperusahaan clientnya yang ingin melakukan penilaian prestasi kerja bagi para karyawannya. Pendekatan yang digunakan adalah dengan mengembangkan sistem job performance appraisal dengan teknik checklist berbasis web menggunakan CI Framework. Penelitian ini diharapkan dapat membantu menyelesaikan berbagai permasalahan yang ada. Metode kerja penelitian sesuai dengan Gambar 3.1.
68
Pemilihan Awal Penelitian
Tahap Identifikasi Perumusan Masalah
Studi Literatur dan Pustaka
Tahap Analisis Pengembangan Sistem yang ada
Tahap Design Perancangan Basis Data o ERD o LRS o Kamus Data Perancangan Aplikasi o Flowchart o DFD o Screen Layout C di Tahap Implementasi Testing & Instalasi
Penyusunan kesimpulan
Gambar 3.1 Metode Kerja Penelitian
3.2
Waktu dan Lokasi Penelitian
3.2.1
Waktu Pelaksanaan Waktu penelitian dilakukan selama 3 bulan, mulai bulan Desember 2009
sampai dengan bulan Februari 2010 dengan melibatkan berbagai disiplin ilmu pengetahuan antara Web Programming, DFD, ERD, PHP, Management Information System (MIS) , dan Rekayasa Perancangan Lunak.
69
3.2.2
Lokasi Penelitian Lokasi penelitian adalah pada PT.Learning Resources sebagai konsultan
dan penyedia layanan penilaian kinerja karyawan bagi perusahan-perusahaan clientnya, sedangkan untuk mencari referensi-referensi dilakukan di perpustakaan dan di internet.
3.3
Peralatan Penelitian Peralatan yang akan digunakan dalam penelitian ini antara lain berupa
perangkat keras dan perangkat lunak : 3.3.1
Perangkat Keras Perangkat keras yang digunakan dalam penelitian ini adalah sebuah
Notebook dengan spesifikasi sebagai berikut :
3.3.2
•
Prosessor AMD Turion X2 RM 70 2 Ghz
•
RAM 2 Gb
•
HDD 160 Gb
Perangkat Lunak Perangkat lunak yang digunakan pada penelitian ini antara lain :
•
XAMPP 1.7.0 sebagai development toolkit yang berisi PHP versi 5.2.8 sebagai bahasa pemrograman, MySQL versi 5.1.30 sebagai database server, dan Apache Server versi 2.0 sebagai web server.
•
Notepad++ versi 4.8.1 sebagai Integrated Development Environment (IDE) dalam pembuatan aplikasi,
70
•
Microsoft Visio 2007 sebagai tools dalam pembuatan DFD, ERD, dan Flowchart,
•
CI Framework versi 1.7.2 sebagai framework aplikasinya,
•
Microsoft Windows Vista Home Premium SP1 sebagai sistem operasinya.
•
Dan Mozilla Firefox 3.0.18 sebagai browsernya.
3.4
Metode Penelitian
3.4.1
Teknik Pengumpulan Data Pendekatan yang dilakukan adalah dengan cara melakukan wawancara,
observasi ke lapangan dan dengan cara studi pustaka. Wawancara dilakukan dengan cara melakukan diskusi dengan pihak yang bisa memberikan informasi mengenai aplikasi yang akan penulis buat. Sedangkan observasi dilakukan untuk melihat secara langsung kejadian bagaimana suatu perusahaan dalam melakukan aktifitasnya. Metode pengumpulan data yang terakhir adalah dengan studi pustaka, oleh karena studi pustaka saja belum cukup untuk mendapatkan referensi, maka penulis melakukan pencarian referensi melalui media internet.
71
3.4.2
Metode Pengembangan Sistem Dalam perancangan sistem job performance appraisal dengan teknik rating
scale ini, penulis menggunakan metode pengembangan sistem SDLC (System Development Life Cycle) dengan model waterfall, dengan beberapa alasan, antara lain : 1.
Kemudahan dalam proses penelitian yang dilakukan tahap demi tahap. Setiap tahap dari penelitian mengikuti suatu pola yang teratur dan dilakukan secara top-down. Sistem ini merupakan sistem yang membantu para supervisor untuk menilai kinerja kerja bawahannya dan head office untuk mendapatkan bawahan dengan kinerja terbaik. Diharapkan dengan penggunaan model waterfall sebagai model pengembangan sistem, sistem yang dikembangkan sesuai dengan kebutuhan dan sistem yang berjalan.
2.
Sesuai dengan landasan teori, bahwa model waterfall ini merupakan metode pengembangan sistem dengan pendekatan ramalan yang memiliki ciri-ciri yakni kebutuhan sistem telah dipahami dan tergambar dengan baik sehingga diharapkan resiko teknis dapat diminimalisir.
3.
Metode yang paling luas dipakai dan sudah teruji dalam rekayasa perangkat lunak serta mempunyai proses-proses yang jelas dan mudah dipahami.
Model yang diciptakan oleh Winston W Royce pada tahun 1970 (Hanif Al-Fatta , 2007: 26) ini menuntut suatu pendekatan sistematik-sekuensial dari
72
proses pengembangan perangkat lunak, dimulai pada tingkatan sistem dan dilanjutkan dengan analisis, perancangan, pengkodean, uji coba, dan pemeliharaan
3.4.2.1 Analisis Analisis digunakan untuk mengetahui perilaku sistem dan juga untuk mengetahui aktivitas apa saja yang ada dalam sistem tersebut. Dalam tahap ini akan diketahui apa saja yang menjadi kebutuhan sistem tersebut. Tahap analisis merupakan tahap yang kritis dan sangat penting, karena kesalahan pada tahap ini akan menyebabkan kesalahan pula pada tahap selanjutnya. Oleh karena itu, penulis akan berusaha lebih hati-hati dalam menganalisis dan merinci permasalahan yang ada. Proses pengembangan diawali dari tahap analisis dimana dalam tahap analisis ini penulis melakukan beberapa aktivitas, yaitu pengumpulan data, identifikasi masalah, analisa kebutuhan aplikasi, hingga definisi proyek. Semua aktivitas pada tahap ini akan dijelaskan dengan deskriptif analitis. Di dalam analisis sistem ini penulis melakukan empat langkah dasar, yaitu antara lain : 1.
Data Gathering (Pengumpulan Data) Penulis mengumpulkan data dengan melakukan observasi untuk mengamati bagaimana metode yang digunakan PT.Learning Resources dalam membantu kliennya untuk melakuan penilaian kinerja karyawannya. Selain itu penulis juga mengamati fasilitas-fasilitas dan juga infrastruktur
73
yang dimiliki dan digunakan oleh PT.Learning Resources untuk mendukung proses penilaian tersebut. Selain melakukan observasi, penulis juga melakukan wawancara kepada beberapa karyawan PT.Learning Resources guna menggali informasi lebih dalam tentang proses penilaian kinerja karyawan yang mereka lakukan. 2.
Identify (Identifikasi Masalah) Selanjutnya dilakukan identifikasi permasalahan yang didapat dalam aktivitas pengumpulan data sebelumnya. Dan juga didapatkan personelpersonel kunci yang terlibat pada sistem yang berjalan. Proses identifikasi ini difokuskan pada keperluan masing-masing aktor pada aplikasi.
3.
Software Requirement (Kebutuhan Aplikasi) Berdasarkan identifikasi masalah di atas, penulis mulai menganalisis, menentukan dan menggali lebih dalam kebutuhan-kebutuhan yang diperlukan oleh sistem hingga akhirnya didapat solusi konkrit dari sistem yang akan dikembangkan.
4.
Project Definition (Definisi Proyek) Project definition sebagai penjelasan akan solusi yang telah ditentukan sebelumnya dibutuhkan untuk mendefinisikan sistem secara rinci, baik itu nama, deskripsi, batasan-batasan serta fitur sistem.
74
3.4.2.2 Perancangan Pada tahap ini terdapat tiga langkah perancangan, yaitu perancangan sistem database, perancangan sistem aplikasi dan perancangan antarmuka. Pada perancangan sistem database, penulis menggunakan teknik Entity Relationship Diagram, Logical Record System (LRS), dan Kamus Data, sedangkan pada perancangan aplikasi, penulis akan membuat diagram-diagram atau pemodelan yang akan digunakan dalam perancangan sistem. Teknologi pemodelan yang penulis gunakan adalah DFD yaitu Diagram Context, DFD Level 0, DFD Level 1 dan juga Flowchart serta arsitektur umum sistem job performance appraisal.
3.4.2.3 Pengkodean Setelah melakukan analisis sistem dan perancangan sistem secara rinci. Tiba saatnya, sistem untuk diimplementasikan (pembuatan kode program). Pengkodean adalah proses menterjemahkan rancangan yang telah dibuat ke dalam bentuk bahasa yang bisa dibaca oleh mesin yakni menggunakan PHP versi 5.2.8 sebagai bahasa pemrogramannya dan MySQL versi 5.1.30 sebagai database server untuk menyimpan datanya.
3.4.2.4 Uji Coba Pada tahap ini dilakukan dengan pengujian masing-masing modul atau unit program apakah sesuai dengan tugasnya. Kemudian dilakukan uji coba terhadap integrasi keseluruhan unit program untuk mengetahui apakah sistem
75
yang telah dibuat sudah memenuhi kriteria yang dinginkan. Pengetesan ini dilakuan dengan menggunakan metode black box testing, yaitu dengan mengecek satu persatu komponen dengan menggunakan tabel pengetesan, apakah komponen tersebut sudah sesuai dengan apa yang diharapkan atau belum.
3.4.2.5 Pemeliharaan Tahap terakhir dalam metode pengembangan sistem menggunakan model Waterfall
adalah
pemeliharaan
(maintenance),
yaitu
setelah
sistem
diimplementasikan dan diuji serta dicoba untuk memastikan bahwa sistem telah terbebas dari bug. Pemeliharaan ini dilakukan terhadap sistem supaya jika sewaktu-waktu terjadi kemungkinan kesalahan pada sistem di saat sistem sudah berjalan, bisa ditangani dengan cepat dan tepat, sehingga tidak menyebabkan terhambatnya penggunaan sistem oleh end user. Namun, sesuai dengan batasan permasalahan yang penulis buat, yakni tidak menyertakan pemeliharaan sistem, maka penulis tidak bisa membahasnya lebih jauh pada tahap pemeliharaan ini.
76
BAB IV PEMBAHASAN
4.1
Gambaran Umum PT.Learning Resources
4.1.1
Sekilas PT. Learning Resources PT.Learning Resources merupakan perusahaan konsultan yang berpusat di
Inggris yang menyediakan sejumlah program-program pelatihan soft skill kelas dunia dari berbagai pelaku-pelaku konsultan yang sudah mapan dari Amerika, Eropa dan Australia. Kantornya terletak di Kemang Point Lt.3, Jl.Kemang Raya No.3, Jakarta 12730. Para
eksekutif
dan
manajemen
PT.Learning
Resources
telah
mengembangkan program-program pelatihan kelas dunia melalui riset terbaru tentang teknik pengembangan dan pelatihan lebih dari 15 tahun, membangun fondasi yang kuat yang memiliki cakupan yang luas tentang kompetensi soft skill dan perilaku meliputi : •
skill penjualan
•
kepemimpinan
•
motivasi
•
membangun tim kerja
•
layanan pelanggan
•
dll. Seluruh pelatihan yang diberikan menggunakan pendekatan pelatihan yang
inovatif menggunakan berbagai sarana dan teknologi terkini seperti video,
77
simulasi, simulasi, bisnis, activity boards, dan lainnya. Dan program-program pelatihan tersebut telah diakui oleh Training Media Review (USA). Lebih dari 3 tahun, PT.Learning Resources telah memiliki eksistensi program pelatihan di beberapa negara seperti Indonesia, Singapura, Filipina dan Thailand, serta sangat dihargai oleh penyedia penilaian independen untuk produk dan jasa.
4.1.2
Visi dan Misi
1.
Visi a. Membangun manajemen organisasi lebih baik. b. Mengoptimalkan sumber daya manusia. c. Meningkatkan daya saing. d. Menjadi perusahaan konsultan terbaik di Indonesia.
2.
Misi a. Menunjukan performa yang sangat baik kepada klien melalui perencanaan yang efektif dan implementasi dari kemampuan dinamis yang fokus kepada pasar sebagai dasar dari strategi perusahaan, untuk meraih daya saing, kebaikan berstandar kelas dunia, dan citarasa konsumen secara total. b. Meraih performa yang baik terhadap para karyawan dengan menciptakan kreativitas, inovasi, dan komitmen untuk kemajuan yang berkelanjutan dan belajar sepanjang waktu, untuk memaksimalkan pengetahuan dan mengetahui bagaimana mengembangkan skil dan kompetensi yang sesuai dalam manajemen perusahaan melalui training kelas dunia.
78
c. Memperkuat mitra kami dan organisasi untuk mengoptimalkan fungsifungsi dari aset strategis dan sumber daya serta untuk menciptakan keuntungan maksimum bagi para pengambil keputusan. d. Menghasilkan lulusan pelatihan yang profesional sesuai pelatihan soft skill yang diberikan. e. Memberikan landasan moral dalam training soft skill yang diberikan. f. Mengadakan penelitian dan pengembangan di bidang training.
4.2
Pengembangan Sistem Pada sub bab ini, akan dibahas secara detail dan terperinci mengenai
pengembangan sistem yang akan di implementasikan dengan menerapkan metodologi penelitian yang telah diuraikan pada bab sebelumnya.
4.2.1
Analisis
4.2.1.1 Data Gathering (Pengumpulan Data) Penulis mengumpulkan data dengan melakukan observasi untuk mengamati bagaimana metode yang digunakan PT.Learning Resources dalam membantu kliennya untuk melakuan penilaian kinerja karyawannya. Selain itu penulis juga mengamati fasilitas-fasilitas dan juga infrastruktur yang dimiliki dan digunakan oleh PT.Learning Resources untuk mendukung proses penilaian tersebut.
79
Selain melakukan observasi, penulis juga melakukan wawancara kepada beberapa karyawan PT.Learning Resources guna menggali informasi lebih dalam tentang proses penilaian kinerja karyawan yang mereka lakukan. Berikut adalah flowchart dari sistem yang sedang berjalan : a) Pihak PT.Learning Resources sebagai supporting data penilaian prestasi kerja ini membuat dokumen monitoring checklist yang berisi soal-soal yang telah disepakati konten soalnya oleh perusahaan klien yang nantinya akan dicheklist oleh supervisor terhadap para staffnya pada perusahaan klien. b) Setelah dokumen-dokumen itu jadi, pihak PT.Learning Resources memberikannya ke kantor pusat perusahaan klien. c) Kantor pusat perusahaan klien akan memperbanyak dokumen monitoring checklist sesuai dengan banyaknya kantor cabang yang dimiliki, dan akan didistribusikan ke masing-masing cabang tersebut. d) Dokumen itu diterima oleh pihak kantor cabang melalui branch manager kantor cabang. e) Branch Manager lalu menyerahkannya kepada masing-masing supervisor yang ada di kantor cabang, oleh supervisor akan ditentukan staff yang akan dinilai yakni staff-staff pada masing-masing bagian. f) Setelah ditentukan siapa staff yang akan dinilai, maka penilaian bisa dilakukan, penilaian sendiri dilakukan sebanyak 10 kali setiap bulannya.
80
g) Setelah itu, pada akhir bulannya, hasil penilaian diserahkan oleh masing-masing supervisor kepada branch manager, dari sinilah sang branch manager akan menentukan staff terbaik pada masing-masing bagian di kantor cabangnya menggunakan alat bantu berupa Microsoft Excel untuk melakukan pengolahan datanya. h) Lalu data-data staff terbaik pada masing-masing cabang akan diserahkan ke kantor pusat. i) Data-data itu diterima oleh head officer, kemudian oleh head officer data-data staff terbaik pada semua cabang akan diberikan kepada pihak PT.Learning Resources untuk ditentukan staff terbaik dari seluruh cabang pada tiap-tiap bagian menggunakan Microsoft Excel. j) Dokumen hasil staff terbaik dari seluruh cabang itu yang telah diproses oleh pihak PT.Learning Resources lalu diserahkan kembali kepada pihak kantor pusat melalui head officer, dan hasil itu akan dibuat pengumuman dan didistribusikan kembali kepada masing-masing kantor cabang. Dari observasi dan wawancara yang dilakukan, didapatkan informasi bahwa sistem job performance appraisal dengan metode checklist yang telah diterapkan kepada para kliennya memiliki aspek-aspek penilaian yang tidak berubah dalam minimal 1 periode(1 tahun) dan belum menggunakan bobot penilaian. Belum digunakannya bobot penilaian menyebabkan kemungkinan nilai sama yang dimiliki oleh para staff yang dinilai sangat tinggi. Tentunya ini
81
menjadi bermasalah, karena akan mempersulit pencarian staff terbaik, karena kasus tersebut.
Gambar 4.1 Flowchart sistem yang berjalan
4.2.1.2 Identify (Identifikasi Masalah) Selanjutnya dilakukan identifikasi permasalahan yang didapat dalam aktivitas pengumpulan data sebelumnya. Dan juga didapatkan personel-personel kunci yang terlibat pada sistem yang berjalan. Proses identifikasi ini difokuskan pada keperluan masing-masing aktor pada aplikasi. Setelah melakukan observasi serta wawancara terhadap pihak PT.Learning Resources sebagai penyedia layanan penilaian prestasi kerja ini, penulis melihat masalah – masalah yang terjadi serta kelemahan dari sistem yang berjalan yang merupakan faktor timbulnya suatu masalah tersebut, yaitu :
82
1.
Kurang
efektifnya
pendistribusian
dokumen
soal-soal
monitoring
checklist, yakni setelah dokumen soal-soal monitoring checklist dibuat oleh PT.Learning Resources, lalu diberikan kepada pihak kantor pusat perusahaan klien yang bersangkutan, untuk kemudian akan didistribusikan ke masing-masing kantor cabang. 2.
Kurang efektifnya penentuan staff terbaik untuk seluruh cabang, yakni setelah dilakukan penilaian oleh para supervisor di masing-masing kantor cabang, lalu branch manager akan menentukan staff terbaik di kantor cabangnya menggunakan cara konvensional yaitu Microsoft Excel yang kemudian hasilnya beserta dokumen monitoring checklist dari staff terbaik di kantor cabang untuk tiap-tiap bagian akan diserahkan kembali kepada pihak kantor pusat, kemudian pihak kantor pusat akan memberikan seluruh dokumen hasil dari masing-masing kantor cabang kepada pihak PT.Learning Resources untuk menentukan staff terbaik dari seluruh kantor cabang menggunakan Microsoft Excel.
3.
Cukup memakan waktu yang banyak dan kurang efisien terutama di saat pendistribusian dokumen monitoring cheklist dan pengumpulan hasil penilaian dari masing-masing cabang.
4.
Cukup boros dalam penggunaan sumber daya, semisal kertas untuk dokumen monitoring checklist.
5.
Kemungkinan terjadinya human error sangat tinggi, seperti hilangnya dokumen monitoring checklist, kesalahan perhitungan penilaian staff, dan lainnya, karena masih menggunakan cara manual.
83
4.2.1.3 Software Requirements (Kebutuhan Sistem) Berdasarkan identifikasi masalah di atas, penulis mulai menganalisis, menentukan dan menggali lebih dalam kebutuhan-kebutuhan yang diperlukan oleh sistem hingga akhirnya didapat solusi konkrit dari sistem yang akan dikembangkan. Melihat masalah pada sistem yang sedang berjalan, maka kebutuhan sistem adalah : 1.
Fungsional a. Sistem mampu menambah, mengubah, menghapus dan melihat data service commitee / head officer, kantor cabang, PIC kantor cabang (branch manager dan supervisor), bagian, aspek penilaian, grup penilaian, soal dan staff yang dinilai. b. Sistem mampu menyediakan form penilaian dengan metode checklist sebanyak 10 kali untuk setiap aspek penilaian tiap bulannya bagi supervisor untuk melakukan penilaian prestasi kerja terhadap para staffnya, sehingga mampu menghemat sumber daya seperti kertas dan menghindari resiko hilangnya dokumen monitoring checklist yang telah dilakukan. c. Sistem mampu melakukan perhitungan penilaian yang dilakukan oleh supervisor secara akurat dan menentukan staff dengan nilai terbaik untuk setiap bagian pada masing-masing kantor cabang, sehingga branch manager tidak perlu lagi untuk menghitung secara manual. Dan juga, pihak PT.Learning Resources yang bertindak sebagai
84
d. Sistem dapat mencegah terjadinya human error dalam melakukan perhitungan penilaian untuk mendapatkan staff dengan nilai tertinggi atau staff terbaik. e. Sistem mampu menampilkan berbagai laporan yang dibutuhkan oleh head officer seperti laporan aproval delegasi tercepat yakni laporan pengiriman delegasi tiap-tiap cabang oleh branch manager yang waktu approvalnya paling cepat, laporan staff terbaik dari seluruh cabang tiap bulan, laporan staff terbaik tiap tahun, dan laporan staff terbaik tiap aspek per bulan. Dan juga mampu menampilkan laporan yang dibutuhkan oleh branch manager yakni laporan staff terbaik tiap aspek per bulan. f. Sistem mempunyai empat level user account yaitu : administrator, head officer, branch manager, dan supervisor. 2.
Non Fungsional a. Sistem mampu meningkatkan efektivitas dan efisiensi dalam melakukan penilaian prestasi kerja terhadap para staff perusahaan di seluruh kantor cabang yang tidak bisa dilakukan dengan cukup baik oleh sistem manual. b. Sistem job performance appraisal online menggunakan metode checklist yang bisa diakses secara realtime melalui jaringan internet.
85
4.2.1.4 Project Definition (Definisi Proyek) Project definition sebagai penjelasan akan solusi yang telah ditentukan sebelumnya dibutuhkan untuk mendefinisikan sistem secara rinci, baik itu nama, deskripsi, batasan-batasan serta fitur sistem. Berdasarkan analisa di atas, maka diperlukan suatu pemecahan masalah terhadap masalah serta kelemahan – kelemahan yang ada. Adapun pemecahan masalah yang penulis usulkan adalah sebgai berikut : a) Adanya sistem job performance appraisal yang dapat membantu dalam melakukan penilaian prestasi kerja terhadap para staff perusahaan klien dari PT.Learning Resources yang menggunakan jasa sistem ini. b) Adanya suatu sistem yang dapat membantu dalam pemrosesan data dengan cepat serta mengurangi kesalahan yang disebabkan human error. c) Adanya suatu aplikasi yang membantu dalam poses penyimpanan dan pengarsipan data terutama yang berhubungan dengan pelaporan penilaian prestasi kerja.
86
4.2.2
Perancangan Pada tahapan ini penulis akan menjelaskan rancangan sistem yang penulis
buat yang dibagi dengan beberapa tahap, yaitu : 4.2.2.1 Desain Proses Pada tahap ini penulis akan merancang usulan alur proses sistem dengan dua metode : 1.
Desain Physical System Pada tahap ini penulis akan menunjukkan flowchart dari sistem baru yang
di usulkan. Berikut ini adalah flowchart dari sistem baru yang penulis usulkan : a) Admin memasukkan data-data master seperti data perusahaan, kantorkantor cabang perusahaan, head officer / service committee, PIC (branch manager dan supervisor), bagian, aspek penilaian, grup soal, dan soal. Lalu mengirimkan user login head officer dan PIC (branch manager dan supervisor) ke head officer. b) Data user login head officer dan PIC (branch manager dan supervisor) yang diterima dari pihak support data PT.Learning Resources selaku admin sistem, akan didistribusikan via email ke masing-masing cabang melalui branch manager. c) Setelah supervisor mendapat user login, supervisor memasukkan data-data staff yang dibawahinya. d) Supervisor lalu melakukan penilaian dengan metode checklist pada form yang telah disediakan oleh sistem untuk masing-masing aspek penilaian terhadap setiap staffnya.
87
e) Setelah semua penilaian dilakukan oleh semua supervisor terhadap seluruh staffnya, branch manager akan melakuan approval terhadap staff terbaik yang akan di delegasikan ke kantor pusat. Selain itu, branch manager juga dapat melihat staff terbaik untuk setiap aspek penilaian di kantor cabangnya. f) Setelah seluruh kantor cabang mengirim atau melakukan approval terhadap staff terbaik yang didelegasikan ke kantor pusat, selanjutnya head officer dapat melihat laporan staff terbaik dari seluruh cabang untuk masing-masing bagian. Yang nantinya, hasil laporan ini bisa diumumkan ke masing-masing kantor cabang.
Gambar 4.2 Flowchart sistem yang diusulkan
88
Di dalam sistem job performance appraisal ini, PT.Learning Resources menggunakan metode checklist, yakni metode penilaian dengan cara memberi tanda checklist (V) pada uraian penilaian yang diberikan terhadap staff yang dinilai. Dalam penilaian ini, masing-masing staff dinilai berdasarkan aspek penilaian. Biasanya terdapat lebih dari satu aspek penilaian sebagai acuan penilaian terhadap masing-masing staff. Tiap-tiap aspek penilaian memiliki bobot penilaian yang apabila dijumlahkan akan menghasilkan bobot penuh atau 100. Bobot pada masing-masing aspek penilaian mengindikasikan seberapa besar atau pentingkah aspek penilaian tersebut bagi para staff menurut pandangan perusahaan. Tabel 4.1 Contoh Bobot Aspek Penilaian No
Nama Aspek Penilaian
Bobot
1.
Kedisiplinan
20
2.
Penampilan
30
3.
Sikap Melayani
50
Setiap aspek penilaian memiliki soal-soal yang dijadikan sebagai parameter penilaian, yang mana sejumlah soal tersebut akan dikelompokkan dalam group soal yang berbeda-beda. Masing-masing soal pun memiliki bobot skala penilaian yang menjadi variabel yang mempengaruhi penjumlahan nilai pada penilaian staff. Seperti halnya bobot pada aspek penilaian, bobot pada soal ini juga mengindikasikan seberapa besar atau pentingkah hal tersebut bagi para staff menurut pandangan perusahaan dalam aspek penilaian tersebut. Bobot skala
89
dalam soal terdiri atas 1 sampai dengan 5. Berikut contoh dari pembobotan pada soal dari suatu aspek penilaian beserta checklistnya : Nama Staff : Budi Tabel 4.2 Contoh Aspek Penilaian : Keterampilan Umum Check In (Bobot : 40) No 1.
Dari hasil penilaian di atas, didapatkan bahwa 2 soal di cheklist yaitu pada soal no.1 dan 3 dengan bobot masing-masing 5 dan 4, sedangkan untuk soal no.2 dengan bobot 2 tidak di checklist pada aspek penilaian Keterampilan Umum Check In yang memiliki bobot 40 dari seluruh penilaian yang dilakukan. Sedangkan, didapatkan bahwa 1 soal di checklist pada soal no.2 dengan bobot 5, dan soal no.1 dengan bobot 4 tidak di checklist pada aspek penilaian Kedisiplinan
90
yang memiliki bobot 60 dari seluruh penilaian yang dilakukan. Pemberian tanda checklist pada masing-masing soal mengindikasikan bahwa poin tersebut dilakukan oleh staff sesuai dengan pengamatan supervisor yang menilai. Berikut ini adalah formulasi perhitungan nilai untuk aspek penilaian : TN = ( (( tcA/tsbA) x bA) + (( tcB/tsbB) x bB) + ..... ) Dimana, TN
= Total nilai
tcA
= Total bobot dari seluruh soal yang dicheklist pada aspek penilaian A
tsbA
= Total bobot dari seluruh soal pada aspek penilaian A
bA
= Bobot pada aspek penilaian A
tcB
= Total bobot dari seluruh soal yang dicheklist pada aspek penilaian B
tsbB
= Total bobot dari seluruh soal pada aspek penilaian B
bB
= Bobot pada aspek penilaian B
Maka, dari formulasi di atas, didapatkan total nilai untuk staff Budi yaitu sebagai berikut : TN
Gambar 4.3 Contoh Penilaian dan hasil penilaian dalam sistem
92
2.
Desain Logical System Pada tahap ini penulis akan menunjukan usulan alur proses sistem yang
akan penulis buat dengan menunjukkan fungsi – fungsi sistem informasi pada user secara logika dengan menggunakan tools DFD (Data Flow Diagram), mulai dari Context Diagram sampai dengan DFD Level 4.
Gambar 4.4 Context Diagram
93
Gambar 4.5 DFD Level 0
94
Gambar 4.6 DFD Level 1 dari proses 1.0
Gambar 4.7 DFD Level 1 dari proses 2.0
95
Gambar 4.8 DFD Level 1 dari proses 3.0
Gambar 4.9 DFD Level 1 dari proses 4.0
96
Gambar 4.10 DFD Level 2 dari proses 1.1
Gambar 4.11 DFD Level 2 dari proses 1.2
97
Gambar 4.12 DFD Level 2 dari proses 1.3
Gambar 4.13 DFD Level 2 dari proses 1.4
98
Gambar 4.14 DFD Level 2 dari proses 3.1
Gambar 4.15 DFD Level 2 dari proses 3.2
99
Gambar 4.16 DFD Level 2 dari proses 3.3
Gambar 4.17 DFD Level 3 dari proses 1.4.1
100
Gambar 4.18 DFD Level 3 dari proses 1.4.2
Gambar 4.19 DFD Level 3 dari proses 1.4.3
101
Gambar 4.20 DFD Level 4 dari proses 1.4.3.1
Gambar 4.21 DFD Level 4 dari proses 1.4.3.2
102
4.2.2.2 Desain Data Pada tahap ini penulis, penulis akan melakukan desain data. Ada beberapa langkah yang penulis lakukan, yakni : 1.
ERD (Entity Relationship Diagram) Berikut
ini
adalah
bagan
ERD
yang
penulis
usulkan
:
103
Gambar 4.22 Rancangan ERD yang diusulkan
104
2.
Transformasi ERD ke LRS (Logical Record Structure) Setelah merancang ERD, penulis mentransformasikan bagan ERD tersebut
ke dalam bentuk LRS (Logical Record Structure) sebagai berikut :
Gambar 4.23 Transformasi ERD ke LRS yang diusulkan 3.
Normalisasi Ada beberapa langkah yang penulis lakukan dalam tahap normalisasi,
yakni menjadikan seluruh entity dalam ERD sebagai bentuk awal dari tabel-tabel data. Berikut adalah bentuk awal dari seluruh entity yang diduga sebagai bentuk tidak normal (Unnormalize form) : a. Cabang
: id + nama + alamat + telepon + fax + cp + email
b. Bagian
: id + nama
105
c. Level
: id + nama
d. User
: id + nip + username + password + nama + jk + email + level + id_cabang
: id + nip + nama + jk + cabang + bagian + supervisor
i. Penilaian
: id + id_staff + id_user + id_aspek + nilai + tgl + init
j. Delegasi
: id + cabang + bagian + staff + total + tgl
k. Perusahaan
: id + nama + alamat + bidang + telp + fax + web + kontak + logo
Setelah menjadikan seluruh entity dalam ERD sebagai bentuk awal dari tabel-tabel data yang diduga sebagai bentuk tidak normal (Unnormalize form). Maka, langkah selanjutnya adalah melakukan uji normalisasi terhadap bentukbentuk data tersebut, untuk memastikan apakah bentuk awal tabel data tersebut sudah normal atau belum, jika belum maka akan dilakukan normalisasi sampai dengan bentuk normal yang diinginkan, akan tetapi jika bentuk data tersebut sudah normal, maka akan dicek pada bentuk normal keberapakah bentuk awal data tersebut.
106
Berikut adalah uji normalisasi dari tabel-tabel data tersebut : a.
Uji normalisasi tabel Cabang Struktur tabel/entitas/relasi CABANG sebelum uji normalisasi dalam bentuk tidak normal adalah : id
: nama, alamat, telepon, fax, cp, email
Hasil pengujian : -
Relasi atau tabel CABANG di atas sudah 1NF, karena semua atributnya adalah bernilai atomik, dan tidak ada elemen data yang berulang.
-
Relasi di atas sudah 2NF, karena •
Sudah dalam bentuk 1NF, dan
•
Setiap atribut yang bukan kunci bergantung secara fungsi pada primary key (id).
-
Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau beberapa
atribut
non-primary
key
tidak
saling
memiliki
ketergantungan fungsional terhadap atribut non-primary key lainnya, dengan kata lain semua atribut non-primary key dari relasi di atas hanya memiliki ketergantungan fungsional (Functional Depedency) terhadap primary key (id). Struktur tabel/entitas/relasi CABANG setelah uji normalisasi sampai ke bentuk normal ke-3 (3NF) adalah : id
: nama, alamat, telepon, fax, cp, email
107
b.
Uji normalisasi tabel Bagian Struktur tabel/entitas/relasi BAGIAN sebelum uji normalisasi dalam bentuk tidak normal adalah : id
: nama
Hasil pengujian : -
Relasi atau tabel BAGIAN di atas sudah 1NF, karena semua atributnya adalah bernilai atomik, dan tidak ada elemen data yang berulang.
-
Relasi di atas sudah 2NF, karena •
Sudah dalam bentuk 1NF, dan
•
Setiap atribut yang bukan kunci bergantung secara fungsi pada primary key (id).
-
Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau beberapa
atribut
non-primary
key
tidak
saling
memiliki
ketergantungan fungsional terhadap atribut non-primary key lainnya, dengan kata lain semua atribut non-primary key dari relasi di atas hanya memiliki ketergantungan fungsional (Functional Depedency) terhadap primary key (id). Struktur tabel/entitas/relasi BAGIAN setelah uji normalisasi sampai ke bentuk normal ke-3 (3NF) adalah : id
:
nama
108
c.
Uji normalisasi tabel Level Struktur tabel/entitas/relasi LEVEL sebelum uji normalisasi dalam bentuk tidak normal adalah : id
nama
Hasil pengujian : -
Relasi atau tabel LEVEL di atas sudah 1NF, karena semua atributnya adalah bernilai atomik, dan tidak ada elemen data yang berulang.
-
Relasi di atas sudah 2NF, karena •
Sudah dalam bentuk 1NF, dan
•
Setiap atribut yang bukan kunci bergantung secara fungsi pada primary key (id).
-
Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau beberapa
atribut
non-primary
key
tidak
saling
memiliki
ketergantungan fungsional terhadap atribut non-primary key lainnya, dengan kata lain semua atribut non-primary key dari relasi di atas hanya memiliki ketergantungan fungsional (Functional Depedency) terhadap primary key (id).
Struktur tabel/entitas/relasi DIVISIONS setelah uji normalisasi sampai ke bentuk normal ke-3 (3NF) adalah : id
nama
109
d.
Uji normalisasi tabel User Struktur tabel/entitas/relasi USER sebelum uji normalisasi dalam bentuk tidak normal adalah : id
Relasi atau tabel USER di atas sudah 1NF, karena semua atributnya adalah bernilai atomik, dan tidak ada elemen data yang berulang.
-
Relasi di atas sudah 2NF, karena •
Sudah dalam bentuk 1NF, dan
•
Setiap atribut yang bukan kunci bergantung secara fungsi pada primary key (id).
-
Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau beberapa
atribut
non-primary
key
tidak
saling
memiliki
ketergantungan fungsional terhadap atribut non-primary key lainnya, dengan kata lain semua atribut non-primary key dari relasi di atas hanya memiliki ketergantungan fungsional (Functional Depedency) terhadap primary key (id).
Struktur tabel/entitas/relasi USER setelah uji normalisasi sampai ke bentuk normal ke-3 (3NF) adalah : id
Uji normalisasi tabel Aspek Struktur tabel/entitas/relasi ASPEK sebelum uji normalisasi dalam bentuk tidak normal adalah : id
nama, min, id_bagian
Hasil pengujian : -
Relasi atau tabel ASPEK di atas sudah 1NF, karena semua atributnya adalah bernilai atomik, dan tidak ada elemen data yang berulang.
-
Relasi di atas sudah 2NF, karena •
Sudah dalam bentuk 1NF, dan
•
Setiap atribut yang bukan kunci bergantung secara fungsi pada primary key (id).
-
Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau beberapa
atribut
non-primary
key
tidak
saling
memiliki
ketergantungan fungsional terhadap atribut non-primary key lainnya, dengan kata lain semua atribut non-primary key dari relasi di atas hanya memiliki ketergantungan fungsional (Functional Depedency) terhadap primary key (id).
Struktur tabel/entitas/relasi ASPEK setelah uji normalisasi sampai ke bentuk normal ke-3 (3NF) adalah : id
nama, min, id_bagian
111
f.
Uji normalisasi tabel Grup Struktur tabel/entitas/relasi GRUP sebelum uji normalisasi dalam bentuk tidak normal adalah : id -
nama, id_aspek, seq
Relasi atau tabel GRUP di atas sudah 1NF, karena semua atributnya adalah bernilai atomik, dan tidak ada elemen data yang berulang.
-
Relasi di atas sudah 2NF, karena •
Sudah dalam bentuk 1NF, dan
•
Setiap atribut yang bukan kunci bergantung secara fungsi pada primary key (id).
-
Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau beberapa
atribut
non-primary
key
tidak
saling
memiliki
ketergantungan fungsional terhadap atribut non-primary key lainnya, dengan kata lain semua atribut non-primary key dari relasi di atas hanya memiliki ketergantungan fungsional (Functional Depedency) terhadap primary key (id).
Struktur tabel/entitas/relasi GRUP setelah uji normalisasi sampai ke bentuk normal ke-3 (3NF) adalah : id
nama, id_aspek, seq
112
g.
Uji normalisasi tabel Soal Struktur tabel/entitas/relasi SOAL sebelum uji normalisasi dalam bentuk tidak normal adalah : id -
isi, id_aspek, id_group, bobot, seq
Relasi atau tabel SOAL di atas sudah 1NF, karena semua atributnya adalah bernilai atomik, dan tidak ada elemen data yang berulang.
-
Relasi di atas sudah 2NF, karena •
Sudah dalam bentuk 1NF, dan
•
Setiap atribut yang bukan kunci bergantung secara fungsi pada primary key (id).
-
Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau beberapa
atribut
non-primary
key
tidak
saling
memiliki
ketergantungan fungsional terhadap atribut non-primary key lainnya, dengan kata lain semua atribut non-primary key dari relasi di atas hanya memiliki ketergantungan fungsional (Functional Depedency) terhadap primary key (id). Struktur tabel/entitas/relasi SOAL setelah uji normalisasi sampai ke bentuk normal ke-3 (3NF) adalah : id
isi, id_aspek, id_group, bobot, seq
113
h.
Uji normalisasi tabel Staff Struktur tabel/entitas/relasi STAFF sebelum uji normalisasi dalam bentuk tidak normal adalah : id -
nip, nama, jk, cabang, bagian, supervisor
Relasi atau tabel STAFF di atas sudah 1NF, karena semua atributnya adalah bernilai atomik, dan tidak ada elemen data yang berulang.
-
Relasi di atas sudah 2NF, karena •
Sudah dalam bentuk 1NF, dan
•
Setiap atribut yang bukan kunci bergantung secara fungsi pada primary key (id).
-
Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau beberapa
atribut
non-primary
key
tidak
saling
memiliki
ketergantungan fungsional terhadap atribut non-primary key lainnya, dengan kata lain semua atribut non-primary key dari relasi di atas hanya memiliki ketergantungan fungsional (Functional Depedency) terhadap primary key (id).
Struktur tabel/entitas/relasi STAFF setelah uji normalisasi sampai ke bentuk normal ke-3 (3NF) adalah : id
nip, nama, jk, cabang, bagian, supervisor
114
i.
Uji normalisasi tabel Penilaian Struktur tabel/entitas/relasi PENILAIAN sebelum uji normalisasi dalam bentuk tidak normal adalah : id -
id_staff, id_user, id_aspek, nilai, tgl, init
Relasi atau tabel PENILAIAN di atas sudah 1NF, karena semua atributnya adalah bernilai atomik, dan tidak ada elemen data yang berulang.
-
Relasi di atas sudah 2NF, karena •
Sudah dalam bentuk 1NF, dan
•
Setiap atribut yang bukan kunci bergantung secara fungsi pada primary key (id).
-
Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau beberapa
atribut
non-primary
key
tidak
saling
memiliki
ketergantungan fungsional terhadap atribut non-primary key lainnya, dengan kata lain semua atribut non-primary key dari relasi di atas hanya memiliki ketergantungan fungsional (Functional Depedency) terhadap primary key (id).
Struktur tabel/entitas/relasi PENILAIAN setelah uji normalisasi sampai ke bentuk normal ke-3 (3NF) adalah : id
id_staff, id_user, id_aspek, nilai, tgl, init
115
j.
Uji normalisasi tabel Delegasi Struktur tabel/entitas/relasi DELEGASI sebelum uji normalisasi dalam bentuk tidak normal adalah : id -
staff, total, tgl
Relasi atau tabel DELEGASI di atas sudah 1NF, karena semua atributnya adalah bernilai atomik, dan tidak ada elemen data yang berulang.
-
Relasi di atas sudah 2NF, karena •
Sudah dalam bentuk 1NF, dan
•
Setiap atribut yang bukan kunci bergantung secara fungsi pada primary key (id ).
-
Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau beberapa
atribut
non-primary
key
tidak
saling
memiliki
ketergantungan fungsional terhadap atribut non-primary key lainnya, dengan kata lain semua atribut non-primary key dari relasi di atas hanya memiliki ketergantungan fungsional (Functional Depedency) terhadap primary key (id ).
Struktur tabel/entitas/relasi DELEGASI setelah uji normalisasi sampai ke bentuk normal ke-3 (3NF) adalah : id
staff, total, tgl
116
k.
Uji normalisasi tabel Perusahaan Struktur tabel/entitas/relasi PERUSAHAAN sebelum uji normalisasi dalam bentuk tidak normal adalah : id -
nama, alamat, bidang, telp, fax, web, kontak, logo
Relasi atau tabel PERUSAHAAN di atas sudah 1NF, karena semua atributnya adalah bernilai atomik, dan tidak ada elemen data yang berulang.
-
Relasi di atas sudah 2NF, karena •
Sudah dalam bentuk 1NF, dan
•
Setiap atribut yang bukan kunci bergantung secara fungsi pada primary key (id).
-
Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau beberapa
atribut
non-primary
key
tidak
saling
memiliki
ketergantungan fungsional terhadap atribut non-primary key lainnya, dengan kata lain semua atribut non-primary key dari relasi di atas hanya memiliki ketergantungan fungsional (Functional Depedency) terhadap primary key (id).
Struktur tabel/entitas/relasi PERUSAHAAN setelah uji normalisasi sampai ke bentuk normal ke-3 (3NF) adalah : id
nama, alamat, bidang, telp, fax, web, kontak, logo
117
4.
Kamus Data Berdasarkan ERD dan LRS yang telah penulis rancang, didapatkan kamus
data struktur database yang akan digunakan sebagai berikut : Table 4.4 Field
Type
Perusahaan
Id (PK)
Int(1)
Not Null No
Comment
Nama
Varchar(100)
No
Nama perusahaan
Alamat
Text
No
Alamat perusahaan
Bidang
Varchar(100)
No
Bidang usaha perusahaan
Telp
Varchar(40)
No
No.telp perusahaan
Fax
Varchar(40)
No
No. fax perusahaan
Web
Varchar(50)
No
url website perusahaan
Kontak
Varchar(100)
No
Kontak personal perusahaan
Logo
Varchar(300)
No
Alamat file logo perusahaan
Id perusahaan.
Tabel 4.5 Kamus Data Tabel User Field
Type
Id (PK)
Int(11)
Not Null No
Comment
Nip
Varchar (20)
No
NIP (No.Induk Pegawai) user
Username
Varchar (30)
No
Username user
Password
Varchar (200)
No
Password user
Nama
Varchar (50)
No
Nama user
Jk
Enum (‘L’,’P’)
No
Jenis Kelamin user
Email
Varchar (100)
No
Email user
Level (FK)
Int(11)
No
Level user
Id_cabang (FK)
Int(11)
No
Id_cabang
Id user
118
Tabel 4.6 Kamus Data Tabel Level. Field
Type
Not Null
Comment
Id (PK)
Int (11)
No
Id level
Nama
Varchar(100)
No
Nama level
Tabel 4.7 Kamus Data Tabel Staff Field
Type
Not Null
Comment
Id (PK)
Int(11)
No
Id staff
Nip
Varchar (20)
No
NIP (No.Induk Pegawai) staff
Nama
Varchar (50)
No
Nama staff
Jk
Enum (‘L’,’P’)
No
Jenis Kelamin staff
Cabang (FK)
Int(11)
No
Id Cabang staff
Bagian (FK)
Int(11)
No
Id Bagian staff
Tabel 4.8 Kamus Data Tabel Bagian Field
Type
Not Null
Comment
Id (PK)
Int (11)
No
Id bagian
Nama
Varchar(50)
No
Nama bagian
Tabel 4.9 Kamus Data Tabel Cabang Field
Type
Not Null
Comment
Id (PK)
Int (11)
No
Id cabang
Nama
Varchar (50)
No
Nama kantor cabang
Alamat
Text
No
Alamat kantor cabang
Telepon
Varcahar(40)
No
No.telp kantor cabang
Fax
Varchar(40)
No
No.Fax kantor cabang
Cp
Varchar(100)
No
Contact Person kantor cabang
Email
Varchar(100)
No
Email kantor cabang
119
Tabel 4.10 Kamus Data Tabel Aspek Field
Type
Not Nul l
Comment
Id (PK)
Int (11)
No
Id aspek penilaian
Nama
Varchar (50)
No
Nama aspek penilaian
Min
Int(5)
No
Nilai minimum penilaian per aspek
Id_bagian (FK)
Int(11)
No
Id bagian aspek penilaian
Id_parent (FK)
Int(11)
No
Id parent aspek penilaian
Tabel 4.11 Kamus Data Tabel Grup Field
Type
Not Null
Comment
Id (PK)
Int (11)
No
Id grup soal
Nama
Varchar (50)
No
Nama grup soal
Id_aspek (FK)
Int (11)
No
Id aspek penilaian
Seq
Int (11)
No
Sequential / urutan grup
Tabel 4.12 Kamus Data Tabel Soal Field
Type
Id (PK)
Int (11)
Not Null No
Comment
Isi
Text
No
Isi soal/pertanyaan
Id_aspek (FK)
Int (11)
No
Id aspek penilaian
Id_group (FK)
Int (11)
No
Id grup soal
Seq
Int (11)
No
Urutan soal
Id soal
120
Tabel 4.13 Kamus Data Tabel Penilaian Field
Type
Id (PK)
Int (11)
Not Null No
Comment
Id_staff (FK)
Int (11)
No
Id staff yang dinilai
Id_user (FK)
Int (11)
No
Id user (supervisor) melakukan penilaian
Id_aspek (FK)
Int (11)
No
Id aspek yang dinilai
Nilai
Int (11)
No
Nilai staff dari aspek yang dinilai
Tgl
Date time
No
Waktu penilaian
Init
Int (5)
No
Status penilaian
Id penilaian staff
yang
Tabel 4.14 Kamus Data Tabel Delegasi Field
Type
Not Nul l
Comment
Id (PK)
Int (11)
No
Id delegasi
Staff (FK)
Int (11)
No
Id staff yang di delegasikan
Total
Int (11)
No
Total nilai dari staff yang di delegasikan
Tgl
Datetime
No
Waktu pendelegasian
121
4.2.2.3 Desain dan Alur Arsitektur Sistem
Gambar 4.24 Arsitektur Sistem
122
Alur proses arsitektur dari sistem job performance appraisal yang dibuat dalam penelitian tugas akhir ini adalah sebagai berikut, sesuai dengan rancangan desain arsitektur yang telah dibuat : 1.
Alur proses untuk melihat dan melakukan penilaian staff oleh supervisor, yaitu sebagai berikut : a.
Supervisor yang ingin melihat dan melakukan penilaian terhadap staffnya, terlebih dahulu melakukan login terlebih dahulu ke dalam sistem, jika memang belum melakukan proses login sesuai dengan username dan password yang dimiliki.
b.
Setelah melakukan login, supervisor memilih menu monitoring checklist yang akan memanggil tampilan dari modul pilih_checklist untuk memilih staff yang ingin dilakukan penilaian checklist.
c.
Setelah memilih staff yang ingin dinilai, maka pilihan tersebut akan digunakan sebagai masukan oleh fungsi get_monitoring() dari modul
monitoring
untuk
memproses
hasil
penilaian
dari
monitoring checklist staff yang telah dipilih. d.
Hasil penilaian dari fungsi
get_monitoring() akan ditampilkan
pada tampilan di modul monitoring_view, sehingga terlihat berapa kali staff tersebut sudah dinilai beserta hasil penilaiannya, di dalamnya terdapat menu “history_penilaian” dari penilaian yang telah dilakukan dan menu “mulai menilai” staff jika belum selesai dilakukan penilaian, yakni sebanyak 10 kali penilaian.
123
e.
Jika supervisor memilih menu history dari salah satu penilaian yang telah dilakukan, maka akan memanggil modul tampilan history_penilaian yang merupakan detail atau history penilaian yang dilakukan, yang mana hasil dari detail atau history penilaian tersebut didapatkan dari hasil pemanggilan fungsi get_history() di modul monitoring.
f.
Jika supervisor memilih menu untuk “mulai menilai”, maka akan memanggil tampilan dari modul penilaian, akan tampil soal-soal penilaian terhadap staff yang ingin dinilai. Setelah menchecklist parameter atau soal-soal pada penilaian, supervisor akan melakukan submit penilaian. Data soal-soal yang dichecklist tersebut akan dikirimkan ke fungsi beri_nilai() pada modul monitoring sebagai masukan penilaian terhadap staff tersebut.
2.
Alur proses untuk melihat logbook penilaian staff oleh supervisor atau branch manager, yaitu sebagai berikut : a.
Supervisor atau branch manager yang ingin melihat dan melakukan penilaian terhadap staffnya, terlebih dahulu melakukan login terlebih dahulu ke dalam sistem, jika memang belum melakukan proses login sesuai dengan username dan password yang dimiliki.
b.
Setelah melakukan login, supervisor atau branch manager memilih menu pilih_logbook untuk memilih staff yang ingin dilihat logbook penilaiannya.
124
c.
Pilihan staff pada modul tampilan pilih_logbook akan digunakan sebagai masukan oleh fungsi get_logbook() yang terdapat di modul logbook untuk mendapatkan logbook penilaian dari staff yang dipilih tersebut.
d.
Hasil dari penggunaan fungsi get_logbook() yakni logbook penilaian
staff
akan
ditampilkan
pada
modul
tampilan
logbook_view. 3.
Alur proses untuk melihat hasil penilaian aspek terbaik di cabang oleh branch manager, yaitu sebagai berikut : a.
Branch manager yang ingin melihat aspek penilaian terbaik dari para staff di kantor cabangnya yang didapatkan setelah setiap supervisor melakuan penilaian terhadap para staffnya, terlebih dahulu melakukan login terlebih dahulu ke dalam sistem, jika memang belum melakukan proses login sesuai dengan username dan password yang dimiliki.
b.
Setelah melakukan login, branch manager memilih menu pilih_best_aspek_cabang untuk memilih aspek penilaian yang ingin dilihat urutan staff dengan nilai tertinggi pada aspek penilaian yang dipilih.
c.
Aspek penilaian yang dipilih oleh branch manager di modul tampilan
pilih_best_aspek_cabang,
akan
digunakan
sebagai
masukkan pada fungsi get_best_aspek_cabang() yang terdapat pada modul logbook, dan akan diproses oleh fungsi tersebut untuk
125
menghasilkan urutan staff berdasarkan nilai tertinggi pada aspek penilaian yang dipilih. d.
Hasil dari fungsi get_best_aspek_cabang() akan ditampilkan pada modul best_aspek_cabang_view.
4.
Alur proses untuk melakukan approval atau pengiriman delegasi oleh branch manager, yaitu sebagai berikut : a.
Branch manager yang ingin melakukan approval atau pengiriman delegasi staffnya yang memiliki nilai tertinggi di kantor cabangnya, terlebih dahulu melakukan login terlebih dahulu ke dalam sistem, jika memang belum melakukan proses login sesuai dengan username dan password yang dimiliki.
b.
Setelah melakukan login, branch manager memilih menu lihat_approval untuk melihat staff dengan total nilai tertinggi di kantor cabangnya pada tiap-tiap bagian sekaligus untuk melakukan approval atau pengiriman delegasi staffnya yang memiliki total nilai tertinggi tersebut.
c.
Pada saat memilih menu lihat_approval, modul tampilan lihat_approval akan memanggil fungsi get_approval() yang terdapat pada modul approval yang akan menghasilkan staff terbaik dengan total nilai tertinggi di kantor cabangnya pada tiaptiap bagian. Hasil tersebut akan ditampilkan pada modul tampilan lihat_approval.
126
d.
Setelah memastikan pemilihan staff terbaik dengan total nilai tertinggi dari seluruh aspek penilaian yang dinilai pada tiap-tiap bagian, branch manager lalu melakukan submit pengiriman delegasi ke kantor pusat, yang nantinya akan digunakan sebagai perwakilan atau delegasi untuk memperebutkan staff terbaik dari seluruh kantor cabang. Dalam melakukan submit, secara otomatis akan melakukan pemanggilan fungsi save_delegasi() yang terdapat pada modul approval. Dan hasil submit tersebut akan digunakan sebagai masukkan oleh fungsi save_delegasi() untuk melakukan pengiriman delegasi ke kantor pusat melalui sistem yang tersedia.
5.
Alur proses untuk melihat laporan pengiriman delegasi atau approval tercepat oleh head officer, yaitu sebagai berikut : a.
Head officer yang ingin melihat laporan pengiriman delegasi atau approval tercepat oleh masing-masing kantor cabang, terlebih dahulu melakukan login terlebih dahulu ke dalam sistem, jika memang belum melakukan proses login sesuai dengan username dan password yang dimiliki.
b.
Setelah
melakukan
login,
head
officer
memilih
menu
pilih_app_fastest untuk memilih periode bulan yang ingin dilihat laporan pengiriman delegasi atau approval tercepat. c.
Periode bulan yang dipilih oleh head officer di modul tampilan pilih_app_fastest, akan digunakan sebagai masukkan pada fungsi get_app_fastest() yang terdapat pada modul ho, dan akan diproses
127
oleh fungsi tersebut untuk menghasilkan urutan kantor cabang berdasarkan waktu tercepat pengiriman delegasi pada periode bulan yang dipilih. d.
Hasil dari fungsi get_app_fastest() akan ditampilkan pada modul app_fastest_view.
6.
Alur proses untuk melihat laporan staff terbaik dari seluruh cabang tiap bulan per bagian oleh head officer, yaitu sebagai berikut : a.
Head officer yang ingin melihat laporan staff terbaik dari masingmasing delegasi yang terpilih di kantor cabangnya, terlebih dahulu melakukan login terlebih dahulu ke dalam sistem, jika memang belum melakukan proses login sesuai dengan username dan password yang dimiliki.
b.
Setelah
melakukan
login,
head
officer
memilih
menu
pilih_app_highest untuk memilih periode bulan yang ingin dilihat laporan staff terbaik dengan total nilai tertinggi dari seluruh aspek penilaian yang dinilai untuk seluruh kantor cabang per bulan. c.
Periode bulan yang dipilih oleh head officer di modul tampilan pilih_app_highest, akan digunakan sebagai masukkan pada fungsi get_app_highest() yang terdapat pada modul ho, dan akan diproses oleh fungsi tersebut untuk menghasilkan urutan staff terbaik dari seluruh kantor cabang pada tiap-tiap bagian sesuai periode bulan yang dipilih.
128
d.
Hasil dari fungsi get_app_highest() akan ditampilkan pada modul app_highest_view.
7.
Alur proses untuk melihat laporan staff terbaik dari seluruh kantor cabang tiap tahun per bagian oleh head officer, yaitu sebagai berikut : a.
Head officer yang ingin melihat laporan staff terbaik dari masingmasing delegasi yang terpilih di kantor cabangnya tiap tahun per bagian, terlebih dahulu melakukan login terlebih dahulu ke dalam sistem, jika memang belum melakukan proses login sesuai dengan username dan password yang dimiliki.
b.
Setelah
melakukan
login,
head
officer
memilih
menu
pilih_periodic_year untuk memilih periode tahun yang ingin dilihat laporan staff terbaik dengan total nilai tertinggi dari seluruh aspek penilaian yang dinilai untuk seluruh kantor cabang per tahun. c.
Periode tahun yang dipilih oleh head officer di modul tampilan pilih_periodic_year, akan digunakan sebagai masukkan pada fungsi get_periodic_year() yang terdapat pada modul ho, dan akan diproses oleh fungsi tersebut untuk menghasilkan urutan staff terbaik dari seluruh kantor cabang pada tiap-tiap bagian sesuai periode tahun yang dipilih.
d.
Hasil dari fungsi get_periodic_year() akan ditampilkan pada modul periodic_year_view.
8.
Alur proses untuk melihat laporan aspek terbaik tiap bagian per bulan dari seluruh delegasi oleh head officer, yaitu sebagai berikut :
129
a.
Head officer yang ingin melihat laporan aspek terbaik tiap bagian per bulan dari seluruh delegasi, terlebih dahulu melakukan login terlebih dahulu ke dalam sistem, jika memang belum melakukan proses login sesuai dengan username dan password yang dimiliki.
b.
Setelah
melakukan
login,
head
officer
memilih
menu
pilih_aspek_terbaik untuk memilih periode bulan dan aspek penilaian yang ingin dilihat laporan aspek terbaik tiap bagian per bulan dari seluruh delegasi. c.
Periode bulan dan aspek penilaian yang dipilih oleh head officer di modul tampilan pilih_aspek_terbaik, akan digunakan sebagai masukkan pada fungsi get_aspek_terbaik() yang terdapat pada modul ho, dan akan diproses oleh fungsi tersebut untuk menghasilkan laporan aspek terbaik tiap bagian per bulan dari seluruh delegasi sesuai periode bulan dan aspek penilaian yang dipilih.
d.
Hasil dari fungsi get_aspek_terbaik() akan ditampilkan pada modul aspek_terbaik_view.
4.2.2.4 Desain Input / Output 1.
Desain Input Input (masukan) pada sistem yang penulis rancang terdiri dari: a) input data perusahaan klien b) input data service committee / head officer
130
c) input data kantor cabang d) input data PIC kantor cabang e) input data bagian f) input data aspek penilaian g) input data grup soal h) input data soal i) input data staff j) input penilaian staff per aspek 2.
Desain Output Rancangan output (keluaran) yang dihasilkan sesuai dengan proses dan
kebutuhan sistem. Output yang penulis rancang terdiri dari : a) laporan pengiriman / approval delegasi tercepat antar cabang b) laporan staff terbaik dari seluruh cabang tiap bagian per bulan c) laporan staff terbaik dari seluruh cabang tiap bagian per tahun d) laporan staff terbaik dari seluruh cabang tiap aspek penilaian per bulan
131
4.2.2.5 Desain Antarmuka (Inteface) Secara umum, kerangka desain antarmuka adalah sebagai berikut :
Gambar 4.25 Kerangka Umum Desain Antarmuka Tahapan desain antarmuka yang akan penulis usulkan terbagi menjadi empat menu tampilan yang dipengaruhi hak aksesnya, yaitu : 1.
Halaman Administrator Pada halaman ini administrator mempunyai hak akses untuk mengelola data – data sebagai berikut : -
Mengelola Data Perusahaan Klien : Administrator mempunyai hak akses untuk masukkan maupun mengubah data profil perusahaan klien / kantor pusat, termasuk di dalamnya logo perusahaan.
-
Mengelola Data Head Officer Administrator mempunyai hak akses untuk menambah data head officer / service committee, memodifikasi, menghapus, melihat data head officer / service committee.
132
-
Mengelola Data Kantor Cabang Administrator mempunyai hak akses untuk menambah data kantor cabang, memodifikasi, menghapus, melihat data kantor cabang.
-
Mengelola Data PIC dari Kantor Cabang Administrator mempunyai hak akses untuk menambah data PIC (Branch Manager dan Supervisor) dari Kantor Cabang, memodifikasi, menghapus, melihat data PIC (Branch Manager dan Supervisor) dari Kantor Cabang.
-
Mengelola Data Bagian Administrator mempunyai hak akses untuk menambah data bagian, memodifikasi, menghapus, melihat data bagian.
-
Mengelola Data Aspek Penilaian Administrator mempunyai hak akses untuk menambah data aspek penilaian, memodifikasi, menghapus, melihat data aspek penilaian.
-
Mengelola Data Grup Soal Administrator mempunyai hak akses untuk menambah data grup soal memodifikasi, menghapus, melihat data grup soal.
-
Mengelola Data Soal Administrator mempunyai hak akses untuk menambah data soal memodifikasi, menghapus, melihat data soal.
-
Mengubah Data Profil Pribadi Administrator mempunyai hak akses untuk memodifikasi data profil pribadi.
133
-
Ganti Password Administrator mempunyai hak akses untuk mengganti passwordnya sendiri.
2.
Halaman Supervisor Pada halaman ini Supervisor mempunyai hak akses untuk mengelola berbagai data sebagai berikut : -
Mengelola Data Staff Supervisor mempunyai hak akses untuk menambah data staff, memodifikasi, menghapus, melihat data staff.
-
Melakukan Penilaian Supervisor mempunyai hak akses untuk menilai kinerja staffnya.
-
Melihat LogBook Penilaian Supervisor melihat detail penilaian staffnya.
-
Mengubah Data Profil Pribadi Supervisor mempunyai hak akses untuk memodifikasi data profil pribadi.
-
Ganti Password Supervisor mempunyai hak akses untuk mengganti passwordnya sendiri.
134
3.
Halaman Branch Manager Pada halaman ini Branch Manager mempunyai hak akses untuk melakukan hal-hal berikut : -
Melihat LogBook Penilaian Branch Manager mempunyai hak akses untuk melihat penilaian para staff di kantor cabangnya yang dilakuan oleh supervisor.
-
Mengirim / Melakukan Approval Delegasi Staff Terbaik di Kantor Cabang Branch Manager mempunyai hak akses untuk melakukan approval atau mengirim delegasi staff terbaik dari kantor cabangnya yang telah dilakukan penilaian oleh supervisor.
-
Melihat Staff Terbaik Branch Manager mempunyai hak akses untuk melihat staff terbaik di kantor cabangnya berdasarkan aspek penilaian.
-
Mengubah Data Profil Pribadi Branch Manager mempunyai hak akses untuk memodifikasi data profil pribadi.
-
Ganti Password Branch Manager mempunyai hak akses untuk mengganti passwordnya sendiri.
135
4.
Halaman Head Officer Pada halaman ini Head Officer mempunyai hak akses untuk melakukan hal-hal berikut : -
Melihat Laporan Delegasi Tercepat Head Officer mempunyai hak akses untuk melihat laporan pengiriman / approval delegasi tercepat atau status pengiriman delegasi antar cabang.
-
Melihat Laporan Staff Terbaik Head Officer mempunyai hak akses untuk melihat laporan staff terbaik tiap bagian antar cabang per bulan.
-
Melihat Laporan Staff Terbaik Tiap Tahun Head Officer mempunyai hak akses untuk melihat laporan staff terbaik tiap bagian antar cabang per tahun.
-
Melihat Laporan Staff Terbaik Per Aspek Tiap Bulan Head Officer mempunyai hak akses untuk melihat laporan staff terbaik per aspek penilaian tiap bulan.
-
Mengubah Data Profil Pribadi Head Officer mempunyai hak akses untuk memodifikasi data profil pribadi.
-
Ganti Password Head Officer mempunyai hak akses untuk mengganti passwordnya sendiri.
Penulis melampirkan desain-desain antarmuka pada lampiran E.
136
4.2.2.6 STD (State Transition Diagram) STD adalah sebuah model tingkah laku yang bertumpu pada definisi dari serangkaian keadaan sistem. Seperti halnya desain antarmuka, STD pun penulis bagi menjadi empat berdasarkan hak akses pengguna dalam sistem ini. 1.
STD Administrator Berikut ini adalah bagan STD dari Administrator :
Gambar 4.26 STD Administrator
137
2.
STD Supervisor Berikut ini adalah bagan STD dari Supervisor :
Gambar 4.27 STD Supervisor 3.
STD Branch Manager Berikut ini adalah bagan STD dari Branch Manager :
Gambar 4.28 STD Branch Manager
138
4.
STD Head Officer Berikut ini adalah bagan STD dari Head Officer :
Gambar 4.29 STD Head Officer
4.2.3
Pengkodean Setelah melakukan analisis sistem dan perancangan sistem secara rinci.
Tiba saatnya, sistem untuk diimplementasikan (pembuatan kode program). Pengkodean adalah proses menterjemahkan rancangan yang telah dibuat ke dalam bentuk bahasa yang bisa dibaca oleh mesin yakni menggunakan PHP 5 sebagai bahasa pemrogramannya dan MySQL sebagai database server untuk menyimpan datanya serta CI / Codeigniter sebagai PHP frameworknya.
139
Penulis memilih menggunakan PHP 5 dan MySQL dalam pengembangan sistem job performance appraisal karena PT.Learning Resources belum memiliki dedicated
server,
dan
masih
menggunakan
web
hosting
dalam
mengimplementasikan sistem ini, serta tidak semua klien dari PT.Learning Resources ini memiliki dedicated server juga, sehingga yang paling memungkinkan untuk menerapkan sistem job performance appraisal adalah mengembangkannya dengan development tools tersebut. Berbeda jika penulis menggunakan bahasa pemrograman lain semisal Java atau C# maupun database server lain semisal Oracle atau SQL Server, tentunya membutuhkan dedicated server untuk implementasinya. Dalam pengembangan sistem ini, tak lupa penulis juga menggunakan framework untuk mempercepat proses pembuatannya dan menjadikan sistem ini lebih kokoh dan terstruktur. Penulis menjatuhkan pilihan pada CodeIgniter sebagai PHP Frameworknya, karena CodeIgniter sangat kompatibel dengan berbagai web hosting yang ada lantaran memiliki karakter yakni zero configuration. Berbeda dengan framework lain semisal Zend atau Symfony yang membutuhkan konfigurasi tambahan pada file konfigurasi php.ini ataupun httpd.conf yang mana pada web hosting tidak diperkenankan melakukan perubahan konfigurasi pada kedua file konfigurasi tersebut, kecuali jika kita menggunakan VPS (Virtual Private Server) yang mana layaknya memiliki dedicated server dan tentunya biayanya juga cukup besar. Penulis akan menunjukkan konfigurasi minimum yang dibutuhkan jika kita menggunakan framework Symfony, berdasarkan dokumentasi pada situs resmi Symfony
140
(http://www.symfony-project.org), untuk dapat menggunakan Symfony, kita harus memastikan beberapa extensions telah terinstall dan beberapa value konfigurasi harus diubah sesuai dengan minimum requirements pada framework Symfony, berikut screenshoot dari konfigurasi yang dibutuhkan untuk dapat menjalankan Symfony :
Gambar 4.30 Konfigurasi Minimum Framework Symfony Dari gambar di atas, dapat terlihat bahwa ada beberapa settingan yang FAILED, lantaran konfigurasi pada web hosting tidak sesuai dengan kebutuhan minimum dari framework Symfony, tentunya ini menyebabkan aplikasi yang dikembangkan dengan Symfony tidak akan berjalan pada web hosting yang
141
bersangkutan. Karena secara default, semisal extension PHP Accelerator (APC) pada web hosting dracoola dan eazysmart tidak di install. Begitu pula dengan framework Zend, berdasarkan buku Beginning Zend Framework terbitan Appress, untuk dapat menggunakan framework Zend, kita harus memastikan bahwa modul mod_rewrite harus diaktifkan, dan konfigurasi virtual host harus diubah dan disesuaikan untuk aplikasi berbasis framework Zend yang kita gunakan yang terdapat pada file konfigurasi httpd.conf. Biasanya pada beberapa web hosting (yakni dalam hal ini web hosting eazysmart dan dracoola untuk mewakili sebagian besar web hosting yang ada), modul mod_rewrite tidak diaktifkan, yakni pada file konfigurasi httpd.conf kodenya adalah sebagai berikut : #LoadModule rewrite_module modules/mod_rewrite.so
Untuk mengaktifkannya kodenya harus diubah menjadi sebagai berikut : LoadModule rewrite_module modules/mod_rewrite.so
Dan jika sudah diubah, web server harus direstart, agar modul tersebut dapat diload dan dijalankan. Sedangkan, seperti telah penulis jelaskan bahwa sebagian besar web hosting tidak memberikan fasilitas dan wewenang untuk mengubah file konfigurasi php.ini maupun httpd.conf, apalagi untuk melakukan restart pada web server. Tentunya penggunaan framework semisal Zend atau Symfony akan menyebabkan aplikasi yang dikembangkan tidak memiliki kompatibilitas yang baik terhadap sebagian besar web hosting yang ada dan mengakibatkan aplikasi tidak akan dapat berjalan sama sekali pada web hosting. Namun, jika kita menggunakan framework CodeIgniter / CI, masalah-masalah terkait kompatibilitas terhadap web hosting tidak akan terjadi, karena framework
142
CI secara default tidak membutuhkan perubahan konfigurasi pada file konfigurasi php.ini ataupun httpd.conf. Versi CodeIgniter yang digunakan penulis adalah 1.7.2, dan saat penulis menulis penelitian ini versi tersebut merupakan rilis yang terbaru. Sebelum dapat menggunakan CodeIgniter ini, ada beberapa langkah yang harus dilakukan agar seluruh fungsi, helper dan library yang dibutuhkan bisa berjalan dengan baik. Ada beberapa fungsi helper yang penulis gunakan dalam pengembangan sistem ini, yaitu url dan form helper, sedangkan library yang digunakan adalah library session dan database. Library session mengizinkan developer untuk mengelola kondisi pengguna dan melacak aktivitas mereka
ketika menjelajah di dalam sistem.
Semua informasi session untuk masing-masing pengguna disimpan dalam data yang terenkripsi di cookie. Dan informasi session tersebut juga bisa disimpan di dalam database untuk meningkatkan keamanan dan kemudahan pengelolaan session, tetapi dengan menambahkan konfigurasi dan membuat tabel di database untuk menyimpan informasi session. Sedangkan, library database digunakan agar CodeIgniter bisa mengelola seluruh tabel yang ada di database yang digunakan dalam sistem. Untuk mengaktifkan kedua library tersebut, perlu melakukan perubahan konfigurasi
pada
file
autoload.php
yang
system/application/config. Yakni, ubahlah kode berikut : $autoload['libraries'] = array();
terletak
di
dalam
folder
143
Menjadi seperti berikut : $autoload['libraries'] = array('database','session');
Dengan melakukan perubahan konfigurasi tersebut, secara otomatis kedua library tersebut bisa langsung digunakan dalam pengkodean menggunakan framework CodeIgniter. Contoh kode untuk mengakses seluruh data yang ada di suatu tabel menggunakan library database dengan fungsi get adalah sebagai berikut : $this->db->get($nama_tabel);
Dan kita pun juga bisa memanfaatkan fungsi yang ada di library session, semisal untuk melakukan penyimpanan dan pengambilan informasi session pengguna. Contoh kode untuk menyimpan informasi session menggunakan fungsi set_userdata yang terdapat pada library session adalah sebagai berikut : $newdata
=
array( 'username'
=>
'john',
'email'
=>
'[email protected]'); $this->session->set_userdata($newdata); Agar informasi session tersimpan di dalam database, perlu perubahan konfigurasi pada file config.php yang terletak di dalam folder
system/application/config. Yakni, ubahlah kode berikut : $config['sess_use_database']
= FALSE;
$config['sess_table_name']
= 'ci_sessions';
Menjadi seperti berikut : $config['sess_use_database']
= TRUE;
$config['sess_table_name']
= 'ci_sessions';
144
Untuk $config['sess_table_name'] disesuaikan dengan nama tabel yang
akan digunakan sebagai tabel untuk menyimpan informasi session. Kita bisa merubah jika kita ingin menggunakan tabel lain untuk menyimpan informasi session. Jika kita belum memiliki tabel ci_sessions untuk menyimpan informasi session, kita terlebih dahulu membuat tabel tersebut, berikut kode SQL untuk membuat tabel ci_sessions yang sudah disesuaikan untuk dapat menyimpan informasi session : CREATE TABLE IF NOT EXISTS
`ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL, ip_address varchar(16) DEFAULT '0' NOT NULL, user_agent varchar(50) NOT NULL, last_activity int(10) unsigned DEFAULT 0 NOT NULL, user_data text NOT NULL, PRIMARY KEY (session_id) ); Dan contoh kode untuk mengambil informasi session yang telah disimpan sebelumnya menggunakan fungsi userdata yang terdapat pada library session adalah sebagai berikut : echo “Username is ”.$this->session->userdata(‘username’);
Sama halnya dengan cara mengaktifkan secara otomatis kedua library sebelumnya, untuk mengaktifkan kedua helper yakni url dan form helper, kita perlu mengubah konfigurasi yang ada pada file autoload.php yang terletak di dalam folder system/application/config. Yakni, ubahlah kode berikut : $autoload['helper'] = array();
Menjadi seperti berikut :
145
$autoload['helper'] = array('url','form');
Setelah mengaktifkan kedua helper tersebut, berarti secara otomatis kedua helper bisa langsung digunakan dalam pengkodean tanpa perlu me-load ulang kedua helper tersebut. Url helper digunakan untuk membantu developer untuk membuat link, dan form helper membantu developer untuk membuat elemen form yang lebih aman daripada form yang biasa karena mampu menangani serangan SQL Injection melalui form input. Contoh kode untuk membuat link dengan memanfaatkan fungsi yang ada pada url helper yaitu anchor adalah sebagai berikut : echo anchor(’http://mail.google.com’,’Google Mail’);
Maka, kode di atas tersebut sama halnya dengan kode HTML sebagai berikut : Google Mail
Sedangkan,
contoh
kode
untuk
membuat
form
input
dengan
memanfaatkan fungsi yang ada pada form helper yaitu form_input adalah sebagai berikut : echo form_input(’username’,’John’);
Maka, kode di atas tersebut sama halnya dengan kode HTML sebagai berikut :
Untuk melindungi dari serangan XSS, kita perlu melakukan perubahan konfigurasi
pada
file
system/application/config.
config.php
yang
terletak
di
dalam
folder
146
Yakni, ubahlah kode berikut : $config['global_xss_filtering'] = FALSE;
Menjadi seperti berikut : $config['global_xss_filtering'] = TRUE;
Dan penulis juga mengkonfigurasi base_url atau url dasar untuk sistem, sehingga memudahkan proses development selanjutnya, yakni pada baris berikut pada file yang sama, berikut contoh konfigurasi yang penulis gunakan : $config['base_url']
= "http://localhost/reinforcement";
Agar bisa terkoneksi dengan database, perlu perubahan konfigurasi pada file database.php yang terletak di dalam folder system/application/config. Yakni ubahlah beberapa parameter berikut dengan memberikan value
sesuai
dengan konfigurasi sistem yang dimiliki, $db[‘default’][‘hostname’] dengan value nama host yang terdapat database server yang ingin dikoneksikan, $db['default']['username'] dengan memberikan value username di database server, $db['default'][‘password’] dengan memberikan value password dari username tersebut, dan $db['default']['database'] dengan value nama database yang ingin digunakan pada database server, dan $db['default']['dbdriver'] dengan value jenis driver yang disesuaikan dengan database server yang ingin digunakan. Berikut contoh konfigurasi yang penulis gunakan : $db['default']['hostname'] = "localhost"; $db['default']['username'] = "root"; $db['default']['password'] = ""; $db['default']['database'] = "reinforcement"; $db['default']['dbdriver'] = "mysql";
147
Setelah melakukan seluruh konfigurasi di atas, secara umum kita sudah dapat melanjutkan proses pengkodean di controller maupun view. Dalam penelitian ini, penulis hanya menggunakan controller dan view saja, dengan tidak menggunakan model dalam pengembangan sistem. Hal ini disebabkan penulis sudah membuat dan menggunakan generic functions untuk melakukan akses database dengan mudah seperti halnya di saat kita menggunakan model. Seluruh generic functions penulis buat dalam satu file yakni fungsi.php yang terletak di controller atau di dalam folder system/application/controllers. Pertama, kita melakukan include file fungsi.php di seluruh file controller yang digunakannya, lalu, untuk dapat menggunakan generic functions tersebut, seluruh class di controller melakukan extends ke class Fungsi di dalam fungsi.php yang berisi generic functions tersebut dan melakukan inisialisasi constructor ke dirinya sendiri dan parent class (class Fungsi). Dengan melakukan hal ini, berbagai generic functions tersebut bisa digunakan dengan mudah, terutama di saat menggunakannya untuk membuat CRUD (Create Read Update and Delete). Berikut contoh kode untuk melakukan inisialisasi constructor ke class Bagian dan Fungsi oleh class Bagian : //file bagian.php
148
Sebagai contoh, untuk mengambil seluruh data di suatu tabel dalam database, penulis membuat fungsi tersendiri yang diadopsi dari fungsi yang ada di CodeIgniter yaitu get, namun jika sudah melakukan inisialisasi constructor, kita tidak perlu lagi memberikan parameter nama tabel yang ingin diambil seluruh datanya. Perhatikan contoh kode berikut : $this->getAllData(); //mengambil semua data di tabel bagian
Akan sama dengan kode berikut : $this->db->get(’bagian’);
Masih ada beberapa generic functions yang bisa digunakan dalam proses pengkodean, dan penulis merasakan kemudahan dibandingkan penggunaan secara murni
dari
fungsi-fungsi
yang
telah
disediakan
CodeIgniter
tanpa
memodifikasinya. Dan seluruh kode program telah penulis lampirkan pada Lampiran F.
4.2.4
Uji Coba Pada tahap ini dilakukan pengujian sistem yakni terhadap masing-masing
fitur dan fungsi yang tersedia untuk mengetahui apakah aplikasi dapat bekerja dengan semestinya. Ujicoba dilakukan 2 kali, yakni pertama, pengujian sistem
149
secara mandiri, dan kedua, pengujian sistem oleh pihak user yakni Bapak Munir Ahmad dan Laksmi Indrawati dari PT. Learning Resources dengan melakukan testing mengenai apakah fitur-fitur aplikasi sudah berjalan dengan semestinya atau tidak. Dalam ujicoba mandiri maupun oleh pihak user ini penulis menggunakan metode black box testing yaitu ujicoba menggunakan metode pengujian logika program dengan contoh kasus atau masalah yang diajukan. (Hasil testing terlampir pada Lampiran D).
4.2.5
Pemeliharaan Tahap terakhir dalam metode pengembangan sistem menggunakan model
Waterfall
adalah
pemeliharaan
(maintenance),
yaitu
setelah
sistem
diimplementasikan dan diuji serta dicoba untuk memastikan bahwa sistem telah terbebas dari bug. Pemeliharaan ini dilakukan terhadap sistem supaya jika sewaktu-waktu terjadi kemungkinan kesalahan pada sistem di saat sistem sudah berjalan, bisa ditangani dengan cepat dan tepat, sehingga tidak menyebabkan terhambatnya penggunaan sistem oleh end user. Namun, sesuai dengan batasan permasalahan yang penulis buat, yakni tidak menyertakan pemeliharaan sistem, maka penulis tidak bisa membahasnya lebih jauh pada tahap pemeliharaan ini.
150
BAB V PENUTUP
5.1
Kesimpulan Kesimpulan dari hasil penelitian yang telah penulis lakukan, adalah
sebagai berikut: 1. Sistem job performance appraisal dengan metode checklist dapat bekerja dengan baik menurut pihak user yakni Bapak Munir Ahmad dan Laksmi Indrawati dari PT.Learning Resources sebagai alat bantu bagi PT. Learning Resources kepada perusahaan kliennya yang ingin melakukan penilaian kinerja menggunakan metode yang objektif kepada para staffnya secara efektif dan efisien. 2. Penulis telah dapat mengembangkan sebuah aplikasi berbasis web yang memiliki kompatibilitas yang baik terhadap sebagian besar web hosting yang ada dengan menggunakan CI Framework, sehingga permasalahan tentang infrastruktur yang belum dimiliki saat ini semisal dedicated server bisa diatasi.
Dan penggunaan CI Framework membuat aplikasi yang
dikembangkan menjadi lebih terstruktur, sehingga mudah dilakukan maintenance.
151
5.2
Saran Saran yang hendak penulis sampaikan kepada pembaca atau mahasiswa
lain yaitu sebagai berikut : 1. Diperlukan fitur tambahan fitur penilaian lain semisal penilaian staff berdasarkan target pekerjaan. 2. Adanya fitur penilaian secara offline, dan sinkronisasi data penilaian ke kantor pusat.
152
DAFTAR PUSTAKA
L.Mathis, Robert, Human Resource Management, Salemba Empat, 2009 Whitten, Jeffrey L. 2004. System Analysis & Design Methods : Sixth Edision. New York: McGraw-Hill. Upton, David, CodeIgniter for Rapid PHP Application Development, PACKT Publishing, 2007 Al Fatta, Hanif, Analisis & Perancangan Sistem Informasi, Andi ; 2007 Al-Bahra Bin Ladjamudin, Analisis dan Desain Sistem Informasi, Graha Ilmu, Yogyakarta, 2005. Pressman, Roger S, 2002, Software Enginering A Practitioner’s Approach Sixth Edition, Canada, McGraw.Hill. Jogiyanto, 2005, Analisis dan Desain sistem Informasi : Pendekatan Terstruktur, Penerbit Andi, Yogyakarta Satzinger, John W., System Analysis and Design Method In A Changing World Fifth Edition, 2009, Course Technology, Boston USA. Anharku, Flowchart, Ilmu Komputer.com, 2009 Basuki Pribadi, Awan, Membangun Web Berbasis PHP dengan framework CodeIgniter, Loko Media, 2010 http://www.codeigniter.com diakses pada 5 Juli 2010 pukul 15.30 WIB http://www.symfony-project.org diakses pada 3 Juli 2010 pukul 13.00 WIB http://ronawajah.wordpress.com/2009/08/08/merancang-sistem-penilaian-kinerjakaryawan/ diakses pada 2 Juli 2010 pukul 17.00 WIB
SKRIPSI
PENGEMBANGAN SISTEM JOB PERFORMANCE APPRAISAL DENGAN METODE CHECKLIST MENGGUNAKAN CI FRAMEWORK (Studi Kasus : PT. Learning Resources)
Oleh : Muhammad Tri Wibowo 105091002845
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2010
i
PENGEMBANGAN SISTEM JOB PERFORMANCE APPRAISAL DENGAN METODE CHECKLIST MENGGUNAKAN CI FRAMEWORK (Studi Kasus : PT. Learning Resources)
Skripsi Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh Muhammad Tri Wibowo 105091002845 Menyetujui, Pembimbing 1
Mengetahui, Ketua Program Studi Teknik Informatika
Yusuf Durrachman, M.Sc, M.IT NIP. 150 378 017
ii
PENGESAHAN UJIAN Skripsi yang berjudul “Pengembangan Sistem Job Performance Appraisal dengan metode checklist menggunakan CI Framework, Studi Kasus : PT. Learning Resources”, telah diuji dan dinyatakan lulus dalam Sidang Munaqosah Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta, pada hari Jum’at tanggal 9 Agustus 2010. Skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Program Teknik Informatika Jakarta, September 2010 Tim Penguji, Penguji I
DR. Syopiansyah Jaya Putra, M.Sis NIP. 150 317 956
Yusuf Durrachman MIT M.Sc NIP. 150 378 017
iii
PERNYATAAN DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENARBENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.
Jakarta, 23 September 2010
Muhammad Tri Wibowo 105091002845
iv
ABSTRAK Muhammad Tri Wibowo, Pengembangan Sistem Job Performance Appraisal dengan Metode Checklist Menggunakan CI Framework (studi kasus : PT.Learning Resources) , dibimbing oleh Imam M.Shofi, MT dan Slamet Aji Pamungkas, M.Eng. Saat ini PT. Learning Resources telah memiliki sistem job performance appraisal dengan metode penilaian checklist untuk mengukur kinerja karyawan perusahaan kliennya, namun masih manual dan belum menggunakan bobot dalam penilaiannya, sehingga mengurangi efisiensi dan efektivitas penilaian. Oleh karena itu, penulis mencoba mengembangkan sistem job performance appraisal yang terkomputerisasi dengan metode checklist yang berbobot dalam penilaiannya agar proses penilaian menjadi lebih efisien dan efektif, dan hasil penilaian yang didapatkan juga akurat dan cepat. Kebutuhan sistem yang sudah jelas, membuat penulis memutuskan untuk menggunakan model Waterfall sebagai metode pengembangan sistemnya yang meliputi analisis, perancangan, pengkodean, uji coba, dan perawatan. Tools pemodelan menggunakan Data Flow Diagram (DFD) untuk memodelkan prosesnya, sedangkan untuk memodelkan datanya menggunakan Entity Relationship Diagram (ERD). Untuk bahasa pemrograman yang digunakan dalam mengimplementasikan sistem ini adalah bahasa pemrograman PHP 5, dan teknologi-teknologi lain yang mendukung yakni MySQL versi 5, serta menggunakan CI (CodeIgniter) Framework sebagai application frameworknya agar aplikasi yang dibangun menjadi lebih terstruktur dan memiliki kompatibilitas yang baik terhadap web hosting pada umumnya. Dari penelitian ini, penulis menarik kesimpulan bahwa pihak terkait yakni perusahaan klien dari PT. Learning Resources yang menggunakan sistem job performance appraisal dengan metode checklist menggunakan CI Framework dapat melakukan proses penilaian dengan efisien dan efektif, dan hasil penilaian semisal daftar staff terbaik antar kantor cabang dapat diperoleh dengan cepat dan akurat, ini terjadi karena penggunaan bobot penilaian dalam metode penilaian checklist meminimalisir kemungkinan terjadinya kesamaan nilai antar staff. Dan juga dengan sistem ini, mereka dapat mengevaluasi kinerja para karyawannya, sehingga diharapkan kebijakan perusahaan terkait dengan kinerja karyawannya seperti promosi, demosi, training dan lainnya, dapat berjalan dengan optimal.
Kata Kunci : CI Framework, CodeIgniter, Job Performance Appraisal, Metode Checklist, Waterfall Jumlah Halaman : 152 halaman Jumlah Daftar Pustaka : 13 sumber
v
KATA PENGANTAR Bismillahirrahmannirrahiim……… Segala puji dan syukur penulis panjatkan kepada Allah SWT, Yang Maha Kuasa dan telah memberikan berkah dan anugerahNya kepada penulis sehingga penulis mampu melaksanakan tugas untuk menyelesaikan skripsi ini dengan sebaik-baiknya. Shalawat serta salam tak lupa juga penulis haturkan kepada junjungan kita Nabi Besar Muhammad SAW. Skripsi ini penulis buat sebagai syarat kelulusan dalam menempuh pendidikan jenjang Strata-1 (S1) di Universitas Islam Negeri Syarif Hidayatullah Jakarta. Selain itu juga penulis berharap apa yang penulis teliti, yang dijelaskan di dalam skripsi ini, dapat dipergunakan dengan baik oleh semua pihak yang membutuhkan, sehingga perkembangan ilmu pengetahuan dan teknologi khususnya di Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta dapat lebih maju dan lulusannya dapat bekerja secara kooperatif dengan semua elemen informatika dari seluruh dunia. Pada kesempatan ini, penulis mengucapkan terima kasih kepada pihakpihak yang telah membantu penulis menyelesaikan skripsi ini : 1. Bapak Dr. Syopiansyah jaya Putra M.Sis selaku Dekan Fakultas Sains dan Teknologi. 2. Bapak Yusuf Durrachman M.Sc, MIT selaku ketua Program Studi Teknik Informatika atas kesempatan untuk dapat melakukan penelitian skripsi. 3. Ibu Viva Arifin MMSi yang telah bersedia memberikan acc kepada saya untuk menyusun skripsi ini.
vi
4. Bapak Imam Shofi, MT dan Bapak Slamet Aji Pamungkas, M.Eng yang telah rela meluangkan waktunya untuk mendukung dan membimbing penulis dalam menyelesaikan skripsi ini. 5. Bapak Munir Ahmad dan Ibu Laksmi Indrawati selaku wakil dari PT. Learning Resources yang telah bekerja sama dengan baik dalam pengembangan sistem ini. 6. Pandu Hidayat, Zaini Miftah, Irfan Fadmara, Afrialdi, Neni Ferawati dan Sidik serta teman-teman lain yang tidak bisa saya sebutkan satu persatu yang telah membantu saya merancang sistem ini. 7. Nurfitriyanto yang telah memberi motivasi kepada saya dalam mengerjakan skripsi. 8. Annisha Primasari yang telah meminjamkan buku-buku penunjang skripsi kepada saya. 9. R.Ayu W. dan Shidiq Nouvarinzky yang telah memberikan semangat kepada saya secara langsung dan tidak langsung dalam pembuatan skripsi ini. 10. Dosen-Dosen Fakultas Sains dan Teknologi, baik itu Bapak Taufik Edy S., Bapak Rizal Bahawerez, dan lainnya yang tak bisa saya sebutkan satu persatu yang telah mengajarkan kepada penulis berbagai macam ilmu yang dapat penulis terapkan dalam penulisan skripsi ini. 11. Kedua orang tua penulis, Suharsono H.S dan Astutiningsih yang telah memberikan
dukungan
moril,
semangat
memperlancar proses penyusunan skripsi ini.
vii
dan
materiil
sehingga
12. Kedua kakak penulis, Hartati Setyawati, S.Psi dan Bintari, S.Farm, dan kedua adik penulis, Rahmat Adi S. dan Mardelia Nur Fatanah yang telah menjadi tempat penulis melepaskan penat dalam penyusunan Skripsi ini. 13. Saudara-saudara saya, yakni pakde Sadirin, budhe, mas Didi, Wira, dan lainnya yang telah mensupport saya supaya cepat lulus. 14. Teman-Teman seperjuangan TI UIN 2005, terutama TI-B-05 atas dukungan kalian semua. Penulis menyadari masih terdapat banyak kekurangan dalam penelitian ini, baik penulisan maupun analisis dan desain sistemnya sendiri. Oleh karena itu penulis mengharapkan saran dan kritik yang dapat membangun skripsi ini lebih baik lagi.
Jakarta, September 2010
Penulis
viii
DAFTAR ISI Halaman HALAMAN JUDUL ……………………………………………
Tabel 4.4. Kamus Data Tabel Perusahaan..............................................
117
Tabel 4.5. Kamus Data Tabel User.........................................................
117
Tabel 4.6. Kamus Data Tabel Level……………...................................
118
Tabel 4.7. Kamus Data Tabel Staff...……..............................................
118
Tabel 4.8. Kamus Data Tabel Bagian......................................................
118
Tabel 4.9. Kamus Data Tabel Cabang….................................................
118
Tabel 4.10. Kamus Data Tabel Aspek.....................................................
119
Tabel 4.11. Kamus Data Tabel Grup.......................................................
119
Tabel 4.12. Kamus Data Tabel Soal........................................................
119
Tabel 4.13. Kamus Data Tabel Penilaian.................................................
120
Tabel 4.14. Kamus Data Tabel Delegasi..................................................
120
xiv
DAFTAR GAMBAR Halaman Gambar 2.1. Model Sistem ..............................................................
15
Gambar 2.2. Model Hubungan elemen-elemen sistem......................
15
Gambar 2.3. Konsep Sistem Informasi.............................................
18
Gambar 2.4 Peran Penilaian Kinerja.................................................
24
Gambar 2.5 Logika dan Proses Penilaian Kinerja.............................
25
Gambar 2.6 Berbagai Metode Penilaian Kinerja...............................
27
Gambar 2.5. Contoh Dokumen Penilaian Checklist..........................
31
Gambar 2.8. Perbedaan dari pendekatan siklus hidup pengembangan Sistem..............................................................................
34
Gambar 2.9. Arsitektur Metodologi.....................................................
34
Gambar 2.10.Model Waterfall..............................................................
38
Gambar 2.11.Contoh Flowchart...........................................................
42
Gambar 2.12.Hierarki DFD..................................................................
46
Gambar 2.13.Contoh Perubahan State..................................................
46
Gambar 2.14.Notasi Modul..................................................................
56
Gambar 2.15.Notasi Tampilan..............................................................
56
Gambar 2.16.Notasi Tindakan..............................................................
56
Gambar 3.1. Metode Kerja Penelitian.................................................
68
Gambar 4.1. Flowchart sistem yang berjalan......................................
81
Gambar 4.2. Flowchart sistem yang diusulkan....................................
87
Gambar 4.3. Contoh Penilaian dan hasil penilaian dalam sistem........
91
xv
Gambar 4.4. Context Diagram ............................................................
92
Gambar 4.5. Level 0 DFD ..................................................................
93
Gambar 4.6. Level 1 DFD dari proses 1.0 ..........................................
94
Gambar 4.7. Level 1 DFD dari proses 2.0 ..........................................
94
Gambar 4.8. Level 1 DFD dari proses 3.0 ..........................................
95
Gambar 4.9. Level 1 DFD dari proses 4.0 ...........................................
95
Gambar 4.10. Level 2 DFD dari proses 1.1 ..........................................
96
Gambar 4.11. Level 2 DFD dari proses 1.2 .........................................
96
Gambar 4.12. Level 2 DFD dari proses 1.3 .........................................
97
Gambar 4.13. Level 2 DFD dari proses 1.4 .........................................
97
Gambar 4.14. Level 2 DFD dari proses 3.1 .........................................
98
Gambar 4.15. Level 2 DFD dari proses 3.2 .........................................
98
Gambar 4.16. Level 2 DFD dari proses 3.3 .........................................
99
Gambar 4.17. Level 3 DFD dari proses 1.4.1.......................................
99
Gambar 4.18. Level 3 DFD dari proses 1.4.2.......................................
100
Gambar 4.19. Level 3 DFD dari proses 1.4.3.......................................
100
Gambar 4.20. Level 4 DFD dari proses 1.4.3.1....................................
101
Gambar 4.21. Level 4 DFD dari proses 1.4.3.2....................................
101
Gambar 4.22. Rancangan ERD yang diusulkan.... ...............................
103
Gambar 4.23. Transformasi ERD ke LRS yang diusulkan...................
104
Gambar 4.24. Arsitektur Sistem ...........................................................
121
Gambar 4.25. Kerangka Umum Desain Antarmuka..............................
131
Gambar 4.26. STD Administrator.........................................................
136
xvi
Gambar 4.27. STD Supervisor..............................................................
137
Gambar 4.28. STD Branch Manager.....................................................
137
Gambar 4.29. STD Head Officer...........................................................
138
Gambar 4.30 Konfigurasi Minimum Framework Symfony.................
140
xvii
DAFTAR LAMPIRAN
LAMPIRAN A (WAWANCARA) LAMPIRAN B (SURAT KET. MELAKUKAN PENELITIAN) LAMPIRAN C (SURAT KET. TELAH WAWANCARA) LAMPIRAN D (PENGUJIAN SISTEM / BLACK BOX TESTING) LAMPIRAN E (DESAIN ANTARMUKA / INTERFACE) Lampiran E.1. Desain Antarmuka untuk Administrator.......................
E- 1
Lampiran E.2. Desain Antarmuka untuk Supervisor............................
E- 7
Lampiran E.3. Desain Antarmuka untuk Branch Manager..................
E- 9
Lampiran E.4. Desain Antarmuka untuk Head Officer........................
LAMPIRAN A WAWANCARA Tanggal : 7 Maret 2010 Narasumber : Bapak Munir Ahmad Peran Narasumber : Supervisor Reinforcement Lokasi : PT.Learning Resources
Penulis
: Apakah perusahaan anda memiliki sistem penilaian kinerja
karyawan atau bahasa kerennya job performance appraisal? Narasumber
: Ya, perusahaan kami selaku penyedia training dan konsultan telah
memiliki sistem penilaian kinerja karyawan atau job performance appraisal untuk digunakan kepada klien-klien kami. Penulis
: Apakah sistem tersebut (job performance appraisal) tersebut
sudah terkomputerisasi? Narasumber
: Sistem tersebut yang kami gunakan untuk saat ini belum
terkomputerisasi, masih manual, menggunakan kertas dokumen penilaian untuk melakukan penilaian, dan menggunakan microsoft Excel untuk melakukan penghitungannya. Penulis
: Bagaiamana alur atau cara kerja sistem penilaian tersebut?
lalu, narasumber menjelaskan seperti halnya pada yang penulis tuliskan di analisa sistem berjalan. Penulis
: Metode apa yang digunakan dalam sistem tersebut untuk
melakukan penilaian?
A-1
Narasumber
: Metode penilaian yang digunakan dalam sistem tersebut yaitu
metode checklist. Penulis
: Kita tahu bahwa banyak metode yang bisa digunakan dalam
penilaian kinerja, mengapa perusahaan anda menggunakan metode checklist dalam penilaiannya? Narasumber
: Setelah saya pelajari ternyata metode penilaian yang cukup
mudah diimplementasikan, maksudnya sang penilai tidak terlalu pusing dengan penentuan skala nilai seperti halnya di metode rating scale yang cenderung subjektif dan cukup menguras pikiran dalam pemberian nilainya. Dan metode checklist
merupakan
metode
penilaian
yang
objektif
sehingga
mudah
diaplikasikan oleh penilai dalam hal ini supervisor, misalnya ada pertanyaan ”apakah karyawan tidak terlambat kerja?” maka jawabannya Cuma ada 2 yakni ya atau tidak, sehingga penilai dengan mudah melakukan penilaian, jika staffnya hari itu tidak terlambat kerja, maka akan di checklist, yang menandakan bahwa staffnya tidak terlambat kerja. Berbeda dengan pertanyaan yang terdapat di metode rating scale yang sifatnya subjektif, misalnya ”bagaimana pekerjaan staff anda?” dan skala penilaiannya ada 5 yakni, sangat baik, baik, cukup baik, kurang baik, buruk. Maka tentunya penilai akan kesulitan dan berpikir ekstra untuk menentukan skala nilai dari staff yang dinilai. Penulis
: Apa saja kendala yang mungkin terjadi dalam sistem yang sedang
berjalan ini?
A-2
Narasumber
: Ya, namanya manual, permasalahan yang sering terjadi adalah
human error semisal hilangnya dokumen penilaian, salah melakukan perhitungan nilai, dan cukup lamanya distribusi dokumen penilaian dari dan ke pusat.
A-3
LAMPIRAN D PENGUJIAN SISTEM (BLACK BOX TESTING)
No
Modul
Prasyarat
Hasil yang diharapkan
1
Lihat (Read) data perusahaan
Login sebagai admin
2
Memasukkan Login sebagai (Input) data admin perusahaan
3
Ubah (Update) data perusahaan
Login sebagai admin
4
Lihat (Read) data head officer
Login sebagai admin
5
Tambah (Add) data head officer
Login sebagai admin
6
Ubah (Update) data head
Login sebagai admin
Dapat melihat datadata perusahaan, seperti alamat, bidang usaha, logo, dll. Dapat memasukkan data perusahaan dengan sukses Dapat mengubah data perusahaan dengan sukses. Dapat melihat daftar head officer perusahaan klien. Dapat memasukkan data head officer dengan sukses Dapat mengubah data head
D-1
Hasil uji coba mandiri OK
Hasil uji coba Oleh Pihak user OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
officer
7
Hapus (Delete) data head officer
Login sebagai admin
8
Lihat (Read) data kantor cabang
Login sebagai admin
9
Tambah (Add) data kantor cabang
Login sebagai admin
10
Ubah (Update) data kantor cabang
Login sebagai admin
11
Hapus (Delete) data kantor cabang
Login sebagai admin
12
Lihat (Read) daftar PIC (Branch Manager, Supervisor) tiap kantor cabang Tambah (Add) daftar PIC (Branch Manager, Supervisor)
Login sebagai admin, dan sudah membuat kantor cabang yang bersangkutan Login sebagai admin, dan sudah membuat kantor cabang
13
D-2
officer dengan sukses. Dapat menghapus data head officer yang telah ada pada database Dapat melihat daftar kantor cabang perusahaan klien. Dapat menambah daftar kantor cabang dengan sukses. Dapat mengubah data kantor cabang dengan sukses. Dapat menghapus data kantor cabang dengan sukses Dapat melihat daftar PIC tiap kantor cabang perusahaan klien. Dapat menambah daftar PIC tiap kantor cabang
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
tiap kantor cabang Ubah (Update) data PIC (Branch Manager, Supervisor) tiap kantor cabang Hapus (Delete) data PIC (Branch Manager, Supervisor) tiap kantor cabang Lihat (Read) daftar bagian
yang bersangkutan Login sebagai admin, dan sudah membuat kantor cabang yang bersangkutan
perusahaan klien. Dapat OK mengubah data PIC tiap kantor cabang perusahaan klien.
Login sebagai admin, dan sudah membuat kantor cabang yang bersangkutan Login sebagai admin
17
Tambah (Add) daftar bagian
Login sebagai admin
18
Ubah (Update) data bagian
Login sebagai admin
19
Hapus (Delete) data bagian
Login sebagai admin
20
Lihat (Read) daftar aspek penilaian
Login sebagai admin, dan sudah membuat daftar bagian
Dapat menghapus data PIC tiap kantor cabang perusahaan klien. Dapat melihat daftar bagian pada perusahaan klien. Dapat melihat daftar bagian pada perusahaan klien. Dapat mengubah data bagian pada perusahaan klien. Dapat menghapus data bagian pada perusahaan klien. Dapat melihat daftar aspek penilaian di perusahaan
14
15
16
D-3
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
21
Tambah (Add) data aspek penilaian
22
Ubah (Update) data aspek penilaian
23
Hapus (Delete) data aspek penilaian
24
Lihat (Read) daftar grup soal
25
Tambah (Add) data grup soal
26
Ubah (Update) data grup
pada perusahaan klien Login sebagai admin, dan sudah membuat daftar bagian pada perusahaan klien Login sebagai admin, dan sudah membuat daftar bagian pada perusahaan klien Login sebagai admin, dan sudah membuat daftar bagian pada perusahaan klien Login sebagai admin, dan sudah membuat daftar aspek penilaian pada perusahaan klien Login sebagai admin, dan sudah membuat daftar aspek penilaian pada perusahaan klien Login sebagai admin, dan sudah
D-4
klien.
Dapat menambah data aspek penilaian di perusahaan klien.
OK
OK
Dapat mengubah data aspek penilaian di perusahaan klien.
OK
OK
Dapat menghapus data aspek penilaian di perusahaan klien.
OK
OK
Dapat melihat daftar grup soal di perusahaan klien.
OK
OK
Dapat menambah data grup soal di perusahaan klien.
OK
OK
Dapat mengubah data grup
OK
OK
soal
27
Hapus (Delete) data grup soal
28
Lihat (Read) daftar soal
29
Tambah (Add) data soal
30
Ubah (Update) data soal
31
Hapus (Delete) data soal
32
Lihat (Read)
membuat daftar aspek penilaian pada perusahaan klien Login sebagai admin, dan sudah membuat daftar aspek penilaian pada perusahaan klien Login sebagai admin, dan sudah membuat daftar aspek penilaian pada perusahaan klien Login sebagai admin, dan sudah membuat daftar aspek penilaian pada perusahaan klien Login sebagai admin, dan sudah membuat daftar aspek penilaian pada perusahaan klien Login sebagai admin, dan sudah membuat daftar aspek penilaian pada perusahaan klien Login sebagai
D-5
soal di perusahaan klien.
Dapat menghapus grup soal di perusahaan klien.
OK
OK
Dapat OK melihat daftar soal di perusahaan klien.
OK
Dapat menambah data soal di perusahaan klien.
OK
OK
Dapat mengubah data soal di perusahaan klien.
OK
OK
Dapat menghapus soal di perusahaan klien.
OK
OK
Dapat
OK
OK
daftar staff yang akan dinilai
33
Tambah (Add) data staff yang akan dinilai
34
Ubah (Update) data staff yang akan dinilai
35
Hapus (Delete) data staff yang akan dinilai
36
Melakukan penilaian / monitoring checklist terhadap staff Melihat logbook penilaian staff
37
supervisor, dan admin sudah membuat daftar kantor cabang dan bagian Login sebagai supervisor, dan admin sudah membuat daftar kantor cabang dan bagian Login sebagai supervisor, dan admin sudah membuat daftar kantor cabang dan bagian Login sebagai supervisor, dan admin sudah membuat daftar kantor cabang dan bagian Login sebagai supervisor, staff yang akan dinilai sudah dibuat
melihat daftar staff yang akan dinilai.
Login sebagai supervisor atau branch manager, supervisor sudah melakukan penilaian terhadap
D-6
Dapat menambah data staff yang akan dinilai.
OK
OK
Dapat mengubah data staff yang akan dinilai.
OK
OK
Dapat menghapus data staff yang akan dinilai.
OK
OK
Melakukan penilaian terhadap staff oleh supervisor
OK
OK
Melihat logbook penilaian staff
OK
OK
38
Melakukan approval atau pengiriman delegasi staff terbaik di kantor cabang
39
Melihat laporan approval atau pengirman delegasi tercepat
40
Melihat laporan staff terbaik per bulan dari seluruh kantor cabang
41
Melihat laporan staff terbaik per tahun dari seluruh kantor cabang
staffnya. Login sebagai branch manager, semua supervisor telah melakukan seluruh penilaian terhadap para staffnya. Login sebagai head officer, kantor cabang telah melakukan approval atau pengiriman delegasi.
Melakukan approval atau pengiriman delegasi staff terbaik di kantor cabang oleh branch manager
OK
OK
Melihat laporan approval atau pengirman delegasi tercepat antar kantor cabang Login sebagai Melihat head officer, laporan staff kantor cabang terbaik telah dengan total melakukan penilaian approval atau tertinggi per pengiriman bulan dari delegasi. seluruh kantor cabang oleh branch manager Login sebagai Melihat head officer, laporan staff telah terbaik menyelesaikan dengan total seluruh penilaian penilaian tertinggi per selama tahun dari setahun oleh seluruh seluruh kantor kantor cabang cabang oleh branch manager
OK
OK
OK
OK
OK
OK
D-7
LAMPIRAN E DESAIN ANTARMUKA (INTERFACE)
E.1
Desain Antarmuka untuk Administrator •
Mengelola Data Perusahaan Klien : o Lihat data perusahaan
o Ubah Data Perusahaan o
E-1
•
Mengelola Data Head Officer o Lihat Data Head Officer/Service Committe
o Tambah/Ubah Data Head Officer/Service Committe
•
Mengelola Data Kantor Cabang o Lihat Data Kantor Cabang
E-2
o Upload Data Kantor Cabang
o Tambah/Ubah Data Kantor Cabang
•
Mengelola Data PIC Branch Manager dan Supervisor) dari Kantor Cabang o Lihat data PIC (Branch Manager dan Supervisor).
E-3
o Tambah/Ubah Data PIC (Branch Manager dan Supervisor).
o
•
Mengelola Data Bagian o Lihat data bagian. o T
o Tambah/Ubah Data Bagian
E-4
•
Mengelola Data Aspek Penilaian o Lihat data aspek penilaian.
o Tambah/Ubah data Aspek Penilaian
•
Mengelola Data Grup Soal o Lihat data grup soal.
E-5
o Tambah/Ubah data grup soal
•
Mengelola Data Soal o Lihat data soal
o Tambah/Ubah data soal o
E-6
E.2
Desain Antarmuka untuk Supervisor •
Mengelola Data Staff o Lihat Data Staff.
o Upload Data Staff
o Tambah/Ubah Data Staff
E-7
•
Melakukan Penilaian o Lihat Checklist Staff per Aspek.
o Checklist Staff
•
Melihat LogBook Penilaian
E-8
E.3
Desain Antarmuka untuk Branch Manager •
Melihat LogBook Penilaian
•
Mengirim / Melakukan Approval Delegasi Staff Terbaik di Kantor Cabang
•
Melihat Staff Terbaik
E-9
E.4
Desain Antarmuka untuk Head Officer •
Melihat Laporan Delegasi Tercepat
•
Melihat Laporan Staff Terbaik
•
Melihat Laporan Staff Terbaik Tiap Tahun
E-10
•
E.5
Melihat Laporan Staff Terbaik Per Aspek Tiap Bulan
Desain Antarmuka Lainnya •
Login
•
Lihat Profil
E-11
•
Ubah Profil
•
Ubah Password
E-12
LAMPIRAN F SOURCE CODE
F.1
Controller
//fungsi.php table = $table; $this->pk = $pk; $this->Controller(); //session_start(); $this->load->library('session'); $this->loadHelper(array("form","url")); $this->cekLogin(); } function init_not_login($table,$pk){ $this->table = $table; $this->pk = $pk; $this->Controller(); //session_start(); $this->load->library('session'); $this->loadHelper(array("form","url")); //$this->cekLogin(); } function initRole($role){ $this->role = $role; } function cekLogin(){ if(($this->session->userdata('username'))==null) redirect('auth/not_login'); } function cekRole($role){ foreach($this->role as $r){ if($r==$role) return true; } return false; } function Fungsi(){ parent::Controller(); } function Controller(){ parent::Controller(); } function getAllData($table = ""){ $table = empty($table)?$this->table:$table;
$page = $this->getValueURL(4); $page = empty($page) || $page==1?1:$page; $sql = "select * from user where level='4'"; $datasource = $this->getCustomData($sql); $data = $this->getPaginate($datasource,$page,$this>max); $data['page'] = $page; $data['css_id'] = 'bagian-head'; $this->load->view('ho',$data); } function baru(){ $data['title'] = "Tambah Head Officer"; $data['action'] = "insert"; $data['tombol'] = "Simpan"; $data['value'] = $this->getNullData(); $this->load->view('ho_form',$data); } function insert(){ $data = $this->filterValue($_POST); $this->persist($data); redirect($this->action.'/index'); } function show_year($table="penilaian",$col="tgl"){ $sql = "SELECT min(YEAR(".$col.")) as tahun FROM ".$table." group by( YEAR(".$col."))"; $year = $this->getCustomData($sql); return $year; } function edit(){ $id = $this->getValueURL(4); $data['value'] = $this->getDataById($id); $data['action'] = "update"; $data['tombol'] = "Edit"; $this->load->view('ho_form',$data); } function update(){ $data = $this->filterValue($_POST); $this->merge($data,$_POST[$this->getPk()]); redirect($this->action.'/index'); } function delete(){ $id = $this->getValueURL(4); $this->transient($id); redirect($this->action.'/index'); } function app_fastest(){ $data['year'] = $this->show_year("delegasi"); if($_POST['view']){ $bulan = $_POST['bulan']; $tahun = $_POST['tahun']; $wulan = intval($bulan); $n_m_m = $wulan+1; $n_m_y = $n_m_m>12?$tahun+1:$tahun; $n_m_m = $n_m_m%12>=10?$n_m_m%12:"0".($n_m_m%12); $now_month = $tahun."-".$bulan."-01 00:00:00"; $next_month = $n_m_y."-".$n_m_m."-"."01 00:00:00";
F-11
$sql = "select min(cabang) as cabang, min(tgl) as tgl from delegasi where tgl>='".$now_month."' and tgl<'".$next_month."' group by(cabang) order by min(tgl) desc"; $fast = $this->getCustomData($sql); $cabang_data = $this->getRefTable("cabang","id"); $data['ref_cabang'] = $cabang_data; $data['fast'] = $fast; foreach($cabang_data as $cd){ $valid = true; foreach($fast as $f){ if($f['cabang']==$cd['id']) $valid=false; } if($valid) $not_app[] = $cd; } $data['not_app']=$not_app; } $this->load->view('app_fastest',$data); } function graph_fastest() { $bulan = $this->getValueURL(3); $tahun = $this->getValueURL(4); $data['year'] = $this->show_year("delegasi"); $wulan = intval($bulan); $n_m_m = $wulan+1; $n_m_y = $n_m_m>12?$tahun+1:$tahun; $n_m_m = $n_m_m%12>=10?$n_m_m%12:"0".($n_m_m%12); $now_month = $tahun."-".$bulan."-01 00:00:00"; $next_month = $n_m_y."-".$n_m_m."-"."01 00:00:00"; $sql = "select min(cabang) as cabang, min(tgl) as tgl from delegasi where tgl>='".$now_month."' and tgl<'".$next_month."' group by(cabang) order by min(tgl) desc"; $fast = $this->getCustomData($sql); $this->load->view('grafik_fastest',$data); } function app_highest(){ $data['year'] = $this->show_year("delegasi"); if($_POST['view']){ $bulan = $_POST['bulan']; $tahun = $_POST['tahun']; $wulan = intval($bulan); $n_m_m = $wulan+1; $n_m_y = $n_m_m>12?$tahun+1:$tahun; $n_m_m = $n_m_m%12>=10?$n_m_m%12:"0".($n_m_m%12); $now_month = $tahun."-".$bulan."-01 00:00:00"; $next_month = $n_m_y."-".$n_m_m."-"."01 00:00:00"; $bagian_data = $this->getRefTable("bagian","id"); $data['ref_bagian'] = $bagian_data; $cabang_data = $this->getRefTable("cabang","id"); $data['ref_cabang'] = $cabang_data; $staff_data = $this->getRefTable("staff","id"); $data['ref_staff'] = $staff_data; $aspek_data = $this->getRefTable("aspek","id"); $data['ref_aspek'] = $aspek_data; foreach($bagian_data as $bd){
F-12
$sql = "select cabang, staff, total from delegasi where bagian='".$bd['id']."' and tgl>='".$now_month."' and tgl<'".$next_month."' order by total desc"; $high[$bd['id']] = $this>getCustomData($sql); if(count($high[$bd['id']])>0){ foreach($high[$bd['id']] as $H){ $sql = "select * from aspek where id_bagian='".$bd['id']."' and id_parent='0'"; $parent = $this->getCustomData($sql); $colspan[$bd['id']] = count($parent); $aspek[$bd['id']] = $parent; foreach($parent as $p){ $id2_asp = " id_aspek='".$p['id']."' "; $sql = "select * from aspek where id_bagian='".$bd['id']."' and id_parent='".$p['id']."'"; $child[$p['id']] = $this>getCustomData($sql); if(count($child[$p['id']])>0){ foreach($child[$p['id']] as $c){ $id2_asp.= " or id_aspek='".$c['id']."' "; } } unset($temp); $sql = "select sum(nilai) as nilai from penilaian where (".$id2_asp.") and id_staff='".intval($H['staff'])."' and tgl>='".$now_month."' and tgl<'".$next_month."' group by(id_staff) order by tgl asc"; $temp = $this>getCustomData($sql); //if($H['staff']==0 && $p['id']==7) echo $sql." "; $nilai["p".$H['staff']][$p['id']] = $temp[0]['nilai']; } foreach($cabang_data as $cd){ $valid = true; foreach($high[$bd['id']] as $h){ if($h['cabang']==$cd['id']) $valid=false; } if($valid) $not_app[$bd['id']][] = $cd; } } } } $data['high'] = $high; $data['nilai'] = $nilai; //print_r($high); $data['aspek'] = $aspek; $data['colspan'] = $colspan;
F-13
$data['not_app']=$not_app; } $this->load->view('app_highest',$data); } function aspek_view(){ if($_POST['view']){ //print_r($_POST); $TEMP = explode("/",$_POST['bagian']); echo $bd['id'] = $TEMP[0]; $p['id'] = $_POST['aspek']; $bulan = $_POST['bulan']; $tahun = $_POST['tahun']; $wulan = intval($bulan); $n_m_m = $wulan+1; $n_m_y = $n_m_m>12?$tahun+1:$tahun; $n_m_m = $n_m_m%12>=10?$n_m_m%12:"0".($n_m_m%12); $now_month = $tahun."-".$bulan."-01 00:00:00"; $next_month = $n_m_y."-".$n_m_m."-"."01 00:00:00"; $bagian_data = $this->getRefTable("bagian","id"); $data['ref_bagian'] = $bagian_data; $cabang_data = $this->getRefTable("cabang","id"); $data['ref_cabang'] = $cabang_data; $staff_data = $this->getRefTable("staff","id"); $data['ref_staff'] = $staff_data; $aspek_data = $this->getRefTable("aspek","id"); $data['ref_aspek'] = $aspek_data; $temp = $this->getDataById($bd['id'],"bagian","id"); $data['bagian'] = array("0"=>$temp); //foreach($bagian_data as $bd) { $sql = "select cabang, staff, total from delegasi where bagian='".$bd['id']."' and tgl>='".$now_month."' and tgl<'".$next_month."' order by total desc"; $high[$bd['id']] = $this>getCustomData($sql); print_r($high[$bd['id']]); echo "sql bagian = ".$sql." hasilnya = ".print_r($high[$bd['id']])." "; if(count($high[$bd['id']])>0){ foreach($high[$bd['id']] as $H){ /* $sql = "select * from aspek where id_bagian='".$bd['id']."' and id_parent='0'"; $parent = $this->getCustomData($sql); $colspan[$bd['id']] = count($parent); $aspek[$bd['id']] = $parent; foreach($parent as $p) */ { $aspek[$bd['id']] = $this>getDataById($p['id'],"aspek","id"); $id2_asp = " id_aspek='".$p['id']."' "; $sql = "select * from aspek where id_bagian='".$bd['id']."' and id_parent='".$p['id']."'";
F-14
$child[$p['id']] = $this>getCustomData($sql); if(count($child[$p['id']])>0){ foreach($child[$p['id']] as $c){ $id2_asp.= " or id_aspek='".$c['id']."' "; } } unset($temp); $sql = "select sum(nilai) as nilai from penilaian where (".$id2_asp.") and id_staff='".intval($H['staff'])."' and tgl>='".$now_month."' and tgl<'".$next_month."' group by(id_staff) order by tgl asc"; $temp = $this>getCustomData($sql); //if($H['staff']==0 && $p['id']==7) echo $sql." "; $nilai["p".$H['staff']][$p['id']] = $temp[0]['nilai']; } foreach($cabang_data as $cd){ $valid = true; foreach($high[$bd['id']] as $h){ if($h['cabang']==$cd['id']) $valid=false; } if($valid) $not_app[$bd['id']][] = $cd; } } } } $data['high'] = $high; $data['nilai'] = $nilai; print_r($nilai); $data['aspek'] = $aspek; $data['colspan'] = $colspan; $data['not_app']=$not_app; } $this->load->view('aspek_view',$data); } function app_aspek(){ $data['year'] = $this->show_year("delegasi"); $data['bagian'] = $this->getRefTable("bagian","id"); $this->load->view('app_aspek_view',$data); } function periodic(){ $data['year'] = $this->show_year("delegasi"); $data['ref_bagian'] = $this>getRefTable("bagian","id"); $this->load->view('periodic',$data); } function periodic_view(){ $tahun = $_POST['tahun'];
F-15
$bagian = $_POST['bagian']; $next_tahun = intval($tahun)+1; $now = $tahun."-01-01 00:00:00"; $next = (intval($tahun)+1)."-01-01 00:00:00"; $sql = "select sum(total) as total, min(cabang) as cabang, min(staff) as staff from delegasi where bagian='".$bagian."' and tgl>='".$now."' and tgl<'".$next."' group by(staff) order by sum(total) desc"; $rank = $this->getCustomData($sql); $sql = "select total, staff, MONTH(tgl) as bulan from delegasi where bagian='".$bagian."' and tgl>='".$now."' and tgl<'".$next."'"; $temp = $this->getCustomData($sql); $detail = array(array()); //print_r($temp); for($i=0;$igetRefTable("cabang","id"); $data['ref_staff'] = $this->getRefTable("staff","id"); $data['info_bagian'] = $this>getDataById($bagian,"bagian","id"); $this->load->view('periodic_view',$data); }
} ?>
Untuk Source Code Controller lainnya dapat dilihat pada folder aplikasi controllers (home_app/system/application/controllers). F.2
View
//perusahaan.php <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1" /> Online Reinforcement System
F-16
Service Committee') ?>
Data Perusahaan
'; case 1: return ''; case 2: return ''; default: return ''; } }
F-17
?>
Nama Perusahaan
:
Alamat
:
Bidang Usaha
:
No. Telepon
:
Fax
:
Website
F-18
:
Logo
:
"; else echo makeForm('image',2); ?>
?>
F-19
Untuk Source Code View lainnya dapat dilihat pada folder aplikasi views (home_app/system/application/views).