Pengembangan sistem job performance appraisal dengan metode checklist menggunakan ci framework :studi kasus pt.learning resources

(1)

BAB I PENDAHULUAN

1.1 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 kebijakan-kebijakan 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 kertas-kertas 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 masalah-masalah 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.


(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 masing-masing 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


(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)


(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 tahapan-tahapan 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


(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:


(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 kelompok-kelompok 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 :


(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 :


(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


(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


(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)


(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 :

1.1 Skala penilaian grafis

1.2 Checklist


(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 :

2.1 Penentuan peringkat 2.2 Distribusi paksa 3 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 : 3.1 Kejadian penting

3.2 Esai

3.3 Tinjauan lapangan 4 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 :

4.1 Pendekatan penilaian perilaku

4.2 Manajemen berdasarkan tujuan (Management By Objectives - MBO)

2.4 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


(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 Cek di sini

(6,5) (4,0) (3,9) (…)

1. Karyawan tidak datang terlambat

2. Karyawan menggunakan atribut seragam lengkap 3. Karyawan tidak merokok

………..

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 langkah-langkah 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.


(36)

Metode Kelebihan Kekurangan Penggunaan Secara Umum

Sequential Linier (Waterfall) oleh winston W Royce pada tahun 1970

Metode ini baik digunakan untuk kebutuhan yang sudah diketahui dengan baik.

Iterasi yang sering terjadi

menyebabkan masalah baru bagi pelanggan, sulit menentukan

kebutuhan secara eksplisit.

Bekerja dengan baik pada proyek skala kecil.

Prototype Metode ini efektif dengan

mendapatkan

kebutuhan dan aturan yang jelas dan pelanggan bisa langsung melihat sistem yang sebenarnya. Pengembangan terkadang membuat implementasi sembarang, karena ingin working version selesai dengan cepat

Prototyping dapat bekerja dengan baik jika ada kerjsama yang baik antara pengembang

dengan pengguna.

RAD Metode ini lebih

cepat dari

waterfall jika kebutuhan dan batasan proyek sudah diketahui dengan baik dan

bisa untuk dimodularisasi. Karena proyek dipecah menjadi beberapa bagian, maka dibutuhkan banyak orang untuk membentuk suatu tim, karena

komponen-komponen yang sudah ada, fasilitas-fasilitas

Cocok untuk aplikasi ang tidak mempunyai resiko teknis yang tinggi. RAD cocok untuk proyek yang memiliki SDM yang baik dan sudah


(37)

pada tiap komponen belum tentu digunakan seluruhnya sehingga kualitas program bisa menurun.

Incremental Fleksibel dan

mudah untuk dikelola dan pengujian yang mudah. Semua kebutuhan tidak dikumpulkan pada tahap awal sehingga

menimbulkan masalah serta sulit untuk mengukur progress karena tidak ada milestone. Cocok untuk aplikasi yang kebutuhannya telah diidentifikasi dengan baik.

Iterative Fase desain,

pengkodean,

pengujian lebih cepat.

Butuh waktu yang banyak untuk menganalisis dan terlalu banyak langkah yang dibutuhkan model. Hanya cocok untuk software berskala besar.

Spiral Model ini

digunakan untuk skala besar, membutuhkan konsiderasi langsung terhadap resiko teknis, Resiko utama tidak ditemukan, maka masalah bisa muncul kemudian, sehingga membutuhkan kemampuan Hanya cocok untuk software berskala besar.


(38)

sehingga dapat mengurangi

terjadinya resiko yang lebih besar.

manajemen dan perkiraan resiko yang cukup tinggi.

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 langkah-langkah 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 segmen-segmen 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.


(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:


(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 :


(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).


(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.

Gambar 2.13 Contoh Perubahan State

Adapun komponen atau simbol yang digunakan dalam diagram ini adalah:

State 1

Aksi

State 1

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


(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 <nametag> 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


(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");


(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 CI sebagai framework dalam mengembangkan sistemnya.


(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 perusahaan-perusahaan 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)

Gambar 3.1 Metode Kerja 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 Pemilihan Awal 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 :

• Prosessor AMD Turion X2 RM 70 2 Ghz • RAM 2 Gb

• HDD 160 Gb

3.3.2 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


(1)

$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."<br/>";

$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(){


(2)

$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;$i<count($temp);$i++){

$detail[$temp[$i]['staff']][intval($temp[$i]['bulan'])] = $temp[$i]['total'];

}

//print_r($rank); $data['rank'] = $rank; $data['detail'] = $detail; $data['ref_cabang'] = $this->getRefTable("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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Online Reinforcement System</title>

<link rel="stylesheet" type="text/css" media="all" href="<?=base_url()?>css/style.css" />


(3)

<body id="body">

<?php include "header.php"; ?> <div id="content">

<div id="content-inner"> <div id="message"> </div>

<div id="headbar"> <div

id="menubar" align="right">

<div class="menuicon service">

<?php echo anchor('ho/index','<img src="' . base_url() .

'css/images/add_data.png" width="32" height="32" title="Service Committee" /><br />Service Committee')

?>

</div> </div>

<div id="title-head">

<div id="<? //$css_id?>">

<h2>Data Perusahaan</h2>

</div> </div>

</div>

<div

id="inner-cont">

<?php

if($ada)

echo form_open_multipart('perusahaan/edit');

else

echo form_open_multipart('perusahaan/insert');

?>

<input type="hidden" value="<?php echo $value['id']; ?>" name="id" /> <?php function makeForm($name,$type=1,$value=""){

switch($type){

case 0: return '<input type="hidden" name="'.$name.'" value="'.$value.'" />';

case 1: return '<input type="text" name="'.$name.'" value="'.$value.'" />';

case 2: return '<input type="file" name="'.$name.'" value="'.$value.'" />';

default: return '<textarea name="'.$name.'">'.$value.'</textarea>'; }


(4)

?>

<table class="ors-form">

<tr> <td>Nama Perusahaan</td>

<td>:</td>

<td><?php if($ada) echo $value['nama']; else echo makeForm('nama'); ?></td>

</tr> <tr> <td>Alamat</td>

<td>:</td>

<td><?php if($ada) echo $value['alamat']; else echo makeForm('alamat',3); ?></td>

</tr> <tr> <td>Bidang Usaha</td>

<td>:</td>

<td><?php if($ada) echo $value['bidang']; else echo makeForm('bidang'); ?></td>

</tr> <tr> <td>No. Telepon</td>

<td>:</td>

<td><?php if($ada) echo $value['telp']; else echo makeForm('telp'); ?></td>

</tr> <tr> <td>Fax</td>

<td>:</td>

<td><?php if($ada) echo $value['fax']; else echo makeForm('fax'); ?></td>

</tr> <tr>


(5)

<td>:</td>

<td><?php if($ada) echo $value['web']; else echo makeForm('web'); ?></td>

</tr> <tr> <td>Logo</td>

<td>:</td>

<td><?php if($ada) echo "<img width='250' height='79'

src='".base_url()."/uploads/logo.jpg' alt='logo perusahaan' />"; else echo makeForm('image',2); ?></td>

</tr> </table> <p> <?php if($ada){?>

<input type="submit" name="submit" class="button" value=" Edit " />

<?php }else{

?>

<input type="submit" name="submit" class="button" value=" Simpan " />

<?php }?>

&nbsp;&nbsp;<input type="button" class="button" value=" Kembali " onclick="history.back()" /></p>

<?php

?>

</div> </div>

</div> </div>

</div> </div>

</div>

<div id="footer">

<div id="footer-inner">

Online Reinforcement System . &copy; <?php echo date("Y"); ?> . Learning Resources, PT

</div> </div>

</div> </body>


(6)

Untuk Source Code View lainnya dapat dilihat pada folder aplikasi views

(home_app/system/application/views).