2013-02-28

Membangun proyek HRD (360)

sebenarnya tulisan ini cuma backup kerjaan gw aja. Tapi gw ceritakan apa yang ada di program ini. Program ini dibuat dengan tujuan membantu melakukan penilaian antar karyawan. Jadi anda sebagai karyawan A bisa menilai kinerja karyawan lain.
miaw
tentu logikanya tidak akan saya share disini, tetapi pembahasan disini bukan programnya tetapi logikanya. Hal yang menyulitkan dalam proyek ini adalah adanya sub departemen didalam departemen. Belum lagi ada status pekerja yang berbeda juga pertanyaan penilaian yang berbeda antar karyawan.


INPUT - OUTPUT

Tapi dibandingkan input (memasukkan data), hal yang paling sulit adalah memilah data yang dimasukkan akan kemana?!? Belum lagi memastikan data itu bisa di edit? maksudnya kalau yang bersangkutan salah input dan ingin ulang.. Dia ingin tampilannya seperti sebelumnya!!

Untuk melakukan input, pekerja harus melakukan login. Login disini bisa secara aman (melalui sistem) atau cukup memasukkan absen saja pada form yang tersedia. Beberapa mungkin melihat ini sulit, karena pengguna sistem ini tidaklah sama. Ada yang mampu komputer sehingga bisa cepat, ada juga yang kurang ahli komputer.

Output tidak bisa/ selalu sesuai keinginan, kadang output bisa berbeda dari apa yang di input sebelumnya. Itu sebabnya program ini membutuhkan yang namanya preview sebelum melakukan penyimpanan.


KERUMITAN YANG DIHADAPI

hal yang perlu saya tambahkan disini adalah yang terumit dari semua hal yang kubahas di atas adalah pembuatan report yang tentu saja harus rapi dan mudah terbaca. Report dalam program ini ada 3 yaitu report yang dipegang oleh HRD dan manajer departemen. Tentu saja model hasil cetak untuk pekerja salah satu report juga!!

Adanya user yang kurang mampu memahami sistem jadi kendala utama seperti tertulis di atas. Namun di program ini harus ada sistem yang mempermudah si user untuk mengisi. Terutama ada penjelasan jadi tidak perlu banyak membaca atau minta bantuan teman. Di program ditanamkan help section yang dapat membantu mengisi.

Sebenarnya inti dari proyek ini bukanlah membuat input saja, tetapi bagaimana menghasilkan penilaian yang akurat atau bisa dibilang 99% sesuai fakta di lapangan bukan hasil rekayasa dari beberapa orang.


DATABASE

berikut adalah tablenya. Semoga dengan table berikut anda mengetahui bagaimana programnya! Bila tidak silakan hubungi saya untuk membahas harga yang layak (kalau anda mau)
CREATE TABLE IF NOT EXISTS `hrd_dep` (
`dep_id` int(11) NOT NULL AUTO_INCREMENT,
`dep_name` varchar(19) NOT NULL,
`dep_urut` int(11) NOT NULL,
`deb_sub` int(11) NOT NULL,
PRIMARY KEY (`dep_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `hrd_grade`
--

CREATE TABLE IF NOT EXISTS `hrd_grade` (
`grd_id` int(11) NOT NULL AUTO_INCREMENT,
`grd_date` int(11) NOT NULL,
`grd_stat` int(11) NOT NULL,
`grd_work` int(11) NOT NULL,
PRIMARY KEY (`grd_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `hrd_gradedetail`
--

CREATE TABLE IF NOT EXISTS `hrd_gradedetail` (
`gdet_id` int(11) NOT NULL AUTO_INCREMENT,
`gdet_from` int(11) NOT NULL,
`gdet_to` int(11) NOT NULL,
`gdet_que` int(11) NOT NULL,
`gdet_data` text,
PRIMARY KEY (`gdet_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `hrd_log`
--

CREATE TABLE IF NOT EXISTS `hrd_log` (
`l_id` int(11) NOT NULL AUTO_INCREMENT,
`l_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`l_user` int(11) NOT NULL,
`l_det` text NOT NULL,
PRIMARY KEY (`l_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `hrd_loginput`
--

CREATE TABLE IF NOT EXISTS `hrd_loginput` (
`l_id` int(11) NOT NULL AUTO_INCREMENT,
`l_date` int(11) NOT NULL,
`l_absen` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`l_input` text NOT NULL,
PRIMARY KEY (`l_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `hrd_pos`
--

CREATE TABLE IF NOT EXISTS `hrd_pos` (
`pos_id` int(11) NOT NULL AUTO_INCREMENT,
`pos_name` varchar(20) NOT NULL,
`pos_det` varchar(50) NOT NULL,
PRIMARY KEY (`pos_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `hrd_posque`
--

CREATE TABLE IF NOT EXISTS `hrd_posque` (
`pq_id` int(11) NOT NULL AUTO_INCREMENT,
`pq_pos` int(11) NOT NULL,
`pq_que` int(11) NOT NULL,
PRIMARY KEY (`pq_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `hrd_question`
--

CREATE TABLE IF NOT EXISTS `hrd_question` (
`que_id` int(11) NOT NULL AUTO_INCREMENT,
`que_title` varchar(20) NOT NULL,
`que_num` int(11) NOT NULL,
PRIMARY KEY (`que_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `hrd_userwork`
--

CREATE TABLE IF NOT EXISTS `hrd_userwork` (
`uw_id` int(11) NOT NULL AUTO_INCREMENT,
`uw_user` int(11) NOT NULL,
`uw_worker` int(11) NOT NULL,
PRIMARY KEY (`uw_id`)
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 COMMENT='khusus pj dan lebih tinggi';

-- --------------------------------------------------------

--
-- Table structure for table `hrd_worker`
--

CREATE TABLE IF NOT EXISTS `hrd_worker` (
`w_id` int(11) NOT NULL AUTO_INCREMENT,
`w_nip` varchar(15) NOT NULL,
`w_absen` char(6) NOT NULL,
`w_name` varchar(30) NOT NULL,
`w_dep` int(11) NOT NULL,
`w_pos` int(11) NOT NULL,
`w_stat` int(11) NOT NULL,
PRIMARY KEY (`w_id`),
UNIQUE KEY `w_nip` (`w_nip`),
KEY `w_dep` (`w_dep`),
KEY `w_pos` (`w_pos`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Tidak ada komentar: