• Tidak ada hasil yang ditemukan

PERANCANGAN PROGRAM. struktur/hirarki menu, State Transition Diagram (STD), modul dan pseudocode, serta

N/A
N/A
Protected

Academic year: 2021

Membagikan "PERANCANGAN PROGRAM. struktur/hirarki menu, State Transition Diagram (STD), modul dan pseudocode, serta"

Copied!
30
0
0

Teks penuh

(1)

PERANCANGAN PROGRAM

4.1 Perancangan Program

Dalam perancangan program aplikasi ini, terlebih dahulu dibuat rancangan struktur/hirarki menu, State Transition Diagram (STD), modul dan pseudocode, serta rancangan layar. Perancangan program ini dibuat menggunakan bahasa pemrograman Java Applet sehingga program aplikasi dapat berupa desktop application dan juga web application. Data source yang digunakan sebagai sumber data adalah mySQL.

4.1.1 Rancangan Struktur Menu

Struktur menu program yang dirancang adalah sebagai berikut.

(2)

4.1.2 Rancangan State Transition Diagram (STD)

State Transition Diagram (STD) merupakan model yang menggambarkan sifat ketergantungan pada waktu dari suatu sistem. STD terdiri dari simbol kotak dan simbol panah. Setiap anak panah menggambarkan perubahan atau transisi yang disertai dengan keterangan seperti if condition then statement. Keterangan pada anak panah tersebut dibagi menjadi dua buah kalimat. Kalimat pada bagian atas adalah kondisi sedangkan kalimat pada bagian bawah adalah statement jika kondisi terpenuhi. Berikut adalah rancangan STD program aplikasi yang dikembangkan.

STD Menu Utama

Gambar 4.2 STD Menu Utama

(3)

4.1.3 Modul dan Pseudocode

Untuk menjelaskan cara kerja program, di bawah ini dijelaskan rincian spesifikasi untuk tiap proses sebagai berikut.

A. Modul Form Optimize

Buat komponen yang dibutuhkan sebagai tampilan. Atur nama tiap komponen

Inisialisasi peubah

Membuat koneksi ke database If koneksi ke database berhasil

Mengambil data dari database Tunggu input user

Cek

Pilih Tombol ‘Calculate Cost and Profit’ Jalankan progress bar

Proses iterasi

Menghitung nilai cost departemen

Menghitung nilai profit departemen

Menampilkan hasil perhitungan cost

dan profit

Pilih Tombol ‘Optimize’ Jalankan progress bar

Proses iterasi

Mencari best candidates departemen

Menampilkan hasil optimalisasi Tunggu input user

Panggil modul CekMenuInput

B. Modul Form View Employee Competency Data Membuat koneksi ke database

If koneksi ke database berhasil

Mengambil data employee comptency dari database

Menampilkan table data employee competency

Tunggu input user

Panggil modul CekMenuInput

C. Modul Form View Employee Expectation Data Membuat koneksi ke database

If koneksi ke database berhasil

Mengambil data employee expectation dari database

Menampilkan tabel data employee expectation Tunggu input user

(4)

D. Modul Form View Department Competency Level Membuat koneksi ke database

If koneksi ke database berhasil

Mengambil data department competency dari database

Menampilkan table data employee expectation

Tunggu input user

Panggil modul CekMenuInput

E. Modul Form View Department Value, Weight, and Wage Membuat koneksi ke database

If koneksi ke database berhasil

Mengambil data department value, weight, and wage

dari database

Menampilkan table data department value, weight, and wage

Tunggu input user

Panggil modul CekMenuInput

F. Modul Form Manage Employee Competency Data Membuat koneksi ke database

If koneksi ke database berhasil

Mengambil data employee competency dari database

Menampilkan table data employee competency

Cek

Pilih ‘Add’

Menambahkan data ke dalam database Pilih ‘Delete’

Menghapus data dari database

Pilih ‘Save’

Menyimpan data ke dalam database Tunggu input user

Panggil modul CekMenuInput

G. Modul Form Manage Employee Expectation Data Membuat koneksi ke database

If koneksi ke database berhasil

Mengambil data employee expectation dari database

Menampilkan table data employee expectation

Cek

Pilih ‘Add’

Menambahkan data ke dalam database Pilih ‘Delete’

(5)

Menghapus data dari database

Pilih ‘Save’

Menyimpan data ke dalam database Tunggu input user

Panggil modul CekMenuInput

H. Modul Form Manage Department Competency Level Membuat koneksi ke database

