BAB 3 METODOLOGI 3.1 Metodologi Dalam penulisan skripsi ini ada dua metodologi yang penulis lakukan, yaitu: a. Metode Analisis Metode analisis terbagi menjadi dua yaitu analisis terhadap kebutuhan dan analisis terhadap sistem yang berjalan. Metode analisis dilakukan dengan wawancara dan observasi. Penulis melakukan wawancara terhadap kepala Recruitment Departement PT. Asuransi Jiwa Sinarmas MSIG. Hasil dari wawancara dan observasi tersebut menjadi sumber analisa bagi penulis untuk merancang aplikasi. b. Metode Perancangan Metode perancangan yang dilakukan oleh penulis terdiri dari dua bagian: I.
Perancangan basis data Penulis melakukan perancangan basis data dengan : 1. Database Planning Pada tahap ini menentukan mission statement dan mission objective dengan melakukan wawancara terhadap Human Resource Department. 2. System Definition Mendefinisikan hak akses yang akan diberikan kepada pengguna berdasarkan status dari pengguna tersebut. 3. Requirement collection and analysis Pada tahap ini melibatkan Informasi-informasi yang ada sebelumnya dianalisis untuk kebutuhan-kebutuhan yang akan dimasukan kedalam database yang baru sebagai recruitment specification, salah satu teknik recruitment specification yang digunakan adalah DFD mengenai sistem yang sedang berjalan.
53
54
4. Perancangan Konseptual ( Conceptual Database Design ) Proses membangun sebuah data model yang digunakan oleh perusahaan, yang dimulai dengan membuat rincian implementasi seperti target DBMS. Yang akan dibahas pada subbab 3.3.1. 5. Perancangan Logikal ( Logical Database Design ) Proses membangun spesifik model data dengan tujuan menterjemahkan conceptual data model ke dalam logical data model, lalu divalidasikan untuk memeriksa kebenarannya agar mampu mendukung transaksi yang diperlukan. Yang akan dibahas pada subbab 3.3.2. 6. Perancangan Fisikal ( Physical Database Design ) Proses
menghasilkan
sebuah
deskripsi
mengenai
implementasi dari basis data pada secondary storage yang menjelaskan base relations, file organizations, dan indexes yang digunakan untuk memperoleh akses efisien terhadap data dengan integrity constraints terkait serta security measures. Yang akan dibahas pada subbab 3.3.3. 7. Pemilihan DBMS Proses pemilihan DBMS yang tepat untuk mendukung sistem basis data, yang akan dibahas pada subbab 3.3.1.10.
II.
Perancangan aplikasi Metode yang digunakan untuk merancang aplikasi meliputi pembuatan struktur menu yang akan dibahas pada subbab 3.4.1, State Transition Diagram akan dibahas pada subbab 3.4.2 dan perancangan layar yang akan dibahas pada subbab 3.4.3
3.2
Analisis Masalah Pada analisis masalah ini akan menjelaskan masalah yang sedang dihadapi perusahaan.
3.2.1
Analisis Sistem yang Berjalan Pada tahap ini akan menjelaskan sistem yang sedang berjalan saat ini.
55
3.2.1.1 Riwayat Perusahaan Perusahaan beroperasi sejak tanggal 14 April 1985 dengan nama PT. Purnamala Internasional Indonesia (PII). Pada tahun 1989 mengalami perubahan nama menjadi PT. Asuransi Jiwa Eka Life, yang kemudian pada tahun 2007 berubah menjadi PT. Asuransi Jiwa Sinarmas. Pada tahun 2011 PT. Asuransi Jiwa Sinarmas menjadi perusahaan asuransi jiwa patungan sehingga nama perusahaan pun berubah menjadi PT. Asuransi Jiwa Sinarmas MSIG (juga disebut Sinarmas MSIG Life – SMiLe), yang sahamnya dimiliki oleh PT. Sinar Mas Multiartha, Tbk dan Mitsui Sumitomo Insurance Company Limited – Jepang masing-masing sebanyak 50% saham. Sebagai perusahaan asuransi jiwa patungan PT. Asuransi Jiwa Sinarmas MSIG telah memenuhi perijinan dari instansi terkait, dimana Kementerian Hukum dan Hak Asasi Manusia Republik Indonesia telah memberikan persetujuan sebagaimana Surat Keputusan No.AHU-32784.AH.01.02 Tahun 2011 tertanggal 01 Juli 2011. Demikian halnya dengan Kementerian Keuangan Republik Indonesia telah memberikan ijin usaha sebagaimana Surat Keputusan No.Kep-649/KM.10/2011 tertanggal 3 Agustus 2011. Dalam pertumbuhannya Sinarmas MSIG Life (SMiLe) telah menunjukan perkembangan sangat signifikan dapat dilihat dari pendapatan premi yang terus meningkat dari tahun ke tahun. Hingga akhir tahun 2012, tercatat total aset mencapai Rp. 24,3 triliun dan total premi adalah Rp. 10,7 triliun. Dengan kinerja yang cermat dan hati-hati, rasio pencapaian sovabilitas akhir tahun 2012 dengan menggunakan metode Risk Based Capital (RBC) adalah 546,86%. Perkembangan Sinarmas MSIG Life (SMiLe) didukung oleh kondisi keuangan yang sangat baik, inovasi produk dan layanan nasabah serta kepemilikan jaringan bisnis yang luas diwujudkan dengan hadirnya 87 kantor pemasaran dan 23.945 aparat marketing yang tersebar di seluruh Indonesia. Sinarmas MSIG Life (SMiLe) siap menyediakan layanan terbaik untuk kebutuhan finansial Anda maupun perusahaan Anda.
56
3.2.1.2 Struktur Organisasi
Gambar 3.1 Struktur Organisasi 3.2.1.3 Pembagian Tugas dan Tanggung Jawab Dibawah ini merupakan tugas dan tanggung jawab dari divisi-divisi yang ada? 1. Division Head Human Capital Tugas : 1. Mengkordinasikan dan mengakseptasi seluruh proses pembayaran (ODP dan Outsourcing) serta fasilitas benefit pinjaman karyawan. 2. Mengkoordinasikan seluruh proses kepersonaliaan administrasi kepegawaian. 3. Mengkoordinasikan proses pembuatan laporan kepegawaian (In out karyawan, TUMT, Potongan gaji). 4. Mengkonsep
atau
mengembangkan
serta
pengembangan seluruh sistem di HRD dan Legal.
mengkoordinasikan
57
5. Mengecek dan menyetujui semua pengeluaran biaya / kompensasi yang berkaitan dengan departemen Legal & HRD dengan limit tertentu. 6. Mengkoordinasikan seluruh penyediaan magang kerja, penelitian mahasiswa. 7. Mengkoordinasikan pengimplementasikan kerjasama. 8. Membangun & mengembangkan Man Power Planning yang dikolerasikan dengan workload analysis. 9. Mengkoordinasikan penagihan excess charge karyawan. 10. Membuat
dan
mengkoordinasikan
proses
pembuatan
dan
perpanjangan peraturan perusahaan (PP). 11. Memonitor pengkinian SOP di departemen Legal & HC. 12. Mengembangkan
serta
mengkoordinasikan
pembuatan
sistem
penilaian karyawan. 13. Mengkoordinasikan penanganan segala permasalahan kepegawaian agar permasalahan dapat diatasi dengan baik. 14. Membuat rencana kerja dan anggaran (Budget) di departemen Legal & HRD agar setiap masalah yang akan timbul dapat diantisipasi juga termasuk permasalahan anggaran. 15. Mengkoordinasikan KPI departemen dan seluruh staff Legal & HR untuk mengakomodasi KPI departemen dan Staff departemen. 16. Mengontrol seluruh sistem dan permasalahan yang timbul terkait dengan sistem Legal & HR agar sistem tetap berjalan dengan baik sesuai dengan prosedur yang berlaku. 17. Mengkoordinasikan penyusunan kompetisi karyawan agar kompetensi masing-masing pemegang jabatan dapat diidentifikasikan. 18. Merancang & mengkonsep seluruh proses penerapan kompetensi sehingga profil kompetensi seluruh karyawan dapat dipetakan. 19. Menandatangani penolakan klaim. 20. Mengkoordinasikan legalitas KPR (Pengikatan kredit, pencairan, take over, pengecekan dokumen jaminan KPR, jual beli, pelunasan). 21. Mengkoordinasikan pengukuran workload analysis (FTE) agar setiap pemegang jabatan dapat diidentifikasikan kontribusinya.
58
22. Mengkoordinasikan proses assessment. 23. Memfasilitasi dan mendukung (Dalam peran sebagai anggota tim dolphin) konsep dan proses penilaian kinerja karyawan. 24. Memfasilitasi dan mensupport dan mensosialisasikan loyalty program simascard. 25. Mengkoordinasikan loyalty program simascard sehingga semua informasi dan manfaat bisa dirasakan oleh seluruh karyawan baik di AJS maupun seluruh unit usaha PT. Asuransi Jiwa Sinarmas MSIG. 26. Mengkoordinasikan orientasi karyawan baru setiap bulannya. 27. Mengkoordinasikan seluruh informasi yang berkaitan dengan penerapan hal baru yang harus dijalankan di lingkungan PT. Asuransi Jiwa Sinarmas MSIG agar berjalan sesuai dengan prosedur. 28. Mengkoordinasikan
pembentukan
struktur
organisasi
dan
pembangunan sistem jabatan di organisasi agar berjalan sesuai dengan prosedur. 29. Mengkoordinasikan proses development people di organisasi agar berjalan sesuai dengan prosedur. 30. Menangani penanganan karyawan bermasalah di organisasi agar berjalan sesuai dengan prosedur. 31. Mengkoordinasikan seluruh proses legalitas (Perjanjian kerjasama, kontrak kekaryawanan, kontrak keagenan).
Tanggung Jawab : 1. Memastikan proses pembayaran (ODP dan Outsourcing) serta fasilitas benefit pinjaman karyawan dapat berjalan sesuai dengan prosedur yang ditetapkan. 2. Memastikan proses administrasi kepegawaian dapat berjalan dengan baik sesuai dengan prosedur yang berlaku. 3. Memastikan setiap laporan dapat dibuat dan disampaikan kepada yang membutuhkan dengan baik sesuai dengan prosedur yang berlaku. 4. Memastikan sistem berjalan dengan baik sesuai dengan ketentuan dan prosedur yang berlaku serta sistem dapat berkembang dengan baik seiring dengan tuntutan perusahaan.
59
5. Memastikan keperluan biaya dapat diproses sesuai dengan ketentuan yang berlaku. 6. Memastikan proses magang kerja dan penelitian mahasiswa dapat berjalan sesuai dengan prosedur yang berlaku. 7. Memastikan kerjasama berjalan dengan baik sesuai dengan prosedur yang berlaku. 8. Memastikan kebutuhan karyawan di masing-masing departemen dapat dianalisis lebih lanjut. 9. Memastikan setiap tagihan excess charge karyawan dapat diselesaikan sesuai dengan prosedure yang berlaku. 10. Memastikan peraturan perusahaan disusun dengan baik sesuai dengan hukum yang berlaku dan dijalankan di perusahaan sesuai dengan prosedur yang berlaku. 11. Memastikan SOP tetap berjalan dengan baik dan terus diperbaharui sesuai dengan tuntutan perusahaan. 12. Memastikan sistem mengakomodasi kebutuhan karyawan dan berjalan dengan baik sesuai dengan prosedur yang berlaku. 13. Memastikan goal setting dapat diselesaikan dengan baik. 14. Memastikan SOP tetap berjalan dengan baik dan terus diperbaharui sesuai dengan tuntutan perusahaan. 15. Memastikan proses administrasi kepegawaian dapat berjalan dengan baik sesuai dengan prosedur yang berlaku. 16. Memastikan setiap karyawan dapat diindentifikasikan faktor-faktor pengembangan dan faktor-faktor keunggulannya. 17. Memaksimalkan proses penilaian kinerja. 18. Memastikan seluruh program dapat dirasakan manfaatnya ke setiap karyawan unit usaha PT. Asuransi Jiwa Sinarmas MSIG. 19. Memastikan semua informasi yang perlu diketahui oleh karyawan baru dapat diketahui secara maksimal. 20. Memaksimalkan proses legalitas.
60
2. Department Head Recruitment & Operation Tugas : 1. Mengkoordinasi penerimaan karyawan baru. 2. Menganalisis kebutuhan siswa magang. 3. Mengkoordinasikan perpanjangan kontrak kerja karyawan. 4. Mengkoordinasikan penyelesaian surat-surat kepersonaliaan. 5. Mengecek report absensi outsourcing. 6. Memberikan rekomendasi peminjaman uang karyawan. 7. Memonitor dan memproses sistem finger scan. 8. Menganalisis kebutuhan permintaan stok barang. 9. Mengkoordinasikan budget tahunan departemen. 10. Memproses excess charge karyawan. 11. Membuat report karyawan setiap bulan. 12. Memproses pembayaran uang saku ODP setiap bulannya. 13. Mengkoordinasikan proses reimbursement tagihan smart telecom.
Tanggung Jawab : 1. Memastikan karyawan baru sudah memiliki data yang lengkap dan proses penerimaan karyawan baru berjalan sesuai dengan prosedur yang berlaku. 2. Memastikan siswa magang dapat ditempatkan sesuai dengan kebutuhan. 3. Memastikan karyawan yang habis masa kontraknya dapat diproses sesuai dengan prosedur yang berlaku. 4. Memastikan setiap karyawan dapat menerima surat kepersonaliaan sesuai dengan keperuntukannya dan prosedur yang berlaku. 5. Memastikan absensi karyawan outsourcing dapat dilengkapi dan diproses sesuai dengan prosedur yang berlaku. 6. Memastikan proses peminjaman uang oleh karyawan dapat berjalan dengan baik sesuai dengan prosedur yang berlaku. 7. Memastikan sistem finger scan berjalan lancar dan permasalahan yang timbul dapat ditangani dengan baik.
61
8. Memastikan proses serah terima karyawan resign (ID card, PIN, kartu ekamedicare) dapat berjalan dengan baik sesuai dengan prosedur yang berlaku. 9. Memastikan stok barang di departemen tetap tersedia. 10. Memastikan kebutuhan departemen terpenuhi dengan baik. 11. Memastikan proses penagihan excess charge dapat tercatat dan dijalankan dengan baik 12. Memastikan report karyawan dapat tercatat dengan baik. 13. Memastikan pembayaran ODP dapat dibayarkan tepat waktu. 14. Memastikan karyawan yang berhak atas reimbursement memperoleh haknya sesuai dengan ketentuan yang berlaku.
3. Unit Head Recruitment Tugas : 1. Melakukan pemanggilan atau broadcast info kepada pelamar yang sudah di seleksi recruiter. 2. Memproses pembayaran tagihan atau biaya yang muncul pada bagian recruitment. 3. Mendukung terselenggaranya kegiatan jobfair, campus hiring, dll. 4. Melakukan pengecekan terhadap berkas karyawan sebelum diserahkan ke bagian HR. 5. Memproses medical check up kepada calon karyawan, untuk memastikan calon karyawan memiliki hasil kesehatan yang sesuai dengan syarat yang ditentukan. 6. Membuat laporan penerimaan karyawan.
Tanggung Jawab : 1. Memaksimalkan proses pemanggilan atau broadcast info kepada pelamar. 2. Memastikan pembayaran tagihan dapat segera diproses sesuai prosedur yang berlaku. 3. Memastikan kegiatan jobfair, campus hiring, dll dapat berjalan dengan baik.
62
4. Memastikan data mengenai berkas karyawan yang diberikan kepada HR sesuai dengan prosedur yang berlaku. 5. Memastikan data laporan penerimaan karyawan yang diberikan dapat digunakan sebagai analisis lanjutan untuk keperluan recruitment department.
4. Unit Head Operation Tugas : 1. Melakukan dan menganalisis psikotes, wawancara dan hasil psikotes. 2. Melakukan jobfair untuk dimanfaatkan sebagai sarana dalam memperoleh kandidat / database pelamar. 3. Melakukan kerjasama dengan outsourcing. 4. Membuat laporan database kandidat cabang untuk diserahkan kepada atasan dan user. 5. Membuat database leadtime. 6. Melakukan posting dan posting ulang iklan lowongan kerja di jobstreet. 7. Membuat laporan database perekrutan. 8. Melakukan kerjasama dengan outsourcing dan head hunter. 9. Membuat laporan progres kerja perekrutan. 10. Melakukan kerja sama dengan kampus agar dapat dilakukan campus hiring dan lowongan kerja dapat dipublikasikan di mading dan website kampus. 11. Membuat laporan sumber database karyawan untuk menggali sumber database secara optimal.
Tanggung Jawab : 1. Mengetahui kualifikasi calon karyawan baru agar sesuai dengan kualifikasi. 2. Mendapatkan calon karyawan yang sesuai dengan kualifikasi. 3. Mengetahui jangka waktu permintaan SDM hingga pemenuhannya dan diserahkan kepada atasan. 4. Menyerahkan laporan kepada atasan.
63
5. Section Head Performance Management Tugas : 1. Mengkoordinasikan dan menganalisis seluruh suksesi pengeksekusian goals perusahaan kepada divisi dan departemen. 2. Mengkoordinasikan, menganalisis dan memantau pencapaian goals divisi / departemen. 3. Mengusulkan dan mengkoordinasikan tindakan lanjutan terkait hasil pencapaian karyawan bersama dengan divisi / departemen head. 4. Mengkoordinasikan sosialisasi pengimplementasian cara penilaian yang ditetapkan. 5. Mengkoordinasikan
sistem
terintegritasi
yang
mendukung
penyelarasan sistem penilaian perusahaan. 6. Mengkoordinasikan dan menganalisis review dan update goal setting tahunan. 7. Mengusulkan dan mengkoordinasikan kerja sama dengan departemen training
dalam hal pelaksanaan event–event
khusus (training,
seminar). 8. Mengkoordinasikan seluruh pengembangan proses penilaian di perusahaan. 9. Mengkoordinasikan
proses
monitoring
validitas
target,
hasil
validitas
target,
hasil
pencapaian dan ide yang diajukan. 10. Mengkoordinasikan
proses
monitoring
pencapaian dan ide yang diajukan. 11. Mengkoordinasikan evaluasi hasil penilaian kinerja karyawan (Tahunan dan mid year).
Tanggung Jawab : 1. Menjamin tercapainya goals perusahaan. 2. Menjaga stabilitas pencapaian baik bagi karyawan maupun divisi dan departemen. 3. Memastikan setiap karyawan memahami pola penilaian yang telah ditetapkan. 4. Memastikan proses penilaian berjalan dengan baik.
64
5. Memastikan tercapainya peningkatan kinerja yang berkesinambungan. 6. Menjamin tercapainya sistem penilaian yang lebih baik dan membantu tercapainya target KPI karyawan. 7. Memastikan proses penilaian yang ada menjadi lebih baik. 8. Menjamin keseluruhan hasil penilaian karyawan berjalan secara obyektif. 9. Memastikan terjadi peningkatan kinerja keseluruhan pada setiap karyawan.
6. Staff performance Management Tugas : 1. Mengumpulkan keseluruhan goals karyawan di setiap divisi dan departemen pada sistem e-KPI. 2. Mengusulkan perubahan terkait goals karyawan. 3. Melakukan review berkala terhadap pencapaian hasil karyawan terhadap pencapaian divisi dan departemen. 4. Melakukan review berkala terhadap pencapaian hasil karyawan terhadap pencapaian divisi dan departemen. 5. Mengusulkan adanya tindakan lebih lanjut (seperti coaching / counseling) terhadap karyawan yang tidak mencapai hasil yang diharapkan kepada divisi head / dept. Head. 6. Mengumpulkan dan menyediakan data terkait hasil penilaian kinerja karyawan. 7. Menyelengarakan event sosialisasi penilaian KPI untuk menjawab setiap pertanyaan tentang cara penilaian yang mungkin timbul. 8. Melakukan kegiatan mentoring disetiap divisi dan departemen. 9. Melakukan riset perihal penilaian karyawan dan eksekusi strategi perusahaan. 10. Melakukan evaluasi tahunan keseluruhan hasil penilaian kinerja setiap karyawan. 11. Memeriksa seluruh KPI (termasuk materi presentasi KPI) agar seragam dan sesuai dengan arahan dari management.
65
12. Memonitor validitas target dalam goal setting karyawan, hasil pencapaian dan ide yang diajukan. 13. Memastikan akurasi pencapaian KPI karyawan untuk menjamin hasil penilaian karyawan tetap berjalan secara obyektif. 14. Maintenance KPI sistem untuk memastikan sistem tetap berjalan dengan baik.
Tanggung Jawab : 1. Memastikan setiap goals karyawan dapat dipantau. 2. Memastikan keselarasan dengan goals divisi dan departemen dan goals perusahaan dan mendukung tercapainya peningkatan kinerja karyawan. 3. Menjamin terjadinya kesinambungan antara pencapaian karyawan dengan pencapaian divisi dan departemen. 4. Menjamin data penilaian kinerja karyawan tersedia secara akurat dan tepat waktu. 5. Menjamin setiap peserta sosialisasi memahami pola / cara penilaian yang ada. 6. Memastikan proses penilaian berjalan sesuai dengan ketentuan yang berlaku. 7. Mengusahakan tercapainya sistem penilaian yang lebih baik. 8. Memastikan peningkatan kinerja keseluruhan pada setiap karyawan. 9. Menjamin keseluruhan hasil penilaian karyawan berjalan secara obyektif. 10.Meminimalkan terjadinya kesalahan baik pada data maupun pada instruksi yang ada sesuai dengan aturan yang ada.
7. People Development Specialist Tugas : 1. Melakukan penyusunan tools yang digunakan untuk melakukan proses developing karyawan di organisasi. 2. Membuat dan memonitoring keseluruhan jobdesc untuk seluruh jabatan di organisasi.
66
3. Melakukan proses assessment untuk mengidentifikasi kompetensi karyawan. 4. Menyusun dan meninjau kembali kamus competency seluruh jabatan di organisasi sehingga dapat dijadikan dasar untuk proses pengembangan karyawan. 5. Melakukan
proses
recording
seluruh
proses
pengembangan
karyawan sehingga tercipta talent pool di organisasi. 6. Membuat dan meninjau kembali struktur organisasi seluruh jabatan di organisasi sehingga tercipta suatu organisasi yang sempurna. 7. Merancang proses rencana karir karyawan sehingga karyawan menjadi engagement dengan organisasi. 8. Melakukan recording & monitoring proses development karyawan. 9. Merancang proses succesion plan bagi karyawan. 10. Menyusun dan merancang seluruh rekomendasi pengembangan karyawan. 11. Membuat analisa turn over & exit interview report sehingga hasilnya dapat dijadikan dasar untuk proses rekomendasi pengembangan karyawan. 12. Melakukan proses full time equivalent (FTER) sehingga hasilnya dapat dijadikan dasar untuk merekomendasikan suatu proses kerja yang sempurna. 13. Melakukan Training Nedd Analysis (TNA) sehingga result dapat digunakan sebagai resource program pengembangan. 14. Mendesign dan mendukung program pengembangan karyawan, bekerjasama dengan departemen training sehingga program dapat diimplementasikan. 15. Merancang sistem kompensasi karyawan berkoordinasi dengan bagian HC.
Tanggung Jawab : 1. Memaksimalkan perancangan rencana pengembangan karyawan. 2. Mengoptimalkan kebutuhan proses kerja yang lebih baik.
67
3. Memastikan karyawan-karyawan dapat dikembangkan potensinya untuk kepentingan organisasi. 4. Menciptakan perencanaan suksesi yang berkesinambungan. 5. Memaksimalkan proses perencanaan pengembangan karyawan. 6. Membangun suatu kompensasi yang ideal bagi karyawan.
3.2.2 Sistem Yang Sedang Berjalan Pada tahap ini akan dibahas mengenai sistem yang sedang berjalan dan akan direpresentasikan dengan menggunakan Data Flow Diagram (DFD). 3.2.2.1 Data Flow Diagram
Gambar 3.2 Diagram Konteks
68
Gambar 3.3 Diagram Nol
69
Gambar 3.4 Diagram Rinci Publikasi
Gambar 3.5 Diagram Rinci Perekrutan
70
Gambar 3.6 Diagram Rinci Penyaringan
71
Gambar 3.7 Diagram Rinci Pelaporan Gambar diatas menggambarkan alur kerja proses perekrutan yang sedang berjalan pada Divisi Human Resource di PT. Asuransi Jiwa Sinarmas MSIG. Proses-proses tersebut diuraikan secara umum adalah sebagai berikut: 1.
Proses ini diawali dengan adanya kebutuhan perusahaan akan karyawan baru. Divisi yang membutuhkan karyawan baru akan mengirimkan form permintaan karyawaan baru kepada Recruiters Distribution Channel dan dilanjutkan dengan publikasi oleh media cetak.
Recruiters
Distribution
Channel
akan
Menerima
dan
memproses form permintaan karyawan yang sudah disetujui Direksi dengan dilampirkan KPI & Jobdesc (yg sudah di validasi oleh HCD(Human Capital Department) & Dolphin Tim) untuk calon karyawan yg akan di rekrut. 2.
Setelah melakukan publikasi, akan adanya seleksi terhadap lamaran yang masuk melalui internet/pos/referensi/JobFair dengan kriteria pendidikan minimal S1 dan kriteria yg diminta oleh user. Selanjutnya melakukan panggilan terhadap pelamar untuk mengikuti psikotes.
72
3.
Pelamar yang mengikuti psikotes akan melakukan pengisian data pelamar terlebih dahulu dan melakukan tes psikotes dengan sistem yang ada.
4.
Bagian recruitment akan menganalisa hasil psikotes yang telah diisi oleh calon karyawan. Apabila dinyatakan lulus, maka calon tersebut akan dipanggil untuk mengikuti interview pertama.
5.
Bagian recruitment akan mewawancara calon karyawan yang telah dinyatakan lulus dan dipanggil untuk datang interview pertama.
6.
Bagian
recruitment
akan
melakukan
pemeriksaan
blacklist
AAJI(Asosiasi Asuransi Jiwa Indonesia) ke bagian Training Support bila calon karyawan tidak masuk ke dalam list blacklist maka akan diteruskan proses recruitment-nya dan bila terdaftar akan langsung diisi di sistem, berlaku untuk semua calon karyawan yang direkomendasikan ke user. 7.
Apabila calon karyawan tersebut dinyatakan lulus interview oleh bagian recruitment maka selanjutnya diserahkan ke user department terkait
untuk
melakukan
interview
kedua
dan
bila
user
merekomendasikan calon karyawan tersebut untuk dilanjutkan ke proses beikutnya maka user akan diminta membuat rekomendasi penerimaan calon karyawan baru di sistem e-recruitment untuk diakseptasi oleh Management (Direksi Mentor & Presiden Direktur). 8.
User melakukan negosiasi gaji dan mengisi form rekomendasi di sistem e-recruitment untuk kemudian di akseptasi oleh Direksi Mentor & Presiden Direktur (Karyawan dengan kesempakatan kerja < 6 bulan), Direksi melakukan akseptasi penerimaan calon karyawan baru akan diterima oleh HC Operational.
9.
User menyerahkan form rekomendasi karyawan baru yang dengan jumlah gaji yang sudah disepakati dan diakseptasi oleh Management ke HC Operational. Form rekomendasi yang berisi informasi mengenai gaji akan diberikan oleh HC Operational ke Payroll.
10. HC Operational melakukan pemeriksaan kelengkapan data karyawan, bila data lengkap maka calon karyawan akan diundang untuk melakukan medical check up dan bila berkas belum lengkap maka
73
calon karyawan akan diminta untuk melengkapi kelengkapan berkas sesaat sebelum melakukan medical check up. 11. HC Operational akan informasikan ke bagian recruitment bahwa ada Calon karyawan yang akan mengikuti test medis (Medical Check Up). 12. Calon karyawan melakukan Medical Check up pada Laboratorium yang telah ditentukan. HC Operational meberikan informasi kepada Recruiters & User bahwa calon karyawan yang diajukan melakukan medical check pada hari dan waktu yang ditentukan. 13. Hasil MCU(Medical Check Up) diterima oleh HC Operational apabila layak diterima maka langsung di proses surat Rekomendasinya. Apabila harus ada pemeriksaan medis lanjutan, HC Operational akan menginformasikan ke calon karyawan untuk melakukan pemeriksaan lanjutan. Apabila hasil MCU tidak layak diterima akan langsung diisi. 14. Provider (Dokter yang telah ditunjuk) melakukan analisa terkait hasil medis calon karyawan dan memberikan rujukan apakah calon karyawan diterima atau ditolak berdasarkan hasil medis calon karyawan. Informasi rujukan akan dikirimkan ke HC Operational untuk selanjutnya diteruskan ke user masing-masing. 15. HC Operational memberitahu calon karyawan hasil medis untuk dilanjutkan
pada
proses
penerimaan
karyawan
baru
dan
memberitahukan pada kandidat tanggal efektif bergabung menjadi karyawan. 16. HC Operational mengirimkan semua dokumen karyawan baru ke HCD. 17. Proses pada Departemen HCD.
3.2.3
Kebutuhan Pengguna Pada tahap ini akan dibahas kebutuhan-kebutuhan pengguna meliputi transaksi data, informasi, keamanan data, integrasi data, kecepatan akses data, dan permasalahan yang sedang dihadapi saat ini.
74
3.2.3.1 Kebutuhan Transaksi Data Dengan adanya aplikasi basis data yang dibuat, diharapkan kebutuhan data entry, update/delete, queries dapat terpenuhi sehingga kinerja perusahaan akan dapat berjalan dengan baik. a.
Data Entry 1. Memasukan form lamaran 2. Memasukan kebutuhan posisi 3. Memasukan komponen kebutuhan 4. Memasukan konfirmasi 5. Memasukan publikasi
b.
Data Update / Delete 1. Mengubah data pelamar yang diterima 2. Mengubah data pelamar yang ditolak 3. Mengubah konfirmasi 4. Mengubah dan menghapus data publikasi 5. Mengubah data pelamar yang menjadi kandidat 6. Mengubah dan menghapus data kebutuhan posisi 7. Mengubah dan menghapus data komponen kebutuhan
c.
Data Queries 1. Menampilkan data pelamar yang diterima 2. Menampilkan data pelamar yang ditolak 3. Menampilkan data pelamar yang menjadi kandidat 4. Menampilkan soal test 5. Menampilkan data hasil test 6. Menampilkan data konfirmasi 7. Menampilkan data posisi pekerjaan 8. Menampilkan data kebutuhan posisi 9.
Menampilkan data komponen kebutuhan
10. Menampilkan data publikasi 11. Menampilkan data lamaran
75
3.2.3.2 Kebutuhan Informasi Informasi-informasi yang dibutuhkan oleh PT. Asuransi Jiwa Sinarmas MSIG dalam aplikasi ini, yaitu: Tabel 3.1 Kebutuhan Informasi Informasi
Isi
Pengguna
Publikasi
Informasi akan lowongan
Recruiter Distribution
pekerjaan yang disediakan
Channel, User
di PT Asuransi Jiwa Sinarmas MSIG Pelamar
Interview
Data-data pelamar yang
Recruiter Distribution
melamar kerja di PT
Channel, User, Training
Asuransi Jiwa Sinarmas
Support, HC Operational,
MSIG
Direksi
Data-data pelamar yang
Recruiter Distribution
akan dipanggil untuk
Channel, Pelamar
melakukan Interview Blacklist
Data-data karyawan yang
Recruiter Distribution
pernah di blacklist oleh
Channel Provider
AAJI
,Training Support
Laporan rekomendasi
Data-data pelamar yang
Recruiter Distribution
Recruiter Distribution
direkomendasikan oleh
Channel,User
Channel
pihak Recruiter Distribution Channel
Laporan rekomendasi
Data-data pelamar yang
User
direkomendasikan oleh
User, Direksi
pihak User Laporan hasil Interview
Data-data hasil penilaian
Recruiter Distribution
terhadap pelamar
Channel, Direksi, User
Laporan rekomendasi
Data-data calon karyawan
Recruiter Distribution
karyawan baru
yang telah lulus interview
Channel, Direksi, User
beserta negosiasi gaji
76
Laporan hasil psikotes
Data-data pelamar yang
Recruiter Distribution
telah disaring berdasarkan
Channel
kategori LOGB
Laporan karyawan baru
Data-data pelamar yang
Human Capital
telah lulus seluruh tes dan
Departement
berhak menjadi karyawan di PT. Asuransi Jiwa Sinarmas MSIG
3.2.3.3 Kebutuhan Keamanan Data Keamanan data merupakan hal yang sangat penting yang diharapkan ada nantinya untuk keamanan rahasia perusahaan dan juga untuk menghindari terjadinya kehilangan data. Selain itu masalah kewenangan dalam mengakses data juga sangat penting sehingga tidak sembarang orang bisa mengakses data tersebut. Admin diberi wewenang untuk menyeleksi pelamar dan melihat status seluruh pelamar, sedangkan pelamar hanya bisa melihat status ia sendiri dan tidak bisa melihat status pelamar lain untuk kepentingan privasi. 3.2.3.4 Kebutuhan Integrasi Data PT. Asuransi Jiwa Sinarmas MSIG membutuhkan aplikasi basis data yang terintegrasi untuk dapat memenuhi kebutuhan data yang sebelumnya masih
dilakukan
secara
manual
dan
tidak
terintegrasi,
sehingga
mempermudah dalam mendapatkan data dan informasi yang dibutuhkan. Integrasi data juga merupakan hal yang penting untuk menghasilkan dokumen-dokumen yang dibutuhkan perusahaan, seperti penyeleksian pelamar yang mendapat panggilan interview, penggolongan pelamar berdasarkan LOGB tes dan berdasarkan syarat yang telah ditetapkan, daftar pelamar yang lulus psikotes, daftar pelamar yang lulus interview. 3.2.3.5 Kebutuhan Kecepatan Akses Data Semua bagian pada PT. Asuransi Jiwa Sinarmas MSIG memerlukan informasi dan data yang dapat diakses secara secara cepat dan tepat. Bagianbagian tersebut juga diharapkan untuk membuat suatu arsip data dalam
77
bentuk yang ringkas dan mudah dicari sehingga tidak perlu bergelut dengan tumpukan kertas yang ada. 3.2.3.6 Permasalahan yang Dihadapi Berdasarkan hasil wawancara dengan beberapa pihak yaitu divisi HRD(Human Resources Development) dan RDC(Recruiter Distribution Channel), memperoleh kesimpulan terhadap permasalahan yang sedang terjadi dan yang menjadi topik pembahasan pada skripsi ini, yaitu: 1. Proses penerimaan dan penyaringan pelamar masih membutuhkan waktu yang lama dalam pengelompokan CV yang akan diseleksi sesuai dengan kriteria – kriteria yang dibutuhkan oleh pihak perusahaan. 2. Pelamar mengalami kesulitan dalam mendapatkan informasi akan lapangan pekerjaan yang tersedia pada perusahaan. 3. Memungkinkan pelamar mengirim 2 atau lebih CV. 4. Kesulitan dalam mencari data yang dibutuhkan perusahaan untuk pembuatan laporan. 3.2.4 Usulan Pemecahan Masalah Berdasarkan hasil analisis terhadap masalah-masalah yang sedang terjadi pada PT. Asuransi Jiwa Sinarmas MSIG maka solusinya adalah perancangan sistem recruitment secara online. Solusi meliputi perancangan basis data berserta aplikasi web yang menawarkan solusi sebagai berikut : 1. Meningkatkan kecepatan dalam proses penerimaan dan penyaringan pelamar yaitu melalui web. 2. Memudahkan pencarian pelamar yang sesuai dengan kriteria yang diinginkan. 3. Informasi mengenai lowongan pekerjaan di PT. Asuransi Jiwa Sinarmas MSIG lebih mudah tersampaikan melalui publikasi web. 4. Pengaturan data menjadi lebih teratur, terintegrasi dan tidak terjadi redudansi data. 5. Mengatasi kesulitan dalam pencarian data yang dibutuhkan untuk pembuatan laporan yang sebelumnya dalam bentuk hardcopy.
78
3.3 Perancangan Basis Data Perancangan basis data ini sesuai dengan Database Lifecycle, terdiri dari tiga tahapan. Adapun ketiga tahapan perancangan basis data antara lain sebagai berikut: 1. Perancangan Basis Data Konseptual (Conceptual Database Design) 2. Perancangan Basis Data Logikal (Logical Database Design) 3. Perancangan Basis Data Fisikal (Physical Database Design) 3.3.1 Perancangan Basis Data Konseptual Tahap perancangan konseptual perlu dilakukan untuk membangun model data yang digunakan dalam suatu perusahaan. Proses konseptual akan menunjukkan entitas dan relasi bedasarkan pada proses – proses yang akan dirancang berdasarkan data perusahaan. 3.3.1.1 Identifikasi Tipe Entitas Tabel 3.1 Identifikasi Tipe Entitas Nama Entitas
Deskripsi
Kejadian
Alias
Karyawan
Entitas yang
Karyawan
Staff
berisi daftar
mengelola
karyawan
Lamaran
Informasi
Pelamar hanya
Data_pelamar,
mengenai
bisa mengisi 1
Lamaran_kerja
pelamar yang
Form Lamaran
Lamaran
telah mendaftar. Test_result
English_test
Hasil
Pelamar hanya
keseluruhan test
bisa mengikuti
pelamar
test sekali
Daftar
Pelamar hanya
pertanyaan
bisa mengikuti
untuk tes bahasa
tes sekali
Hasil_test
Test_question
79
inggris Nama Entitas
Deskripsi
Answer_test
Jawaban tes
Kejadian
Alias
bahasa inggris Konfirmasi
Informasi untuk
Pelamar
pelamar melalui
diberikan
email, SMS, dan
informasi
web
mengenai keputusan perusahaan
Position
Daftar posisi
Jabatan
yang ada di perusahaan Kebutuhan_posisi
Publikasi
Kriteria yang
Kebutuhan
dibutuhkan
posisi
untuk menjabat
digunakan
suatu posisi
untuk publikasi
Daftar publikasi yang dilakukan
Komponen_kebutuhan Komponen kriteria apa saja yang dibutuhkan posisi
3.3.1.2 Identifikasi Tipe Relasi Pada tahap ini dilakukan identifikasi terhadap hubungan atau jenis relasi pada entitas. Hubungan atau relasi dapat diindikasikan dengan menemukan kata kerja pada spesifikasi kebutuhan dari perusahaan. Pengidentifikasikan relasi ditulis beserta nama entitas, multiplicity dan hubungannya.
80
Tabel 3.2 Identifikasi Tipe Relasi Nama
Multiplicity
Hubungan
Nama Entitas
Multiplicity
Karyawan
1..1
Mengelola
Lamaran
0..*
Karyawan
1..1
Memberikan
Konfirmasi
1..*
Lamaran
1..*
Memiliki
Kebutuhan_posisi
1..1
Lamaran
1..*
Memiliki
Test_result
1..1
Lamaran
1..*
Memiliki
English_test
1..1
Lamaran
1..*
Memiliki
Konfirmasi
1..*
English_test
1..1
Memiliki
Answer_test
1..*
Publikasi
1..*
Membutuhkan
Kebutuhan_posisi
1..*
Position
1..1
Memiliki
Kebutuhan_posisi
1..*
Kebutuhan_p
1..*
Memiliki
Komponen_kebut
1..*
Entitas
uhan
osisi
3.3.1.3 Identifikasi dan Asosiasi Atribut Dengan Entitas atau Tipe Relasi Pada tahap ini akan dilakukan identifikasi terhadap relasi ataupun entitas. Pengidentifikasi atribut dari setiap entitas ditulis dengan nama atribut, deskripsi atribut, tipe data dan panjang atribut, nulls atau tidaknya atribut, dan multi-valued atau tidaknya atribut.
Atribut
Tabel 3.3 Atribut entitas karyawan Deskripsi Tipe Data dan
Nulls
Panjang
MultiValued
Karyawan_id
Id karyawan
Char(10)
Tidak
Tidak
Nama
Nama karyawan
Varchar(50)
Tidak
Tidak
81
Atribut
Deskripsi
Tipe Data dan
Nulls
Panjang Jenis_kelamin
Jenis kelamin
MultiValued
Varchar(6)
Tidak
Tidak
Varchar(12)
Tidak
Tidak
Varchar(100)
Tidak
Tidak
Varchar(50)
Tidak
Tidak
Nulls
Multi-
karyawan No_telepon
Nomor telepon karyawan
Alamat
Alamat tempat tinggal karyawan
Email
Atribut
Email karyawan
Tabel 3.4 Atribut entitas lamaran Deskripsi Tipe Data dan Panjang
Valued
Form_id
Id form pelamar
Char(10)
Tidak
Tidak
Kebutuhan_id
Id kebutuhan posisi
Char(10)
Tidak
Tidak
Karyawan_id
Id karyawan
Char(10)
Tidak
Tidak
Date
Tanggal pengisian
Date
Tidak
Tidak
lamaran Nama
nama pelamar
Varchar(50)
Tidak
Tidak
Alamat
alamat pelamar
Varchar(100)
Tidak
Tidak
Email
Email pelamar
Varchar(50)
Tidak
Tidak
Posisi
Posisi yang
Varchar(30)
Tidak
Tidak
Varchar(15)
Tidak
Tidak
diinginkan pelamar Kewarganegaraan
Kewarganegaraan pelamar
82
Atribut
Deskripsi
Tipe Data
Nulls
dan Panjang
MultiValued
Mobile
No kontak pelamar
Varchar(12)
Tidak
Tidak
Telepon
No kontak pelamar
Varchar(12)
Yes
Tidak
No_ktp
No ktp pelamar
Char(16)
Tidak
Tidak
Golongan_darah
Golongan darah
Varchar(2)
Tidak
Tidak
pelamar Foto
Foto pelamar
Varchar(15)
Tidak
Tidak
Gpa
Gpa pelamar
Float
Tidak
Tidak
Tinggi
Tinggi pelamr
Smallint
Tidak
Tidak
Berat
Berat pelamar
Smallint
Tidak
Tidak
Agama
Agama pelamar
Varchar(15)
Tidak
Tidak
Tanggal_lahir
Tanggal lahir
Date
Tidak
Tidak
Varchar(25)
Tidak
Tidak
Char(10)
Tidak
Tidak
Char(10)
Tidak
Tidak
Varchar(7)
Tidak
Tidak
Int
Ya
Tidak
pelamar Tempat_lahir
Tempat lahir pelamar
Tempat_tinggal
Status tempat tinggal pelamar
Status_perkawinan
Status perkawinan pelamar
Jenis_kelamin
Jenis kelamin pelamar
Nego_gaji
Gaji yang ditawarkan pelamar
83
Atribut
Deskripsi
Tipe Data
Nulls
dan Panjang Jenis
Jenis kendaraan
MultiValued
Varchar(15)
Ya
Ya
yang digunakan pelamar Merk
Merk kendaraan
Varchar(15)
Ya
Ya
Tahun
Tahun kendaraan
Smallint
Ya
Ya
Milik
Kepemilikan
Varchar(15)
Ya
Ya
kendaraan No_SIM_A
No SIM A pelamar
Char(12)
Ya
Tidak
No_SIM_B
No SIM B pelamar
Char(12)
Ya
Tidak
No_SIM_C
No SIM C pelamar
Char(12)
Ya
Tidak
Silinder
Status silinder
Varchar(5)
Ya
Tidak
Float
Ya
Tidak
Float
Ya
Tidak
Varchar(50)
Ya
Ya
Char(10)
Ya
Ya
Varchar(6)
Ya
Ya
pelamar Kanan
Nilai silinder mata kanan pelamar
Kiri
Nilai silinder mata kiri pelamar
Nama_keluarga
Nama anggota keluarga pelamar
Status
Posisi anggota keluarga di keluarga pelamar
Jenis_kelamin_kelu
Jenis kelamin
arga
anggota keluarga
84
pelamar Atribut
Deskripsi
Tipe Data
Nulls
dan Panjang Usia_keluarga
Usia anggota
MultiValued
Tinyint
Ya
Ya
Varchar(4)
Ya
Ya
Varchar(20)
Ya
Ya
Varchar(20)
Ya
Ya
Varchar(50)
Ya
Ya
Varchar(35)
Tidak
Ya
Varchar(3)
Tidak
Ya
Varchar(20)
Tidak
Ya
Varchar(20)
Tidak
Ya
keluarga pelamar Pendidikan_terakhir Pendidikan terakhir anggota keluarga pelamar Jabatan
Jabatan pekerjaan terakhir anggota keluarga pelamar
Perusahaan
Perusahaan terakhir anggota keluarga pelamar
Keterangan
Keterangan mengenai anggota keluarga pelamar
Nama_lembaga
Nama lembaga pendidikan pelamar
Tingkat
Tingkat pendidikan di lembaga tersebut pelamar
Tempat
Tempat/kota lembaga pendidikan pelamar
Jurusan
Jurusan yang diambil pelamar
85
Atribut
Deskripsi
Tipe Data
Nulls
dan Panjang Tahun_masuk
Tahun pelamar
MultiValued
Smallint
Tidak
Ya
Smallint
Tidak
Ya
Varchar(5)
Tidak
Ya
Varchar(50)
Ya
Ya
Varchar(35)
Ya
Ya
Varchar(12)
Ya
Ya
Varchar(20)
Ya
Ya
Varchar(35)
Ya
Ya
Int
Ya
Ya
masuk lembaga tersebut Tahun_lulus
Tahun pelamar lulus lembaga tersebut
Status_kelulusan
Status kelulusan pelamar
Karya_ilmiah
Judul karya ilmiah/skripsi/thesi s yang dibuat pelamar
Nama_perusahaan
Nama perusahaan tempat bekerja pelamar
Telepon_perusahaa
Telepon
n
perusahaan tersebut
Jenis_usaha
Jenis usaha perusahaan tempat bekerja pelamar
Lokasi_perusahaan
Lokasi perusahaan tempat bekerja pelamar
Jumlah_karyawan
Jumlah karyawan di perusahaan tempat bekerja
86
pelamar Atribut
Deskripsi
Tipe Data
Nulls
dan Panjang Jabatan_awal
Jabatan awal
MultiValued
Varchar(35)
Ya
Ya
Varchar(35)
Ya
Ya
Int
Ya
Ya
Varchar(35)
Ya
Ya
Varchar(35)
Ya
Ya
Date
Ya
Ya
Date
Ya
Ya
Varchar(35)
Ya
Ya
Varchar(25)
Ya
Ya
pelamar di perusahaan tersebut Jabatan_akhir
Jabatan akhir pelamar di perusahaan tersebut
Gaji
Gaji pelamar di perusahaan tersebut
Tunjangan
Tunjangan pelamar di perusahaan tersebut
Nama_atasan
Nama atasan langsung di perusahaan tersebut
Tanggal_mulai_bek
Tanggal mulai
erja
bekerja di perusahaan tersebut
Tanggal_akhir_beke
Tanggal akhir
rja
bekerja di perusahaan tersebut
Alasan_pindah
Alasan pindah bekerja dari perusahaan tersebut
Macam_bahasa
Jenis bahasa yang
87
dikuasai pelamar Atribut
Deskripsi
Tipe Data
Nulls
dan Panjang Mendengar
Kemampuan
MultiValued
Varchar(12)
Ya
Ya
Varchar(12)
Ya
Ya
Varchar(12)
Ya
Ya
Varchar(12)
Ya
Ya
mendengar bahasa Membaca
Kemampuan membaca bahasa tersebut
Berbicara
Kemampuan berbicara bahasa tersebut
Menulis
Kemampuan mebulis bahasa tersebut
Organisasi
Nama organisasi
Varchar(35)
Ya
Ya
Jenis kegiatan
Jenis kegiatan
Varchar(35)
Ya
Ya
Varchar(35)
Ya
Ya
Smallint
Ya
Ya
Char(10)
Ya
Tidak
organisasi tersebut Jabatan
Jabatan pelamar di organisasi tersebut
Tahun
Tahun pelamar mengikuti kegiatan tersebut
Status_lamaran
Keterangan mengenai
Bidang
Bidang kursus
Varchar(20)
Ya
Ya
Penyelenggara
Penyelenggara
Varchar(30)
Ya
Ya
88
kursus Atribut
Deskripsi
Tipe Data
Nulls
dan Panjang
MultiValued
Tempat
Tempat kursus
Varchar(30)
Ya
Ya
Lama
Lama kursus
Tinyint
Ya
Ya
Tahun
Tahun kursus
Smallint
Ya
Ya
Dibiayai_oleh
Yang membiayai
Varchar(30)
Ya
Ya
kursus
Atribut
Tabel 3.5 Atribut entitas test_result Deskripsi Tipe Data dan Nulls Panjang
MultiValued
Result_id
Id hasil test pelamar
Char(10)
Tidak
Tidak
Form_id
Id lamaran pelamar
Char(10)
Tidak
Tidak
Total_L
Total L dari personal
Tinyint
Tidak
Tidak
Tinyint
Tidak
Tidak
Tinyint
Tidak
Tidak
Tinyint
Tidak
Tidak
Tinyint
Tidak
Tidak
test yang diikuti pelamar Total_O
Total O dari personal test yang diikuti pelamar
Total_G
Total G dari personal test yang diikuti pelamar
Total_B
Total B dari personal test yang diikuti pelamar
English_result
Nilai tes bahasa inggris yang diikuti pelamar
89
Tabel 3.6 Atribut entitas english_test Deskripsi Tipe Data dan Nulls
Atribut
Panjang Test_id
Id soal bahasa
MultiValued
Char(10)
Tidak
Tidak
inggris Form_id
Id lamaran pelamar
Char(10)
Tidak
Tidak
Content
Isi dari soal
Varchar(255)
Tidak
Tidak
Tabel 3.7 Atribut entitas answer_test Deskripsi Tipe Data dan
Atribut
Nulls
Panjang Answer_id
Id jawaban soal
MultiValued
Char(10)
Tidak
Tidak
bahasa inggris Test_id
Id soal bahasa inggris
Char(10)
Tidak
Tidak
Content
Isi dari jawaban
Varchar(50)
Tidak
Tidak
Status
Status jawaban
Varchar(6)
Tidak
Tidak
Atribut
Tabel 3.8 Atribut entitas konfirmasi Deskripsi Tipe Data dan
Nulls
Panjang Konfirmasi_id
Id jawaban soal
MultiValued
Char(10)
Tidak
Tidak
bahasa inggris Karyawan_id
Id karyawan
Char(10)
Tidak
Tidak
Form_id
Id lamaran pelamar
Char(10)
Tidak
Tidak
Email_content
Konfirmasi melalui
Varchar(255)
Tidak
Tidak
90
email Atribut
Deskripsi
Tipe Data dan
Nulls
Panjang SMS_content
Konfirmasi melalui
MultiValued
Varchar(160)
Tidak
Tidak
Varchar(255)
Tidak
Tidak
Date
Tidak
Tidak
Varchar(30)
Tidak
Tidak
Nulls
Multi-
SMS Web_content
Konfirmasi melalui web
Date
Tanggal pengiriman konfirmasi ke pelamar
Subject
Subjek konfirmasi
Tabel 3.9 Atribut entitas position Deskripsi Tipe Data dan
Atribut
Panjang Position_id
Id posisi/jabatan yang
Valued
Char(10)
Tidak
Tidak
tersedia Position_name
Posisi yang ada
Varchar(30)
Tidak
Tidak
Deskripsi_posisi
Menjelaskan
Varchar(255)
Tidak
Tidak
mengenai ruang lingkup pekerjaan
Atribut
Tabel 3.10 Atribut entitas kebutuhan_posisi Deskripsi Tipe Data dan Nulls Panjang
MultiValued
Kebutuhan_id
Id kebutuhan posisi
Char(10)
Tidak
Tidak
Position_id
Id posisi
Char(10)
Tidak
Tidak
91
Atribut
Deskripsi
Tipe Data dan
Nulls
Panjang
MultiValued
Publikasi_id
Id publikasi
Char(10)
Tidak
Tidak
Komponen_id
Id komponen
Char(10)
Tidak
Tidak
Tinyint
Tidak
Tidak
kebutuhan Jumlah
Jumlah kebutuhan posisi yang diperlukan
Atribut
Tabel 3.11 Atribut entitas publikasi Deskripsi Tipe Data dan
Nulls
MultiValued
Panjang Publikasi_id
Id publikasi
Char(10)
Tidak
Tidak
Nama_publikasi
Judul publikasi
Varchar(30)
Tidak
Tidak
Content
Isi publikasi
Varchar(255)
Tidak
Tidak
Date
Tanggal
Date
Tidak
Tidak
Varchar(50)
Tidak
Tidak
Tabel 3.12 Atribut entitas komponen_kebutuhan Atribut Deskripsi Tipe Data dan Nulls
Multi-
dimulainya publikasi Img
Gambar yang akan dipublikasi
Panjang Komponen_id
Id komponen kebutuhan
Char(10)
Valued Tidak
Tidak
92
Atribut
Deskripsi
Tipe Data dan
Nulls
Panjang Nama_komponen
Nama komponen
MultiValued
Varchar(20)
Tidak
Tidak
Tinyint
Tidak
Tidak
Varchar(2)
Tidak
Tidak
kebutuhan
Syarat
Nominal pembatas
Pembanding
Jenis batasan
3.3.1.4 Menentukan Atribut Domain Pada tahap ini, dilakukan identifikasi terhadap atribut domain. Mengidentifikasi atribut domain dari setiap entitas ditulis beserta nama atribut dan format dari domain. Format dari domain dapat berupa varchar, char, int dan decimal.
Atribut
Tabel 3.13 Domain entitas karyawan Atribut Domain
Karyawan_id
Diawali huruf 'KN' dan diikuti [0-9]
Nama
[a-z],[A-Z]
Jenis_kelamin
[a-z],[A-Z]
No_telepon
[0-9]
Alamat
[a-z],[A-Z],[0-9]
Email
[email protected],
[email protected]
93
Tabel 3.14 Domain entitas lamaran Atribut Atribut domain Form_id
Diawali huruf 'F' dan diikuti [0-9]
Kebutuhan_id
Diawali huruf 'KP' dan diikuti [0-9]
Karyawan_id
Diawali huruf 'KN' dan diikuti [0-9]
Date
dd-mm-yyyy
Nama
[a-z],[A-Z]
Alamat
[a-z],[A-Z],[0-9]
Email
[email protected],
[email protected]
Kewarganegaraan
[a-z],[A-Z]
Foto
xxxxx.JPG atau xxxxx.JPEG
Mobile
[0-9]
Telepon
[0-9]
No_ktp
[0-9]
No_SIM
[0-9]
Golongan_darah
[A],[B],[AB],[O]
Gpa
[0-9]
Tinggi
[0-9]
Berat
[0-9]
Agama
[a-z],[A-Z]
Tanggal_lahir
DD-MM-YYYY
94
Atribut
Atribut domain
Tempat_lahir
[a-z],[A-Z]
Tempat_tinggal
[a-z],[A-Z]
Status_perkawinan
[a-z],[A-Z]
Silinder
[ya],[Tidak]
Kanan
[0-9]
Kiri
[0-9]
Jenis_kelamin
[a-z],[A-Z]
Nego_gaji
[0-9]
Jenis
[a-z],[A-Z]
Merk
[a-z],[A-Z]
Milik
[a-z],[A-Z]
Tahun
[0-9]
Nama
[a-z],[A-Z]
Anggota
[a-z],[A-Z]
Jenis_kelamin
[a-z],[A-Z]
Usia
[0-9]
Pendidikan_terakhir
[a-z],[A-Z]
Jabatan
[a-z],[A-Z]
Perusahaan
[a-z],[A-Z]
Keterangan
[a-z],[A-Z]
95
Atribut
Atribut domain
Nama_lembaga
[a-z],[A-Z]
Tingkat
[a-z],[A-Z],[0-9]
Tempat
[a-z],[A-Z]
Jurusan
[a-z],[A-Z]
Tahun_masuk
[0-9]
Tahun_lulus
[0-9]
Status_kelulusan
[a-z],[A-Z]
Karya_ilmiah
[a-z],[A-Z],[0-9]
Nama_perusahaan
[a-z],[A-Z]
Telepon_perusahaan
[0-9]
Jenis_usaha
[a-z],[A-Z]
Lokasi_perusahaan
[a-z],[A-Z]
Jumlah_karyawan
[0-9]
Jabatan_awal
[a-z],[A-Z]
Jabatan_akhir
[a-z],[A-Z]
Gaji
[0-9]
Tunjangan
[a-z],[A-Z],[0-9]
Nama_atasan
[a-z],[A-Z]
Tanggal_mulai_bekerja
[0-9]
Tanggal_akhir_bekerja
[0-9]
96
Atribut
Atribut domain
Alasan_pindah
[a-z],[A-Z]
Macam_bahasa
[a-z],[A-Z]
Mendengar
[a-z],[A-Z]
Membaca
[a-z],[A-Z]
Berbicara
[a-z],[A-Z]
Menulis
[a-z],[A-Z]
Organisasi
[a-z],[A-Z]
Jenis kegiatan
[a-z],[A-Z]
Jabatan
[a-z],[A-Z]
Tahun
[0-9]
Status_lamaran
[a-z],[A-Z]
Bidang
[a-z],[A-Z],[0-9]
Penyelenggara
[a-z],[A-Z]
Tempat
[a-z],[A-Z],[0-9]
Lama
[0-9]
Tahun
[0-9]
Dibiayai_oleh
[a-z],[A-Z]
97
Atribut
Tabel 3.15 Domain entitas test_result Atribut Domain
Result_id
Diawali huruf 'R' dan diikuti [0-9]
Form_id
Diawali huruf 'F' dan diikuti [0-9]
Total_L
[0-9]
Total_O
[0-9]
Total_G
[0-9]
Total_B
[0-9]
English_result
[0-9]
Atribut
Tabel 3.16 Domain entitas English_test Atribut Domain
Test_id
Diawali huruf 'TS' dan diikuti [0-9]
Form_id
Diawali huruf 'F' dan diikuti [0-9]
Content
[a-z],[A-Z],[0-9]
Atribut
Tabel 3.17 Domain entitas answer_test Atribut Domain
Answer_id
Diawali huruf 'AS' dan diikuti [0-9]
Test_id
Diawali huruf 'TS' dan diikuti [0-9]
Content
[a-z],[A-Z],[0-9]
Status
[a-z],[A-Z]
98
Tabel 3.18 Domain entitas konfirmasi Atribut Deskripsi Konfirmasi_id
Diawali huruf 'K' dan diikuti [0-9]
Form_id
Diawali huruf 'F' dan diikuti [0-9]
Karyawan_id
Diawali huruf 'KN' dan diikuti [0-9]
Email_content
[a-z],[A-Z],[0-9]
SMS_content
[a-z],[A-Z],[0-9]
Web_content
[a-z],[A-Z],[0-9]
Date
dd-mm-yyyy
Subject
[a-z],[A-Z],[0-9]
Tabel 3.19 Domain entitas position Atribut Atribut Domain Position_id
Diawali huruf 'PS' dan diikuti [0-9]
Position_name
[a-z],[A-Z],[0-9]
Deskripsi_posisi
[a-z],[A-Z],[0-9]
Tabel 3.20 Domain entitas kebutuhan_posisi Atribut Deskripsi Kebutuhan_id
Diawali huruf 'KP' dan diikuti [0-9]
Position_id
Diawali huruf 'PS' dan diikuti [0-9]
Publikasi_id
Diawali huruf 'P' dan diikuti [0-9]
Komponen_id
Diawali huruf 'KK' dan diikuti [0-9]
99
Jumlah
[0-9]
Tabel 3.21 Domain entitas publikasi Atribut Atribut Domain Publikasi_id
Diawali huruf 'P' dan diikuti [0-9]
Nama_publikasi
[a-z],[A-Z],[0-9]
Content
[a-z],[A-Z],[0-9]
Date
DD-MM-YYYY
Img
xxxxxxx.jpg, xxxxxxx.jpeg, xxxxxxx.png
Tabel 3.22 Domain entitas komponen_kebutuhan Atribut Deskripsi Komponen_id
Diawali huruf 'KK' dan diikuti [0-9]
Nama_komponen
[a-z],[A-Z]
Syarat
[0-9]
Pembanding
[=],[>],[<]
3.3.1.5 Menentukan Candidate, Primary, dan Alternate Key Pada tahap ini, dilakukan penentuan atribut apakah atribut tersebut berupa primary key atau candidate key. Penentuan atribut berupa primary key atau candidate key beserta nama entitas, candidate keys dan primary key entitas tersebut.
100
Tabel 3.23 Atribut Candidate Keys, Primary Key dan Alternate Key Nama Entitas
Candidate Keys
Primary Key
Karyawan
Karyawan_id
Karyawan_id
Lamaran
Form_id
Form_id
Test_result
Result_id
Result_id
English_test
Test_id
Test_id
Answer_test
Answer_id
Answer_id
Konfirmasi
Konfirmasi_id
Konfirmasi_id
Position
Position_id
Position_id
Alternate Key
Position_name
Position_name
Publikasi
Publikasi_id
Publikasi_id
Kebutuhan_posisi
Kebutuhan_id
Kebutuhan_id
Komponen_kebutuhan
Komponen_id
Komponen_id
3.3.1.6 Mempertimbangkan Menggunakan Konsep Model Enhanced Pada tahap ini, kita mempertimbangkan penggunaan konsep modeling enhanced seperti spesialisasi atau generalisasi, agregasi dan komposisi. Spesialisasi menggunakan teknik top down untuk mendefinisikan suatu hubungan dari superclass dan subclass.
Jika menggunakan pendekatan
spesialisasi, maka satu atau lebih entitas didefinisikan sebagai subclass dari
101
sebuah entitas superclass.
Generalisasi menggunakan teknik bottom up,
dimana hasil dari identifikasi dari generalisasi superclass berasal dari entitas asli.
Jika menggunakan
pendekatan
generalisasi, entitas
yang ada
didefinisikan untuk memperoleh entitas superclass. Dalam perancangan basis data ini, tidak diterapkan konsep model enhanced karena tidak ada atribut khusus yang beda dalam suatu entitas. 3.3.1.7 Memeriksa Redudansi Untuk Model Tahap ini dilakukan pemeriksaan model data konseptual yang telah dibuat. Pemeriksaan dilakukan dengan tahapan: 1.
Pemeriksaan pada relasi one to one Tidak ada relasi one to one pada model konseptual.
2.
Penghilangan relasi yang redundan Tidak ada relasi yang redudan pada model konseptual.
3.3.1.8 Validasi Model Konseptual Terhadap Transaksi Pengguna Tujuannya adalah untuk memastikan bahwa model
konseptual
mendukung kebutuhan – kebutuhan transaksi. Mendeskripsikan transaksi: 1.
Memasukan data komponen kebutuhan
2.
Melakukan pengisian form lamaran
3.
Menampilkan publikasi
4.
Menampilkan data karyawan
5.
Menampilkan data blacklist
6.
Menampilkan data pelamar yang diterima
7.
Menampilkan data pelamar yang ditolak
8.
Menampilkan data pelamar yang menjadi kandidat
9.
Menampilkan data hasil test
10. Menampilkan data komponen kebutuhan 11. Memberikan konfirmasi 12. Menampilkan data konfirmasi 13. Menampilkan data posisi pekerjaan 14. Menampilkan soal test 15. Menampilkan data kebutuhan posisi 16. Mengubah data pelamar yang diterima
102
17. Mengubah data pelamar yang ditolak 18. Mengubah dan menghapus data posisi 19. Mengubah dan menghapus data komponen kebutuhan 20. Mengubah dan menghapus konfirmasi 21. Mengubah dan menghapus data blacklist 22. Menghapus data lamaran 23. Mengubah dan menghapus data publikasi 24. Mengubah dan menghapus data pelamar yang menjadi kandidat 25. Mengubah dan menghapus data kebutuhan posisi 26. Menampilkan data lamaran
Gambar 3.8 Validasi Entity relationship diagram konseptual terhadap user
103
3.3.1.9 Melakukan Peninjauan Model Data Konseptual Dengan User Setelah ditinjau bersama – sama dengan penggunanya, rancangan konseptual yang dirancang sampai tahap ini dianggap mampu mewakili keinginan pengguna sistem.
Gambar 3.9 Entity relationship diagram konseptual dengan primary key 3.3.1.10 Pemilihan DBMS Pemilihan DBMS dipengaruhi oleh beberapa faktor sebagai berikut: 1. Kemudahan dalam penggunaan: DBMS sebaiknya mudah dipergunakan oleh penggunanya. 2. Kemudahan
dalam
administrasi
:
DBMS
sebaiknya
mudah
diadministrasikan. 3. Kehandalan : DBMS sebaiknya mampu mengamankan data apabila terjadi kegagalan piranti lunak atau keras 4. Biaya : Biaya dari DBMS sebaiknya tidak melebihi anggaran yang diperkirakan oleh perusahaan.
104
5. Kesesuaian : DBMS sebaiknya dapat bekerja dengan komponen piranti keras dan lunak lainnya dengan baik didalam sistem manajemen informasi. 6. Keamanan : DBMS sebaiknya dapat membedakan dan memilih diantara berbagai tingkat pengguna dari yang tidak memiliki hak akses hinggak hak akses administrasi penuh. 7. Persyaratan minimum : DBMS sebaiknya mampu bekerja pada platform komputer yang digunakan untuk menjalankan sistem manajemen informasi. 8. Kedekatan dengan basis data : jika struktur dan operasi dari DBMS sudah diketahui, maka waktu yang seharusnya dihabiskan untuk mempelajari dapat digunakan untuk memfokuskan pada perancangan. 9. Scalability : mempertimbangkan faktor besar dan kecilnya suatu perusahaan, dan seberapa banyaknya data yang ditampung pada DBMS tersebut. Tabel 3.24 Perbandingan SQL Server 2008, Oracle 91, dan MySQL SQL Server 2008 Oracle 91 MySQL Platform
Berbasis Windows
Platform
Platform
Berbasis Windows,
Berbasis Windows,
AIX, Compac Tru64
Linux, Sun-Solaris
Unix, HPUX sistem seri HP 9000, Linux Intel, Sun-Solaris Hardware
Hardware
Hardware
-Processor
-Processor
-Processor
Pentium 1.0GHz atau
Windows : Pentium
Windows : 166Mhz
166 MHZ atau lebih.
atau lebih Linux :
Lebih
Intel 32-bit, Intel 64-
105
AIX: IBM RISC/6000
bit, S/390 9672
atau Server Series HP- generation atau lebih, UX: HP 9000 seri 700
multiprise3000,
atau 800.
eServer z-series.
Linux : Intel 32-bit,
Solaris : solaris
Intel 64-bit, S/390
UltraSPARC-based
generasi 9672 atau lebih, Multiprise
Computer
3000, eServer z-series -Memory
-Memory
-Memory
Minimal : 512MB
128MB RAM,
128MB RAM,
diutamakan 256 MB
diutamakan 256MB
-Virtual memory:
-Virtual memory:
Intial size 200MB,
Intial size 50MB,
maximum size 400MB
maximum size 400MB
-Hard disk space
-Hard disk space
-Hard disk space
270MB(Full Installation),
140MB pada Drive
100MB (diutamakan)
250MB(Typical),
System +4.5GB untuk
95MB(minimal), Desktop
Oracle Home Drive
Engine: 44MB, Analysis
(FAT) atau 2.8GB
service: minimum 50MB
untuk Oracle Home
dan 130MB typical
Drive (NTFS) Typical
English Query: 80MB
Installation Minimal
Disarankan: 2048GB atau lebih
450 s/d 550MB Compact Installation:
106
minimal 350 s/d 400 MB Custom Installation Minimal 350 s/d 700MB
Bahasa SQL
Bahasa SQL
Bahasa SQL
-Feature Tabels
-Feature Tabels
-Feature Tabels
Relational tabels,
Relational tabels,
Relational tabels
temporary tabels
object
-Feature Triggers
-Feature Triggers
tabels, temporary
Not Supported
AFTER triggers,
tabels
-Feature Procedures
INSTEAD
-Feature Triggers
MySQL functions
OF triggers
BEFORE triggers,
-Feature ARRAYS
-Feature Procedures
AFTER
Not Supported
T-SQL statement
triggers, INSTEAD
-Feature Back up dan
-Feature ARRAYS Not Supported -Feature Back up dan Security Supported
OF triggers -Feature Procedures PL/SQL statement, java methods, thirdgeneration language (3GL)
Security Not Supported
107
routines -Feature ARRAYS Supported -Feature Back up dan Security Supported
Kesimpulan adalah dari segi biaya MySQL paling baik karena tidak memerlukan biaya. Dapat bekerja pada platform yang lebih banyak. Dari segi skalabilitas MySQL cocok untuk persyaratan minimum yang paling baik Karena alasan tersebut maka DBMS yang digunakan untuk aplikasi web ini adalah MySQL 3.3.2 Perancangan Basis Data Logikal Proses membangun sebuah data model yang digunakan perusahaan berdasarkan sebuah spesifik model data, tetapi independen terhadap particular DBMS dan physical consideration lainnya dengan tujuan menterjemahkan conceptual data model ke dalam logical data model, lalu divalidasikan untuk memeriksa kebenarannya agar mampu mendukung transaksi yang diperlukan. Langkah-langkah yang terdapat dalam logical database design adalah: 3.3.2.1 Derive Relation For Logical Data Model Bertujuan untuk membangun relasi
logical
data
model
yang
merepresentasikan entitas, relasi, dan atribut yang telah terindentifikasi. Relasi yang diturunkan dari conceptual data model meliputi: a. Identifikasi strong entity Entitas yang tidak memiliki ketergantungan dengan entitas lain. Yang termasuk strong entity antara lain :
108
Tabel 3.25 Strong entity Karyawan(Karyawan_id, Nama, Jenis_kelamin, No_telepon, Alamat, Email) Primary key Karyawan_id Publikasi(Publikasi_id,
Nama_publikasi,
Content,
Date,Img)
Primary key Publikasi_id Position(Position_id, Position_Name, Deskripsi_posisi)
Primary key Position_id Lamaran(Form_id, Karyawan_id, Kebutuhan_id, Date, Nama, Alamat, Email, Posisi, Foto, Kewarganegaraan, Mobile,
Telepon,
No_ktp,
Pengalaman_kerja,
GPA,
Tinggi,
Tanggal_lahir,
Tempat_lahir,
Golongan_darah, Berat,
Agama,
Tempat_tinggal,
Status_perkawinan, Jenis_kelamin, Nego_gaji, Silinder, Kanan,
Kiri,
No_SIM_A,
No_SIM_B,
No_SIM_C,
Status_lamaran)
Primary key Form_id English_test(Test_id, Form_id, Content)
Primary key Test_id Komponen_kebutuhan(Komponen_id, nama_komponen, syarat, pembanding)
Primary key komponen_id b. Identifikasi weak entity Himpunan weak entity berisi entitas-entitas yang kemunculannya tergantung kepada eksistensinya dalam sebuah relasi terhadap strong
109
entity. Himpunan weak entity biasanya tidak memiliki atribut yang berfungsi sebagai key yang menjamin keunikan entitas di dalamnya. Yang termasuk weak entity adalah: Tabel 3.26 Weak entity Test_result(Result_id, Form_id, Total_L, Total_O, Total_G, Total_B, English_result) Primary key Result_id Answer_test(Answer_id, Test_id, Content, Status) Primary key Answer_id Konfirmasi(Konfirmasi_id, Karyawan_id, Form_id, Email_content, SMS_content, Web_content, Date, Subject) Primary key Konfirmasi_id Kebutuhan_posisi(Kebutuhan_id, Publikasi_id, Position_id, Komponen_id, Jumlah) Primary key Kebutuhan_id Riwayat_pekerjaan (Riwayat_pekerjaan_id, Form_id, Nama_perusahaan, Telepon_perusahaan, Jenis_usaha, Lokasi_perusahaan, Jumlah_karyawan, Jabatan_awal, Jabatan_akhir, Gaji, Tunjangan, Nama_atasan, Tanggal_mulai_bekerja, Tanggal_akhir_bekerja, Alasan_pindah) Primary key Riwayat_pekerjaan_id Keluarga (Keluarga_id, Form_id, Nama, Status, Jenis_kelamin, Usia, Pendidikan_terakhir, Jabatan, Perusahaan, keterangan) Primary key Keluarga_id
110
Bahasa (Bahasa_id, Form_id, Macam_bahasa, Mendengar, Membaca, Berbicara, Menulis) Primary key Bahasa_id Kursus (Kursus_id, Form_id, Bidang, Penyelenggara, Tempat, Lama, Tahun, Dibiayai_oleh) Primary key Kursus_id Kegiatan_sosial (Kegiatan_id, Form_id , organisasi, jenis_kegiatan, jabatan, tahun) Primary key Kegiatan_id Riwayat_pendidikan (Riwayat_pendidikan_id, Form_id, Nama, Tingkat, Tempat, Tahun_masuk, Tahun_lulus, Status_kelulusan, Jurusan, Karya_ilmiah) Primary key Pendidikan_id Kendaraan (Kendaraan_id, Form_id, Jenis, Tahun, Merk, Milik) Primary key Kendaraan_id
c. One-to-many (1:*) binary relationship types 1. Hubungan 1:* Lamaran dengan Karyawan Lamaran dikelola Karyawan
Karyawan(Karyawan_id, Nama,
Lamaran(Form_id, Karyawan_id,
Jenis_kelamin, No_telepon, Alamat,
Kebutuhan_id, Nama, Alamat, Email,
Email)
Posisi Foto, Kewarganegaraan, Mobile, Telepon, No_ktp, Golongan_darah, GPA, Tinggi, Berat, Agama, Tanggal_lahir, Tempat_lahir,
111
Tempat_tinggal, Status_perkawinan, Jenis_kelamin, Nego_gaji, Silinder, Kanan, Kiri, No_SIM_A, No_SIM_B, No_SIM_C, Status_lamaran) Primary key Karyawan_id
Primary key Form_id Foreign key Karyawan_id reference Karyawan (Karyawan _id) Foreign key Kebutuhan_id reference Kebutuhan_posisi(Kebutuhan_id)
2.
Hubungan 1:* English_test dengan Lamaran English_test dimiliki Lamaran
Lamaran(Form_id, Karyawan_id,
English_test(Test_id, Form_id,
Kebutuhan_id, Date, Nama, Alamat, Email,
Content)
Posisi Foto, Kewarganegaraan, Mobile, Telepon, No_ktp, Golongan_darah, GPA, Tinggi, Berat, Agama, Tanggal_lahir, Tempat_lahir, Tempat_tinggal, Status_perkawinan, Jenis_kelamin, Nego_gaji, Silinder, Kanan, Kiri, No_SIM_A, No_SIM_B, No_SIM_C, Status_lamaran) Primary key Form_id
Primary key Test_id Foreign key Form_id reference Lamaran(Form_id)
112
3.
Hubungan 1:* Test_result dengan Lamaran Test_result dimiliki Lamaran
Lamaran(Form_id, Karyawan_id,
Test_result(Result_id, Form_id,
Kebutuhan_id, Date,Nama, Alamat,
Total_L, Total_O, Total_G, Total_B,
Email, Posisi Foto, Kewarganegaraan,
English_result)
Mobile, Telepon, No_ktp, Golongan_darah, GPA, Tinggi, Berat, Agama, Tanggal_lahir, Tempat_lahir, Tempat_tinggal, Status_perkawinan, Jenis_kelamin, Nego_gaji, Silinder, Kanan, Kiri, No_SIM_A, No_SIM_B, No_SIM_C, Status_lamaran) Primary key Form_id
Primary key Result_id Foreign key Form _id reference Lamaran(Form _id)
4.
Hubungan 1:* English_test dengan Answer_test English_test memiliki Answer_test
English_test(Test_id, Form_id,
Answer_test(Answer_id, Test_id,
Content)
Content, Status)
Primary key Test_id
Primary key Answer_id Foreign key Test_id reference English_test(Test_id)
113
5.
Hubungan 1:* Karyawan dengan Konfirmasi Konfirmasi diberikan Karyawan
Karyawan(Karyawan_id, Nama,
Konfirmasi(Konfirmasi_id, Karyawan_id,
Jenis_kelamin, No_telepon, Alamat,
Form_id, Email_content, SMS_content,
Email)
Web_content, Date, Subject)
Primary key Karyawan_id
Primary key Konfirmasi_id Foreign key Karyawan_id reference Foreign key Karyawan(Karyawan_id) Form_id reference Lamaran(Form_id)
d. One-to-one (1:1) binary relationship types Tidak terdapat relasi biner 1:1 e. One-to-one (1:1) recursive relationship types Tidak terdapat relasi biner 1:1 recursive f. Superclass/subclass relationship types Tidak terdapat relasi Superclass/subclass g. Many-to-many (*:*) binary relationship types
1. Hubungan *:* Lamaran dengan Konfirmasi Lamaran menerima Konfirmasi
Lamaran(Form_id, Karyawan_id,
Konfirmasi(Konfirmasi_id,
Kebutuhan_id, Date, Nama, Alamat,
karyawan_id, form_id, Web_content,
Email, Posisi Foto, Kewarganegaraan,
SMS_content, Email_content, Date,
Mobile, Telepon, No_ktp,
Subject)
Golongan_darah, GPA, Tinggi, Berat,
114
Agama, Tanggal_lahir, Tempat_lahir, Tempat_tinggal, Status_perkawinan, Jenis_kelamin, Nego_gaji, Silinder, Kanan, Kiri, No_SIM_A, No_SIM_B, No_SIM_C, Status_lamaran) Primary key Form_id
Primary key Konfirmasi_id
Foreign key Karyawan_id reference
Foreign key karyawan_id reference
Karyawan (Karyawan _id)
karyawan(karyawan_id)
Foreign key Kebutuhan_id reference
Foreign key form_id reference
Kebutuhan_posisi(Kebutuhan_id)
lamaran(form_id)
DetailKonfirmasi(Konfirmasi_id, Form_id, Date, Subject) Primary key Konfirmasi_id, Form_id Foreign key Konfirmasi_id reference Konfirmasi(Konfirmasi_id) Foreign key Form_id reference Lamaran(Form_id)
2. Hubungan *:* Publikasi dengan Kebutuhan_posisi Publikasi dimiliki Kebutuhan_posisi
Publikasi(Publikasi_id,
Kebutuhan_posisi(Kebutuhan_id,
Nama_publikasi, Content, Date,Img)
Publikasi_id, Position_id, Komponen_id, Jumlah)
Primary key Publikasi_id
Primary key Kebutuhan_id Foreign key Publikasi_id reference Publikasi(Publikasi_id) Foreign key Position_id reference
115
Position(Position_id) Foreign key Komponen_id reference Komponen_kebutuhan(Komponen_id)
DetailPublikasi(Publikasi_id, Kebutuhan_id, Date) Primary key Publikasi_id, Kebutuhan_id Foreign key Publikasi_id reference Publikasi(Publikasi_id) Foreign key Kebutuhan_id reference Kebutuhan_posisi(Kebutuhan_id)
3. Hubungan *:* Komponen_kebutuhan dengan Kebutuhan_posisi Position dimiliki Kebutuhan_posisi
Kebutuhan_posisi(Kebutuhan_id,
Komponen_kebutuhan(Komponen_i
Publikasi_id, Position_id, Komponen_id,
d, Nama_komponen, Syarat,
Jumlah)
Pembanding)
Primary key Kebutuhan_id
Primary key Komponen_id
Foreign key Publikasi_id reference Publikasi(Publikasi_id) Foreign key Position_id reference Position(Position_id) Foreign key Komponen_id reference Komponen_kebutuhan(Komponen_id)
KomponenKebutuhanPosisi(Kebutuhan_id, Komponen_id) Primary key Kebutuhan_id, Komponen_id
116
Foreign key Kebutuhan_id reference Kebutuhan_posisi(Kebutuhan_id) Foreign key Komponen_id reference Komponen_kebutuhan(Komponen_id)
h. Complex relationship types Tidak ditemukan adanya relasi complex i.
Multi-valued attributes Lamaran terdapat Riwayat_pekerjaan
Lamaran(Form_id, Karyawan_id,
Riwayat_pekerjaan
Kebutuhan_id, Date,Nama, Alamat,
(Riwayat_pekerjaan_id, Form_id,
Email, Posisi Foto, Kewarganegaraan,
Nama_perusahaan,
Mobile, Telepon, No_ktp,
Telepon_perusahaan, Jenis_usaha,
Golongan_darah, GPA, Tinggi, Berat,
Lokasi_perusahaan, Jumlah_karyawan,
Agama, Tanggal_lahir, Tempat_lahir,
Jabatan_awal, Jabatan_akhir, Gaji,
Tempat_tinggal, Status_perkawinan,
Tunjangan, Nama_atasan,
Jenis_kelamin, Nego_gaji, Silinder,
Tanggal_mulai_bekerja,
Kanan, Kiri, No_SIM_A, No_SIM_B,
Tanggal_akhir_bekerja,
No_SIM_C, Status_lamaran)
Alasan_pindah)
Primary key Form_id
Primary key Riwayat_pekerjaan_id Foreign key Form_id reference Lamaran(form_id)
Lamaran terdapat Keluarga
Lamaran(Form_id, Karyawan_id,
Keluarga (Keluarga_id, Form_id,
Kebutuhan_id, Date,Nama, Alamat,
Nama, Status, Jenis_kelamin, Usia,
117
Email, Posisi Foto, Kewarganegaraan,
Pendidikan_terakhir, Jabatan,
Mobile, Telepon, No_ktp,
Perusahaan, keterangan)
Golongan_darah, GPA, Tinggi, Berat, Agama, Tanggal_lahir, Tempat_lahir, Tempat_tinggal, Status_perkawinan, Jenis_kelamin, Nego_gaji, Silinder, Kanan, Kiri, No_SIM_A, No_SIM_B, No_SIM_C, Status_lamaran) Primary key Form_id
Primary key Keluarga_id Foreign key Form_id reference Lamaran(form_id)
Lamaran terdapat Bahasa
Lamaran(Form_id, Karyawan_id,
Bahasa (Bahasa_id, Form_id,
Kebutuhan_id, Date,Nama, Alamat, Email,
Macam_bahasa, Mendengar,
Posisi Foto, Kewarganegaraan, Mobile,
Membaca, Berbicara, Menulis)
Telepon, No_ktp, Golongan_darah, GPA, Tinggi, Berat, Agama, Tanggal_lahir, Tempat_lahir, Tempat_tinggal, Status_perkawinan, Jenis_kelamin, Nego_gaji, Silinder, Kanan, Kiri, No_SIM_A, No_SIM_B, No_SIM_C, Status_lamaran) Primary key Form_id
Primary key Bahasa_id Foreign key Form_id reference Lamaran(form_id)
118
Lamaran terdapat Kursus
Lamaran(Form_id, Karyawan_id,
Kursus (Kursus_id, Form_id,
Kebutuhan_id, Date,Nama, Alamat, Email,
Bidang, Penyelenggara, Tempat,
Posisi Foto, Kewarganegaraan, Mobile,
Lama, Tahun, Dibiayai_oleh)
Telepon, No_ktp, Golongan_darah, GPA, Tinggi, Berat, Agama, Tanggal_lahir, Tempat_lahir, Tempat_tinggal, Status_perkawinan, Jenis_kelamin, Nego_gaji, Silinder, Kanan, Kiri, No_SIM_A, No_SIM_B, No_SIM_C, Status_lamaran) Primary key Form_id
Primary key Kursus_id Foreign key Form_id reference Lamaran(form_id)
Lamaran terdapat Kegiatan_sosial
Lamaran(Form_id, Karyawan_id,
Kegiatan_sosial (Kegiatan_id, Form_id
Kebutuhan_id, Date,Nama, Alamat,
, organisasi, jenis_kegiatan, jabatan,
Email, Posisi Foto, Kewarganegaraan,
tahun)
Mobile, Telepon, No_ktp, Golongan_darah, GPA, Tinggi, Berat, Agama, Tanggal_lahir, Tempat_lahir, Tempat_tinggal, Status_perkawinan, Jenis_kelamin, Nego_gaji, Silinder, Kanan, Kiri, No_SIM_A, No_SIM_B, No_SIM_C, Status_lamaran)
119
Primary key Form_id
Primary key Kegiatan_id Foreign key Form_id reference Lamaran(form_id)
Lamaran terdapat Riwayat_pendidikan
Lamaran(Form_id, Karyawan_id,
Riwayat_pendidikan
Kebutuhan_id, Date,Nama, Alamat,
(Riwayat_pendidikan_id, Form_id,
Email, Posisi Foto, Kewarganegaraan, Nama, Tingkat, Tempat, Tahun_masuk, Mobile, Telepon, No_ktp,
Tahun_lulus, Status_kelulusan, Jurusan,
Golongan_darah, GPA, Tinggi, Berat,
Karya_ilmiah)
Agama, Tanggal_lahir, Tempat_lahir, Tempat_tinggal, Status_perkawinan, Jenis_kelamin, Nego_gaji, Silinder, Kanan, Kiri, No_SIM_A, No_SIM_B, No_SIM_C, Status_lamaran) Primary key Form_id
Primary key Pendidikan_id Foreign key Form_id reference Lamaran(form_id)
Lamaran terdapat Kendaraan
Lamaran(Form_id, Karyawan_id,
Kendaraan (Kendaraan_id, Form_id,
Kebutuhan_id, Date,Nama, Alamat,
Jenis, Tahun, Merk, Milik)
Email, Posisi Foto, Kewarganegaraan, Mobile, Telepon, No_ktp, Golongan_darah, GPA, Tinggi, Berat,
120
Agama, Tanggal_lahir, Tempat_lahir, Tempat_tinggal, Status_perkawinan, Jenis_kelamin, Nego_gaji, Silinder, Kanan, Kiri, No_SIM_A, No_SIM_B, No_SIM_C, Status_lamaran) Primary key Form_id
Primary key Kendaraan_id Foreign key Form_id reference Lamaran(form_id)
3.3.2.2 Validasi Relasi Dengan Normalisasi Pada tahap ini dilakukan validasi atas relasi yang terdapat logical data model dengan menggunakan teknik normalisasi. Penggunaan teknik tersebut diperlukan untuk mengidentifikasi ketergantungan fungsional antar atribut setiap relasi yang melalui beberapa langkah dalam menentukan komposisi atribut suatu relasi, yaitu 1NF, 2NF, dan 3NF. Karyawan Karyawan_id
Nama
Alamat
Email
Jenis_kelamin
No_telepon
(PK) 1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy 3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy
121
Lamaran Form_id
Karyawan_id
Date Telepon No_ktp
Komponen_id
Golongan_darah
Nama Alamat
Foto
Mobile
Pengalaman_kerja Tinggi Berat
Tanggal_lahir Tempat_lahir Tempat_tinggal Jenis_kelamin Nego_gaji
Silinder Kanan Kiri
Kewarganegaraan
No_SIM_A
Agama
No_SIM_B
Status_lamaran
No-SIM_C
GPA
Status_perkawinan
(PK) 1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy 3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy Test_result Result_id Form_id Total_L Total_O Total_G Total_B English_result
(PK) 1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy
122
3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy
English_test Test_id
Form_id Content
(PK) 1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy 3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy
Answer_test Answer_id
Test_id
Content
Status
(PK) 1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy 3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy
Konfirmasi Konfirmasi_id Karyawan_id Form_id Web_content
Email_content Date
Subject
(PK)
SMS_content
123
1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy 3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy
Position Position_id
Position_name Deskripsi_posisi (PK)
(CK)
1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy 3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy
Kebutuhan_posisi Kebutuhan_id Position_id Publikasi_id Komponen_id Jumlah
(PK)
1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy 3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy
124
Komponen_kebutuhan Komponen_id Nama_komponen Syarat
Pembanding
(PK) 1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy 3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy
Publikasi Publikasi_id
Nama_publikasi
Content
Date
Img
(PK) 1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy 3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy
Riwayat_pekerjaan Riwayat_pekerjaan_id
Jenis_usaha
Jabatan_akhir
Form_id
Nama_perusahaan
Lokasi_perusahaan
Gaji
Tunjangan
Telepon_perusahaan
Jumlah_karyawan
Nama_atasan
Jabatan_awal
Tanggal_mulai_bekerja
125
Tanggal_akhir_bekerja
Alasan_pindah (PK)
1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy 3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy
Keluarga Keluarga_id
Usia
Form_id
Nama
Pendidikan_terakhir
Status
Jenis_kelamin
Jabatan
perusahaan
(PK) 1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy 3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy
Bahasa Bahasa_id
Membaca
Form_id
Macam_bahasa
Berbicara
Mendengar
menulis (PK)
126
1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy 3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy
Kegiatan_sosial Kegiatan_id
Form_id
Organisasi
Jenis_kegiatan
Jabatan
Tahun
(PK) 1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy 3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy
Riwayat_pendidikan Riwayat_pendidikan_id
Tahun_masuk
Tahun_lulus
Form_id
Nama
Status_kelulusan
Tingkat
Jurusan
Tempat
Karya_ilmiah
(PK) 1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy 3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy
127
Kendaraan Kendaraan_id
Form_id
Jenis
Tahun
Merk
Milik
(PK) 1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy 3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy
Kursus Kursus_id
Form_id
Bidang
Penyelenggara
Tempat
Lama
Tahun
(PK) 1NF Sudah terpenuhi karena sudah tidak ada Repeating Groups 2NF Sudah terpenuhi karena sudah tidak ada Partial Dependancy 3NF Sudah terpenuhi karena sudah tidak ada Transitive Dependancy PK:Primary Key ; CK:Candidate Key
3. Validate relations againts user transaction 1. Memasukan data komponen kebutuhan 2. Melakukan pengisian form lamaran 3. Menampilkan publikasi 4. Menampilkan data karyawan 5. Menampilkan data blacklist 6. Menampilkan data pelamar yang diterima 7. Menampilkan data pelamar yang ditolak 8. Menampilkan data pelamar yang menjadi kandidat
128
9. Menampilkan data hasil test 10. Menampilkan data komponen kebutuhan 11. Memberikan konfirmasi 12. Menampilkan data konfirmasi 13. Menampilkan data posisi pekerjaan 14. Menampilkan soal test 15. Menampilkan data kebutuhan posisi 16. Mengubah dan menghapus data pelamar yang diterima 17. Mengubah dan menghapus data pelamar yang ditolak 18. Mengubah dan menghapus data posisi 19. Mengubah dan menghapus data komponen kebutuhan 20. Mengubah dan menghapus konfirmasi 21. Mengubah dan menghapus data blacklist 22. Menghapus data lamaran 23. Mengubah dan menghapus data publikasi 24. Mengubah dan menghapus data pelamar yang menjadi kandidat 25. Mengubah dan menghapus data kebutuhan posisi 26. Menampilkan data lamaran 4. Check integrity constraints Terdiri dari 6 tipe, yaitu: a. Required data Terdapat beberapa atribut yang seharusnya memiliki nilai valid atau tidak boleh null. Untuk Required data sudah diidentifikasikan pada conceptual design pada point 3.3.1.3. b. Atribute domain constraints Setiap atribut memiliki sebuah domain yang berupa kumpulan dari nilai yang memenuhi persyaratan-persyaratan. Untuk Atribute domain constraints sudah diidentifikasikan pada conceptual design pada point 3.3.1.4.
129
c. Multiplicity Merepresentasikan batasan jumlah yang terdapat pada hubungan antara data yang satu dengan data lainnya di dalam basis data. Untuk Multiplicity sudah diidentifikasikan pada conceptual design pada point 3.3.1.2. d. Entity integrity Primary key yang terdapat pada sebuah entitas tidak boleh bernilai null. Untuk Entity integrity sudah diidentifikasikan pada conceptual design pada point 3.3.1.2. e. Referential integrity Sebuah foreign key menghubungkan setiap tuple di dalam child relation dengan tuple di dalam parent relation yang berisikan nilai candidate key yang bersesuaian. 1. Karyawan(Karyawan_id,
Nama,
Jenis_kelamin,
No_telepon,
Alamat, Email) Primary key Karyawan_id 2. Lamaran(Form_id, Karyawan_id, Kebutuhan_id, Date, Nama, Alamat,
Email, Posisi,
Foto,
Kewarganegaraan,
Mobile,
Telepon, No_ktp,
Golongan_darah, GPA, Tinggi, Berat, Agama,
Tanggal_lahir,
Tempat_lahir,
Tempat_tinggal,
Status_perkawinan, Jenis_kelamin, Nego_gaji,
Silinder,
Kanan,
Kiri, No_SIM_A, No_SIM_B, No_SIM_C, Status_lamaran) Primary key Form_id Foreign key Karyawan_id reference Karyawan(Karyawan_id) ON UPDATE CASCADE ON DELETE CASCADE Foreign
key
Kebutuhan_posisi(Kebutuhan_id)
Kebutuhan_id
ON UPDATE CASCADE
DELETE CASCADE 3. English_test(Test_id, Form_id, Content) Primary key Test_id
reference ON
130
Foreign key Form_id reference Form(Form_id) ON UPDATE CASCADE
ON DELETE CASCADE
4. Test_result(Result_id, Form_id, Total_L, Total_O, Total_G, Total_B, English_result) Primary key Result_id Foreign key Form_id reference Form(Form_id) ON UPDATE CASCADE ON DELETE CASCADE 5. Answer_test(Answer_id, Test_id, Content, Status) Primary key Answer_id Foreign_key Test_id reference English_Test (Test_id) ON UPDATE CASCADE ON DELETE CASCADE 6. Publikasi(Publikasi_id, Nama_publikasi, Content, Date,Img) Primary key Publikasi_id 7. Konfirmasi(Konfirmasi_id, Karyawan_id, Form_id, Web_content, SMS_content, Email_content, Date, Subject) Primary key Konfirmasi_id Foreign key Karyawan_id reference Karyawan(Karyawan_id) ON UPDATE CASCADE ON DELETE CASCADE Foreign key Form_id reference Lamaran(Form_id) ON UPDATE CASCADE ON DELETE CASCADE 8. DetailKonfirmasi(Konfirmasi_id, Form_id, Date, Subject) Primary key Konfirmasi_id, Form_id Foreign key Konfirmasi_id reference Konfirmasi(Konfirmasi_id) ON UPDATE CASCADE ON DELETE CASCADE Foreign key Form_id reference Form(Form_id) ON UPDATE CASCADE ON DELETE CASCADE 9. Position(Position_id, Position_Name, Deskripsi_posisi) Primary key Position_id 10. DetailPublikasi(Publikasi_id, Kebutuhan_id, Date) Primary key Publikasi_id, Kebutuhan_id Foreign key Publikasi_id reference Publikasi(Publikasi_id) ON UPDATE CASCADE ON DELETE CASCADE
131
ForeignkeyKebutuhan_id reference Kebutuhan_posisi(Kebutuhan_id) ON UPDATE CASCADE ON DELETE CASCADE 11.Riwayat_pekerjaan (Riwayat_pekerjaan_id, Form_id, Nama_perusahaan, Telepon_perusahaan, Jenis_usaha, Lokasi_perusahaan, Jumlah_karyawan, Jabatan_awal, Jabatan_akhir, Gaji, Tunjangan, Nama_atasan, Tanggal_mulai_bekerja, Tanggal_akhir_bekerja, Alasan_pindah) Primary key Riwayat_pekerjaan_id Foreign key Form_id reference Lamaran(form_id) 12.Riwayat_pendidikan (Riwayat_pendidikan_id, Form_id,
Nama,
Tingkat, Tempat, Tahun_masuk, Tahun_lulus, Status_kelulusan, Jurusan, Karya_ilmiah) Primary key Riwayat_pendidikan_id Foreign key Form_id reference Lamaran(form_id) 13.Keluarga (Keluarga_id, Form_id, Nama, Status, Jenis_kelamin, Usia, Pendidikan_terakhir, Jabatan, Perusahaan, keterangan) Primary key Keluarga_id Foreign key Form_id reference Lamaran(form_id) 14.Bahasa
(Bahasa_id,
Form_id
,Macam_bahasa,
Mendengar,
Membaca, Berbicara, Menulis) Primary key Bahasa_id Foreign key Form_id reference Lamaran(form_id) 15.Kegiatan_sosial (Kegiatan_id, Form_id. organisasi, jenis_kegiatan, jabatan, tahun) Primary key Kegiatan_id Foreign key Form_id reference Lamaran(form_id) 16.Kendaraan (Kendaraan_id, Form_id, Jenis, Tahun, Merk, Milik) Primary key Kendaraan_id Foreign key Form_id reference Lamaran(form_id) 17.Kebutuhan_posisi(Kebutuhan_id, Publikasi_id, Position_id, Komponen_id, Jumlah) Primary key Kebutuhan_id Foreign key Publikasi_id reference Publikasi(Publikasi_id)
132
Foreign key Position_id reference Position(Position_id) Foreign key Komponen_id reference Komponen_kebutuhan(Komponen_id) 18. KomponenKebutuhanPosisi(Kebutuhan_id, Komponen_id) Primary key Kebutuhan_id, Komponen_id Foreign key Kebutuhan_id reference Kebutuhan(Kebutuhan_id) ON UPDATE CASCADE ON DELETE CASCADE Foreign key Komponen_id reference Komponen_kebutuhan(Komponen_id) ON UPDATE CASCADE ON DELETE CASCADE 19. Kursus (Kursus_id, Form_id, Bidang, Penyelenggara, Tempat, Lama, Tahun, Dibiayai_oleh) Primary key Kursus_id Foreign key Form_id reference Lamaran(form_id) 20. Komponen_kebutuhan(Komponen_id, Nama_komponen, Syarat, Pembanding) Primary key Komponen_id
f. General constraints Batasan-batasan umum dimana updates di dalam suatu entitas ditentukan berdasarkan representasi yang berasal dari real worlds. 5. Review logical data model with user Setelah ditinjau dengan user, data model sudah memenuhi kebutuhan transaksi.
133
6. Merge logical data models into global model (optional step)
Gambar 3.10 Merge logical data models into global model 3.3.3 Perancangan Basis Data Fisikal Perancangan basis data fisikal adalah proses yang menghasilkan gambaran dari implementasi database pada secondary storage. Tahap ini menggambarkan base relation, penyusunan dan pemberian indeks file yang digunakan untuk mencapai akses data yang efisien, batasan integritas, dan
134
tingkat keamanan (Connolly dan Begg, 2010, p523) . Perancangan basis data fisikal terdiri dari tahap perancangan, yaitu: 3.3.3.1 Memetakan Model Data Logikal untuk Target DBMS Tujuan dari langkah ini adalah untuk menghasilkan skema basis data relasional dari model data logikal yang dapat di implementasikan di DBMS (Connoly dan Begg, 2010. p524) 3.3.3.1.1 Desain Base Relation Tujuan dari langkah ini adalah untuk memutuskan bagaimana menampilkan base relation yang ditemukan dari model data logikal ke dalam target DBMS (Connolly dan Begg, 2010,p525). DBDL untuk Karyawan Domain Karyawan_id
String dengan panjang maksimum 10 karakter
Domain Nama
String dengan panjang maksimum 50 karakter
Domain Jenis_kelamin
String dengan panjang maksimum 6 karakter
Domain No_telepon
String dengan panjang maksimum 12 karakter
Domain Alamat
String dengan panjang maksimum 100 karakter
Domain Email
String dengan panjang maksimum 50 karakter
Karyawan ( Karyawan_id
NOT NULL,
Nama
NOT NULL,
Jenis_kelamin
NOT NULL,
No_telepon
NOT NULL,
Alamat
NOT NULL,
Email
NOT NULL,
Primary key (Karyawan_id));
135
DBDL untuk Lamaran Form_id
String dengan panjang maksimum 10 karakter
Kebutuhan_id
String dengan panjang maksimum 10 karakter
Karyawan_id
String dengan panjang maksimum 10 karakter
Nama
String dengan panjang maksimum 50 karakter
Date
Date
Alamat
String dengan panjang maksimum 100 karakter
Email
String dengan panjang maksimum 50 karakter
Posisi
String dengan panjang maksimum 30 karakter
Kewarganegaraan
String dengan panjang maksimum 15 karakter
Mobile
String dengan panjang maksimum 12 karakter
Telepon
String dengan panjang maksimum 12 karakter
No_ktp
String dengan panjang maksimum 16 karakter
Golongan_darah
String dengan panjang maksimum 2 karakter, salah satu dari ‘A’,’B’,’O’,’AB’
Foto
String dengan panjang maksimum 50 karakter
Gpa
Float
Tinggi
Smallint
Berat
Smallint
Agama
String dengan panjang maksimum 15 karakter
136
Tanggal_lahir
Date
Tempat_lahir
String dengan panjang maksimum 25 karakter
Tempat_tinggal
String dengan panjang maksimum 10 karakter
Status_perkawinan
String dengan panjang maksimum 10 karakter, salah satu dari ‘Belum Menikah’,’Menikah’
Jenis_kelamin
String dengan panjang maksimum 6 karakter, salah satu dari ‘Male’,’Female’
Nego_gaji
Int
No_SIM_A
String dengan panjang maksimum 12 karakter
No_SIM_B
String dengan panjang maksimum 12 karakter
No_SIM_C
String dengan panjang maksimum 12 karakter
Silinder
String dengan panjang maksimum 5 karakter
Kanan
Int
Kiri
Int
Status_lamaran
String dengan panjang maksimum 10 karakter
Lamaran ( Form_id
NOT NULL,
Kebutuhan_id
NOT NULL,
Karyawan_id
NOT NULL,
Date
NOT NULL,
Nama
NOT NULL,
Alamat
NOT NULL,
Email
NOT NULL,
137
Posisi
NOT NULL,
Kewarganegaraan
NOT NULL,
Mobile
NOT NULL,
Telepon, No_ktp
NOT NULL,
Golongan_darah
NOT NULL,
Foto
NOT NULL,
Pengalaman_kerja
NOT NULL,
Gpa
NOT NULL,
Tinggi
NOT NULL,
Tempat_lahir
NOT NULL,
Tanggal_lahir
NOT NULL,
Agama
NOT NULL,
Berat
NOT NULL,
Tempat_tinggal
NOT NULL,
Status_perkawinan
NOT NULL,
Jenis_kelamin
NOT NULL,
Nego_gaji, No_SIM_A, No_SIM_B, No_SIM_C, Kiri,
138
Silinder, Kanan, Status_lamaran, Primary key (Form_id), Foreign key (Karyawan_id) reference Karyawan(Karyawan_id) ON UPDATE CASCADE ON DELETE CASCADE, Foreign key (Position_id) reference Position(Position_id) ON UPDATE CASCADE ON DELETE CASCADE);
DBDL untuk Test_result Result_id
String dengan panjang maksimum 10 karakter
Form_id
String dengan panjang maksimum 10 karakter
Total_L
Tinyint
Total_O
Tinyint
Total_G
Tinyint
Total_B
Tinyint
English_result
Tinyint
Test_result( Result_id
NOT NULL,
Form_id
NOT NULL,
Total_L
NOT NULL,
Total_O
NOT NULL,
Total_G
NOT NULL,
Total_B
NOT NULL,
139
English_result
NOT NULL,
Primary key (Result_id) Foreign key (Form_id) reference Lamaran(Form_id) ON UPDATE CASCADE ON DELETE CASCADE);
DBDL untuk English_test Test_id
String dengan panjang maksimum 10 karakter
Form_id
String dengan panjang maksimum 10 karakter
Content
String dengan panjang maksimum 255 karakter
English_test( Test_id
NOT NULL,
Form_id
NOT NULL,
Content
NOT NULL,
Primary key (Test_id) Foreign key (Form_id) reference Lamaran(Form_id) ON UPDATE CASCADE ON DELETE CASCADE);
DBDL untuk Answer_test Answer_id
String dengan panjang maksimum 10 karakter
Test_id
String dengan panjang maksimum 10 karakter
Content
String dengan panjang maksimum 50 karakter
Status
String dengan panjang maksimum 6 karakter
Answer_test( Answer_id
NOT NULL,
140
Test_id
NOT NULL,
Content
NOT NULL,
Status
NOT NULL,
Primary key (Answer_id)); Foreign key (Test_id) reference English_test(Test_id) ON UPDATE CASCADE ON DELETE CASCADE);
DBDL untuk Konfirmasi Karyawan_id
String dengan panjang maksimum 10 karakter
Konfirmasi_id
String dengan panjang maksimum 10 karakter
Form_id
String dengan panjang maksimum 10 karakter
Email_content
String dengan panjang maksimum 255 karakter
SMS_content
String dengan panjang maksimum 160 karakter
Web_content
String dengan panjang maksimum 255 karakter
Date
Date
Subject
String dengan panjang maksimum 30 karakter
Konfirmasi ( Karyawan_id
NOT NULL,
Konfirmasi_id
NOT NULL,
Form_id
NOT NULL,
Email_content
NOT NULL,
SMS_content
NOT NULL,
Web_content
NOT NULL,
141
Date
NOT NULL,
Subject
NOT NULL,
Primary key (Konfirmasi_id) Foreign_key (Karyawan_id) reference Karyawan(Karyawan_id) ON UPDATE CASCADE ON DELETE CASCADE Foreign key (Form_id) reference Lamaran(Form_id) ON UPDATE CASCADE ON DELETE CASCADE);
DBDL untuk Position Position_id
String dengan panjang maksimum 10 karakter
Position_name
String dengan panjang maksimum 30 karakter
Deskripsi_posisi
String dengan panjang maksimum 255 karakter
Position( Position_id
NOT NULL,
Position_name
NOT NULL,
Deskripsi_posisi
NOT NULL,
Primary key (Position_id));
DBDL untuk Publikasi Publikasi_id
String dengan panjang maksimum 10 karakter
Nama_publikasi
String dengan panjang maksimum 30 karakter
Content
String dengan panjang maksimum 50 karakter
Date
Date
142
Publikasi
String dengan panjang maksimum 50 karakter
Publikasi( Publikasi_id
NOT NULL,
Nama_publikasi
NOT NULL,
Content
NOT NULL,
Date
NOT NULL,
Publikasi
NOT NULL,
Primary key (Publikasi_id));
DBDL untuk Kendaraan Kendaraan_id
String dengan panjang maksimum 10 karakter
Form_id
String dengan panjang maksimum 10 karakter
Jenis
String dengan panjang maksimum 15 karakter
Merk
String dengan panjang maksimum 15 karakter
Tahun
Smallint
Milik
String dengan panjang maksimum 15 karakter
Kendaraan( Kendaraan_id
NOT NULL,
Form_id
NOT NULL,
Jenis, Merk, Tahun,
143
Milik, Primary key (Kendaraan_id), Foreign key (Form_id) reference Lamaran(form_id));
DBDL untuk Keluarga Keluarga_id
String dengan panjang maksimum 10 karakter
Form_id
String dengan panjang maksimum 10 karakter
Nama
String dengan panjang maksimum 50 karakter
Status
String dengan panjang maksimum 10 karakter
Jenis_kelamin
String dengan panjang maksimum 6 karakter, salah satu dari ‘Male’,’Female’
Usia
Tinyint
Pendidikan_terakhir
String dengan panjang maksimum 4 karakter
Jabatan
String dengan panjang maksimum 20 karakter
Perusahaan
String dengan panjang maksimum 20 karakter
Keterangan
String dengan panjang maksimum 50 karakter
Keluarga( Keluarga_id
NOT NULL,
Form_id
NOT NULL,
Nama
NOT NULL,
Status
NOT NULL,
Jenis_kelamin
NOT NULL,
Usia
NOT NULL,
144
Pendidikan_terakhir
NOT NULL,
Jabatan
NOT NULL,
Perusahaan
NOT NULL,
Keterangan
NOT NULL,
Primary key (Keluarga_id), Foreign key (Form_id) reference Lamaran(form_id));
DBDL untuk Riwayat_pendidikan Riwayat_pendidikan_id
String dengan panjang maksimum 10 karakter
Form_id
String dengan panjang maksimum 10 karakter
Nama_lembaga
String dengan panjang maksimum 35 karakter
Tingkat
String dengan panjang maksimum 4 karakter, salah satu dari ‘SD’, ’SLTP’, ’SLTA’, ’S1’, ‘S2’, ‘D3’
Tempat
String dengan panjang maksimum 20 karakter
Jurusan
String dengan panjang maksimum 20 karakter
Tahun_masuk
Smallint
Status_kelulusan
Smallint
Tahun_lulus
String dengan panjang maksimum 5 karakter
Karya_ilmiah
String dengan panjang maksimum 50 karakter
Riwayat_pendidikan( Riwayat_pendidikan_id
NOT NULL,
Form_id
NOT NULL,
Nama_lembaga
NOT NULL,
145
Tingkat
NOT NULL,
Tempat
NOT NULL,
Jurusan
NOT NULL,
Tahun_masuk
NOT NULL,
Status_kelulusan
NOT NULL,
Tahun_lulus
NOT NULL,
Karya_ilmiah
NOT NULL,
Primary key (Riwayat_pendidikan_id), Foreign key (Form_id) reference Lamaran(form_id));
Riwayat_pekerjaan Riwayat_pekerjaan_id
String dengan panjang maksimum 10 karakter
Form_id
String dengan panjang maksimum 10 karakter
Nama_perusahaan
String dengan panjang maksimum 35 karakter
Telepon_perusahaan
String dengan panjang maksimum 12 karakter
Jenis_usaha
String dengan panjang maksimum 20 karakter
Lokasi_perusahaan
String dengan panjang maksimum 35 karakter
Jumlah_karyawan
Int
Jabatan_awal
String dengan panjang maksimum 35 karakter
Jabatan_akhir
String dengan panjang maksimum 35 karakter
Gaji
Int
Tunjangan
String dengan panjang maksimum 35 karakter
Nama_atasan
String dengan panjang maksimum 35 karakter
146
Tanggal_mulai_bekerja
Date
Tanggal_akhir_bekerja
Date
Alasan_pindah
String dengan panjang maksimum 35 karakter
Riwayat_Pekerjaan( Riwayat_pekerjaan_id
NOT NULL,
Form_id
NOT NULL,
Nama_perusahaan, Telepon_perusahaan, Jenis_usaha, Lokasi_perusahaan, Jumlah_karyawan, Jabatan_awal, Jabatan_akhir Gaji, Tunjangan, Nama_atasan, Tanggal_mulai_bekerja, Tanggal_akhir_bekerja, Alasan_pindah, Primary key (Riwayat_pekerjaan_id), Foreign key (Form_id) reference Lamaran(form_id));
147
DBDL untuk Kegiatan_Sosial domain Kegiatan_id
String dengan panjang maksimum 10 karakter
domain Form_id
String dengan panjang maksimum 10 karakter
domain Organisasi
String dengan panjang maksimum 35 karakter
domain Jenis_kegiatan
String dengan panjang maksimum 35 karakter
domain Jabatan
String dengan panjang maksimum 35 karakter
domain Tahun
Smallint
Kegiatan_sosial( Kegiatan_id
NOT NULL,
Form_id
NOT NULL,
Organisasi, Jenis_kegiatan, Jabatan, Tahun, PRIMARY KEY (Kegiatan_id), FOREIGN_KEY (Form_id) REFERENCE Lamaran (Form _id));
DBDL untuk Bahasa domain Bahasa_id
String dengan panjang maksimum 10 karakter
domain Form_id
String dengan panjang maksimum 10 karakter
148
domain Macam_bahasa String dengan panjang maksimum 25 karakter domain Mendengar
String dengan panjang maksimum 12 karakter, salah satu 'Cukup', 'Baik', 'Baik Sekali'
domain Membaca
String dengan panjang maksimum 12 karakter, salah satu 'Cukup', 'Baik', 'Baik Sekali'
domain Berbicara
String dengan panjang maksimum 12 karakter, salah satu 'Cukup', 'Baik', 'Baik Sekali'
domain Menulis
String dengan panjang maksimum 12 karakter, salah satu 'Cukup', 'Baik', 'Baik Sekali'
Bahasa(
Bahasa_id
NOT NULL,
Form_id
NOT NULL,
Macam_bahasa, Mendengar, Membaca, Berbicara, Menulis, PRIMARY KEY (Bahasa_id), FOREIGN_KEY (Form_id) REFERENCE Lamaran (Form _id));
DBDL untuk Kursus domain Kursus_id
String dengan panjang maksimum 10 karakter
domain Form_id
String dengan panjang maksimum 10 karakter
149
domain Bidang
String dengan panjang maksimum 20 karakter
domain Penyelenggara
String dengan panjang maksimum 30 karakter
domain Tempat
String dengan panjang maksimum 30 karakter
domain Lama
Tinyint
domain Tahun
Smallint
domain Dibiayai_oleh
String dengan panjang maksimum 30 karakter
Kegiatan_sosial( Kursus_id
NOT NULL,
Form_id
NOT NULL,
Bidang, Penyelenggara, Tempat, Lama, Tahun, Dibiayai_oleh, PRIMARY KEY (Kursus_id), FOREIGN_KEY (Form_id) REFERENCE Lamaran (Form _id));
DBDL untuk kebutuhan_posisi domain Kebutuhan_id
String dengan panjang maksimum 10 karakter
domain Position_id
String dengan panjang maksimum 10 karakter
domain Publikasi_id
String dengan panjang maksimum 10 karakter
150
domain Komponen_id
String dengan panjang maksimum 10 karakter
domain Jumlah
Tinyint
Kebutuhan_posisi( Kebutuhan_id
NOT NULL,
Position_id
NOT NULL,
Publikasi_id
NOT NULL,
Komponen_id
NOT NULL,
Jumlah
NOT NULL,
PRIMARY KEY (Kebutuhan_id), FOREIGN_KEY (Publikasi_id) REFERENCE Publikasi(Publikasi_id) FOREIGN_KEY (Position_id) REFERENCE Position (Position_id) FOREIGN_KEY (Komponen_id) REFERENCE Komponen_kebutuhan(Komponen_id));
DBDL untuk komponen_kebutuhan domain Komponen_id
String dengan panjang maksimum 10 karakter
domain Nama_komponen String dengan panjang maksimum 10 karakter domain Syarat
Tinyint
domain Pembanding
Tanda '=', '>', '<'
Komponen_kebutuhan( Komponen_id
NOT NULL,
Nama_komponen
NOT NULL,
151
Syarat
NOT NULL,
Pembanding
NOT NULL,
PRIMARY KEY (Komponen_id)); 3.3.3.1.2 Merancang Representasi Dari Derived Data Pada tahap ini memutuskan bagaimana untuk mempresentasikan setiap derived data yang ditampilkan ke dalam model data logikal dalam target DBMS. Pada kasus ini tidak ada derived data. 3.3.3.1.3 Merancang General Constraints Tahap ini bertujuan untuk merancang batasan perusahaan dalam DBMS. Batasan-batasan yang diberikan perusahaan disesuaikan dengan peraturan nyata perusahaan dalam menangani transaksi. Pada PT. Asuransi Jiwa Sinarmas MSIG tidak ada constraint atau batasan tertentu dalam menangani transaksi. 3.3.3.2 Merancang File Organization dan Indexes Tujuan dari langkah ini adalah mempertimbangkan pengaturan atau penyusunan file yang optimal untuk disimpan dalam base relation dan indeks yang dibutuhkan untuk mencapai performa yang diinginkan. 3.3.3.2.1 Analisis Transaksi Tujuannya untuk memahami fungsi dari suatu transaksi yang dijalankan pada basis data dan untuk menganalisa transaksi yang penting. Antara lain: a. Melihat, menambah, serta menghapus data user b. Melihat, menambah, serta mengubah data lamaran c. Melihat, menambah, mengubah, serta menghapus data English_test d. Melihat, menambah, serta menghapus pesan konfirmasi. e. Melihat, menambah, mengubah, serta menghapus kebutuhan posisi
152
Relasi Transaksi karyawan Lamaran
Tabel 3.27 Cross-referencing transaksi dan relasi A B C D
E
I
R U D I R U D I R U D I R U D I R U D
X
X X X
X
X
X X X X
X
X
English_test
X
Test_result
X
Answer_test
X
Position
X
X
Publikasi
X
X
X X X X
X X X X
Konfirmasi
X X
DetailKonfi
X
rmasi Komponen
X
Kebutuhan Riwayat_pe
X X
kerjaan Keluarga
X X
Bahasa
X X
Kegiatan_
X X
sosial Riwayat_pe ndidikan
X X
X
153
Kendaraan
X X
Kebutuhan_
X
X X X X
posisi Kursus
X X
I: Insert ; R:Read ; U:Update ; D:Delete f. Melihat, menambah, mengubah, serta menghapus data position g. Melihat, menambah, mengubah, serta menghapus data publikasi h.Melihat,
menambah,
mengubah,
serta
menghapus
kebutuhan. Tabel 3.28 Tabel Cross-Referencing Transaksi dan Relasi Relasi F G H Transaksi
I R U D I R U D I R U D
Karyawan Lamaran English_test Test_result Answer_test Position Publikasi Konfirmasi DetailKonfir masi Komponen Kebutuhan
X X X X X X X X
komponen
154
Riwayat_pe kerjaan Keluarga Bahasa Kegiatan_so sial Riwayat_pe ndidikan Kendaraan Kebutuhan_ posisi Kursus Komponen
X X X X
Kebutuhan komponenK ebutuhanPos isi I: Insert ; R:Read ; U:Update ; D:Delete 3.3.3.2.2 Memilih File Organizations Tujuan tahap ini ialah menentukan dokumen organisasi yang efisien untuk tiap relasi dasar yang jika dibiarkan oleh DBMS, akan digunakan dalam banyak kasus. Dalam kasus ini, DBMS yang dipergunakan ialah MySQL yang di atur oleh PHPMyAdmin dan dokumen organisasi yang digunakan ditentukan oleh MySQL.
155
3.3.3.2.3 Pemilihan Index
No
Nama Tabel
1.
Karyawan
Tabel 3.29 Pemilihan Index Kunci Index Nama Index
Karyawan _id
Tipe
Idx_ Karyawan_id
C
Idx_Form_id
C
Nama
Idx_nama
NC
Test_id
Idx_Test_id
C
Idx_Result_id
C
Idx_Answer_id
C
Idx_Position_id
C
Position_name
Idx_Position_name
NC
Publikasi_id
Idx_Publikasi_id
C
Idx_Konfirmasi_id
C
(Primary Index) 2.
Lamaran
Form_id (Primary Index)
3.
English_test
(Primary Index) 4.
Test_result
Result_id (Primary Index)
5.
Answer_test
Answer_id (Primary Index)
6.
Position
Position_id (Primary Index)
7.
Publikasi
(Primary Index) 8.
Konfirmasi
Konfirmasi_id (Primary Index)
156
No
Nama Tabel
Kunci Index
Nama Index
Tipe
9.
DetailKonfirmasi
Konfirmasi_id
Idx_Konfirmasi_id
C
Idx_Form_id
C
Idx_publikasi_id
C
Idx_kebutuhan_id
C
(Primary Index) Form_id (Primary Index) 10.
DetailPublikasi
publikasi_id (Primary Index) kebutuhan_id (Primary Index)
11. Riwayat_pekerjaan Riwayat_pekerjaan Idx_Riwayat_pekerjaan _id
C
_id
(Primary Index)
12.
Keluarga
Nama_perusahaan
Idx_nama_perusahaan
NC
Keluarga_id
Idx_Keluarga_id
C
Nama
Idx_nama
NC
Bahasa_id
Idx_Bahasa_id
C
Macam_bahasa
Idx_ Macam_bahasa
NC
Kegiatan_id
Idx_Kegiatan_id
C
Idx_organisasi
NC
(Primary Index)
13.
Bahasa
(Primary Index)
14.
Kegiatan_sosial
(Primary Index) Organisasi
157
No
Nama Tabel
Kunci Index
Nama Index
Tipe
15.
Riwayat_pendidik
Riwayat_pendidik
Idx_Riwayat_pendidik
C
an
an_id
an_id
(Primary Index)
16.
Kendaraan
Nama
Idx_nama
NC
Kendaraan_id
Idx_Kendaraan_id
C
Jenis
Idx_jenis
NC
Kebutuhan_id
Idx_Kebutuhan_id
C
Idx_Kursus_id
C
Idx_komponen_id
C
Idx_kompnen_id
C
Idx_kebutuhan_id
C
(Primary Index)
17.
Kebutuhan_posisi
(Primary Index) 18.
Kursus
Kursus_id (Primary Index)
19
Komponen_kebutu han
20
KomponenKebutu hanPosisi
Komponen_id (Primary Index) Komponen_id (Primary Index) Kebutuhan_id (Primary Index)
C=clustered; NC=non-clustered
158
3.3.3.2.4 Query Index Tabel 3.30 Query index CREATE INDEX Idx_Karyawan_id ON Karyawan (Karyawan_id) CREATE INDEX Idx_Form_id ON Lamaran (Form_id) CREATE INDEX Idx_ Nama ON Lamaran (Nama) CREATE INDEX Idx_publikasi_id ON DetailPublikasi (publikasi_id) CREATE INDEX Idx_ kebutuhan_id ON DetailPublikasi (kebutuhan_id) CREATE INDEX Idx_ Test_id ON English_test (Test_id) CREATE INDEX Idx_Result_id ON Test_result (Result_id) CREATE INDEX Idx_Answer_id ON Answer_test (Answer_id) CREATE INDEX Idx_Position_id ON Position (Position_id) CREATE INDEX Idx_ Position_name ON Position (Position_name) CREATE INDEX Idx_Publikasi_id ON Publikasi (Publikasi_id) CREATE INDEX Idx_Konfirmasi _id ON Konfirmasi (Konfirmasi_id) CREATE INDEX Idx_Konfirmasi_id ON DetailKonfirmasi (Konfirmasi_id) CREATE INDEX Idx_Form_id ON DetailKonfirmasi (Form_id) CREATE INDEX Idx_Riwayat_pekerjaan_id ON Riwayat_pekerjaan (Riwayat_pekerjaan_id) CREATE INDEX Idx_nama_perusahaan ON Riwayat_pekerjaan (Nama_perusahaan) CREATE INDEX Idx_Keluarga _id ON Keluarga (Keluarga_id)
159
CREATE INDEX Idx_ Nama ON Keluarga (Nama) CREATE INDEX Idx_Bahasa _id ON Bahasa (Bahasa_id) CREATE INDEX Idx_ Macam_bahasa ON Bahasa (Macam_bahasa) CREATE INDEX Idx_Kegiatan_sosial_id ON Kegiatan_sosial (Kegiatan_sosial_id) CREATE INDEX Idx_organisasi ON Kegiatan_sosial (Organisasi) CREATE INDEX Idx_Riwayat_pendidikan_id ON Riwayat_pendidikan (Riwayat_pendidikan_id) CREATE INDEX Idx_nama ON Riwayat_pendidikan (Nama) CREATE INDEX Idx_ Kendaraan_id ON Kendaraan (Kendaraan_id) CREATE INDEX Idx_ Jenis ON Kendaraan (Jenis) CREATE INDEX Idx_ Kebutuhan_posisi_id ON Kebutuhan_posisi (Kebutuhan_posisi_id) CREATE INDEX Idx_ Kursus _id ON Kursus (Kursus _id) CREATE INDEX Idx_ komponen_id ON komponen_kebutuhan (komponen_id) CREATE INDEX Idx_ komponen_id ON KomponenkebutuhanPosisi (komponen_id) CREATE INDEX Idx_ kebutuhan_id ON KomponenkebutuhanPosisi (kebutuhan_id)
3.3.3.2.5 Estimasi Kebutuhan Disk Space Perangkat keras sangat diperlukan dan sangat berpengaruh dalam kelancaran dalam melakukan implementasi proses-proses pada aplikasi web ini. Spesifikasi minimum perangkat keras ini meliputi perangkat keras
160
pada server dan client. Representasi data perangkat keras yang diperlukan dapat dilihat di tabel berikut : Tabel 3.31 Perkiraan disk space karyawan Tipe Data & Ukuran Atribut Length (Byte) Karyawan_id
Char(10)
10
Nama
Varchar(50)
51
Jenis_kelamin
Varchar(6)
7
No_telepon
Varchar(12)
13
Alamat
Varchar(100)
101
Email
Varchar(50)
51
Total
233
Tabel 3.32 Perkiraan disk space lamaran Atribut Tipe Data & Length Ukuran (Byte) Form_id
Char(10)
10
Kebutuhan_id
Char (10)
10
Karyawan_id
Char (10)
10
Date
Date
3
Nama
Varchar(50)
51
Alamat
Varchar(100)
101
Kewarganegaraan
Varchar(15)
16
Mobile
Varchar(12)
13
Telepon
Varchar(12)
13
No_ktp
Char(16)
16
161
Atribut
Tipe Data & Length
Ukuran (Byte)
Golongan_darah
Varchar(2)
3
Foto
Varchar(15)
16
Pengalaman_kerja
Varchar(20)
21
Gpa
Float
4
Tinggi
Smallint
2
Berat
Smallint
2
Agama
Varchar(15)
16
Tanggal_lahir
Date
3
Tempat_lahir
Varchar(25)
26
Tempat_tinggal
Char(10)
11
Status_perkawinan
Char(10)
11
Jenis_kelamin
Varchar(6)
7
Nego_gaji
Int
4
No_SIM_A
Char(12)
12
No_SIM_B
Char(12)
12
No_SIM_C
Char(12)
12
Silinder
Varchar(5)
6
Kanan
Float
4
Kiri
Float
4
Status_lamaran
Char(10)
11
Email
Varchar(50)
51
162
Posisi
Varchar(30)
31 Total
512
Tabel 3.33 Perkiraan disk space kendaraan Atribut Tipe Data & Length Ukuran (Byte) Kendaraan_id
Char(10)
10
Form_id
Char(10)
10
Jenis
Varchar(15)
16
Merk
Varchar(15)
16
Tahun
Smallint
2
Milik
Varchar(15)
16
Total
70
Tabel 3.34 Perkiraan disk space keluarga Atribut Tipe Data & Length Ukuran (Byte) Keluarga_id
Char(10)
10
Form_id
Char(10)
10
Nama
Varchar(50)
51
Status
Char(10)
11
Jenis_kelamin
Varchar(6)
7
Usia
Tinyint
1
Pendidikan_terakhir
Varchar(4)
5
Jabatan
Varchar(20)
21
Perusahaan
Varchar(20)
21
163
Keterangan
Varchar(50)
51 Total
188
Tabel 3.35 Perkiraan disk space riwayat_pendidikan Atribut Tipe Data & Length Ukuran (Byte) Riwayat_pendidikan_id
Char(10)
10
Form_id
Char(10)
10
Nama_lembaga
Varchar(35)
36
Tingkat
Varchar(4)
5
Tempat
Varchar(20)
21
Jurusan
Varchar(20)
21
Tahun_masuk
Smallint
2
Tahun_lulus
Smallint
2
Status_kelulusan
Varchar(5)
6
Karya_ilmiah
Varchar(50)
51
Total
164
Tabel 3.36Perkiraan disk space riwayat_pekerjaan Atribut
Tipe Data & Length
Ukuran (Byte)
Riwayat_pekerjaan_id
Char(10)
10
Form_id
Char(10)
10
Nama_perusahaan
Varchar(35)
36
Telepon_perusahaan
Varchar(12)
13
Jenis_usaha
Varchar(20)
21
Lokasi_perusahaan
Varchar(35)
36
164
Jumlah_karyawan
Int
4
Jabatan_awal
Varchar(35)
36
Jabatan_akhir
Varchar(35)
36
Gaji
Int
4
Tunjangan
Varchar(35)
36
Nama_atasan
Varchar(35)
36
Tanggal_mulai_bekerja
Date
3
Tanggal_akhir_bekerja
Date
3
Alasan_pindah
Varchar(35)
36 Total
320
Tabel 3.37 Perkiraan disk space bahasa Atribut Tipe Data & Length Ukuran (Byte) Bahasa_id
Char(10)
10
Form_id
Char(10)
10
Macam_bahasa
Varchar(25)
26
Mendengar
Varchar(12)
13
Membaca
Varchar(12)
13
Berbicara
Varchar(12)
13
Menulis
Varchar(12)
13 Total
98
165
Tabel 3.38Perkiraan disk space kursus Atribut Tipe Data & Length Ukuran (Byte) Kursus_id
Char(10)
10
Form_id
Char(10)
10
Bidang
Varchar(20)
21
Penyelenggara
Varchar(30)
31
Tempat
Varchar(30)
31
Lama
Tinyint
1
Tahun
Smallint
2
Dibiayai_oleh
Varchar(30)
31
Total
137
Tabel 3.39Perkiraan disk space kegiatan_sosial Atribut Tipe Data & Length Ukuran (Byte) Kegiatan_sosial_id
Char(10)
10
Form_id
Char(10)
10
Organisasi
Varchar(35)
36
Jenis kegiatan
Varchar(35)
36
Jabatan
Varchar(35)
36
Tahun
Smallint
2 Total
100
166
Tabel 3.40Perkiraan disk space test_result Atribut Tipe Data & Length Ukuran (Byte) Result_id
Char(10)
10
Form_id
Char(10)
10
Total_L
Tinyint
1
Total_O
Tinyint
1
Total_G
Tinyint
1
Total_B
Tinyint
1
English_result
Tinyint
1 Total
25
Tabel 3.41 Perkiraan disk space english_test Atribut Tipe Data & Length Ukuran (Byte) Test_id
Char(10)
10
Form_id
Char(10)
10
Content
Varchar(255)
256
Total
276
Tabel 3.42Perkiraan disk space answer_test Atribut Tipe Data & Length Ukuran (Byte) Answer_id
Char(10)
10
Test_id
Char(10)
10
Content
Varchar(50)
51
Status
Varchar(6)
7 Total
78
167
Tabel 3.43 Perkiraan disk space konfirmasi Atribut Tipe Data & Length Ukuran (Byte) Konfirmasi_id
Char(10)
10
Karyawan_id
Char(10)
10
Form_id
Char(10)
10
Email_content
Varchar(255)
256
SMS_content
Varchar(160)
161
Web_content
Varchar(255)
256
Date
Date
3
Subject
Varchar(30)
31 Total
737
Tabel 3.44 Perkiraan disk space position Atribut Tipe Data & Length Ukuran (Byte) Position_id
Char(10)
10
Position_name
Varchar(30)
31
Deskripsi_posisi
Varchar(255)
256
Total
297
Tabel 3.45 Perkiraan disk space publikasi Atribut Tipe Data & Length Ukuran (Byte) Publikasi_id
Char(10)
10
Nama_publikasi
Varchar(30)
31
Content
Varchar(50)
51
Date
Date
3
168
Img
Varchar(50)
51 Total
146
Tabel 3.46 Perkiraan disk space detailKonfirmasi Atribut Tipe Data & Length Ukuran (Byte) Form_id
Char(10)
10
Konfirmasi_id
Char(10)
10 Total
20
Tabel 3.47 Perkiraan disk space DetailPublikasi Atribut Tipe Data & Length Ukuran (Byte) Publikasi_id
Char(10)
10
Kebutuhan_id
Char(10)
10 Total
20
Tabel 3.48 Perkiraan disk space KomponenKebutuhanPosisi Atribut Tipe Data & Length Ukuran (Byte) Kebutuhan_id
Char(10)
10
Komponen_id
Char(10)
10 Total
20
Tabel 3.49 Perkiraan disk space kebutuhan_posisi Atribut Tipe Data & Length Ukuran (Byte) Kebutuhan_id
Char(10)
10
Position_id
Char(10)
10
Publikasi_id
Char (10)
10
169
Komponen_id
Char (10)
10
Jumlah
Tinyint
1 Total
41
Tabel 3.50 Perkiraan disk space komponen_kebutuhan Atribut Tipe Data & Length Ukuran (Byte) Komponen_id
Char(10)
10
Nama_komponen
Varchar(20)
21
Syarat
Tinyint
1
Pembanding
Varchar(2)
3 Total
35
Tabel 3.51 Perkiraan pertambahan data dalam satu tahun Jumlah Jumlah Ukuran pertambahan pertambahan Nama Entitas per baris baris per kapasitas per (byte) tahun tahun (byte) Karyawan
233
30
6990
Lamaran
512
2000
984000
70
1000
70000
Keluarga
188
8000
1504000
Riwayat_pendidikan
163
8000
1304000
Riwayat_pekerjaan
320
4000
1280000
98
3000
294000
Kegiatan_sosial
100
3000
300000
Kursus
137
3000
411000
Test_result
25
2000
50000
English_test
276
10
2760
Answer_test
78
40
3120
Kendaraan
Bahasa
170
Konfirmasi
737
3000
2211000
Position
297
2
594
Publikasi
146
12
1752
detailKonfirmasi
20
3000
60000
detailPublikasi
20
12
32
KomponenKebutuhanPosisi
20
2
40
Kebutuhan_posisi
41
5
205
Komponen_kebutuhan
35
2
70
3516
40115
141044340
Total
3.3.3.3 Design User View Pada tahap ini merancang user view sesuai yang telah diidentifikasikan pada tahap analisis dan pengumpulan kebutuhan siklus hidup aplikasi basis data. Adapun user view pada sistem basis data ini adalah sebagai berikut: • View Tabel 3.52 Query View --view data pelamar yang masuk blacklist CREATE VIEW viewblacklist AS SELECT Form_id as id, Nama as nama, Alamat as alamat, Tanggal_lahir as tanggallahir, Mobile as telepon, Email as email, Jenis_kelamin as jeniskelamin FROM Lamaran WHERE Status_lamaran='blacklist'; --view data pelamar yang diterima CREATE VIEW viewpelamarditerima AS SELECT l.Form_id as id, l.Date as tanggal, l.Nama as nama, l.Umur as umur, SUM(rp.Tanggal_akhir_bekerja rp.Tanggal_mulai_bekerja) as pengalamankerja, l.GPA as GPA, l.Posisi as posisi, l.Jenis_kelamin as jeniskelamin, l.Tinggi as tinggi FROM Lamaran l JOIN Riwayat_pekerjaan rp
171
ON l.Form_id=rp.Form_id WHERE Status_lamaran='diterima' GROUP BY l.Form_id; --view data pelamar yang ditolak CREATE VIEW viewpelamarditolak AS SELECT l.Form_id as id, l.Nama as nama, l.Umur as umur, SUM(rp.Tanggal_akhir_bekerja - rp.Tanggal_mulai_bekerja) as pengalamankerja, l.GPA as GPA, l.Posisi as posisi, l.Jenis_kelamin as jeniskelamin, l.Tinggi as tinggi FROM Lamaran l JOIN Riwayat_pekerjaan rp ON l.Form_id=rp.Form_id WHERE Status_lamaran='ditolak' GROUP BY l.Form_id; --view data pelamar yang menjadi kandidat CREATE VIEW viewkandidat AS SELECT l.Form_id as id, l.Nama as nama, l.Umur as umur, SUM(rp.Tanggal_akhir_bekerja - rp.Tanggal_mulai_bekerja) as pengalamankerja, l.GPA as GPA, l.Posisi as posisi, l.Jenis_kelamin as jeniskelamin, l.Tinggi as tinggi FROM Lamaran l JOIN Riwayat_pekerjaan rp ON l.Form_id=rp.Form_id WHERE Status_lamaran='kandidat' GROUP BY l.Form_id; --view soal tes bahasa inggris CREATE VIEW viewsoal AS SELECT et.Test_id as id, et.Content as soal, at.Content as jawaban FROM English_test et JOIN Answer_test rp ON et.Test_id=at.Test_id;
172
--view hasil test pelamar CREATE VIEW viewhasil AS SELECT tr.Result_id as id, l.Nama as Nama, tr.Total_L as L, tr.Total_O as O, tr.Total_G as G tr.Total_B as B FROM Test_result tr JOIN Lamaran l ON tr.Form_id=l.Form_id; --view konfirmasi CREATE VIEW viewkonfirmasi AS SELECT k.Konfirmasi_id as id, k.Date as tanggalpengiriman, k.subject as subjek, l.Nama as Nama FROM Konfirmasi k JOIN Lamaran l ON k.Form_id=l.Form_id; --view posisi CREATE VIEW viewposisi AS SELECT Position_id as id, Position_name as nama, Deskripsi_posisi as deskripsi FROM Position;
--view kebutuhan posisi CREATE VIEW viewkebutuhanposisi AS SELECT kp.Kebutuhan_id as id, kp.Jumlah as jumlah, p.Position_name, as posisi FROM Kebutuhan_posisi kp JOIN Position p ON kp.Position_id=p.Position_id; --view komponen kebutuhan CREATE VIEW viewkomponenkebutuhan AS SELECT kk.Komponen_id as id, p.Position_name as posisi, kk.Nama_komponen as komponen, kk.Syarat as syarat, kk.Pembanding as pembanding
173
FROM Komponen_kebutuhan kk JOIN Kebutuhan_posisi kp ON kk.Komponen_id=kp.Komponen_id JOIN Position p ON kp.Position_id=p.Position_id; --view publikasi CREATE VIEW viewpublikasi AS SELECT p.Publikasi_id as id, p.Nama_publikasi as judul, p.Content as konten, ps.Position_name as posisi, date,img, kk.Nama_komponen as komponen, kk.Syarat as syarat, kk.Pembanding as pembanding FROM Publikasi p JOIN kebutuhan_posisi kp ON kp.Publikasi_id=p.Publikasi_id JOIN Position ps ON kp.Position_id=ps.Position_id JOIN komponen_kebutuhan kk ON kp.Komponen_id=kk.Komponen_id; --view data pelamar yang diterima CREATE VIEW viewpelamarditerima AS SELECT l.Form_id as id, l.Nama as nama, l.Alamat as alamat, l.Email as email, l.Posisi as posisi, l.Kewarganegaraan as kewarganegaraan, l.Mobile as mobile, l.Telepon as telepon, l.No_ktp as KTP, l.Golongan_darah as golongandarah, l.Foto as foto, l.Umur as umur, SUM(rp.Tanggal_akhir_bekerja rp.Tanggal_mulai_bekerja) as pengalamankerja, l.GPA as GPA, l.Posisi as posisi, l.Jenis_kelamin as jeniskelamin, l.Tinggi as tinggi, l.Berat as berat, l.Agama as agama, l.Tanggal_lahir as tanggallahir, l.Tempatlahir, l.Tempat_tinggal as tempattinggal, l.Status_perkawinan as status, l.Nego_gaji as gaji, l.No_SIM_A as [SIM A] , l.No_SIM_B as [SIM B] , l.No_SIM_C as [SIM C], l.Silinder as silnder, l.Kanan as kanan, l.Kiri as kiri
174
FROM Lamaran l JOIN Riwayat_pekerjaan rp ON l.Form_id=rp.Form_id GROUP BY l.Form_id; •
Store procedure 1. InsertLamaran CREATE PROCEDURE `insertLamaran`(Form_id char(10), Karyawan_id char(10), Kebutuhan_id char(10), Date date, Nama
varchar(50),
varchar(50),
Alamat
Posisi
varchar(50),
varchar(30),
Foto
Email
varchar(15),
Kewarganegaraan varchar(15), Mobile varchar(12), Telepon varchar(12), No_ktp varchar(16), Golongan_darah varchar(2), GPA float, Tinggi smallint, Berat smallint, Agama varchar(15), Tanggal_lahir date, Tempat_lahir varchar(25), Tempat_tinggal char(10),
Status_perkawinan
char(10),
Jenis_kelamin
varchar(6), Nego_gaji int, Silinder varchar(5), Kanan float, Kiri float, No_SIM_A varchar(12),
No_SIM_B varchar(12),
No_SIM_C varchar(12), Status_lamaran char(10)) INSERT
INTO
Lamaran(Form_id,
Kebutuhan_id, Nama, Alamat, Email,
Karyawan_id, Posisi,
Foto,
Kewarganegaraan, Mobile, Telepon, No_ktp, Golongan_darah, GPA,
Tinggi, Berat, Agama, Tanggal_lahir, Tempat_lahir,
Tempat_tinggal, Status_perkawinan, Jenis_kelamin, Nego_gaji, Silinder, Kanan, Kiri, No_SIM_A, No_SIM_B, No_SIM_C, Status_lamaran) VALUES (Form_id, Karyawan_id, Kebutuhan_id, Nama, Alamat, Email, Posisi, Foto,
Kewarganegaraan,
Mobile,
Telepon, No_ktp, Golongan_darah, GPA, Tinggi, Berat, Agama,
Tanggal_lahir,
Status_perkawinan,
Tempat_lahir,
Jenis_kelamin,
Tempat_tinggal,
Nego_gaji,
Silinder,
175
Kanan,
Kiri,
No_SIM_A,
No_SIM_B,
No_SIM_C,
Status_lamaran) 2. InsertKebutuhanPosisi CREATE
PROCEDURE
`insertKebutuhanPosisi'
(Kebutuhan_id char(10), Publikasi_id char(10), Position_id char(10), Komponen_id char(10), Jumlah tinyint) INSERT INTO Kebutuhan_posisi(Kebutuhan_id, Publikasi_id, Position_id,
Komponen_id, Jumlah)
VALUES
(Kebutuhan_id,
Publikasi_id,
Position_id,
Komponen_id, Jumlah) 3. InsertKomponenKebutuhan CREATE
PROCEDURE
`insertKomponenKebutuhan'
(Komponen_id char(10), Nama_komponen varchar(20), Syarat int, Pembanding varchar(2)) INSERT
INTO
Komponen_Kebutuhan(Komponen_id,
Nama_komponen, Syarat, VALUES
Pembanding)
(Komponen_id,
Nama_komponen,
Syarat,
Pembanding) 4. InsertKonfirmasi CREATE PROCEDURE `insertKonfirmasi' (Konfirmasi_id char(10),
Karyawan_id
Email_content
char(10),
varchar(255),
Form_id
SMS_content
char(10),
varchar(160),
Web_content varchar(255), Date date, Subject varchar(30)) INSERT
INTO
Konfirmasi(Konfirmasi_id,
Form_id, Email_content,
SMS_content,
Karyawan_id, Web_content,
Date, Subject) VALUES(Konfirmasi_id,
Karyawan_id,
Form_id,
Email_content, SMS_content, Web_content, Date, Subject)
176
5. UpdateStatusLamaran CREATE PROCEDURE `updateStatusLamaran`( form_ids char(10), status_lamaran char(10) ) UPDATE lamaran SET status_lamaran= status_lamaran WHERE form_id=form_ids 6. UpdateKomponenKebutuhan CREATE PROCEDURE ‘updateKomponenKebutuhan` (komponen_ids char(10), nama_komponen varchar(20), syarat int, pembanding varchar(2) ) UPDATE komponen_kebutuhan SET nama_komponen= nama_komponen, syarat=syarat,pembanding=pembanding WHERE komponen_id=komponen_ids 7. UpdateKebutuhanPosisi CREATE PROCEDURE ` updateKebutuhanPosisi` ( kebutuhan_ids char(10), jumlah tinyint ) UPDATE kebutuhan_posisi SET jumlah=jumlah WHERE kebutuhan_id= kebutuhan _ids 8. UpdatePublikasi CREATE PROCEDURE ` updatePublikasi` (publikasi_ids char(10), nama_publikasi varchar(30), content varchar(50), date date, img varchar(50)) UPDATE publikasi SET nama_publikasi= nama_publikasi, content=content, date=date WHERE publikasi_id= publikasi_ids 9. DeletePublikasi CREATE PROCEDURE ` updatePublikasi`( publikasi_ids char(10)) DELETE FROM ‘publikasi’ WHERE publikasi_id= publikasi_ids
177
10. SelectLamaran CREATE PROCEDURE `selectlamaran`( form_ids char(10), status_lamaran char(10)) SELECT Nama, Alamat, Email, Posisi Foto, Kewarganegaraan, Mobile, Telepon, No_ktp, Golongan_darah, GPA, Tinggi, Berat, Agama,
Tanggal_lahir,
Tempat_lahir,
Tempat_tinggal,
Status_perkawinan, Jenis_kelamin, Nego_gaji, Silinder, Kanan, Kiri, No_SIM_A, No_SIM_B, No_SIM_C, Status_lamaran FROM `lamaran` WHERE
`form_id`=form_ids
and
‘status_lamaran’
=status_lamaran 11. SelectTest CREATE PROCEDURE `selecttest`( rest_ids char(10)) SELECT Content FROM `english_test` WHERE ` test_id `=test_ids 12. SelectResult CREATE PROCEDURE `selecttest_result`( result_ids char(10)) SELECT Total_L, Total_O, Total_G, Total_B, English_result FROM `test_result` WHERE `result_id `= result_ids 13. SelectKonfirmasi CREATE
PROCEDURE
`selectkonfirmasi`(
konfirmasi_ids
char(10)) SELECT Email_content, SMS_content, Web_content, Date, Subject
FROM
`konfirmasi`
WHERE
`konfirmasi_id
`=
konfirmasi_ids 14. SelectPosition CREATE PROCEDURE `selectposition`( position_ids char(10)) SELECT Position_Name, Deskripsi_posisi FROM `position` WHERE ` position_id `= Position_ids
178
15. SelectKebutuhanPosisi CREATE
PROCEDURE
`selectkebutuhan_posisi`(
kebutuhan_ids char(10)) SELECT
Position_id,
Komponen_id,
Jumlah
FROM
`kebutuhan_posisi` WHERE ` kebutuhan_id`= kebutuhan_ids 16. SelectKomponenKebutuhanPosisi CREATE
PROCEDURE
`selectkomponen_kebutuhan_posisi`(
komponen_ids
char(10)) SELECT Nama_komponen, Syarat, Pembanding `komponen_kebutuhan`
WHERE
`
FROM
komponen_id`=
komponen_ids
17. SelectPublikasi CREATE
PROCEDURE
`selectpublikasi`(
publikasi_ids
char(10)) SELECT
Nama_publikasi,
Content,
Date,img
FROM
`publikasi` WHERE ` publikasi_id`= publikasi_ids 3.3.3.4 Desain Mekanisme Keamanaan / Security Relasi
Tabel 3.53 Mekanisme keamanan Recruiter Pelamar I
R
U
D
I
R
X
X
U
D
Guest I
R
U
Transaksi karyawan
X
Lamaran
X
X
X
English_test
X
X
X
X
X
Test_result
X
Answer_test
X
Position
X
X
X
X
X
Publikasi
X
X
X
X
X
X
Pelamar
Guest
Relasi
Recruiter
D
179
I
R
U
X
X
X
D
I
R
U
D
I
R
U
D
Transaksi Konfirmasi
X
X
X
X
DetailKonfirmasi
X
DetailLamaran
X
Riwayat_pekerjaan
X
X
X
Keluarga
X
X
X
Bahasa
X
X
X
Kegiatan_sosial
X
X
X
Riwayat_pendidik
X
X
X
X
X
X
an Kendaraan Kebutuhan_posisi
X
X
X
X
X X
X
Kursus
X
X
komponenkebutuh X
X
X
X
X
X
X
X
X
X
X
an Komponenkebutu
X
hanPosisi R:Read , I: Insert ; U:Update ; D:Delete
3.4
Rancangan Aplikasi Pada tahap ini akan membahas mengenai perancangan aplikasi yang akan dibuat.
180
3.4.1 Struktur Menu
Gambar 3.11. Struktur menu website 3.4.2 State Trantition Diagram Diagram ini menjelaskan tentang hubungan antara hubungan antara bagian menu yang terdapat didalam website PT. Asuransi Jiwa Sinarmas Eka Jiwa MSIG.
181
Gambar 3.12. STD Home untuk guest STD Home menjelaskan alur dari perubahan aksi di dalam Home Guest. Dengan klik Home akan menampilkan sub menu dari Home. Dengan klik Recruitment akan menampilkan layar Recruitment. Dengan klik Career akan menampilkan layar Career. Dengan klik About us akan menampilkan layar About us. Dengan klik FAQ akan menampilkan layar FAQ. Dengan klik Signup akan menampilkan layar Signup. Dengan klik Signin akan menampilkan layar Signin.
182
Gambar 3.13. STD Login STD login menjelaskan alur dari perubahan aksi didalam login. Jika validasi yang dilakukan berhasil, maka akan menampilkan layar Home tetapi jika validasi yang dilakukan tidak berhasil,maka akan memunculkan pesan kesalahan pada layar Login.
Gambar 3.14 STD Signup STD signup menjelaskan alur dari perubahan aksi di dalam signup. Dengan klik signup akan menampilkan layar signup. Klik Submit pada layar signup akan menampilkan layar Home untuk Member.
183
Gambar 3.15 STD Home untuk pelamar
STD Home menjelaskan alur dari perubahan aksi di dalam Home pelamar. Dengan klik Recruitment akan menampilkan layar Recruitment. Dengan klik Career akan menampilkan layar Career. Dengan klik About us akan menampilkan layar About us. Dengan klik FAQ akan menampilkan layar FAQ. Dengan klik konfirmasi akan menampilkan layar konfirmasi. Dengan klik Logout akan keluar dari Home pelamar.
184
Gambar 3.16 STD rekrutmen pelamar STD rekrutmen pelamar menjelaskan alur dari perubahan aksi di dalam rekrutmen pelamar. Dengan klik recruitment akan menampilkan layar rekrutmen. Dengan klik my profile maka akan menampilkan layar my profile.
Dengan klik edit maka akan menampilkan layar edit profile. klik save akan mengubah profile. Dengan klik cancel akan membatalkan update profile. Dengan klik CV maka akan menampilkan layar dari CV. Dengan klik Prev akan
menampilkan
halaman
sebelumnya.
Dengan
klik
Next
akan
menampilkan halaman selanjutnya. Dengan klik Submit CV akan memasukan CV. Dengan klik Submit tes maka akan memasukan tes. Dengan klik Home maka akan menampilkan layar Home.
185
Gambar 3.17 STD konfirmasi pelamar
STD konfirmasi pelamar menjelaskan alur dari perubahan aksi di dalam konfirmasi pelamar. Dengan klik konfirmasi maka akan menampilkan layar konfirmasi.
Gambar 3.18 STD Home untuk Karyawan
STD Home menjelaskan alur dari perubahan aksi di dalam Home karyawan. Dengan klik List pelamar akan menampilkan layar List pelamar.
186
Dengan klik profile akan menampilkan layar profile karyawan. Dengan klik Report akan menampilkan layar Report. Dengan klik Logout akan keluar dari Home karyawan.
Gambar 3.19 STD Publikasi karyawan STD publikasi karyawan menjelaskan alur dari perubahan aksi di dalam publikasi karyawan. Dengan klik Add akan menampilkan layar Add publikasi. Dengan klik save akan menambah data publikasi. Dengan klik cancel akan membatalkan tambahan Add publikasi. Dengan klik Edit akan menampilkan layar Edit publikasi. Dengan klik save akan update data publikasi. Dengan klik cancel akan membatalkan update publikasi. Dengan klik Delete akan menghapus data publikasi.
187
Gambar 3.20 STD Update Profile STD update profile menjelaskan alur dari perubahan aksi di dalam update profile. Dengan klik profile akan menampilkan layar dari profile. Dengan klik edit akan menampilkan layar edit. Dengan klik save akan mengubah profile. Dengan klik cancel akan membatalkan update profile.
Gambar 3.21 STD list lamaran STD list lamaran menjelaskan alur dari perubahan aksi di dalam list lamaran. Dengan klik list lamaran maka akan menampilkan layar list lamaran. Dengan klik update akan mengubah status lamaran. Dengan klik confirm
188
maka akan menampilkan layar confirm. Dengan klik submit akan mengirim konfirmasi. Dengan klik cancel akan membatalkan konfirmasi.
Gambar 3.22 Report STD Report menjelaskan alur dari perubahan aksi di dalam Report lamaran. Dengan klik Report maka akan menampilkan layar Report. Dengan klik laporan pelamar akan menampilkan layar laporan pelamar. Dengan klik pilih akan menampilkan laporan bulan dan tahun. Dengan klik cetak laporan akan menampilkan layar laporan transaksi lamaran. Dengan klik laporan kandidat akan menampilkan layar laporan kandidat. Dengan klik pilih akan menampilkan laporan bulan dan tahun. Dengan klik cetak laporan akan menampilkan layar laporan transaksi kandidat. Dengan klik laporan lamaran diterima akan menampilkan layar laporan lamaran diterima. Dengan klik pilih akan menampilkan laporan bulan dan tahun. Dengan klik cetak laporan akan menampilkan layar laporan transaksi lamaran diterima Dengan klik laporan lamaran ditolak akan menampilkan layar laporan lamaran ditolak. Dengan
189
klik pilih akan menampilkan laporan bulan dan tahun. Dengan klik cetak laporan akan menampilkan layar laporan transaksi lamaran ditolak
Gambar 3.23 Manage Test STD Manage Test menjelaskan alur dari perubahan aksi didalam Manage Test karyawan. dengan klik Manage Test akan menampilkan layar Manage Test. Dengan klik Add akan menampilkan layar Addtest. Dengan klik save akan menambah soal test. Dengan klik cancel akan membatalkan tambahan soal test. Dengan klik update akan menampilkan layar updatetest. Dengan klik save akan mengubah soal test. Dengan klik cancel akan membatalkan update soal. Dengan klik Delete akan menghapus soal test. 3.4.3
Perancangan Layar Input dan Output Pada tahap ini dilakukan perancangan layar input dan layar output aplikasi.
190
3.4.3.1 Perancangan Layar Input Perancangan Layar Input berisi rancangan layar yang berupa input yang dilakukan oleh user. Berikut ini merupakan perancangan layar input yang terdapat di dalam website PT. Asuransi Jiwa Sinarmas Eka Jiwa MSIG.
Gambar 3.24 Perancangan layar sign in untuk guest Pada menu sign in, bagi karyawan dan pelamar harus memasukan email dan password agar dapat mengakses web lebih lanjut.
191
Gambar 3.25 Perancangan layar sign up untuk guest Pada menu Sign up, bagi guest atau pengunjung yang ingin melakukan lamaran kerja, harus mendaftar terlebih dahulu.
192
Gambar 3.26 Perancangan change password untuk pelamar pelamar hanya dapat mengganti password account-nya.
193
Gambar 3.27 Perancangan CV untuk pelamar Pada menu CV, pelamar akan mengisi biodata diri yang diperlukan oleh pihak perusahaan.
194
Gambar 3.28 Perancangan CV keluarga untuk pelamar Pada menu CV keluarga, pelamar akan mengisi mengenai riwayat keluarga yang diperlukan oleh pihak perusahaan.
195
Gambar 3.29 Perancangan CV riwayat pekerjaan untuk pelamar Pada menu CV riwayat pekerjaan, pelamar akan mengisi mengenai riwayat pekerjaan sebelumnya yang diperlukan oleh pihak perusahaan.
196
Gambar 3.30 Perancangan CV untuk riwayat pendidikan dan keahlian bahasa untuk pelamar Pada menu CV riwayat pendidikan, keahlian bahasa dan kursus pelamar akan mengisi mengenai riwayat pendidikan dan keahlian macam-macam bahasa yang dikuasi oleh pelamar.
197
Gambar 3.31 Perancangan CV kegiatan sosial untuk pelamar Pada menu CV kegiatan sosial, pelamar akan mengisi mengenai kegiatan sosial apa saja yang pernah pelamar ikuti.
198
Gambar 3.32 Perancangan test personalia untuk pelamar Pada menu test personalia, pelamar akan melakukan test personalia agar dapat diketahui sifat dominan dari pelamar.
199
Gambar 3.33 Perancangan test bahasa inggris untuk pelamar Pada menu test, pelamar akan melakukan test bahasa inggris agar dapat mengetahui keahlian pelamar dalam menjawab pertanyaan dalam bahasa inggris.
200
Gambar 3.34 Perancangan list publikasi untuk karyawan Pada menu list publikasi, karyawan dapat melihat publikasi apa yang sudah ada, dan karyawan dapat menambah, mengubah dan menghapus publikasi.
201
Gambar 3.35 Perancangan edit publikasi untuk karyawan Pada saat edit publikasi, karyawan dapat mengubah informasi publikasi.
202
Gambar 3.36 Perancangan list pelamar untuk karyawan Pada menu list pelamar, karyawan dapat melihat pelamar yang melakukan lamaran pada perusahan beserta informasi mengenai pelamar dan menentukan status pelamar termasuk dalam kandidat, diterima, atau ditolak.
203
Gambar 3.37 Perancangan konfirmasi untuk karyawan Pada menu konfirmasi, karyawan menentukan subjek dan isi informasi yang akan dikirim ke pelamar.
204
Gambar 3.38 Perancangan myprofile untuk karyawan Pada menu myprofile, karyawan hanya dapat mengganti password account-nya.
205
Gambar 3.39 Perancangan manage test untuk karyawan Pada menu Manage Test, karyawan dapat menambahkan, update, delete soal test inggris yang nantinya akan diisi oleh pelamar.
206
Gambar 3.40 Perancangan manage test untuk karyawan Pada saat update di menu Manage Test, karyawan dapat merubah soal serta jawaban yang diinginkan.
207
Gambar 3.41 Perancangan manage test untuk karyawan Pada saat menambahkan soal test di menu Manage Test, karyawan dapat menambahkan soal, pilihan jawaban dan jawaban yang benar. 3.4.3.2 Perancangan Layar Output Perancangan output berisi layar tampilan yang berupa keluar – keluar dari transaksi yang dilakukan oleh user. Berikut beberapa tampilan layar output pada website PT. Asuransi Jiwa Sinarmas Eka Jiwa MSIG.
208
Gambar 3.42 Perancangan layar home untuk pengunjung User pertama kali akan dihadapakan oleh layar tampilan home seperti di atas. Terdapat menu home, recruitment, career, about us, faq, sign in dan sign up.
209
Gambar 3.43 Perancangan layar recruitment untuk pengunjung Pada perancangan layar recruitment user dapat melihat tahap-tahap dalam perekrutan dan informasi yang diperlukan dalam perekrutan.
210
Gambar 3.44 Perancangan layar career untuk pengunjung Pada perancangan layar career user dapat melihat informasi mengenai macam-macam pekerjaan yang terdapat dalam PT. Asuransi Jiwa Sinarmas Eka Jiwa MSIG.
211
Gambar 3.45 Perancangan layar about us untuk pengunjung Pada perancangan layar about us, user dapat melihat informasi informasi tentang PT. Asuransi Jiwa Sinarmas Eka Jiwa MSIG
212
Gambar 3.46 Perancangan layar home untuk pelamar Pelamar pertama kali akan dihadapkan oleh layar tampilan home seperti di atas. Terdapat menu home, recruitment, career, about us,faq, confirmation, myprofile, sign out.
213
Gambar 3.47 Perancangan layar konfirmasi untuk pelamar Pada perancangan layar konfirmasi, pelamar dapat melihat informasi yang diberikan oleh pihak perusahaan seperti informasi untuk jadwal wawancara dan informasi diterima atau ditolak dalam perekrutan.
214
Gambar 3.48 Perancangan layar home untuk karyawan Pelamar pertama kali akan dihadapakan oleh layar tampilan home seperti di atas. Terdapat menu home, list pelamar, report, myprofile , publikasi, sign out.
215
Gambar 3.49 Perancangan layar detail pelamar untuk karyawan Pada menu detail, karyawan dapat melihat informasi CV pelamar secara detil.
216
Gambar 3.50 Perancangan layar detail pelamar untuk karyawan Pada menu detail, karyawan dapat melihat informasi riwayat pekerjaan pelamar secara detil.
217
Gambar 3. 51 Perancangan layar detail pelamar untuk karyawan Pada menu detail, karyawan dapat melihat informasi mengenai susunan keluarga pelamar secara detil.
218
Gambar 3.52 Perancangan layar detail pelamar untuk karyawan Pada menu Detail, karyawan dapat melihat informasi mengenai riwayat pendidikan formal/informal, macam bahasa yang dipelajari pelamar secara detil.
219
Gambar 3.53 Perancangan layar detail pelamar untuk karyawan Pada menu detail, karyawan dapat melihat informasi mengenai kegiatan sosial bahasa yang pernah di ikuti pelamar secara detil.
220
Gambar 3.54 Perancangan layar report pelamar untuk karyawan Pada menu report, karyawan dapat melihat laporan berupa jumlah lamaran pada PT. Asuransi Jiwa Sinarmas Eka Jiwa MSIG
221
Gambar 3.55 Perancangan layar report kandidat untuk karyawan Pada menu report, karyawan dapat melihat laporan berupa jumlah pelamar yang menjadi kandidat untuk melanjutkan ke tahap wawancara selanjutnya.
222
Gambar 3.56 Perancangan layar report lamaran diterima untuk karyawan Pada menu report, karyawan dapat melihat laporan berupa jumlah pelamar yang diterima untuk menjadi karyawan di PT. Asuransi Jiwa Sinarmas Eka Jiwa MSIG
223
Gambar 3.57 Perancangan layar report lamaran ditolak untuk karyawan Pada menu report, karyawan dapat melihat laporan berupa jumlah pelamar yang ditolak dalam proses penyaringan karyawan.
224