If koneksi ke database berhasil

Mengambil data department competency level dari database

Menampilkan table data department competency level

Cek

Pilih ‘Add’

Menambahkan data ke dalam database Pilih ‘Delete’

Menghapus data dari database

Pilih ‘Save’

Menyimpan data ke dalam database Tunggu input user

Panggil modul CekMenuInput

I. Modul Form Manage Department Value, Weight, and Wage Membuat koneksi ke database

If koneksi ke database berhasil

Mengambil data department value, weight, and wage

dari database

Menampilkan table data department value, weight, and wage

Cek

Pilih ‘Add’

Menambahkan data ke dalam database Pilih ‘Delete’

Menghapus data dari database

Pilih ‘Save’

Menyimpan data ke dalam database Tunggu input user

Panggil modul CekMenuInput

J. Modul Form User Manual

Tampilkan Form User Manual dengan komponennya Tunggu input user

(6)

K. Modul Form About

Tampilkan Form About dengan komponennya Tunggu input user

Panggil modul CekMenuInput

L. Modul CekMenuInput Cek

Pilih ‘File-Optimize’

Panggil Form Optimize

Pilih ‘File-Exit’

Keluar program

Pilih ‘Database-View Data-Employee Competency Data’ Panggil Form View Employee Competency Data

Pilih ‘Database-View Data-Employee Expectation Data’ Panggil Form View Employee Expectation Data

Pilih ‘Database-View Data-Department Competency

Level’

Panggil Form View Department Competency Level

Pilih ‘Database-View Data-Department Value, Weight,

and Wage’

Panggil Form View Department Value, Weight,

and Wage

Pilih ‘Database-Manage Data-Employee Competency Data’ Panggil Form Manage Employee Competency Data

Pilih ‘Database-Manage Data-Employee Expectation

Data’

Panggil Form Manage Employee Expectation Data

Pilih ‘Database-Manage Data-Department Competency

Level’

Panggil Form Manage Department Competency Level

Pilih ‘Database-Manage Data-Department Value, Weight,

and Wage’

Panggil Form Manage Department Value, Weight,

and Wage

Pilih ‘Help-User Manual’

Panggil Form User Manual

Pilih ‘Help-About’

(7)

4.1.4 Rancangan Layar

A. Rancangan Layar Utama

Gambar 4.3 Rancangan Layar Utama B. Rancangan Layar Optimize

(8)

C. Rancangan Layar View Employee Competency

Gambar 4.5 Rancangan Layar View Employee Competency

D. Rancangan Layar View Employee Expectation

(9)

E. Rancangan Layar View Department Competency Level

Gambar 4.7 Rancangan Layar View Department Competency Level

F. Rancangan Layar View Department Value, Weight, and Wage

(10)

G. Rancangan Layar Manage Employee Competency

Gambar 4.9 Rancangan Layar Manage Employee Competency

H. Rancangan Layar Manage Employee Expectation

(11)

I. Rancangan Layar Manage Department Competency Level

Gambar 4.11 Rancangan Layar Manage Department Competency Level

J. Rancangan Layar Manage Department Value, Weight, and Wage

(12)

K. Rancangan Layar User Manual

Gambar 4.13 Rancangan Layar User Manual

L. Rancangan Layar About

(13)

4.2 Kebutuhan Sistem

Program dirancang dengan menggunakan komputer dan sistem operasi dengan spesifikasi sebagai berikut.

a. Hardware

• Processor : Intel(R) Core(TM)2 Duo CPU @ 1.40GHz • Memory : 2.99 GB

• Video Card : Mobile Intel(R) 965 Express Chipset Family • Hard Disk : 120 GB

b. Software

• Operating System : Microsoft Windows XP Professional • Software : Java 2 Standard Edition (J2SE) Applet

Spesifikasi di atas bukan merupakan spesifikasi minimum untuk menjalankan program aplikasi namun merupakan spesifikasi komputer yang digunakan dalam membuat dan menguji program aplikasi. Dalam membuat program aplikasi ini, digunakan Java 2 Standard Edition (J2SE) Applet dan database mySQL. Java Applet dipilih dikarenakan dari segi kestabilannya, baik saat development hingga implementasi dapat dikatakan bahwa tidak ada masalah yang berarti. Aplikasi ini dibuat dengan Java Applet menjadikannya platform independent, artinya aplikasi ini dapat dijalankan pada sistem operasi apapun asalkan terdapat browser dengan Java Runtime Environment (JRE) di dalamnya.

(14)

4.3 Pengoperasian dan Tampilan Program Aplikasi

Program aplikasi diaktifkan dengan menjalankan file executeable-nya. Pengguna akan langsung masuk ke layar utama. Pada layar utama ini semua kegiatan yang berhubungan dengan proses optimalisasi alokasi karyawan dilaksanakan.

Gambar 4.15 Tampilan Program Menu Utama

Layar menu utama adalah layar menu awal yang menampilkan tiga buah pilihan yaitu File, Database, dan Help. Dalam File terdapat pilihan yaitu Optimize dan Exit. Dalam Database terdapat pilihan View Data (View Employe Competency Data, View Employee Expectation Data, View Department Competency Data, View Department Value, Weight, and Wage) dan Manage Data (Manage Employe Competency Data, Manage Employee Expectation Data, Manage Department Competency Data, Manage Department Value, Weight, and Wage). Sedangkan dalam Help terdapat pilihan User Manual dan About. Submenu Optimize akan menampilkan form untuk memilih data karyawan yang akan dialokasikan dan data departemen yang

(15)

akan ditempati, kemudian akan dihitung profit dan cost departemen akibat dampak alokasi karyawan, dan terakhir program akan melakukan optimalisasi data kombinasi penempatan karyawan agar mencapai optimal profit dan minimal cost. Submenu View Data untuk menampilkan data dalam bentuk tabel. Submenu Manage Data untuk memasukkan data ke dalam database atau menghapus data dari database. Submenu User Manual untuk menampilkan cara penggunaan, dan submenu About untuk menampilkan hak cipta. Submenu Exit untuk keluar dari program aplikasi.

Gambar 4.16 Tampilan Program Optimize

Menu Optimize berisi pilihan untuk memilih karyawan yang akan dialokasikan dan memilih departemen yang akan ditempati oleh karyawan. Pengguna harus memilih minimal dua karyawan dan dua departemen sebelum bisa melanjutkan ke form Cost & Profit Result(s).

(16)

Gambar 4.17 Tampilan Jika Calculate Cost & Profit Ditekan Saat Hanya Satu Departemen yang Dipilih

Jika jumlah pilihan karyawan dan departemen telah valid dan tombol Calculate Cost & Profit ditekan maka proses penghitungan cost dan profit akan dilakukan dengan memakai data yang diambil dari database.

(17)

Langkah terakhir adalah dengan menekan tombol Optimize untuk menampilkan hasil optimalisasi kombinasi penempatan karyawan untuk mencapai profit dan cost yang optimal. Dalam form Optimal Solution(s), pengguna dalam melihat hasil analisis dan optimalisasi data dalam bentuk tabel beserta keterangan untuk solusi terbaik (best case) yang ditawarkan.

Gambar 4.19 Tampilan Saat Tombol Optimize Ditekan

Submenu View Data berfungsi untuk menampilkan data yang diambil dari database. Terdapat empat buah pilihan View Data, yaitu View Employe Competency Data, View Employee Expectation Data, View Department Competency Data, View Department Value, Weight, and Wage. Submenu View Employe Competency Data untuk menampilkan data nomor karyawan, unit kompetensi, dan nilai/indeks kompetensi karyawan. Submenu Employee Expectation Data untuk menampilkan data nomor karyawan, kode departemen dan nilai/indeks ekspektasi karyawan terhadap departemen. Submenu View Department Competency Data untuk menampilkan data kode

(18)

departemen, unit kompetensi, dan referensi level unit kompetensi. Submenu View Department Value, Weight, and Wage untuk menampilkan data kode departemen, value departemen, weight departemen, dan wage departemen.

Gambar 4.20 Tampilan View Employee Competency Data

(19)

Gambar 4.22 Tampilan View Department Competency Data

Gambar 4.23 Tampilan View Department Value, Weight, and Wage Data

Pada menu Manage Data pengguna dapat melakukan add, edit, ataupun delete data pada database. Terdapat empat buah pilihan Manage Data, yaitu Manage Employe Competency Data, Manage Employee Expectation Data, Manage Department

(20)

Competency Data, Manage Department Value, Weight, and Wage. Dalam submenu Manage Employe Competency Data, untuk data nilai/indeks kompetensi karyawan harus berupa angka. Dalam submenu Employee Expectation Data, data nilai/indeks ekspektasi karyawan terhadap departemen harus berupa angka. Dalam submenu View Department Competency Data, data referensi level unit kompetensi harus berupa angka. Dalam submenu View Department Value, Weight, and Wage untuk data value departemen, weight departemen, dan wage departemen harus berupa angka. Untuk menginput data baru pengguna dapat menekan tombol Add, input data yang diperlukan, kemudian tekan tombol Save. Untuk mengubah data, pengguna dapat langsung menginput perubahan pada data, kemudian tekan tombol Save. Untuk menghapus data, pengguna dapat memilih data yang ingin dihapus dengan melakukan klik pada baris data, kemudian menekan tombol Delete.

(21)

Gambar 4.25 Tampilan Manage Employee Expectation Data

(22)

Gambar 4.27 Tampilan Manage Department Value, Weight, and Wage Data Pada submenu User Manual, akan ditampilkan bagaimana cara menggunakan program yang sedang berjalan, beserta kegunaan menu dan tombol yang ada dalam program ini.

(23)

Submenu About berfungsi untuk menampilkan keterangan hak cipta dan perancang program.

Gambar 4.29 Tampilan About

4.4 Implementasi

Dari proses pengolahan data yang dilakukan pada subbab 4.2, maka dapat dilakukan langkah-langkah penyelesaian formulasi McRAP (Multi-criteria Resource Allocation Problem) Integer Programming sebagai berikut.

∑∑

= = = n i M j ij ijx p x z 1 1 1( ) max

∑∑

= = = n i M j ij ijx c x z 1 1 2( ) min

Pertama-tama, ditentukan terlebih dahulu nilai M dan n. Nilai M adalah jumlah karyawan dan nilai n adalah jumlah departemen. Untuk n = 3 dan M = 4, maka formulasi

(24)

fungsi tujuan memaksimalkan profit z1 dan fungsi tujuan meminimalkan cost z2 menjadi sebagai berikut. + + + + = 11 11 12 12 13 13 14 14 1( ) maxz x p x p x p x p x p21x21 + p22x22 + p23x23 + p24x24 + p31x31 + p32x32 + p33x33 + p34x34 minz2(x)=c11x11 +c12x12 +c13x13 +c14x14 + c21x21+c22x22 +c23x23 +c24x24 + c31x31 +c32x32 +c33x33 ++c34x34 +

Untuk nilai p (profit) dan c (cost) didapat dengan menyelesaikan persamaan

max 1 0 0 ) ( j ij u l il il ijl i i ij D D d d d V p = ×

− × = α

= − × = u l il il ijl i i ij d d d W c 1 0 0 ) ( α dimana: = ij

c biaya (cost) dari pos/departemen ke-i jika karyawan ke-j ditugaskan

= ij

p keuntungan (profit) dari pos/departemen ke-i jika karyawan ke-j ditugaskan

l = indeks kriteria kompetensi u = jumlah kriteria kompeten

Dalam kasus ini, terdapat tiga kriteria kompetensi l = 1..3, sehingga persamaan p (profit) dan c (cost) dapat diselesaikan menjadi

(25)

max 3 1 0 0 ) ( j ij l il il ijl i i ij D D d d d V p = ×

− × = α max 0 3 0 3 3 1 0 2 0 2 2 1 0 1 0 1 1 ) ( ) ( ) ( j ij i i ij i i ij i i ij i i D D d d d d d d d d d V ⎟× ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ − + − + − × = α α α

= − × = 3 1 0 0 ) ( l il il ijl i i ij d d d W c α ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ − + − + − × = 0 3 0 3 3 0 2 0 2 2 0 1 0 1 1 ) ( ) ( ) ( i i ij i i i ij i i i ij i i d d d d d d d d d W α α α dimana: = i

V nilai dari pos/departemen ke-i =

i

α berat (weight) dari pos/departemen ke-i =

ijl

d level kompetensi karyawan ke-j untuk kompetensi ke-l pos/departemen ke-i; untuk l = 1,2,...u; 1≤dijl ≤9,dijlN;

= 0 il

d level referensi dari kompetensi ke-l dari pos/departemen ke-i untuk l = 1,2,...u

= ij

D level ekspektasi karyawan ke-j terhadap pos/departemen ke-i Untuk 1≤Dij ≤9,DijN;

= max j

D level ekspektasi tertinggi dari karyawan ke-j terhadap keseluruhan pos/departemen

= i

(26)

Untuk variabel M (jumlah karyawan) dan n (jumlah departemen), dapat diinput dari aplikasi dengan memilih karyawan yang akan dialokasikan dan departemen yang akan ditempati, seperti berikut.

Gambar 4.30 Pilih Karyawan Untuk Dialokasikan (n) dan Departemen Untuk Ditempati (M)

Setelah itu, berdasarkan data karyawan (M=4) yang dipilih, aplikasi akan otomatis mengambil data kompetensi karyawan (d ) dan data ekspektasi karyawan ijl (D ) dari database. Untuk data departemen (n=3) yang dipilih akan diambil data ij referensi level kompetensi departemen (d ), dan value (il0 V ), weight (i αil), dan wage (W ) departemen dari database. Seluruh data tersebut akan diinput ke dalam formulasi i

(27)

Gambar 4.31 Data Hasil Perhitungan Cost dan Profit

Kolom Dept. Code menunjukkan kode departemen yang akan diisi, Dept. Name menunjukkan nama departemen yang akan diisi, Emp. Number menunjukkan nomor pegawai yang akan dialokasikan ke departemen yang akan diisi. Untuk kolom Profit menunjukkan hasil perhitungan besarnya profit yang akan dihasilkan setelah alokasi karyawan. Kolom Cost menunjukkan besarnya cost yang akan dihasilkan setelah alokasi karyawan. Kolom Gap menunjukkan besarnya profit dikurangi cost. Hasil cost dan profit yang didapat diharapkan dapat memberikan representasi data optimal untuk kombinasi pemetaan karyawan terhadap departemen. Kombinasi pemetaan karyawan dilakukan dengan memetakan masing-masing karyawan dengan setiap departemen yang dipilih. Hasil akhir yang ditampilkan oleh aplikasi setelah dioptimalisasi adalah sebagai berikut.

(28)

Gambar 4.32 Data Solusi Optimal

Pada solusi optimal ditampilkan data kombinasi pasangan solusi pemetaan antara departemen yang akan diisi dengan karyawan yang akan dialokasikan. Gap dari hasil perhitungan cost dan profit sebelumnya ditampilkan sebagai Net Profit. Untuk judul kolom HR01, HR02, dan HR03 menunjukkan kode departemen yang akan diisi. Sedangkan untuk isi kolom menunjukkan nomor pegawai dan juga nama pegawai yang dialokasikan ke departemen sesuai dengan nama kolom. Kolom Net Profit HR01, Net Profit HR02, dan Net Profit HR03 menunjukkan Gap dari hasil perhitungan profit dan cost sebelumnya untuk masing-masing karyawan dan departemen yang diisi. Kolom Total Net Profit menunjukkan total penjumlahan dari Net Profit yang diperoleh masing-masing solusi. Untuk solusi optimal adalah solusi dengan nilai Total Net Profit tertinggi.

(29)

4.5 Evaluasi

Solusi optimal dan analisis pencapaian hasil program aplikasi Human Resouces Allocation Optimization, didapatkan nilai untuk masing-masing cost dan profit departemen adalah:

Untuk i=1 (Departemen HR01) Profit optimal: max 1 11 3 1 0 1 0 1 11 1 1 11 ) ( D D d d d V p l l l l l − × × =

= α = 700 Cost optimal:

= − × = 3 1 0 1 0 1 11 1 1 11 ) ( l l l l l d d d W c α = 630

Net Profit optimal: 11 11 11 p c

gap = − = 70

Solusi optimal didapat untuk j=1 (Karyawan 20.1113 – Riche Novianty).

Untuk i=2 (Departemen HR02) Profit optimal: max 2 22 3 1 0 2 0 2 22 2 2 22 ) ( D D d d d V p l l l l l − × × =

= α = 131 Cost optimal:

= − × = 3 1 0 2 0 2 22 2 2 22 ) ( l l l l l d d d W c α = 105

(30)

Net Profit optimal: 22 22 22 p c

gap = − = 26

Solusi optimal didapat untuk j=2 (Karyawan 20.1114 – Ellen)

Untuk i=3 (Departemen HR03) Profit optimal: max 3 33 3 1 0 3 0 3 33 3 3 33 ) ( D D d d d V p l l l l l − × × =

= α = 57 Cost optimal:

= − × = 3 1 0 3 0 3 33 3 3 33 ) ( l l l l l d d d W c α = 38

Net Profit optimal: 33 33 33 p c

gap = − = 19

Gambar

Gambar 4.1 Struktur Menu Utama
Gambar 4.3 Rancangan Layar Utama  B.      Rancangan Layar Optimize
Gambar 4.5 Rancangan Layar View Employee Competency
Gambar 4.15 Tampilan Program Menu Utama
+7

Referensi

Dokumen terkait