LOWONGAN KERJA SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat untuk Memperoleh Gelar Sarjana Teknik Informatika

Gratis

0
0
168
11 months ago
Preview
Full text

  

WEBSITE REKOMENDASI

LOWONGAN KERJA

SKRIPSI

Diajukan untuk Memenuhi Salah Satu

Syarat untuk Memperoleh Gelar Sarjana Teknik Informatika

  Disusun Oleh :

  

AG HARI NUGRAHA (055314001)

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

  

2010

  

WEBSITE RECOMMENDATION

JOB VACANCY

A Thesis

  Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree

  In Department of Informatics Engineering By :

AG HARI NUGRAHA (055314001)

  

INFORMATICS ENGINEERING DEPARTMENT

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

HALAMAN PERSTUJUAN

  HALAMAN PENGESAHAN

HALAMAN PERSEMBAHAN

  

kerja keras,

doa keluarga dan sahabat,

adalah kekuatan terbesar dalam hidup.

  

Kupersembahkan karyaku ini :

Kepada yang terkasih Tuhan Yesus Kristus dan Bunda Maria yang selalu

menyertaiku……

Kepada Keluargaku tercinta papa PH Suyanto, mama Ni Luh Danasari adik-

adikku D. Agung Danarianta, Monica Niya Widayanti, Gus Tony keponakan Gst

Ayu Cicilia

  

Kepada Om Romo Heriyatno Sj atas dukungan doanya dan tak pernah berhenti

mengingatkan pada tugasku.

Kepada Sahabat yang selalu mendukungku Pamako Rendra, F. Pharanzo, Kadek

Dendy P, G. Arief Sudarma, Andrianto, Kartono P, Ign.Hans Veda, Catur Edi,

  

Iken Hendriswari, Phalita Nariwastu, Sthephanus Eka Putra, J. S. Wulandari, Ni

Mas Ayu Gandasari, Ajeng Dewi, Maria Goretti Anjar, Margaretha Ratna,Tessa

Paulin, Dya Sifa, Linus Wedar, VDC 212B crew, SAOS

Kepada teman yang pernah, sedang atau akan mencintai skripsi,

bertahan adalah kunci menyelesaikannya……..

PERNYATAAN KEASLIAN KARYA

  

LEMBAR PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

  Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma: Nama : AG Hari Jati Nugraha NIM : 055314001 Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah yang berjudul:

  WEBSITE REKOMENDASI LOWONGAN KERJA Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.

  Demikian pernyataan ini yang saya buat dengan sebenarnya. Dibuat di Yogyakarta, Pada tanggal: 19 April 2010 Yang menyatakan, AG Hari Jati Nugraha

  

ABSTRAK

  Banyak orang membutuhkan informasi lowongan kerja dengan cepat, akurat tanpa terhalang oleh jarak dan waktu. Demikian pula perusahaan juga memerlukan pekerja yang sesuai standar mereka.. Pada umumnya para pelamar manggunakan fasilitas internet untuk mencari kerja.

  Aplikasi Website Rekomendasi adalah sistem informasi yang digunakan untuk menjembatani pencari kerja dan perusahaan. Website ini dikembangkan untuk memudahkan pencari kerja untuk menyeleksi lowongan kerja dan memudahkan perusahaan untuk menyeleksi pencari kerja.

  Dalam tugas akhir ini sistem yang dibangun dapat dapat memberikan rekomendasi lowongan kepada pencari kerja sesuai dengan dokumen kemampuan yang dipunyai pencari kerja. Dan untuk perusahaan sistem dapat memberikan rekomendasi pencari kerja sesuai lowongan yang perusahaan miliki. Pembuatan rekomendasi dilakukan menggunakan algoritma TF-IDF oleh savoy (1993).

  Website ini dikembangkang menggunakan metode waterfall dan diimplementasikan menggunakan bahasa pemrogaman Java dan basis data MySQL 5.1, Netbeans 6.7.1 dan SQL Yog 5.22.

  Sistem ini diharapkan dapat membantu perusahaan dalam menyeleksi pekerja. Dan dapat membantu perusahaan dalam menyeleksi lowongan.

  ABSTRACT Many people need a job information quickly, accurately unhindered by distance and time.

  Similarly, companies also need workers who fit their standards.. In general, the applicants using internet facility to find a job.

  Application Recommendations Website is an information system that is used to bridge the job seekers and companies. This Website developed to facilitate jobseekers for selecting vacancy and eases companies for selecting jobseekers.

  In this final constructed system can provide recommendations vacancies to job seekers in accordance with the documents belonging to the ability of job seekers. And for a company the system can provide recommendations based on jobs that job seekers have company. Making recommendations made using algorithm TF-IDF by savoy (in 1993).

  This website developing using waterfall method and implemented using the Java programming language and MySQL database 5.1, Netbeans 6.7.1 and SQL Yog 5.22. This system is expected to assist the company in selecting workers. And can assist companies in selecting jobs.

KATA PENGANTAR

  Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus yang telah mengaruniakan kasih- Nya kepada penulis sehingga dapat menyelesaikan tugas akhir ini. Puji syukur kepada Bunda Maria yang selalu menyertai dan mendoakan penulis selama proses penyelesaian tugas akhir ini.

  Dalam penyelesaian tugas akhir ini ada begitu banyak pihak yang telah memberikan bantuan dan perhatian dengan caranya masing-masing sehingga tugas akhir ini dapat diselesaikan. Oleh karena itu saya mengucapkan terimakasih kepada :

  1. Puspaningtyas Sanjaya Adi, S.T, M.T., selaku Dosen Pembimbing yang telah banyak memberikan bimbingan dan masukan dalam penyelesaian tugas akhir ini.

  2. Agnes Maria Polina, S.Kom., M.Sc. dan JB. Budi Darmawan, S.T., M.Sc., selaku dosen penguji yang telah memberikan banyak masukan untuk menyempurnakan tugas akhir ini.

  3. Keluargaku tercinta, Bapak PH Suyanto dan Ibu Ni Luh Danasari, Monika Niya Widayanti, D Agung Danarianta, Gus Tony, Gst. Ayu Cicilia dan Om Romo Heriyatno Sj, yang tak pernah berhentinya memberikan kasihnya, dukungannya dan kepercayaannya kepada penulis selama proses penyelesaian tugas akhir ini

  4. Seluruh staff dosen dan laboran Teknik Informatika Universitas Sanata Dharma yang telah memberikan bekal ilmu, arahan dan pengalaman selama penulis menempuh studi.

  5. Semua pihak yang telah membantu penulisan baik secara langsung maupun tidak langsung, yang tidak dapat penulis sebutkan satu persatu. Penulis amat sadar bahwa tugas akhir ini masih jauh dari sempurna. Oleh karena itu, berbagai masukan yang bermanfaat dalam perbaikan dan pengembangan tugas akhir ini sangat penulis harapkan. Akhir kata semoga tugas akhir ini dapat berguna bagi semua pihak yang membutuhkan.

  Yogyakarta, April 2010 Penulis

  

DAFTAR ISI

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

DAFTAR TABEL

Tabel 2.1 Contoh Proses Parsing Dokumen ................................................................................7Tabel 2.2 Contoh Daftar Stoplist Dokumen .................................................................................8Tabel 2.3 Hasil Indexing Dokumen .............................................................................................8Tabel 2.4 Hasil Pembobotan Dokumen...................................................................................... 10Tabel 2.5 Contoh tabel indexing Pada Proses Pencarian ............................................................ 11Tabel 2.6 Contoh Tabel Pembobotan Pada Proses Pencarian ..................................................... 12Tabel 2.7 Contoh Tabel Hasil Pengurutan Dokumen Pada Proses Pencarian .............................. 13Tabel 2.8 Tabel Penghitungan Recall and Precision .................................................................. 14Tabel 3.1 Kebutuhan Fungsional Pencari Kerja ......................................................................... 16Tabel 3.2 Kebutuhan Fungsional Perusahaan ............................................................................. 16Tabel 3.3 Kebutuhan Fungsional Administrator......................................................................... 17Tabel 3.4 Use Case Model......................................................................................................... 21Tabel 3.5 Use Case Model......................................................................................................... 22Tabel 3.6 Struktur Data Tabel Pencari_Kerja ............................................................................ 50Tabel 3.7 Struktur Data Tabel Perusahaan ................................................................................. 50Tabel 3.8 Struktur Data Tabel Lowongan .................................................................................. 51Tabel 3.9 Struktur Data Tabel Indeks ........................................................................................ 51Tabel 3.10 Struktur Data Tabel Indeks_per ............................................................................... 51Tabel 3.11 Struktur Data Tabel Berita ....................................................................................... 52Tabel 3.12 Struktur Data Rekomendasi_Pencari Kerja .............................................................. 52Tabel 3.13 Struktur Data login .................................................................................................. 53Tabel 4.1 Tabel Implementasi ................................................................................................... 80Tabel 4.2 Tabel Analisa Lowongan ........................................................................................... 83Tabel 4.3 Tabel Analisa Kemampuan Pencari Kerja .................................................................. 84Tabel 4.4 Tabel contoh hipotesa hasil rekomendasi ................................................................... 85Tabel 4.5 Tabel Analisa Kuisioner Lowongan ........................................................................... 87Tabel 4.6 Tabel Analisa Kuisioner Kemampuan Pencari Kerja .................................................. 92Tabel 4.9 Tabel bobot kata idf sesuai id_low 37 ...................................................................... 100

  

DAFTAR GAMBAR

Gambar 2.1 SPK (Sistem Pendukung Keputusan) .......................................................................5Gambar 2.2 Waterfall Method .....................................................................................................6Gambar 3.1 Algoritma yang digunakan pada aplikasi ini. .......................................................... 18Gambar 3.2 Use Case Actor ...................................................................................................... 20Gambar 3.3 Context Diagram .................................................................................................... 22Gambar 3.4 Diagram Berjenjang ............................................................................................... 25Gambar 3.5 DFD Proses Registrasi Pencari Kerja .................................................................... 26Gambar 3.6 DFD Proses Registrasi Perusahaan ......................................................................... 27Gambar 3.7 DFD proses Login .................................................................................................. 29Gambar 3.8 DFD proses Ganti Data Diri ................................................................................... 31Gambar 3.9 DFD proses Tampilkan Perusahaan ........................................................................ 33Gambar 3.10 DFD proses Ganti Password ................................................................................. 34Gambar 3.11 DFD proses Pencarian .......................................................................................... 34Gambar 3.12 DFD proses Ubah Data Perusahaan ...................................................................... 35Gambar 3.13 DFD proses Tambah Lowongan ........................................................................... 37Gambar 3.14 DFD proses Edit Lowongan ................................................................................. 38Gambar 3.15 DFD proses Tampilkan Pencari Kerja .................................................................. 39Gambar 3.16 DFD proses Pencarian .......................................................................................... 40Gambar 3.17 DFD proses Tambah Berita .................................................................................. 41Gambar 3.18 DFD proses Hapus Berita ..................................................................................... 42Gambar 3.19 DFD proses Hapus Berita ..................................................................................... 43Gambar 3.20 DFD proses Hapus Account ................................................................................. 44Gambar 3.21 DFD proses Tambah Account Administrator ........................................................ 45Gambar 3.22 DFD proses Setting Waktu Rekomendasi ............................................................. 46Gambar 3.23 Logical Design Database ...................................................................................... 49Gambar 3.24 Halaman Registrasi Pencari Kerja ........................................................................ 54Gambar 3.25 Halaman Registrasi Perusahaan ............................................................................ 55Gambar 3.28 Halaman Ganti Data Diri ...................................................................................... 58Gambar 3.29 Halaman Ganti Password untuk pencari Kerja ...................................................... 59Gambar 3.30 Halaman Tampilkan Perusahaan .......................................................................... 60Gambar 3.31 Halaman Pencarian .............................................................................................. 61Gambar 3.32 Halaman Hasil Pencarian ..................................................................................... 62Gambar 3.33 Halaman Ganti Password ..................................................................................... 63Gambar 3.34 Halaman Lowongan ............................................................................................. 64Gambar 3.35 Halaman Tambah Lowongan................................................................................ 65Gambar 3.36 Halaman Edit Lowongan ...................................................................................... 66Gambar 3.37 Halaman Edit Lowongan ...................................................................................... 67Gambar 3.38 Halaman Tampilkan Pencari Kerja ....................................................................... 68Gambar 3.39 Halaman Tampilkan Pencari Kerja detail ............................................................. 69Gambar 3.40 Halaman Pencarian .............................................................................................. 70Gambar 3.41 Halaman Tampil Pencarian .................................................................................. 71Gambar 3.42 Halaman Upadate Password ................................................................................. 72Gambar 3.43 Halaman tambah Admin ....................................................................................... 73Gambar 3.44 Halaman Hapus Berita ......................................................................................... 74Gambar 3.45 Halaman Ubah Berita ........................................................................................... 75Gambar 3.46 Halaman Tambah Berita ...................................................................................... 76Gambar 3.47 Halaman Setting Waktu Rekomendasi .................................................................. 77Gambar 3.48 Halaman Stop Waktu Rekomendasi ..................................................................... 78

BAB I PENDAHULUAN

  1.1 Latar Belakang

  Pesatnya perkembangan teknologi dalam dunia industri, khususnya teknologi di bidang informasi. Demikian pula fasilitas pendukung yang tersedia akan dimaksimalkan untuk memperoleh sebuah peluang yang saat ini dirasakan semakin sulit. Salah satunya adalah dalam hal mencari pekerjaaan. Karena kebutuhan manusia semakin kompleks dan makin bersifat mobile, internet merupakan salah satu solusi yang dapat menjembatani masalah ini.

  Banyak orang membutuhkan informasi lowongan kerja dengan cepat, akurat tanpa terhalang oleh jarak dan waktu. Demikian pula perusahaan juga memerlukan pekerja yang sesuai standar mereka . Perusahaan juga ingin mendapatkan pelamar-pelamar yang terbaik dan handal sesuai dengan kebutuhkan perusahaan tersebut dengan waktu yang relatif singkat. Tidak adanya aturan khusus dalam penulisan CV (curiculum vitae) lowongan pekerjaan membuat informasi yang terkandung didalamnya terkadang terlalu detail ataupun terlalu umum. Hal ini menyebabkan sulit dalam penyaringan pelamar pekerjaan.

  Secara manual penyaringan pelamar dilaksanakan dengan cara membaca CV dari pencari kerja lalu perusahaan melakukan seleksi dan klasiikasi atas kesesuaian cv dengan lowongan pekerjaan. Kegiatan ini merupakan suatu model proses pemeroleehan informasi atas data-data yang dimiliki oleh suatu organisasi atau lembaga. Menemukan data cv yang sesuai dengan lowongan yang diinginkan merupakan latar belakang masalah yang akan diselesaikan skripsi ini.

  1.2 Rumusan masalah

  Berdasarkan latar belakang diatas, rumusan masalah sebagai berikut :

  1. Bagaimana menfasilitasi pencari kerja yang mencari lowongan ?

  2. Bagaimana menfasilitasi perusahaan yang mencari pekerja?

  3. Bagamana membuat rekomendasi berdasarkan informasi yang tidak terstruktur?

  1.3 Batasan Sistem

  Batasan tugas akhir ini sebagai berikut :  Pendaftaran Yang menangani baik dari pencari kerja maupun perusahaaan yang membutuhkan tenaga kerja  Sistem Web aplikasi ini tidak membahas keamanan web.

   Pembobotan dokumen dilakukkan secara berkala.  Pembobotan total pencari kerja berdasarkan pada dokumen skill .  Pembobotan total perusahaan pada dokumen lowongan .

  1.4 Tujuan dan Manfaat

  Tujuan dari skripsi ini adalah membangun sebuah software rekomendasi lowongan kerja yang berbasis aplikasi web, sedangkan manfaat sofware ini adalah memudahkan para pelamar mencari pekerjaan dan memudahkan perusahaan untuk mencari pekerja.

  1.5 Metodologi Penelitian

  Metodologi yang digunakan dalam penyusunan Tugas Akhir ini adalah waterfall metodelogi. Tahapannya sebagai berikut:

  1. Studi literatur Mempelajari konsep JSP (Java Server Page), HTML, MySql , SPK (Sistem Pendukung Keputusan), pemilihan Algoritma dan Teknik Pembobotan yang nantinya akan digunakan untuk membangun aplikasi rekomendasi informasi berbasis website.

  2. Analisis Sistem Merumuskan masalah berdasarkan informasi yang dikumpulkan dan menentukan rumusan pemecahan masalah serta kebutuhan system yang akan di buat.

  3. Design Sistem

  • Pembuatan Use Case Diagram, Requierment Analysis , DFD (Data Flow Diagram).
  • Perancangan database
  • Perancangan user interface

  5. Software testing Melakukan testing software kepada beberapa user untuk mengukur tingkat kebenaran rekomendasi yang dikeluarkan.

1.6 Sistematika Penulisan

  BAB I PENDAHULUAN Bab ini menjelaskan latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, serta sistematika penulisan laporan dari penelitian yang akan dilakukan.

  BAB II LANDASAN TEORI Bab ini berisi penjelasan tentang teori-teori yang digunakan untuk memecahkan masalah yang akan diteliti. BAB III ANALISIS DAN PERANCANGAN SISTEM Bab ini membahas mengenai analisa sistem yang akan dikerjakan dalam penelitian. BAB IV IMPLEMENTASI SISTEM DAN PENGUJIAN Bab ini berisi penjelasan mengenai proses implementasi sistem sesuai dengan analisa dan rancangan sistem ke dalam bentuk program. Lalu dilakukan pengujian menggunakan metode Recall and Precision

  BAB V PENUTUP Bab ini berisi kesimpulan yang diperoleh dari penelitian yang dikerjakan, serta saran untuk pengembangan sistem lebih lanjut.

2. BAB II LANDASAN TEORI

2.1 Konsep Dasar SPK ( Sistem Pedukung Keputusan)

  SPK (Sistem Pedukung Keputusan) suatu sistem yang memberikan kontribusi terhadap para manajer untuk memberikan dukungan dalam pengambilan keputusan. Jenis

  • –jenis keputusan menurut Herbert A. Simon :

  1. Keputusan Terprogram, bersifat berulang dan rutin, sedemikian sehingga suatu prosedur pasti telah dibuat untuk menanganinya.

2. Keputusan Tak Terprogram, bersifat baru, tidak terstruktur dan jarang konsekuen. Tidak ada metode yang pasti untuk menangani masalah ini.

  Ada beberapa tahap dalam pengambilan suatu keputusan menurut Herbert A. Simon yaitu :

  1. Kegiatan Intelijen, pemaparan masalah, pengumpulan data dan informasi, serta mengamati lingkungan mencari kondisi-kondisi yang perlu diperbaiki.

  2. Kegiatan Merancang, menemukan, mengembangkan dan menganalisis berbagai alternatif tindakan yang mungkin.

  3. Kegiatan Memilih, memilih satu rangkaian tindakan tertentu dari beberapa yang tersedia.

  4. Kegiatan Menelaah, menilai pilihan-pilihan yang lalu. Konsep dari SPK (Sisitem Pendukung Kepurtusan) ada tiga yaitu :

  1. Masalah Terstruktur, merupakan suatu masalah yang memiliki struktur masalah pada tiga tahap pertama, yaitu intelijen, rancangan dan pilihan.

  2. Masalah Tak Terstruktur, merupakan masalah yang sama sekali tidak memiliki struktur pada tiga tahap Simon diatas.

  3. Masalah Semi-Terstruktur, merupakan masalah yang memiliki struktur hanya pada satu atau dua tahap Simon.

Gambar 2.1 SPK (Sistem Pendukung Keputusan)

2.2 Pengembanagan Perangkat Lunak dengan metode Pengembangan Berurutan

  (waterfall)

  Menurut Whitten et.al (2004), pengembangan berurutan adalah pengembangan yang mensyaratkan penyelesaian tiap proses satu per satu. Pengembangan berurutan ini juga sering disebut dengan pengembangan air terjun (water fall), karena pengembangan ini berawal dari atas dan turun ke bawah.

Gambar 2.2 Waterfall Method

2.1 Sistem Temu Kembali Informasi

  Sistem temu kembali informasi adalah suatu proses untuk mengidentifikasi, kemudian mema nggil (retrieve) suatu dokumen dari suatu simpanan (file), sebagai jawaban atas pemintaan informasi. Pengertian lain menyatakan bahwa sistem temu kembali informasi adalah proses yang berhubungan dengan representasi, penyimpanan, pencarian dengan pemanggilan informasi yang relevan dengan kebutuhan informasi yang diinginkan pengguna. (Ingwerson, 1992 : 49).

  Proses pemerolehan informasi dimulai dengan proses indexing. Indexing merupakan sebuah proses untuk pembentukan indeks pada suatu kumpulan dokumen. Indexing merupakan proses pemilihan kata yang penting (term) yang penting pada sebuah dokumen. Adapun tahapan dari pengindeksan adalah sebagai berikut :  Parsing Dokumen yaitu proses pengambilan kata-kata dari kumpulan dokumen.

  Contoh sebuah parsing sebuah dokumen sebagai berikut: Id_dokumen Isi Dokumen

  1 Menguasai Microsoft Office , Open Office, sistem Operasi Linux Mint 5. Menguasai bahasa pemrogaman Java ,PHP, JSP, SQL database.

  2 Menguasai Microsoft Office, Open Office, Macromedia Flash.

  Menguasai bahasa pemrogaman Java ,PHP, SQL database.

  3 Menguasai Microsoft Office, Open Office, Macromedia Flash.

  Menguasai bahasa pemrogaman Java ,PHP, SQL database.

Tabel 2.1 Contoh Proses Parsing Dokumen

  1 Microsoft

  1 Open

  1

  4 Database

  2

  1 Office

  1

  4 Sql

  1

  1

  4 Menguasai

  4 Jsp

  2

  1 Menguasai

  1

  3 Php

  1

  1 Database

  1

  3 Java

  1

  2

  1 Sql

  1

  1

  2 Php

  2

  4 .

  1

  4 Flash 1 2 pemrogaman

  1

  2 Bahasa

  4 Macromedia

  2 Macromedia

  5

  4 Open 1 2 ,

  2

  4 Office 2 2 .

  1

  2 Flash

  1

  4 Microsoft

  1

  1

  1

  Kata frekuensi Id_dokumen Kata frekuensi Id_dokumen Menguasai

  2

  1

  1 Macromedia

  1

  3 Sistem

  1

  1 Open

  1

  3 Open

  1 Office

  1

  2

  3 Office

  1

  1 Microsoft

  1

  3 Microsoft

  2

  1 Menguasai

  2

  3 Operasi

  1 Flash

  3 pemrogaman

  1

  1

  1 Php

  1

  3 Bahasa

  1

  1 Java

  5

  3 ,

  3 . 2 1 pemrogaman

  1

  1

  1 Bahasa

  1

  5

  3

  5

  3 Mint 1 1 ,

  2

  3 Linux 1 1 .

  4 pemrogaman

  1

Tabel 2.3 Hasil Indexing Dokumen

  1

  3 Linux 1 1 pemrogaman

  1

  3 operasi 1 1 flash

  1

  3 Sistem 1 1 macromedia

  1

  3 Open 1 1 open

  2

  3 Office 2 1 office

  1

  Kata frekuensi Id_dokumen Kata frekuensi Id_dokumen microsoft 1 1 microsoft

  Kata “diadaptasikan” atau “beradaptasi” mejadi kata “adaptasi” sebagai istilah. Hasil indexing dokumen diatas setelah proses stoplist sebagai berikut

  2 Java

  5  Stemming yaitu proses penghilangan/ pemotongan dari suatu kata menjadi bentuk dasar.

  / tetapi yaitu

  “ ;

  . , bahasa akan dan ? :

Tabel 2.2 Contoh Daftar Stoplist Dokumen menguasai + -

  2  Stoplist yaitu proses pembuangan kata buang seperti: tetapi, yaitu, sedangkan, dan sebagainya.

  1

  2 Database

  1

  2 Sql

  1

  2 Php

  1

  3

     

  ik merupakan frekuensi dari istilah k dalam dokumen i.

  2 Sql

  1

  2 database

  1

  2  Term Weighting dan Inverted File yaitu proses pemberian bobot pada istilah.

  Didalam memberikan bobot pada sebuah istilah, terdapat berbagai macam teknik antara lain yaitu :

  1. Teknik pembobotan berdasarkan frekuensi kemunculan istilah pada satu dokumen (Fitriyanti,1997). Teknik pembobotan ini cukup sederhana dimana bobot suatu istilah pada sebuah dokumen berdasarkan jumlah kemunculannya pada dokumen tersebut.

  2. Teknik pembobotan berdasarkan rumus Savoy(1993) yaitu: Dimana :

   W ik adalah bobot istilah k pada dokumen i.  tf

   n adalah jumlah dokumen dalam kumpulan dokumen. W

  2 Php

  ik

  = ntf

  ik

  k

  , dimana ntf ik = ij j ik

  Max tf tf

  dan nidf k =

    n df n k log log

  

  1

  1

  Java 1 1 sql

  4 microsoft 1 2 macromedia

  1

  3 Php 1 1 database

  1

  3 Jsp 1 1 microsoft

  1

  4 Sql 1 1 office

  2

  4 database 1 1 open

  1

  1

  4 Java

  4 Office 2 2 flash

  1

  4 Open 1 2 pemrogaman

  1

  4 macromedia 1 2 php

  1

  4 Flash 1 2 sql

  1

  4 pemrogaman 1 2 database

  1

  • nidf
Dokument diurutkan mulai dari dokumen yang mempunyai bobot paling tinggi Berikut ini merupakan hasil dari pembobotan dokumen

Tabel 2.4 Hasil Pembobotan Dokumen

  1

  1

  2

  4 4 0 0.6021 3 office

  2

  0.5

  1

  4 4 0 0.6021 3 microsoft

  2

  0.5

  1

  4 4 0 0.6021 2 database

  2

  0.5

  4 4 0 0.6021 2 sql

  4 4 0 0.6021 3 open

  2

  0.5

  1

  2 4 3 0.1249 0.6021 0.1037594 2 php

  4 4 0 0.6021 2 java 1

0.5 0.20751875

  2

  0.5

  1

  2 4 3 0.1249 0.6021 0.1037594 2 pemrogaman

  2 4 3 0.1249 0.6021 0.1037594 2 flash 1

0.5 0.20751875

  4 4 0 0.6021 2 macromedia 1

0.5 0.20751875

  2

  0.5

  2

  1

  4 4 0 0.6021 2 open

  0.5

  2

  1

  2

  4 4 0 0.6021 4 office

  2

  0.5

  1

  4 4 0 0.6021 4 microsoft

  2

  0.5

  1

  4 4 0 0.6021 3 database

  2

  1

  0.5

  4 4 0 0.6021 3 sql

  2

  0.5

  1

  2 4 3 0.1249 0.6021 0.1037594 3 php

  4 4 0 0.6021 3 java 1

0.5 0.20751875

  2

  0.5

  1

  2 4 3 0.1249 0.6021 0.1037594 3 pemrogaman

  2 4 3 0.1249 0.6021 0.1037594 3 flash 1

0.5 0.20751875

  4 4 0 0.6021 3 macromedia 1

0.5 0.20751875

  2

  1

  2

  Id_doc

  1

  2 4 1 0.6021 0.6021

  1

  0.5

  1

  0.5 1 linux

  2 4 1 0.6021 0.6021

  1

  0.5

  1

  0.5 1 operasi

  2 4 1 0.6021 0.6021

  1

  0.5

  4 4 0 0.6021 1 sistem

  1

  2

  0.5

  1

  4 4 0 0.6021 1 open

  2

  1

  2

  4 4 0 0.6021 1 office

  2

  0.5

  1

  I BOBOT(A) 1 microsoft

  INDEX FREKUENSI (D) B(ntifk) C(nidfk) E F G H

  0.5 1 mint

  0.5

  1

  0.5 1 sql

  2

  4 4 0 0.6021 2 office

  2

  0.5

  1

  4 4 0 0.6021 2 microsoft

  2

  0.5

  1

  4 4 0 0.6021 1 database

  2

  0.5

  1

  2 4 1 0.6021 0.6021

  1

  1

  0.5

  1

  4 4 0 0.6021 1 jsp

  2

  0.5

  1

  2 4 3 0.1249 0.6021 0.1037594 1 php

  4 4 0 0.6021 1 java 1

0.5 0.20751875

  2

  0.5

  1

  0.5 1 pemrogaman

  2 4 1 0.6021 0.6021

  4 4 0 0.6021

  4 pemrogaman

  1

Tabel 2.5 Contoh tabel indexing Pada Proses Pencarian

  Kata frekuensi Id_dokumen java

  1

  1 java

  1

  2 java

  3 php

  Proses indexing dilakukan adalah adanya parsing dari kalimat kunci serta proses stoplist yaitu pembuangan kata yang telah ditentukan. Hasilnya sebagai berikut :  java  php  flash  linux

  1

  1 php

  1

  2 php

  1

  3 php

  1

  2. Pencarian kata pada index dokumen cv pencari kerja yang sesuai dengan hasil index dari kalimat kunci pencarian pencari kerja.

  Tahap tahap yang dilakukkan oleh sistem adalah : 1. Indexing dari kalimat kunci yang dimasukkkan oleh pencari pekerja.

  1

  4 4 0 0.6021 4 sql

  0.5

  2

  4 4 0 0.6021 4 php

  1

  0.5

  2

  1

  Berikut adalah contoh pencarian sebuah dokumen CV Seorang perusahaan pencari pekerja bebas memasukkan kalimat kunci java, PHP, makromedia flash, Linux. Dimana jumlah dokumen yang ada ada 4 dokumen.

  0.5

  2

  4 4 0 0.6021 4 database

  1

  0.5

  2

  4 4 0 0.6021

  4 flash 1

  3 flash 1 4 linux 1 1

.

  3. Pengurutan dokumen hasil pencarian berdasarkan bobot total kata yang dicari pada masing-masing dokumen.

  Pembobotan pada dokumen lowongan pekerjaan.

   A = W ik = bobot istilah k pada dokumen i.

  tf ik

  =  B = ntf ik

  Max tf j ij   n log   df

   k   

   C = nidf =

  k log n

     D = frekuensi kemunculan istilah dalam sebuah dokumen i.

   E = frekuensi istilah terbesar pada satu dokumen  F = n = jumlah dokumen total = 4  G = jumlah keseluruhan dokumen yang mengandung istilah K.

   H =  I = Dicari : Bobobt istilah dalam dokumen K Jawab :

Tabel 2.6 Contoh Tabel Pembobotan Pada Proses Pencarian

  FREKUENSI Id_doc

  INDEX (D) B(ntifk) C(nidfk) E F G H

  I BOBOT(A) 1 java 1 0.5 0.20751875

  2 4 3 0.1249 0.6021 0.1037594 2 java 1 0.5 0.20751875

  2 4 3 0.1249 0.6021 0.1037594 3 java 1 0.5 0.20751875

  2 4 3 0.1249 0.6021 0.1037594 1 php

  1

  0.5

  2

  4 4 0 0.6021

  4 php

  1

  0.5

  2

  4 4 0 0.6021 2 flash 1 0.5 0.20751875

  2 4 3 0.1249 0.6021 0.1037594 3 flash 1 0.5 0.20751875

  2 4 3 0.1249 0.6021 0.1037594 4 flash 1 0.5 0.20751875

  2 4 3 0.1249 0.6021 0.1037594 1 linux

  1

  0.5

  1

  2 4 1 0.6021 0.6021

  0.5 Tabel 2.7 Contoh Tabel Hasil Pengurutan Dokumen Pada Proses Pencarian id_doc total_bobot

  1 0.6037594 2 0.2075187 3 0.2075187 4 0.1037594

  Hasil output yang akan diberikan sistem adalah urutan dimulai dari dokumen yang mempunyai total_bobot paling tinggi.

2.3 Pengukuran Sistem Temu Kembali Informasi

  Efektifitas dari sistem temu kembali informasi tersebut dapat diukur. Ada dua hal penting yang biasanya digunakan dalam mengukur kemampuan suatu sistem temu kembali informasi yaitu rasio atau perbandingan dari perolehan (recall), dan ketepatan (precicion). (Lee Pao, 1989 : 225). Perolehan (recall) berhubungan dengan kemampuan sistem untuk memanggil dokumen yang relevan, sedangkan ketepatan (precision) berkaitan dengan kemampuan sistem untuk tidak memanggil dokumen yang tidak relevan. Rasio dari tingkat perolehan (recall) dan ketepatan (precision) yang dicapai dalam kegiatan penelusuran dapat diungkapkan sebagai berikut : Andaikan suatu file database menyimpan 100 dokumen. Pada suatu penelusuran, ada 10 dokumen terambil (retrieved) dan hanya 4 dokumen terambil dalam pencarian yang relevan dengan pertanyaan (query), kemudian ada 2 dokumen lain dalam file dabase diketahui relevan kepada query akan tetapi tidak terambil (not retrieved). Untuk menghitung rasio

  

recall dan precision dari seperti disebut pada soal di atas, sering digunakan tabel berikut :

Tabel 2.8 Tabel Penghitungan Recall and Precision

  Relevant Not relevant Total Retrieved 4 (a) 6 (b)

  10 Not Retrieved 2 (c) 88 (d)

  90 Total

  6 94 100 Berdasarkan tabel di atas, sekarang perhitungannya dapat dilakukan dengan mengacu kepada kepada rasio yang telah dikemukakan sebelumnya. Untuk menghitung rasio recall, terlebih dahulu kita tentukan jumlah dokumen relevan yang terambil, berdasarkan data pada tabel yaitu a , sedangkan Jumlah dokumen relevan yang ada dalam database adalah a + c. Dengan demikian rasio recall ( R ) tersebut dapat dinyatakan sebagai berikut : Selanjutnya untuk menghitung precision, hal yang sama pada penghitungan recall diberlakukan yaitu jumlah dokumen relevan yang terambil adalah a , sedangkan Jumlah dokumen yang terambil dalam pencarian adalah a + b. Dengan demikian rasio precision ( P ) dapat dinyatakan sebagai berikut : Kondisi ideal dari keefektifan suatu sistem temu kembali informasi adalah apabila rasio

  

recall dan precision sama besarnya (1 : 1 ). (Lee Pao, 1989 : 229). Selain itu, suatu sistem

  temu kembali dinyatakan efektif apabila hasil penelusuran mampu menunjukkan ketepatan (precision) yang tinggi sekalipun perolehannya rendah (Rowley, 1992 : 172)

3. BAB III ANALISIS DAN PERANCANGAN SISTEM

3.1 Kebutuhan Fungsional

  Aplikasi web ini dibangun menggunakan metodologi waterfall dan dokumentasi perangkat lunak secara terstruktur. Web rekomendasi lowongan kerja adalah sebuah sistem yang dapat menjembatani antara pencari kerja dengan perusahaan penyedia lowongan kerja. Tabel kebutuhan fungsional dapat dilihat sebagai berikut :

   Pencari Kerja

Tabel 3.1 Kebutuhan Fungsional Pencari Kerja

  Kode Kebutuhan Fungsional Keterangan WR-PK-001 Registrasi Pencari Kerja Pencari kerja memilih menu registrasi untuk mendaftar sebagai member.

  WR-PK-002 Ganti Data Diri Pencari kerja memilih menu ganti data diri kerja untuk mengubah data diri dan kemampuan yang dimiliki. WR-PK-003 Ganti Password Pencari kerja memilih menu ganti password untuk mengganti username dan password. WR-PK-004 Tampilkan Perusahaan Pencari kerja memilih menu tampil perusahaan dapat melihat rekomendasi perusahan yang sesuai kemampuan yang ia punya. WR-PK-005 Pencarian Pencari Kerja memilih menu pnecarian untuk melakukan pencarian lowongan perusahaan berdasarkan masukan kalimat kunci pencari kerja

  WR-LG Login Pencari kerja memilih menu login untuk masuk kedalam halaman pencari kerja. WR-LO Log out Pencari kerja memilih menu log out untuk keluar dari halaman pencari kerja.

   Perusahaan

Tabel 3.2 Kebutuhan Fungsional Perusahaan WR-PR-002 Ganti Data Perusahaan Perusahaan memilih menu ubah data perusahaan untuk dapat mengedit profile pada account yang ia punya . WR-PR-003 Tampil Pencari Kerja Perusahaan memilih menu tampil pencari kerja untuk dapat melihat rekomendasi pencari kerja sesuai lowonganyg ia terbitkan. WR-PR-004 Lowongan Perusahan memilih menu lowongan untk dapat memasukan lowongan pekerjaan, tambah lowongan, edit lowongan, dan melihat lowongan yang dimasukan perusahaan tersebut. WR-PR-005 GantiPassword Perusahaan dapat mengubah username dan password. WR-PR-006 Pencarian Perusahaan memilih menu pencarian untuk memcari pencari kerja sesuai dengan kalimat kunci masukan perusahaan. WR-LG Login Perusaahan memilih menu login untuk masuk ke halaman perusahaan. WR-LO Log out Perusahaan memilih menu log out untuk keluar dari halaman perusahaan..

   Administrator

Tabel 3.3 Kebutuhan Fungsional Administrator

  Kode Kebutuhan Fungsional Keterangan WR-AD-001 Hapus Account Adalah menu administrator untuk menghapus account baik untuk level pencari kerja atau perusahaan. WR-AD-002 Update Berita Adalah untuk menambah, hapus dan ubah kolom berita WR-AD-003 Setting Waktu Adalah menu untuk mengatur waktu proses Rekomendasi pembuatan rekomendasi.

  WR-LG Login Adalah menu untuk masuk ke halaman administrator. WR-LO Log out Administrator memilih menu ini untuk keluar dari halaman administrator.

3.2 Kebutuhan aplikasi ini Perangkat Keras (Hardware) dan Perangkat Lunak

  (Software)

  3. Memory 2 GigaByte DDR 2

  4. Terkoneksi dengan Internet  Spesifikasi software untuk server

  1. OS(Windows 9x/NT/XP)

  2. Web browser : Internet Explorer 6

  3. Web server : Apache Tomcat

  4. Net Beans 6.1 5. MySQL 5.0.

  Koleksi Dokumen Koleksi Dokumen Koleksi Dokumen Koleksi Dokumen Koleksi Dokumen lowong View web Koleksi Dokumen skill Operasi Text (indexing) 3. Dokumen 3 2. Dokumen 2 1. Dokumen 1 Operasi Text (indexing) Parsing n . . . . Parsing Stoplist Stoplist stemming Rangking stemming

3.3 Algoritma yang digunakan pada aplikasi ini

  Proses pada gambar3.1 adalah bagian dari pembuatan sebuah rekomendasi dari sistem. Ada tiga buah proses besar yang ada di sana :

  a) Pertama pencari kerja memasukkan dokumen cv pada menu registrasi pencari pencari kerja. Lalu sistem melakukan operasi text (indexing) adapun tahap indexing yang dilakukan pertama adalah parsing proses pengambilan kata-kata dari kumpulan dokumen, hasil parsing disaring menggunakan stoplist (adalah pemilihan kata-kata yang akan dibuang atau tidak dipakai). Hasilnya merupakan term index. Term index inilah yang akan digunakan sebagai acuan pencocokan index pada tabel indeks. indeks merupakan kumpulan dari term index hasil proses indexing pada koleksi dokumen cv pencari kerja.

  b) Kedua perusahaan memasukkan dokumen lowongan pada menu lowongan setelah login sebagai perusahaan. Setelah perusahaan memasukkan lowongan sistem melakukan proses indexing secara berkala, adapun tahap indexing yang dilakukan pertama adalah parsing proses pengambilan kata-kata dari kumpulan dokumen, hasil parsing disaring menggunakan stoplist (adalah pemilihan kata-kata yang akan dibuang atau tidak dipakai). Hasilnya merupakan term index. Term index inilah yang akan digunakan sebagai acuan pencocokan index pada tabel indeks_per.

  c) Rekomendasi adalah proses pencocokan kata yang ada pada dokumen lowongan perusahaan dengan dokumen skill pencari kerja. Proses perangkingan membutuhkan bobot term pada koleksi dokumen. Proses pembobotan merupakan proses penghitungan bobot suatu term pada kumpulan dokumen/ koleksi dokumen. Dokumen diurutkan mulai dari yang mempunyai bobot tertinggi.

3.4 Use Case Diagram

  “Use Case modeling is the proses of modeling system’s functions in Pada aplikasi web rekomendasi ini mempunyai use case diagram sebagai berikut :

  Perusahaan ubah data perusahaan tampil pencari kerja Login registrasi perusahaan ubah lowongan hapus Account administrator Update Berita pencari kerja ubah Data pencari kerja menampilakn perusahaan Ubah Password Log Out depen on registrasi pencari kerja extend include ubah CV pembobotan dokumen pencari kerja depen on depen on depen on depen on depen on depen on depen on depen on extend Indexing dokumen pencari kerja pembobotan dokumen lowongan Indexing dokumen perusahaan Use use Setting Timer depen on Ubah password Registrasi pencari kerja Registrasi perusahaan depen on depen on Pencarian depen on Pencarian depen on

3.5 Use Case model

Tabel 3.4 merupakan tabel aktor atau pihak yang terlibatTabel 3.4 Use Case Model

  Aktor Keterangan 1) Orang yang berperan sebagai administrator 2) Menangani manajemen account.

  3) Orang dapat menambah, mengedit, menghapus berita. Admin 4) Orang yang dapat menyeting waktu pembuatan rekomendasi.

  

5) Melakukan update pada website ini

1) Adalah pencari kerja yang mendaftar sebagi member pada situs atau website ini. 2) Dapat melakukan login sebagai pencari kerja. 3) Dapat melakukan Ubah data pribadi (harus melakukan login sebagai pencari kerja). Pencari Kerja 4) Dapat melihat lowongan pekerjaan yang sesuai dengan kriteria yang ia punya (harus melakukan login sebagai pencari kerja). 5) Dapat melakukan pencarian lowongan sesuai dengan kalimat masukan pencari kerja.

  1) Adalah Badan Usaha yang mendaftar sebagai member perusahaan. 2) Dapat melakukan login sebagai perusahan.

3) Dapat melihat lowongan pekerjaan.

4) Dapat melihat daftar pencari kerja yang sesuai dengan klasifikasi lowongan yang di-upload perusahaan (harus melakukan login sebagai perusahaan). Perusahaan 5) Dapat meng-upload lowongan pekerjaan (harus melakukan login sebagai perusahaan) 6) Dapat menambah lowongan pekerjaan (harus melakukan login sebagai perusahaan) 7) Dapat melakukan pencarian pencari kerja sesuai kalimat kunci masukan perusahaan.

1. Administrator  Memasukkan data login dan berhasil.

   Sistem menampilkan berita, waktu rekomendasi, login.

  2. Pencari Kerja  Memasukkan data login dan berhasil  Sistem menampilkan data diri, login, perusahaan, pencarian

  3. Perusahaan  Memasukkan data login dan berhasil  Sistem menampilkan data diri, login, pencari kerja, pencarian

  Administrator Data Data Login Login,

  Waktu rekomendasi Data Berita Aplikasi Web

  Data pencari kerja, Rekomendasi pencarian, data login

  Data Login

Pencari Kerja Lowongan Perusahaan

  Data Login Kerja

  Data perusahaan, pencarian, data login

Gambar 3.3 Context Diagram

3.7 Diagram Berjenjang

  Diagram berjenjang adalah diagram yang menggambarkan menu yang ada dalam web site . gambar diagram berjenjang untuk aplikasi web rekomendasi lowongan kerja terletak pada Gambar 3.4.

  2 Registrasi Menu pendaftaran untuk perusahaaan.

  Perusahaan

  3 Login Menu isian data login untuk dapat masuk kedalam sistem.

  4 Ganti data diri Menu untuk mengubah data diri pencari kerja.

  5 Ganti password Menu tuntuk mengubah password dari pencari kerja

  6 Tampilakan Menu untuk melihat rekomendasi perusahaan yang diberikan oleh sistem.

  7 Pencarian Menu untuk pencari kerja agar dapat melakukan pencarian lowongan.

  8 Ganti password Menu perusahaan agar dapat mengganti password

  9 Ganti data Menu perusahaan agar dapat perusahaan menggati data perusaahan.

  10 Lowongan Menu untuk perusahaan agar dapat memasukan, mengubah lowongan yang perusahaan punya.

  11 Tampilakan Menu perusahaan agar dapat melihatv Pencari Kerja rekomendasi yang diberikan sistem kepada perusahaan.

  12 Pencarian Menu perusahaan agar dapat melakukan pencarian pekerja sesuai kalimat kunci masukkan.

  13 Update account Menu administrator untuk dapat menghapus menambah account.

  14 Update berita Menu administrator untuk menambah, mngubah, menghapus berita. sebagai perusahaan, pekerja, dan administrator

  Lowongan Kerja Rekomendasi Aplikasi Web Registrasi pencari Login kerja 1 3 Password Ganti

  5 Perusahaan

Ganti Data kerja

9 Tampilkan Pencari 11 Update Berita 14 Setting Waktu Rekomendasi 15 Logout 16 Perusahaan Registrasi 2 Perusahaan Ganti Data Diri Tampilkan 4 6 Password Ganti 8 10 Pencari kerja Tampilkan Detail Pencarian

  11.1 12 Tambah Berita 14.1 Stop Waktu Start Waktu 15.2 15.1 Pencarian 7 Lowongan 10.1 Account Update 13 Hapus Berita 14.3

  14.2 Edit Lowongan Lowongan Tambah 10.2 Ubah Berita

Gambar 3.4 Diagram Berjenjang

3.8 Data Flow Diagram (DFD)

  Data flow diagram (DFD) digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir atau lingkungan fisik dimana data tersebut akan disimpan. DFD merupakan alat yang digunakan pada metodologi pengembangan sistem yang terstruktur (Structural Analysis and Design. Penggambaran Data Flow Diagram DFD pada web ini menurut Whitten,2005. Penjelasan masing-masing proses pada diagram berjenjang sebagai berikut :

  1. Proses Registrasi Pencari Kerja

Gambar 3.5 menjelaskan pencari kerja yang ingin menjadi member akan melakukan registrasi. Pada saat registrasi mereka akan mengisikan data diri

  pencari kerja pada kolom-kolom yang sudah disediakan. Sistem akan menyimpan data diri pada database. Setelah proses registrasi berhasil mereka akan memperoleh username dan password yang akan dipergunakan login sesuai dengan account yang dipunyai.

  Term indeks D6 indeks

1 Data diri

  Data Diri Pencari_Kerja

  D1 Pencari_Kerja Pencari_Kerja

  Registrasi Pencari_kerja

  Pencari Kerja

Gambar 3.5 DFD Proses Registrasi Pencari Kerja

   Spesifikasi Proses Registrasi Pencari Kerja Masukan Data diri pencari kerja yaitu username, password, nama depan, nama belakang, email, jenis kelamin, tanggal lahir, tempat tanggal lahir, alamat, no telp, skill yang dimiliki.

  Keluaran Adalah status data diri tersimpan di database, pencari kerja passing parameter inputan (username, password, nama depan, nama belakang, email, jenis kelamin, tanggal lahir, tempat tanggal lahir, alamat, no telp, skill) ke halaman input_pen.jsp kemudian sistem menyimpan data diri pencari kerja kedalam database kerja tabel pencari_kerja dengan query kedalam database kerja table pencari_kerja .Kemudian halaman depan.jsp muncul.

  "INSERT INTO

  Query

  pencari_kerja(nama_d,nama_b,jenis_kel,tgl_lahir,

tmp_lahir,alamat_p," +

"email_p,no_tlp,skill) VALUES ('"+namadepanPek+"','"+namabelakangPek+"'," + "'"+jeniskelaminPek+"','"+tanggallahirPek+"','"+ tempatlahirPek+"','"+alamatPek+"'," + "'"+emailPek+"','"+notlpPek+"', '"+ skill +"')"

   Detail penjalasan potongan listing program ada di lampiran 1.1

  2. Proses Registrasi Perusahaan :

Gambar 3.6 menjelaskan perusahaan yang ingin menjadi member akan melakukan registrasi. Pada saat registrasi mereka akan

  mengisikan data perusahaan pada kolom-kolom yang sudah disediakan. Sistem akan menyimpan data diri pada database. Setelah proses registrasi berhasil mereka akan memperoleh username dan password yang akan dipergunakan login sesuai dengan account yang dipunyai.

  2 Data Perusahaan D3 Perusahaan Data diri

  Perusahaan Perusahaan

  Registrasi Perusahaan

Gambar 3.6 DFD Proses Registrasi Perusahaan

   Spesifikasi Proses Registrasi Perusahaan Masukan Data diri perusahaan yaitu username, password, nama depan, nama belakang, email, nama perusahaan alamat, no telepon, deskrpsi perusahaan,nama personal,email personal,jabatan personal.

  Keluaran Adalah status data diri tersimpan di database, perusahaan

  "INSERT INTO perusahaan (email_pt, nama_pt, alamat_pt, " + "no_tlppt, deskripsi,nama_person,jabatan_person,email_person)"+ "VALUES ('"+ emailPer +"' , '"+ namaPer +"' , '"+ alamatPer +"' , '"+ notlpPer +"' , '"+ deskripsiPer

  melempar passing parameter inputan (username, password, nama depan, nama belakang, email, nama perusahaan alamat, no telepon, deskrpsi perusahaan,nama personal,email personal,jabatan personal) ke halaman input_per.jsp kemudian sistem menyimpan data diri pencari kerja kedalam data base kerja table perusahaan dengan query . Kemudia halaman depan.jsp muncul. Query

  • "', '"+ namaPersonal +"', '"+ jabatanPersonal +"', '"+ emailPersonal +"')"

   Potongan Listing Program dan pejelasnnya pada lampiran 1.2 3. Proses Login.

  Gamabar 3.7 menjelaskan bahwa setiap user atau pengguna sistem ini untuk (login) masuk ke dalam sistem sesuai account yang dia punya harus memasukkan username dan password, apabila proses validitas login benar maka pengguna akan dapat mengakses informasi sesuai account yang dipunyai. Validitas diperoleh melalui pencocokan username,password dan pada tabel login.

  D2 Login Status login valid Ganti Data Diri 4 Pencari_Kerja Password Username Dan Username & Password Baca Status login valid Status login valid Ganti Password Tampil

  5 6 Username 3 Status login valid Perusahaan Pencarian 8 7 Perusahaan Password Dan login Status login valid Status login valid Ubah Data Ganti Password Perusahaan 9 Administrator Status login valid Password Username Dan Status login valid Status login valid Lowongan 11 10 16 Status login valid Tampil Pencari Pencarian Kerja 12 Log Out Status login valid Status login valid Account Update 13 14 Status login valid Setting Waktu Update Berita Rekomendasi 15 Gambar 3.7 DFD proses Login

  a) Spesifikasi Proses Login Pencari Kerja dan Perushaan Masukan yaitu username, password, pilihan account sebagai.

  Keluaran  status login valid maka merujuk ke halaman

  pekerjapage.jsp untuk yang login sebagai pekerja

   status login valid maka merujuk ke halaman

  perusahaanpage.jsp untuk yang login sebagai perusahaan.

   status login tidak valid maka merujuk ke halaman memilih level sebagai pencari kerja maka akan dirujuk ke halaman vallogin2.jsp atau user memilih level sebagai perusahaan maka akan dirujuk ke halaman vallogin.jsp proses ini terjadi di halaman select.jsp. pengambilan username dan password didlam database dilakukan dengan query jedalam database kerja table login

  2. Didalam halaman vallogin.jsp dan vallogin2.jsp disertakan halaman otentifikasi. Halaman ini melakukan pengecekan kebenaran dari password yang ada dalam database dengan password input saat login. 3. username dan pasword cocok. vallogin2.jsp merupakan halaman untuk mendaftar sesion user sebagai pencari kerja. vallogin.jsp merupakan halaman untuk mendaftar sesion sebagai user perusahaan. Apabila berhasil user akan masuk ke halaman perusahaanpage.jsp apabila ia login sebagai perusahaan atau halaman pekerjapage.jsp apabila ia login sebagai pencari kerja.

  SELECT id_pt,id_pekerja FROM login WHERE

  Query

  

password=md5('"+sandi+"') and

username='"+pemakai+"'

   Potongan listing program dan pejelasannya terletak pada lampiran

  1.3 b) Spesifikasi Proses Login Administrator.

  Masukan yaitu username, password Keluaran

   status login valid maka merujuk ke halaman

  adminpage.jsp

   status login tidak valid maka merujuk ke halaman

  login_admin.jsp

  Proses

  1. Pertama kali user memasukkan username dan password halaman login_admin.jsp. pada field login. Passing parameter data input (username, password) akan dilemaparkan ke halaman

  vallogin_admin.jsp.

  2. vallogin_admin.jsp didalam halaman ini disertakana halaman otentifikasi_admin.jsp halaman ini berfungsi menangkap data passing

  paramater (username,password) yang dilempar

  3. proses otentifikasi gagal maka akan dirujuk kembalai ke halaman login_admin.jsp  Potongan listing program dan penjelsannya terletak pada lampiran 1.3

  4. Proses Kegiatan Pencari Kerja setelah login Proses Kegiatan Pencari Kerja setelah login adalah ganti data diri, ganti password, tampilakan perusahaan, dan pencarian.

a. Proses Pencari Kerja Ganti Data Diri.

Gambar 3.8 menjelaskan Pencari kerja mengubah data diri dengan memilih menu ganti data diri, sistem akan menampilkan data diri

  pencari kerja yang ada pada tabel pencari kerja. Pencari kerja lalu mengubah sesuai dengan keinginan pencari kerja dan sistem akan kembali menyimpan data diri yang baru pada database.

4 Ganti data Diri

  Pencari kerja D1 Pencari_Kerja Data pencari_kerja Data pencari_kerja D6 indeks Term indeks

Gambar 3.8 DFD proses Ganti Data Diri

   Spesifikasi Proses Ganti Data Diri Masukan yaitu nama depan, nama belakang. Jenis kelamin, tgl lahir, tempat tgl lahir, no telepon, email, skill..

  Keluaran status ubah data diri valid maka merujuk ke halaman SetEditAccountPek.jsp untuk yang login sebagai pekerja Asumsi Proses login berhasil sebagai pencari kerja. keinginan pekerja maka pencari kerja menekan tombol submit untuk menyimpan data diri yang baru kedalam database kerja tabel pencari kerjacdengan query2.

  3. Data passing parameter (nama depan, nama belakang.

  Jenis kelamin, tgl lahir, tempat tgl lahir, no telepon, email, skill.) akan di lempar ke halaman

  SetEditAccountPek.jsp . kemudian sistem akan

  mengganti data pencari kerja lama dengan yang baru lalu menyimpannya dalam data base kerja tabel pencari_kerja. Query 1

  SELECT l.username,p.nama_d,p.nama_b,p.email_p,p.jenis_kel, " +"p.tgl_lahir,p.tmp_lahir,p.alamat_p,p.no_tlp," + "p.skill FROM login l,pencari_kerja p where l.password=md5('"+pass+"') and l.username='"+user+"' " + "and l.id_pekerja=p.id_pekerja

  Query 2

  ("UPDATE pencari_kerja SET nama_d='"+namadepanPek+"',nama_b='"+namabelakangPe k+"'," + "jenis_kel='"+jenisKelPek+"',tgl_lahir='"+tanggall ahirPek+"',tmp_lahir='"+tempatlahirPek+"',"

  • "alamat_p='"+alamatPek+"',no_tlp='"+notlpPek+"',"
  • "email_p='"+emailPek+"',skill='"+skillPek+"' WHERE id_pekerja='"+rs.getString(1)+"'"); statement3.executeUpdate ("UPDATE login SET username='"+UsernamePek+"' " + "WHERE id_pekerja="+rs.getString(1)+""

   Penjelasan dan potongan listing program terletak pada lempiran 1.4.a b.

   Proses Tampilkan Perusahaan

Gambar 3.9 menjelaskan pencari kerja ingin melihat daftar perusahaan yang direkomendasikan sistem yaitu dengan memilih

  menu tampil perusahaan.sistem menampilakan rekomendasi lowongan yang diterima oleh pencari kerja. Rekomendasi didapatkan berdasarkan pembobotan dokumen kemampuan yang dipasankan dengan dokumen lowongan yang ada dalam database. Hasil bobot ini didapatkan setelah dilakukannya pembobotan berkala pada index lowongan di database yang dilakukan oleh sistem. Pembobotan berkala adalah pemberian bobot pada Pencari kerja Data pencari kerja Data perusahaan D8 rekomendasi

  6 Tampilkan Data_lowongan Perusahaan Data_perusahaan D5 lowongan D3 perusahaan

Gambar 3.9 DFD proses Tampilkan Perusahaan  Spesifikasi Proses Pencari Kerja melihat Rekomendasi Perusahaan.

  Masukan Dokumen skill yang ada dalam cv pekerja. Keluaran

   status valid pencari kerja mendapatkan rekomendasi perusahaan. Asumsi Proses login berhasil sebagai pencari kerja. Proses 1. pencari kerja memilih menu menu tampil perusahaan.

  2. Lalu pencari kerja akan dirujuk ke halaman

  LihatPerusahaan.jsp. pencari kerja dapat melihat

  rekomendasi yang diberikan oleh system. System akan melakukan query kedalam database untuk mendapat kan informasi.

  select perusahaan.nama_pt, lowongan.lowong,

  Query

  perusahaan.alamat_pt, perusahaan.no_tlppt, perusahaan.email_pt FROM login, rekomendasi, lowongan, perusahaan where rekomendasi.id_pekerja = login.id_pekerja AND rekomendasi.id_low = lowongan.id_low AND lowongan.id_pt = perusahaan.id_pt AND login.username = '"+user+"' and login.password =md5('"+pass+"') group by lowongan.lowong ORDER BY rekomendasi.bobotTotal DESC

   Potongan listing program beserta penjelasannya terletak pada lampiran 1.4.b Pencari kerja Data login 5 Ganti Password D1 Login Data login

Gambar 3.10 DFD proses Ganti Password

   Spesifikasi Proses Pencari Kerja mengganti Password Masukan Username, password Keluaran  status valid data password telah diganti Asumsi Proses login berhasil sebagai pencari kerja. Proses 1. pencari kerja memilih menu ganti password lalu system akan menampilakan password yanga lama dari database melalui query 1, yang ada di halaman

  change_pass_per.jsp

  2. pencari kerja memasukkan password lama lalu memasukkan password baru.

  3. Sistem akan mengupdate data password yang baru ke dalam database kerja tabel login dengan quer 2.

  4. Setelah berhasil sitem akan memberi pesan “password telah digannti”

  Query1

  SELECT id_pekerja FROM login WHERE username='"+fm_admin+"' and password=md5('"+fm_pass+"')"

  Query2

  UPDATE login SET password=md5('"+fm_pass_new+"') WHERE id_pekerja='"+rs.getString(1)+"'"

   Potongan listing program dan penjelasannya ada pada lampiran 1.4.c d.

   Proses Pencarian

  Pencari kerja dapat melakukan pencarian lowongan yaitu dengan memilih menu pencarian lalu mengisi field yang tersedia dengan kalimat kunci lalu sistem akan mengolah kalimat inputkan dan mencocokan dengan data yang ada dalam database.

  Pencari kerja 7 Pencarian Indek_per Kalimat kunci Data perusahaan

Gambar 3.11 DFD proses Pencarian Asumsi Proses login berhasil sebagai pencari kerja. Proses

  1. Pencari kerja memilih menu pencarian sistem akan dirujuk ke halaman pencarianPerusahaan.jsp

  2. Lalu pencari kerja memasukkan kalimat kunci, sistem akan melakukan proses indexing lalu hasil indexing akan di cocokan dengan data yang ada dalam tabel indeks_per database kerja dengan melakukan query. Proses ini dilakukan pada halaman LihatPencarianPr.jsp

  3. Sistem akan menampilakan hasil rekomendasi

  select perusahaan.nama_pt,lowongan.lowong ,

  Query

  perusahaan.alamat_pt,perusahaan.no_tlppt, perusahaan.email_pt from perusahaan, lowongan where lowongan.id_low IN (SELECT id_low from indeks_per where word_Per='' group by id_low order by sum(bobotTotalPer)) and perusahaan.id_pt=lowongan.id_pt

   Potongan listing program dan penjelasannya ada pada lampiran 1.4.d

  5. Proses Kegiatan Perusahaan Setelah Login Proses Kegiatan Perusahaan Setelah Login sebagai berikut ganti password ganti data perusahaan, lowongan, tampilakan pencari kerja dan pencarian.

a. Proses Ubah Data Perusahaan

  Perusahaan ingin mengubah data perusahaan dengan memilih menu ubah data perusahaan, sistem menampilakan data perusahaan yang pada database sistem. Perusahaan mengubah data tersebut kemudian sistem menyimpan data perusahaan yang baru ke dalam database. Data perusahaan

  Perusahaaan Perusahaan Ganti Data 9 Data_perusahaan D3 Perusahaan

   Spesifikasi Proses Perusahaan mengganti data perusahaan.

  Masukan Username, nama pt, alamat, no telepon, deskripsi perusahaan, nama person, email person, jabatan person. Keluaran

   status valid data perusahaan telah diganti Asumsi Proses login berhasil sebagai perusahaan Proses 1. perusahaaan memilih menu ganti data perusahaan lalu perusahaan akan dirujuk ke halaman EditAccountPer.jsp .Halaman ini berisi field yang telah berisi data perusahaan yang tersimpan di database, menampilakan data yang tersimpan dalam database dilakukan dengan query 1. Field ini dapat di ubah oleh perusahaan.

  2. Perusahaan mengubah data perusahaan lalu menekan tombol submit maka sistem akan melempar data isian (Username, nama pt, alamat, no telepon, deskripsi perusahaan, nama person, email person, jabatan person) pada halaman EditAccountPer.jsp ke halaman SetEditAccountPer.jsp .

  3. SetEditAccountPer.jsp pada halaman ini data (Username, nama pt, alamat, no telepon, deskripsi perusahaan, nama person, email person, jabatan person) lemparan dari halaman

  EditAccountPer.jsp ditangkap dan di proses untuk disimpan ke

  dalam data base. Penyimpanan data kedalam database dilakukan dengan melakukan query 2.

  4. Setelah proses menyimpan data baru berhasil maka sistem akan memberi pesan kepada perusahaan” Anda Telah Berhasil Mengganti Account Anda”

  SELECT

  Quer 1

  l.username,l.password,p.nama_pt,p.email_pt,p.alamat_pt,"

  • "p.no_tlppt,p.deskripsi,p.nama_person,p.jabatan_person,"
  • "p.email_person FROM login l,perusahaan p where l.password=md5('"+pass+"') " + "and l.username='"+user+"' and p.id_pt=l.id_pt

  ("UPDATE perusahaan SET email_pt='"+emailPer+"', " +

  Query 2

  "nama_pt='"+namaPer+"', " + "alamat_pt='"+alamatPer+"', "

  • "no_tlppt='"+notlpPer+"', " + "deskripsi='"+deskripsiPer+"' ," + "nama_person='"+namaPersonal+"', " + "jabatan_person='"+jabatanPersonal+"', " + "email_person='"+emailPersonal+"', " + "WHERE id_pt="+rs.getString(1)+" ");statement3.executeUpdate ("UPDATE login SET username='"+UsernamePer+"' " +"WHERE

  id_pt="+rs.getString(1)+"");

   Potongan Listing Program dan penjelasan ada pada lampiran 1.5.a

  Data lowongan

  10.1 Tambah Lowongan Term indeks D9 indeks_perusahaan Perusahaan Data lowongan D5 Lowongan

Gambar 3.13 DFD proses Tambah Lowongan  Spesifikasi Proses Perusahaan menambah lowongan..

  Masukan Data lowongan. Keluaran Status valid data lowongan disimpan sistem mengirim pesan "Lowongan anda telah ditambahkan". Asumsi Proses login berhasil sebagai perusahaan Proses 1. perusahaaan memilih menu lowongan, perusahaan akan rujuk ke halaman TambahLowPer.jsp didalam lowongan ini akan perusahaan dapat menambah lowongan dengan memilih Add_Data lalu perusahaan akan dirujuk ke halaman tambah_lowongan.jsp .

  2. halaman tambah_lowongan.jsp berisi field isian yang harus diisikan perusahaan untuk menambah lowongan pekerjaan. Data isian lowongan akan dilempar ke halaman InputTambahLowPer.jsp.

  3. InputTambahLowPer.jsp. Di halaman ini field isian lowongan yang dimasukan oleh ditangkap dan diproses masuk ke dalam database kerja table lowongan dengan perintah query . Setelah berhasil perusahaan akan mendapat pesan dari sistem "Lowongan anda telah ditambahkan".

  ("SELECT id_pt from login where

  Query

  password=md5('"+ pass +"') " + "and username='"+user+"'"); if (rs.next()) { statement2.executeUpdate("INSERT

  INTO

  • lowongan(id_pt,lowong)" "VALUES" " ('"+rs.getString(1)+ "','"+tambahLow+"')")

   Potongan listing program dan pejelasan terletak pada lampiran 1.5.b perusahaan mengubah lowongan yang diinginkan. Proses indexing lowongandilakukan berkala oleh sistem dan akan dijelaskan pada

  bab ini di proses lain. Term indeks D9 indeks_perusahaan Perusahaan

Data Lowongan

D5 Lowongan Data lowongan

  10.2 Edit Lowongan

Gambar 3.14 DFD proses Edit Lowongan  Spesifikasi Proses Perusahaan mengedit lowongan..

  Masukan Data lowongan. Keluaran Status valid data lowongan disimpan sistem akan merujuk perusahaan ke halaman

  TambahLowPer.jsp

  Asumsi Proses login berhasil sebagai perusahaan Proses 1. perusahaaan memilih menu lowongan, perusahaan akan rujuk ke halaman TambahLowPer.jsp didalam lowongan ini akan perusahaan dapat mengedit lowongan dengan memilih Change_Data lalu perusahaan akan dirujuk ke halaman edit_lowongan.jsp.

  2. halaman edit_lowongan.jsp menampilkan field yang berisi lowongan yang akan ubah oleh perusahaan. Lowongan ini diperoleh dari hasil

query 1 ke dalam data base.

  3. Perusahaan mengedit lowongan lama dengan mengubah isi dalam field lowongan. Setelah mengubah isi lowongan perusahaan menekan tombol submit maka data lowongan yang sudah di ubah akan dilempar ke halaman savedata_low.jsp

  4. savedata_low.jsp pada halaman ini data lowongan dari halaman edit_lowongan.jsp ditangkap dan disimpan dalam database kerja table lowongan

   potongan listing program dan penjelasannya terletak pada lampiran 1.5.c d.

   Proses Tampilkan Pencari Kerja.

  Perusahaan ingin melihat daftar pencari kerja yang sesuai dengan lowongan yang diterbitkan perusahaan. Perusahaan memilih menu tampil pencari kerja. Lalu sistem menampilakan rekomendasi pencari kerja yang sesuai dengan kriteria lowongan perusahaan. Hasil rekomendasi diperoleh dari jumlah total bobot Bobot dokumen_skill (kemampuan) didapatkan setelah dilakukan pembobotan berkala pada tabel indeks. Pengurutan dimulai dari bobot yang paling tinggi. Proses rekomendasi akan di bahas pada proses nanti pad bab ini.

  Perusahaaan Data lowongan D5 Lowongan Bobot total Data lowongan Dokumen skill D8 rekomendasi

  D4 skill

  11 Tampilkan Pencari kerja Data Pencari_Kerja Data pencari kerja Data lowongan D1 Pencari_Kerja

  11.1 Tampilkan Pencari kerja

Gambar 3.15 DFD proses Tampilkan Pencari Kerja .

   Spesifikasi Proses Perusahaan melihat Rekomendasi Pencari Kerja.

  Proses

  5. Perusahaan memilih menu tampilkan pencari kerja maka akan dirujuk ke halaman LihatPekerja.jsp Pada halam ini akan tampil lowongan-lowongan yang perusahaan miliki. Untuk melihat rekomendasi pencari kerja klik detai rekomendasi sesuai dengan lowongan yang diinginkan. Maka akan dirujuk ke halaman LihatPekerja2.jsp

  6. Perusahaan akan dapat melihat rekomendasi lowongan diurutkan dari bobot yang paling ting ke rendah. Informasi tersebut didapatkan dengan melakukan query dari database. Query

  SELECT pencari_kerja.nama_d, pencari_kerja.skill, pencari_kerja.alamat_p, pencari_kerja.no_tlp, pencari_kerja.email_p FROM rekomendasi, lowongan, pencari_kerja where rekomendasi.id_low=lowongan.id_low and rekomendasi.id_pekerja=pencari_kerja.id_pekerja and lowongan.id_low='"+pk1+"' order by rekomendasi.bobotTotal desc

   Potongan program dan pejelsan terletak pada halaman lampiran 1.5.d e.

   Proses Pencarian

  Perusahaan memilih menu pencarian kemudian mengisikan kalimat kunci pada field yang tersedia. Kemudian perusahaan menekan tombol cari stelah itu sistem akan melakukan proses pencarian pencari kerja berdasarkan kalimat kunci masukan dari perusahaaan.

  Perusahaan

12

Pencarian Indeks Kalimat kunci Data Pencari Kerja

Gambar 3.16 DFD proses Pencarian

   Spesifikasi Proses Pencari Kerja melakukan pencarian Masukan Kalimat kunci Keluaran Sitem akan menampilkan Rekomendasi pencari Kerja. indeks database kerja dengan melakukan query. Proses ini dilakukan pada halaman

  LihatPencarianPk.jsp

  2. Sistem akan menampilakan hasil rekomendasi

  select pencari_kerja.nama_d,

  Query

  pencari_kerja.skill, pencari_kerja.alamat_p, pencari_kerja.no_tlp, pencari_kerja.email_p from pencari_kerja, indeks where indeks.id_pekerja in (select id_pekerja from indeks where word='' group by id_pekerja ORDER by

sum(bobotTotalPk))and

pencari_kerja.id_pekerja=indeks.id_pekerja group by pencari_kerja.id_pekerja;

   Potongan program dan pejelsan terletak pada halaman lampiran 1.5.e

  6. Proses Kegiatan Administrator setelah Login Proses kegiatan administrator setelah login adalah sebagai berikut update account, update berita, dan setting waktu rekomendasi

  1. Proses Tambah Berita Administrator dapat menambah berita dengan memilih menu update berita. Kemudian administrator menambahkan berita lalu menekan tombol submit sistem akan menyimpan berita tersebut lalu kembali ke halaman update berita.

  14.1 Tambah Berita Data berita

  Administrator Data Berita

  Data Berita

Gambar 3.17 DFD proses Tambah Berita Proses

  1. Administrator memilih menu update berita lalu akan dirujuk kehalaman update_news.jsp. oleh sistem.

  2. Kemudian administrator memilih menu

  tambah_news.jsp didalam halaman ini sudah

  disediakan field yang harus diisikan administrator mengisikan semua field yang ada. Data isian pada halaman ini akan dirujuk ke halaman

  input_news.jsp untuk dapat diproses dan disimpan

  kedalam database kerja tabel berita dengan perinta query.

  3. Halaman view data ditampilkan untuk melihat perubahan pada update_news.jsp

  ="insert into

  Query

  berita(tanggal,judul,isi_berita) values('"+Tanggal+"','"+Judul+"','"+Berita+"'

   Potongan listing Program dan pejelasan dapat dilihat di lampiran 1.6.a

  2. Proses Hapus berita Administrator dapat menghapus berita dengan memilih menu update berita lalu mengklik hapus pada kolom action sesuai berita yang dia inginkan.

  14.2 Administrator Data betita Hapus Data Berita Data Berita Berita

Gambar 3.18 DFD proses Hapus Berita

   Spesifikasi Proses Kegiatan Administrator menghapus berita Masukan Data berita Keluaran Status valid data berita yang dihapus tidak tertampil Asumsi Proses login berhasil sebagai administrator Proses

  1. Administrator memilih menu update berita lalu akan dirujuk kehalaman update_news.jsp. oleh sistem.

  2. Kemudia administrator memilih menu hapus pada kolom action sesuai dengan berita yang akan perubahan pada update_news.jsp

  delete from berita where id_berita="+pk

  Query  Potongan Listing Program dan penejelasannya dapat dilihat di lampiran 1.6.b

  3. Proses Kegiatan Administrator mengubah isi berita Administrator dapat merubah isi dari berita dengan memilih menu update berita lalu menekan klik edit. Maka akan dirujuk ke halaman edit_news.jsp

  Administrator Data Berita Data Berita

  14.3 Data berita Ubah Berita

Gambar 3.19 DFD proses Hapus Berita

   Spesifikasi Proses Kegiatan Administrator mengubah isi berita Masukan Data berita Keluaran Status valid data berita yang diubah ditampilakan.

  Asumsi Proses login berhasil sebagai administrator

  Proses

  1. Administrator memilih menu update berita lalu akan dirujuk kehalaman update_news.jsp. oleh sistem.

  2. Kemudia administrator memilih menu edit pada kolom action sesuai dengan berita yang akan di ubah maka edit_news.jsp. halaman ini menampilakan berita yang tersimpan dalam database. Pengambilan informasi ini di lakukan dengan query1

  3. Di halaman edit_news.jsp terdapat field isian yang dapat diubah sesuai dengan keinginan dari administrator. Administrator menekan tombol submit maka data ubah berita akan dirujuk ke halaman savedata_news.jsp.

  4. Di halaman savedata_news.jsp proses penyimpanan data ubah berita ke database berlangsung. Proses penyimpana dilakukan dengan

  query2 kedalama database.Setelah sistem berhasil

  menyimpan berita kemudian data tersebut halaman akan dirujuk kembali ke update_news.jsp untuk melihat perubahan yang terjadi.

  select * from berita where id_berita=

  Query1

  update berita set

  Query2

  judul='"+Judul+"',isi_berita='"+Berita+"'

where id_berita="+pk1

   Potongan listing program dan pejelasan terletak pada lampiran 1.6.c

  4. Proses Hapus Account Administrator dapat menghapus account user dengan memilih menu update user lalu mngklik hapus user maka user akan dihapus oleh sistem dan sistem akan memberi pesan hapus user berhasil.

  13.1 Data account Data account Hapus Account administrator

  D2 Login

Gambar 3.20 DFD proses Hapus Account Proses 1) Administrator memilih menu update password maka sistem akan merujuk ke halaman

  update_pass_admin.jsp. lalu administrator

  memilih menu hapus account pada kolom action 2) Maka sistem akan menghapus user yang dipilih oleh administrator proses ini berlangsung dihalaman hapus_pass_admin.jsp. proses penghapusan data dalam database dilakuakan dengan query. 3) Lalu sistem akan merujuk ke halaman

  hapus_pass_admin.jsp dan menampilakn pesan

  bahwa sistem telah berhasil menghapus account user.

  delete from pencari_kerja where

  Query

  id_pekerja="+pk

   Potongan listing program dan penjelasannya ada di lampiran 1.6.d

  5. Proses Tambah Account Administrator Administrator dapat menambah account admin dengan memilih menu update password, lalu memilih menu tambah admin maka akan dirujuk ke halaman tambah_pass_admin.jsp . Kemudian admin akan mengisikin username dan pasword. Setelah itu admin menekan tombol submit maka password dan username akan di simpan dalam database kerja tabel login.

  administrator Data login D2 Login Data login

  13.2 Tambah Account Administrator

Gambar 3.21 DFD proses Tambah Account Administrator

   Spesifikasi Proses Kegiatan Administrator menambah account Administrator

  Masukan Data admin (username dan password) Keluaran Status valid data pesan sistem muncul data admin

  2) Lalu sistem akan merujuk ke halaman

  tambah_pass_admin.jsp. pada halaman ini

  disediakan field untuk diisi oleh administrator yaitu username dan password. Setelah itu administrator menekan tombol submit maka data isian pad field akan di lempar oleh sistem ke halaman input_pass.jsp. 3) Dalam halaman input_pass.jsp data isian ditangkap lalu dimasukkan kedalam database kerja tabel login dengan query. 4) Kemudian sistem merujuk kita ke halaman

  

update_pass_admin.jsp

="insert into

  query

  login(id_pekerja,id_pt,username,password,level) values(null,null,'"+Username+"',md5('"+Password+"' ),'"+Level+"')"

   Potongan listing program dan penjelasan terletak pada lampiran 1.6.e

  6. Proses Seting Waktu Rekomendasi Administrator dapat melakukan proses rekomendasi dengan memilih menu setting waktu rekomendasi maka sistem akan merujuk ke halaman setting_waktu.jsp setelah memasukkan periode dan delay dan administrator menekan tombol submit maka sistem akan melakukan proses rekomendasi. Sistem akan merujuk ke halaman

  stop_waktu.jsp halam ini berisikan tombol untuk menghentikan waktu pada server. administrator Data waktu Setting Waktu Stop waktu Rekomendasi

  15.1 15.2 Gambar 3.22 DFD proses Setting Waktu Rekomendasi Asumsi Proses login berhasil sebagai administrator Proses 1) Administrator memilih setting waktu rekomendasi maka akan dirujuk ke halaman

  setting_time.jsp

  2) Lalu administrator memasukkan waktu delay dan periodenya.setelah menekan tombol submit maka proses rekomendasi akan dilakuan dengan estimasi waktunya adalah waktu delay lalu periode merupakan tenggang waktu perulangan untuk sistem akan melakukan proses rekomendasi. 3) Pesan akan muncul ketika sistem berhasil menjalankan waktu server. 4) Lalu sistem akan merujuk ke halaman

  setting_waktu2.jsp pada halaman ini disediakan

  ada tombol untuk menghenghentikan waktu server. 5) Jika administrator menekan tombol tersebut maka waktu pada server akan dihentikan. Tetapi proses rekomendasi akan tetap berjalan sampai selesai. Sistem akan memberikan pesan bahwa waktu server berhasil di hentikan.  Potongan listing progam ada di lampiran 1.6.f

3.8 Kamus Data

  Berdasarkan DFD (Data Flow Diagram) ada beberapa data atau tabel data yang dibutukan:

  1. Pencari kerja  Nama depan  Nama belakang  Jenis kelamin  Tanggal lahir  Tempat lahir  No telepon  Email pencari kerja  Alamat pencari kerja

   No telepon perusahaan  Email perusahaan  Alamat perusahaan  Deskripsi perusahaan  Nama person  Jabatan person  Email person

  3. Data Lowongan  Lowongan

  4. Term Indeks  Indeks Pencari kerja  frekuensi

  5. Indeks_per  indeks perusahaan

  6. Berita  Judul  Isi_berita  tanggal

  7. Rekomendasi  bobotTotal

  8. Login  Username  password  level

  9. Rekomendasi pencari kerja  Nama pencari kerja  Kemampuan  Alamat pencari kerja  No telp pencari kerja

   Notelp perusahaan  Email perusahaan

  11. Login valid  Nilai true

  12. Login not valid  Nilai false

3.9 Desain Database

1. Desain Database

  1. Logical design database

  login

  • id_login
    • id_pekerja
    • id_pt

  perusahaan punya username password punya

  • id_pt

  pencai_kerja level nama_pt no_tlppt

  • id_pekerja

  email_pt nama_d alamat_pt nama_b deskripsi_pt jenis_kel nama_person kelamin_pk jabatan_person tgl_lahir email_person tmp_lahir no_tlp Rekomendasi email_pk punya alamat_p *id_rek email_p **id_pekerja lowongan skill **id_low punya bobotTotal

  • id_low id_pt punya
  • punya lowong Indeks Indek
  • id_ideksPK
  • id_indeks
    • id_pekerja
    • id_low word bagian word_per frekuensi frekuensi_per tif

  tif_per Idf idf_per bobotTotalPk bobotTotalPer

Gambar 3.23 Logical Design Database

  2. Physical design database

   Dari relasi tabel diatas selanjutnya dirancang struktur data masing-masing tabel

  1. Tabel pencai_kerja

Tabel 3.6 Struktur Data Tabel Pencari_Kerja

  Nama Tipe Ukuran Keterangan id_pekerja integer

  45 Primary key nama_d Varchar 45 nama_b Varchar 45 jenis_kel Varchar 45 kelamin_pk Varchar 45 tgl_lahir Date tmp_lahir Varchar

  45 no_tlp Integer 15 email_pk Varchar 45 alamat_p longtext email_p varchar

  45 skill longtext

  2. Tabel perusahaan

Tabel 3.7 Struktur Data Tabel Perusahaan

  Nama Tipe Ukuran Keterangan id_pt Integer

  20 Primary key nama_pt Varchar 50 no_tlppt Varchar 15 email_pt Varchar 45 alamat_pt Longtext deskripsi_pt Longtext Nama Tipe Ukuran Keterangan email_person Varchar

  45

  3. Tabel lowongan

Tabel 3.8 Struktur Data Tabel Lowongan

  Nama Tipe Ukuran Keterangan id_low Integer

  45 Primary key id_pt Integer

  45 Foreingn key lowong Longtext

  4. Tabel indeks

Tabel 3.9 Struktur Data Tabel Indeks

  Nama Tipe Ukuran Keterangan id_ideksPK Integer

  11 Primary key id_pekerja Integer

  45 Foreingn key word varchar 50 frekuensi integer 20 tif float 30 idf decimal (6,5) bobotTotalPk decimal (6,5)

  5. Tabel indeks_per

Tabel 3.10 Struktur Data Tabel Indeks_per

  Nama Tipe Ukuran Keterangan id_indeks Integer

  50 Primary key id_low Integer

  50 Foreingn key word_per varchar

  50 tif_per float

  30 idf_per decimal (6,5) bobotTotalPer decimal (6,5)

  6. Tabel Berita

Tabel 3.11 Struktur Data Tabel Berita

  Nama Tipe Ukuran Keterangan id_berita integer

  10 Primary key Judul Longtext Isi_berita Longtext tanggal date

  7. Tabel Rekomendasi

Tabel 3.12 Struktur Data Rekomendasi_Pencari Kerja

  Nama Tipe Ukuran Keterangan id_rek integer

  30 Primary key id_low integer

  30 Foreingn key id_pekerja integer

  50 Foreingn key bobotTotal decimal (6,5)

  8. Tabel login

Tabel 3.13 Struktur Data login

  Nama Tipe Ukuran Keterangan id_login integer

  45 Primary key id_pekerja integer

  45 Foreingn key id_pt integer

  45 Foreingn key username varchar 45 password varchar 45 level varchar

  45

3.10 Desain Antar Muka

  Desain Antar Muka :

1. Proses Registrasi Pencari Kerja

Gambar 3.24 Halaman Registrasi Pencari Kerja

  Halaman ini adalah halaman yang ditampilkan ketika pencari kerja akan melakukan proses registrasi untuk menjadi user pencari kerja dalam website ini.

2. Proses Registrasi Perusahaan

Gambar 3.25 Halaman Registrasi Perusahaan

  Halaman ini adalah halaman yang ditampilkan ketika perusahaan akan melakukan registrasi sebagai user perusahaan dalam website.

3. Proses Login  Proses Login sebagai Pencari kerja maupun Perusahaan.

Gambar 3.26 Halaman Login Pencarikerja dan Perusahaan

  Halaman login ini adalah halaman yang berfungsi untuk proses login masuk sebagai pencari kerja maupun perusahaan.

   Proses Login sebagai Administrator

Gambar 3.27 Halaman login Administrator

  Halaman login ini adalah halaman untuk login sebagai administrator

4. Proses Ganti Data Diri

Gambar 3.28 Halaman Ganti Data Diri

  Halaman Ganti Data Diri adalah halaman untuk pencari kerja apabila ia ingin mengganti data dirinya.

5. Proses Ganti Password

Gambar 3.29 Halaman Ganti Password untuk pencari Kerja Adalah halaman untuk mengganti password dari pencari kerja.

6. Proses Tampilakan Perusahaan

Gambar 3.30 Halaman Tampilkan Perusahaan

  Adalah halaman bagi pencari kerja untuk melihat hasil rekomendasi yang diberikan sistem kepadanya.

7. Proses Pencarian

Gambar 3.31 Halaman Pencarian

  Adalah halaman dimana pencari kerja ingin mencari lowongan pekerjaan sesuai dengan kalimat kunci masukan pencari kerja.

   Proses hasil pencarian

Gambar 3.32 Halaman Hasil Pencarian

  Adalah halaman hasi dari pencarian sesuai dengan inputan dari pencari kerja

8. Proses Ganti Password

Gambar 3.33 Halaman Ganti Password Halaman ini halaman untuk merubaha password yang dimiliki oleh perusahaan.

9. Proses Lowongan

Gambar 3.34 Halaman Lowongan

  Halaman ini untuk perusahaan menampilkan lowongan yang dipunyai perusahaan. Ketika perusahaan akan menambah lowongan baru dengan memilih menu Add Data, atau pun ketika perusahaan akan mengubah lowongan yang dia punyai memiliih menu Change Data.

   Proses Tambah Lowongan

Gambar 3.35 Halaman Tambah Lowongan Halaman ini untuk menambah lowongan perusahaan.

   Proses Edit Lowongan

Gambar 3.36 Halaman Edit Lowongan

  Halaman ini untuk mengubah lowongan yang dipunyai oleh perusahaan

10. Proses Ganti Data Perusahaan

Gambar 3.37 Halaman Edit Lowongan

  Halaman ini untuk mengubah data perusahaan

11. Proses Tampilkan Pencari Kerja

Gambar 3.38 Halaman Tampilkan Pencari Kerja

  Halaman ini menampilkan lowongan yang dipunyai perusahaan untuk mengetahui rekomendasi pencari kerja, perusahaan memilih menu detail pada kolom rekomendasi untuk

   Proses Tampilakan Pencari Kerja Detail

Gambar 3.39 Halaman Tampilkan Pencari Kerja detail

  Halaman ini menampilakan rekomendasi pencari kerja kepada perusahaan

12. Proses Pencarian

Gambar 3.40 Halaman Pencarian

  Adalah halaman untuk perusahaan jika ingin melakukan pencarian pekerja, dengan memasukan kalimat kunci pada field yang tersedia.

   Proses Tampil Pencarian

Gambar 3.41 Halaman Tampil Pencarian Adalah halaman hasil dari proses pencarian.

13. Proses Update Password

   Proses Hapus Password

Gambar 3.42 Halaman Upadate Password Halaman untuk administrator dapat mengahapus user pekerja dan perusahaan.

   Proses Tambah Admin

Gambar 3.43 Halaman tambah Admin Halaman untuk administrator dapat menambah administrator..

14. Proses Update Berita

   Proses Hapus Berita

Gambar 3.44 Halaman Hapus Berita Halaman untuk administrator dapat menghapus Berita.

   Proses Ubah Berita

Gambar 3.45 Halaman Ubah Berita

  Halaman untuk administrator dapat mengubah isi berita

   Proses Tambah Berita

Gambar 3.46 Halaman Tambah Berita Halaman untuk administrator dapat menambah berita.

15. Proses Setting Waktu Rekomendasi

   Proses Start Waktu

Gambar 3.47 Halaman Setting Waktu Rekomendasi

  Halaman untuk menjalankan waktu proses rekomendasi

   Proses Stop Waktu

Gambar 3.48 Halaman Stop Waktu Rekomendasi

  Halaman untuk menghentikan waktu proses rekomendasi

3.11 Rancang Pengujian

  Pengujian terhadap hasil rekomendasi dilakukan untuk mengukur informasi yang diinformasikan kepada perusahaan maupun kepada pencari kerja.

a. Persiapan

   Mencari dokumen lowongan dan cv Melakukan brosing ke

   Mencari responden  Menganalisa dokumen

4. BAB IV

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi

Tabel 4.1 Tabel Implementasi

  No Proses Antar Muka Komponen Pendukung

   1 Registrasi reg_pekerja.jsp  input_pen.jsp Pencari Kerja

   definisi.jsp  depan.jsp

   2 Registrasi reg_perusahaan.jsp  input_per.jsp Perusahaan  definisi.jsp  depan.jsp

  3 Login depan.jsp  definisi.jsp  Perusahaan  login.jsp  select.jsp  vallogin2.jsp  perusahaanpage.jsp  otentikasi.jsp

   4 Login Pencari depan.jsp  definisi.jsp Kerja

   select.jsp  login.jsp  vallogin2.jsp  pekerjapage.jsp  otentikasi.jsp No Proses Antar Muka Komponen Pendukung  definisi.jsp  adminpage.jsp  otentikasi_admin.jsp

   5 Ganti Data Diri EditAccountPek.jsp  definisi.jsp  SetEditAccountPek.jsp

   6 Ganti Password change_pass_pek.jsp  definisi.jsp Pencari Kerja  PassPekChanged.jsp

   7 Tampilakan LihatPerusahaan.jsp  definisi.jsp Perusahaan

   8 Pencarian pencarianPerusahaan.jsp  definisi.jsp  LihatPencarianPr.jsp  Word.java

   Tokenizer 

  9 Ganti Password change_pass_per.jsp  definisi.jsp Perusahaan

   PassPerChanged.jsp

   10 Tambah TambahLowPer.jsp  definisi.jsp Lowongan

   tambah_lowongan.jsp  InputTambahLowPer.jsp

   11 Edit edit_lowongan.jsp  definisi.jsp Lowongan

   savedata_low.jsp  TambahLowPer.jsp No Proses Antar Muka Komponen Pendukung  SetEditAccountPer.jsp

   13 Tampilkan LihatPekerja.jsp  definisi.jsp Pencari Kerja

   LihatPekerja2.jsp

   14 Pencarian pencarianPekerja.jsp  definisi.jsp

   LihatPencarianPk.jsp  Word.java  Tokenizer 

  15 Hapus update_pass_admin.jsp  hapus_pass_admin.jsp Password

   definisi.jsp

   16 Tambah Admin update_pass_admin.jsp  definisi.jsp  tambah_pass_admin.jsp  input_pass.jsp

   17 Hapus Berita update_news.jsp  definisi.jsp  hapus_news.jsp

   18 Ubah Berita update_news.jsp  definisi.jsp  edit_news.jsp  savedata_news.jsp

   19 Tambah Berita update_news.jsp  definisi.jsp  input_news.jsp  tambah_news.jsp

   20 Start Waktu setting_time.jsp  TimerRekomender.java  setting_waktu2.jsp  SteamingForPerusahaan.java No Proses Antar Muka Komponen Pendukung  Word.java  Stop_time.jsp  Tokenizer  DatabaseConnector.java  StemmingForPencariKerja.java

   21 Stop Waktu Stop_time.jsp  TimerRekomender.java

4.2 Pengujian Hasil rekomendas a. Persiapan  Mencari contoh dokumen lowongan dan cv melalui internet.

  melakukan pencarian contoh dokumen lowongan pada website

  

   Menganalisa dokumen Aplikasi rekomendasi ini memiliki dokumen lowongan sebnyak 27 dokumen dan 30 dokumen CV pencari kerja . Analisa jenis dokumen lowongan yang dimiliki oleh sistem seperti tertampil pada tabel 4.2 analisa dokumen CV pencarikerja terdapat pada tabel 4.3

   Tabel 4.2 merupakan hasil analisa jenis lowongan dan jumlah lowongan yang tersimpan dalam sistem.  Tabel 4.3 merupakan analisa kemampuan pekerja berdasarkan jenis kemampuan pekerja dan jumlahnya yang berada dalam sistem.

Tabel 4.2 Tabel Analisa Lowongan

  No Jenis lowongan Jumlah

  1 Programer

  2

  2 Tata Boga

  3

  3 Pariwisata

  2

  4 Kasir

  1 No Jenis lowongan Jumlah

  6 Sekretaris

  1

  7 Teknik Sipil

  3

  8 Administrasi

  2

  9 Teknisi Handphone

  1

  10 Desain grafis

  1

  11 Teknik Mesin

  2

  12 HRD

  1

  13 Marketing

  2

  14 Ekonomi

  5

  15 Teknik Elektro

  1

  16 Bebas

  1 Tabel 4.3 Tabel Analisa Kemampuan Pencari Kerja No Jenis Kemampuan Jumlah

  (tingkat pendidikan)

  1 Programmer

  2 S1 komunikasi

  2

  2

  3 Teknisi listrik

  1

  4 S1 Teknik Sipil

  1

  5 Administrasi

  2

  6 S1 Akuntansi

  2

  7 Bebas

  2

  8 S1 Elektro

  1

  9 S1 Desain Grafis

  1

  10 S1 Arsitek

  5

  11 S1 Manajemen

  3

  12 S1 Teknik Mesin

  1 No Jenis Kemampuan Jumlah (tingkat pendidikan)

  15 SMIP

  1

  16 D1 Pariwisata

  1

  17 SMK Tataboga

  1

  18 SMK Perhotelan

  1  Hipotesa Hipotesa yang dapat diambil sesuai data pada tabel 4.2 dan tabel 4.3. Setiap jenis lowongan akan mendapatkan pekerjaan sesuai dengan jenis kemampuannya. Tabel 4.4 merupakan contoh hipotesa yang dapat diambil.

Tabel 4.4 Tabel contoh hipotesa hasil rekomendasi

  No Jenis Lowongan Jumlah pekerja

  1 Programer

  2

  2 Teknik Elektro

  1

  3 Teknik Sipil

  1

  4 Administrasi

  2

  5 Ekonomi

  5

  6 Desain grafis

  1

  7 Teknik Mesin

  1  Memilih metode untuk pengujian

  Metode yang dilakukan dalam pengujian hasi temu informasi pada sistem ini dengan memberikan kuisioner kepada responden.

b. Pengolahan hasil kuisioner  Memilih metode untuk pengolahan kuisioner.

  Metode dalam pengolah hasil kuisioner ini adalah recall and precision. Dari hasil pengolahan tersebut pembuat sistem dapat mengukur hasil informasi rekomendasi

  Hal-hal yang diuji

  1. Jumlah dokumen yang direkomendasikan

  2. Jumalah dokumen yang baik kesusaiannya

  3. Jumlah dokumen yang cukup baik kesusaiannya

  4. Jumlah dokumen yang tidak sesuai kesesuaiannya 5.

   Jumlah dokumen yang sangat tidak sesuai  Membuat kuisioner.

  Contoh kuisioner ada pada lampiran 2.  Mencari responden.

  Karakteristik dari responden yang pilih untuk mengisikan kuisioner ini adalah mahasiswa, alumni dan karyawan. Jumlah responden yang menguji sistem ini adalah 28 responden yang terdiri 15 responden untuk sebagai perusahaan dan 13 responden sebagai pencari kerja.

Tabel 4.5 Tabel Analisa Kuisioner Lowongan

  

N Identitas Jenis Isi lowongan Relev Not Jumlah Nilai Nilai Precissi

maksim minimu

o lowonga lowongan an Relev Dokum on

um m n an en temuan

  1 Id_low= Desain Pendidikan Min.

  9

  16 25 7.55429 0.0500 0,36

  39 Grafis D3 jurusan

  6 Design Graphis, memiliki pengalaman di Packaging Staff dan memiliki kemampuan menggunakan MS Access, Memiliki kemampuan dalam menggunakan Software Design: Ilustrator, photoshop, Freehand, Autocad, 3Dmax, atau sejenisnya.

  2 Id_low Teknik mencari pekerja

  8

  3 11 0.89810 0.1179 0.72727 = 9 Informatik yang bisa

  9

  3 a programer java, fasih mysql, fasih menggunakan linux,

  3 Id_low= Bebas dibutuhkan

  5

  22 27 2.98821 0.0335 0.18518

  36 Service Center,

  7

  5 Pendidikan D3, S1, mempunyai pengalaman kerja, Dapat mengoperasikan komputer

4 Id_low= Ekonomi d3, s1, ekonomi

  6

  23 29 2.00179 0.0671 0.20689 35 akuntasi atau

  5

  7

  87

  

N Identitas Jenis Isi lowongan Relev Not Jumlah Nilai Nilai Precissi

maksim minimu

o lowonga lowongan an Relev Dokum on

um m n an en temuan manajemen, Pengalaman kerja menguasai microsoft Office, terutama excel dan Visio apat membuat flowchart SOP, pembukuan laporan rugi laba.

  5 Id_low= Teknisi membutuhkan

  7

  18 25 2.29193 0.0751

  0.28

  38 Handphon Teknisi e handphone, kualifikasi Mempunyai pengalaman sebagai teknisi handphone Dapat mengoperasikan komputer, office, excel.

  6 Id_low= Administr dibutuhkan

  3

  27 30 3.19859 0.0335

  0.1 37 asi Administrasi

  7 Service Center , pendidikan d1, d2, d3, s1, Mempunyai pengalaman sebagai administrasi / customer service Dapat mengoperasikan komputer, excel dan office.

  7 Id_low= Ekonomi d3, s1, ekonomi

  7

  22 29 2.00179 0.0671 0.24137 35 akuntasi atau

  5

  9 manajemen,

  88

  

N Identitas Jenis Isi lowongan Relev Not Jumlah Nilai Nilai Precissi

maksim minimu

o lowonga lowongan an Relev Dokum on

um m n an en temuan

  Pengalaman kerja menguasai microsoft Office, terutama excel dan Visio apat membuat flowchart SOP, pembukuan laporan rugi laba.

  8 Id_low= Teknik STM

  17

  7 24 1.47319 0.0751 0.70833 11 Sipil Pembangunan.

  3 Pengalaman kerja .Mengerti Gambar Kerja dalam bentuk AUTOCAD,

  3Dmax, Ms Project

  9 Id_low= Desain Pendidikan Min.

  9

  16 25 0.42908 0.0751

  0.36

  39 Grafis D3 jurusan Design Graphis, memiliki pengalaman di Packaging Staff dan memiliki kemampuan menggunakan MS Access, Memiliki kemampuan dalam menggunakan Software Design: Ilustrator, photoshop, Freehand, Autocad, 3Dmax, atau sejenisnya.

  1 Id_low= Arsitek Pria Wanita, S1

  5

  25 30 2.33079 0.0335 0.16666

  89

  

N Identitas Jenis Isi lowongan Relev Not Jumlah Nilai Nilai Precissi

maksim minimu

o lowonga lowongan an Relev Dokum on

um m n an en temuan

57 Arsitek,

  7

  7 pengalaman bekerja. Menguasai Autocad, Ms Office dan 3D. Menguasai Design building dan interior.

  1 Id_low= Teknik programer java,

  3 3 1.29620 0.3981

  1

  1

  8 Informatik PHP, a makromedia flash, Linux.

  1 Id_low= Bebas dibutuhkan

  13

  14 27 2.98821 0.0335 0.48148

  2

  36 Service Center,

  7

  1 Pendidikan D3, S1, mempunyai pengalaman kerja, Dapat mengoperasikan komputer.

1 Id_low= Ekonomi Akunting Staf

  8

  11 19 6.37597 0.0671 0.42105

  3 58 bisa Membuat

  5

  3 laporan keuangan,Membu at posting buku besar,Membuat laporan rugi/laba perusahaan Membuat laporan neraca perusahaan,Mem buat laporan Pajak perusahaan dan Karyawan Membuat laporan rekapitulasi setoran pemegang

  90

  

N Identitas Jenis Isi lowongan Relev Not Jumlah Nilai Nilai Precissi

maksim minimu

o lowonga lowongan an Relev Dokum on

um m n an en temuan saham. pendidikian s1 akuntansi atau manajemen , brevet a dan brevet b.

  1 Id_low= Teknik programer java,

  3 3 1.29620 0.3981

  1

  4

  8 Informatik PHP, a makromedia flash, Linux.

  1 Id_low= Ekonomi Akunting Staf

  6

  13 19 6.37597 0.0671 0.42105

  5 58 bisa Membuat

  5

  3 laporan keuangan,Membu at posting buku besar,Membuat laporan rugi/laba perusahaan Membuat laporan neraca perusahaan,Mem buat laporan Pajak perusahaan dan Karyawan Membuat laporan rekapitulasi setoran pemegang saham. pendidikian s1 akuntansi atau manajemen , brevet a dan brevet b.

  Total 6.29932

  1

  91

  

N Identitas Jenis Isi lowongan Relev Not Jumlah Nilai Nilai Precissi

maksim minimu

o lowonga lowongan an Relev Dokum on

um m n an en temuan

  Rata-rata 0.41995

  5 Tabel 4.6 Tabel Analisa Kuisioner Kemampuan Pencari Kerja

N Identitas Jenis Isi Relev Not Jumlah Nilai Nilai Precissi

maksimu minimu

o Pekerja Kemampu Kemampuan an Relev Dokum on

m m an an en

  (tingkat temuan pendidikan

  )

  1 Id_pekerja= Programer Menguasai

  4

  10 14 1.29620 0.2458 0.28571

  1 Microsoft

  7

  4 Office , Open Office, sistem Operasi Linux Mint

  5. Menguasai bahasa pemrogaman Java ,PHP, JSP, SQL database.

  2 Id_pekerja= D3 Tata Pendidikan

  4

  18 22 2.52149 0.1501 0.18181

  28 Boga d3 tata boga

  9

  8 mempunyai Pengalaman bekerja bidang

  92

  

N Identitas Jenis Isi Relev Not Jumlah Nilai Nilai Precissi

maksimu minimu

o Pekerja Kemampu Kemampuan an Relev Dokum on

m m an an en (tingkat temuan pendidikan

  ) makanan dan minuman ulet dan mau bekerja keras

  3 Id_pekerja= S1 Teknik s1 jurusan

  2

  16 18 7.45729 0.1342 0.11111

  10 Sipil teknik sipil,

  9

  1 fabrikasi baja, menguasai TEKLA, menguasai LEAN MNG, menguasai gambar bangun

  4 Id_pekerja= Administra bisa bahasa

  5

  6 11 2.01155 0.1229 0.45454 11 si inggris aktif,

  4

  5 pasif, bisa microsoft office , bisa administrasi keuangan.

  5 Id_pekerja= Programer Menguasai

  2

  10 12 1.19430 0.2458 0.16666

  2 Microsoft

  7

  7 Office, Open Office, Macromedia Flash. Menguasai bahasa pemrogaman Java ,PHP, SQL database.

  93

  

N Identitas Jenis Isi Relev Not Jumlah Nilai Nilai Precissi

maksimu minimu

o Pekerja Kemampu Kemampuan an Relev Dokum on

m m an an en (tingkat temuan pendidikan

  )

  6 Id_pekerja= S1 S1

  1

  23 24 3.19054 0.0671 0.04166

  20 Komunika komunikasi,

  5

  7 si bidang training, kompetensi, job analisis, uu tenaga kerja, pengalaman kerja diutamakan

  7 Id_pekerja= S1 Arsitek S1 Arsitek,

  5

  18 23 2.33079 0.0671 0.21739 34 mempunyai

  5

  1 pengalaman bekerja. Menguasai Autocad, Microsoft Office dan

  3D. Menguasai Design building dan interior.

  8 Id_pekerja= S1 Elektro Mempunyai

  4

  19 23 2.29193 0.0671 0.17391 15 pengalaman

  5

  3 sebagai teknisi handphone , s1 elektro, Dapat mengoperasi kan komputer, office, excel.

  94

  

N Identitas Jenis Isi Relev Not Jumlah Nilai Nilai Precissi

maksimu minimu

o Pekerja Kemampu Kemampuan an Relev Dokum on

m m an an en (tingkat temuan pendidikan

  )

  9 Id_pekerja= D3 Tata Pendidikan

  6

  16 22 2.52149 0.1501 0.27272

  28 Boga d3 tata boga

  9

  7 mempunyai Pengalaman bekerja bidang makanan dan minuman ulet dan mau bekerja keras

  1 Id_pekerja= Admiinistr seorang

  4

  19 23 3.19859 0.1001 0.17391 13 asi Administrasi

  3

  3 Service Center , pendidikan d1, Mempunyai pengalaman sebagai administrasi dan customer service Dapat mengoperasi kan komputer, excel dan office.

  1 Id_pekerja= S1 S1

  2

  22 24 3.19054 0.0671 0.08333

  1

  20 Komunika komunikasi,

  5

  3 si bidang training, kompetensi, job analisis, uu tenaga kerja,

  95

  

N Identitas Jenis Isi Relev Not Jumlah Nilai Nilai Precissi

maksimu minimu

o Pekerja Kemampu Kemampuan an Relev Dokum on

m m an an en (tingkat temuan pendidikan

  ) pengalaman kerja diutamakan

  1 Id_pekerja= S1 Pendidikan

  3

  21 24 4.43465 0.1342 0.125

  2

  31 Perhotelan s1 jurusan

  9 Perhotelan Pariwisata. Memiliki pengalaman di Supervisory .

  1 Id_pekerja= SMK Pendidikan

  4

  19 23 2.75810 0.0751 0.17391

  3

  32 Pariwisata SMK, 3 jurusan

  Perhotelan Penampilan menarik komunikatif dan cekatan. pengalaman sebagai kasir

  Total 2.46171

  3 Rata-rata 0.18936

  3

  96

Tabel 4.7 Tabel Perbandingan

  Identitas Jenis Isi lowongan Relev Not Jumlah Nilai Nilai Precissi Keterang maksim minim Lowong Lowonga an Relev Dokum on an um um an n an en temuan

  Id_low= Teknik programer

  3 3 1.29620 0.3981

  1 Baik

  8 Informati java, PHP, ka makromedia flash, Linux. Id_low= Administr dibutuhkan

  3

  27 30 3.19859 0.0335

  0.1 Tidak 37 asi Administrasi

  7 Baik Service Center , pendidikan d1, d2, d3, s1, Mempunyai pengalaman sebagai administrasi / customer service Dapat mengoperasi kan komputer, excel dan office.

  Cara membaca tabel 4.5, tabel 4.6, tabel 4.7 sebagai berikut :  Tabel 4.5, tabel 4.6, dan tabel 4.7 merupakan hasil analisa dari kuisioner.

   Kolom identitas lowongan pada tabel 4.5 dan tabel 4.7 adalah identitas unik untuk lowongan yang tersimpan dalam sistem  Kolom identitas pekerja pada tabel 4.6 adalah identitas unik untuk pekerja yang tersimpan dalam sistem.  Kolom relevan adalah hasil informasi yang diberikan oleh sistem bernilai baik.

  97

   Kolom not relevan adalah hasil informasi yang dikeluarkan sistem yang bernilai tidak baik.  Kolom jumlah dokumen temuan merupakan informasi jumlah rekomendasi yang dikeluarkan sistem.  Kolom nilai maksimum merupakan nilai maksimum bobot sebuah dokumen pekerja yang dikeluarkan sistem.  Kolom nilai minimum merupakan nilai minimum bobot sebuah dokumen pekerja yang dikeluarkan sistem.  Kolom precission merupakan hasil perhitungan nilai precission sebuah dokumen.

  98

   Menarik kesimpulan dari analisa kuisioner.

  Setelah menganalisa hasil dari kuuisioner dapat diperoleh kesimpulan sebagai berikut :

  1. Hasil recall diperoleh dari rumus : Karena semua dokumen relevan dalam database terambil baik dari dokumen lowongan pekerjaan maupun dokumen kemampuan pekerja maka hasil recall dari sistem rekomendasi ini adalah 1.

  2. Hasil precission diperoleh dari rumus :

  a) Berdasarkan analisa kuisioner lowongan pekerjaan pada tabel 4.5 hasil perhitungan nilai rata-rata precission adalah 0.419955.

  b) Untuk nilai rasio rekomendasi antara recall dan precission berdasarkan lowongan pekerjaan adalah 1: 0.419955 c) Berdasarkan analisa kuisioner kemampuan pekerja pada tabel 4.6 hasil perhitungan nilai rata-rata precission adalah 0.189363.

  d) Untuk nilai rasio rekomendasi antara recall dan precission berdasarka dokumenn kemampuan pencari kerja 1: 0.189363 e) Hasil kedua rasio recall dan precission diatas kurang baik karena hasil yang baik adalah perbandingan antara recall dan precision

  1:1 (Lee Pao, 1989 : 229). Selain itu, suatu sistem temu kembali dinyatakan efektif apabila hasil penelusuran mampu menunjukkan ketepatan (precision) yang tinggi sekalipun perolehannya rendah (Rowley, 1992 : 172).

  3. Sistem mampu memberikan precission informasi yang baik apabila query kata spesifik contoh itu dapat dilihat pada tabel 4.7 id_low= 8.

  4. Sistem memberikan nilai precission tidak baik apabila query kata rekomendasi tidak baik dapat dilihat dari tabel 4.7. Nilai precission tidak baik dipengaruhi oleh nilai Idf yang rendah tabel perbandingan nilai idf antara query yang spesifik dengan query yang tidak spesifik dapat dilihat pada tabel 4.8 dan tabel 4.9

Tabel 4.8 Tabel bobot kata idf sesuai id_low 8 word Idf

  flash 0.7962 java 0.7962 linux

  1 php 0.7962 Dapat dilihat pada tabel 4.8 kata-kata yang terdapat dalam query memiliki nilai idf yang tinggi hal tersebut yang membuat nilai precission baik.

Tabel 4.9 Tabel bobot kata idf sesuai id_low 37

  word Idf

  d3

  1 customer 1 rvice 0.7962 center 0.7962 administrasi 0.7962 komputer 0.67699 d1 0.67699 excel 0.67699 operasi 0.59241 pendidikan 0.35398 punya 0.29498

  word Idf

  s1 0.13429 Terlihat dalam tabel 4.9 bahwah kata punya, office, alam s1 mempunyai nilai idf rendah karena kata-kata tersebut muncul di banyak dokumen. Hal ini membuat nilai precission tidak baik

  4.3 Kelebihan sistem :

  1. Perusahaan mendapat rekomendasi sehingga mempermudah dalam menyeleksi pencari kerja

  2. Pencari kerja menpakan rekomendasi lowongan yang sesuai skill yang dia punya.

  3. Perusahaan dapat melakukan pencarian untuk mencari pencari kerja sesuai kalimat kunci yang dimasukkan perusahaan.

  4. Pencari kerja dapat mencari lowongan sesuai dengan kalimat kunci masukkan pencari kerja.

  4.4 Kekurangan sistem :

  1. Proses pemerolehan rekomendasi memerlukan waktu yang cukup lama

  2. Keterbatasan kamus kata dasar yang dimiliki oleh sistem mempengaruhi hasil keluaran rekomendasi dari sistem.

  3. Keterbatasan terhadap kata yang tidak berguna yang dimiliki sistem mempengaruhi hasi rekomendaasi dari sistem.

  4. Lowongan pekerjaan belum ada batas kadaluarsanya.

  5. Pencari kerja belum ada status sudah mendapatkan kerja atau belum.

5. BAB V KESIMPULAN DAN SARAN

  5.1 Kesimpulan

  Kesimpulan yang diambil setelah melakukan impelementasi web rekomendasi lowongan kerja :

  1. Pencari kerja mendapatkan rekomendasi lowongan dengan mudah sesuai dengan kemampuannya. Dan perusahaan mendapatkan rekomendasi pencari kerja sesuai dengan lowongan yang perusahaan punya.

  2. Kemampuan sistem menemukan rekomendasi didukung oleh tingkat recall sistem yang bernilai satu artinya semua dokumen yang relevan ditemukan oleh sistem.

  3. Hasil nilai precission rata-rata yang dikeluarkan sistem berdasarkan dokumen lowongan adalah 42% dan untuk dokumen kemampuan pekerja adalah 19%.

  4. Semakin spesifik query maka rekomendasi yang dihasilkan semakin baik . hal ini ditunjukan oleh tingginya nilai precission.

  5. Tingkat spesifik sebuah query term diukur berdasarkan nilai idf dari term query. Semakin tinggi nilai idf sebuah term maka semakin spesifik term tersebut.

  6. Nilai idf berbanding lurus dengan nilai TF-IDF.

  5.2 Saran

  Dari hasil analisa saran yang dapat diberikan :

  1. Penambahan kamus kata dasar dapat memperbaiki hasil keluaran rekomendasi dari sistem

  2. Penambahan status pada dokumen lowongan dan pekerja dapat mengurangi proses pemerolehan rekomendasi.

6. DAFTAR PUSTAKA

  Dian Sano ,Alb. V.,2005, 24 Jam Menguasai HTML,JSP, dan MySQL., Andi Offset,Yogyakarta Fadillah Z Tala, A Study of Stemming Effects on Information Retrieval in Bahasa Indonesia,

  Institute for Logic, Language and Computation Universiteit van Amsterdam The Netherlands

  Fitriyanti, Masayu. Sistem Temu-kembali Informasi dengan Mengimplementasikan Operasi

  Boolean, Sistem Peringkat, Perbaikan Query, dan Pemanfaatan Tesaurus . Fakultas Ilmu Komputer, Universitas Indonesia. Skripsi. 1997.

  Hartono, Jogiyanto, MBA, Ph.D., 1999, Analisis & Desain Sistem Informasi Pendekatan Terstruktur dan Praktek Aplikasi Bisnis , Andi Offset,Yogyakarta. Herbert A. Simon. Causality in Bayesian belief networks. In Proceedings of the Ninth Annual

Conference on Uncertainty in Articial Intelligence (UAI{93 San Francisco, CA, 1993.

  Morgan Kaufmann Publishers , Inc

  Jonner Hasugian, Penggunaan Bahasa Alamiah dan Kosakata Terkontrol Dalam Sistem Temu Kembali Informasi Berbasi Text, Staf Pengajar pada Program Studi Ilmu Perpustakaan Fakultas Sastra USU

  Nazief Bobby dan Mirna Adriani (1996), Confix-Stripping: Approach to Stemming Algorithm for Bahasa Indonesia , Fakulty of Computer Science University of Indonesia. Pao, Miranda Lee. Concepts of Information Retrieval . Libraries Unlimited,

  Englewood,Colorado, 1989 Pressman,R.S., 2002, Rekayasa Perangkat Lunak :Pendekatan Praktisi, Penerbit Andi Offset,

  Yogyakarta Raymond J. Mooney. CS 391L: Machine Learning Text Categorization. University of Texas at

  Austin,2006 Savoy, J. “A Learning Scheme for Information Retrieval in Hypertext”. Information Processing & Management , 30(4), 515-533. 1993.

  Subakti, Irvan 2002, Sistem Pendukung Keputusan. Jurusan Teknik Informatika Fakultas

  Turban, Efraim, Decision Support and Expert System: Management Support System, Fourt Edition, Prentice-Hall, Inc, United States of America,1995

  Whitten, Jeffrey L.; Bentley, Lonnie D.; Dittman, Kevin C., 2005, Metode Desain & Analisis

  Sistem, edisi 6 , Penerbit Andi Offset, Yogyakarta

  Zainal A. Hasibuan, Penerapan Berbagai Teknik Sistem Temu-Kembali Informasi Berbasis Hiperteks, Fakultas Ilmu Komputer, Universitas Indonesia.

  .

  Lampiran 1

  1. Proses Registrasi Pencari Kerja 1. definisi.jsp merupakan halaman yang berisikan koneksi ke database listing program sebagai berikut :

  <% String connectionURL = "jdbc:mysql://localhost:3306/kerja"; Connection connection = null; Class.forName("org.gjt.mm.mysql.Driver").newInstance(); connection = DriverManager.getConnection(connectionURL, "root", ""); %> <%! String NAMA_SERVER = "localhost"; String NAMA_DB = "jdbc:mysql://127.0.0.1:3306/kerja"; String NAMA_USER = "root"; String PASSWORD = ""; public String gantiKosong(String par){ String st = par; if (st == null) st =""; return(st); }%>

  2. reg_pekerja.jsp merupakan halam yang akan menampilakan field yang harus diisikan oleh pencari kerja. Potongan listing program sebagai berikut

  <form name="reg_pen" method="post" action="input_pen.jsp" > <table width="100%" border="0" align="center" cellpadding="2" cellspacing="0" class="subtable"> <tr> <td colspan="2" > </td> </tr> <tr> <td colspan="2" class="total">Data Diri : </td>

  </tr> <tr>

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

<td width="30%" >Username: </td> <td width="70%">

<input name="username" id="username" type="text" class="textinput" size="40" /> (Max 45 karakter)

  </td>

  </tr>

  Isi dari field username (data passing parameter) akan akan dilempar ke halaman input_pen.jsp 3. input_pen.jsp merupakan halaman yang menangkap data pasing parameter dari halaman

  String emailPek = request.getParameter("emailPek");

String namadepanPek = request.getParameter("namadepanPek");

String namabelakangPek = request.getParameter("namabelakangPek"); String alamatPek = request.getParameter("alamatPek");

  Isi dari parameter username akan ditangkap oleh halaman reg_pekerja.jsp. ini pada potongan listing program yang tertebal.

  <% try{ statement = connection.createStatement(); statement2 = connection.createStatement(); statement3 = connection.createStatement(); statement4 = connection.createStatement(); statement.executeUpdate( "INSERT INTO pencari_kerja(nama_d,nama_b,jenis_kel,tgl_lahir,tmp_lahir,alamat_p," + "email_p,no_tlp,skill) VALUES ('"+namadepanPek+"','"+namabelakangPek+"'," + "'"+jeniskelaminPek+"','"+tanggallahirPek+"','"+tempatlahirPek+"','"+alamatPek+"', " + "'"+emailPek+"','"+notlpPek+"', '"+ skill +"')");

rs = statement2.executeQuery("SELECT id_pekerja from

pencari_kerja where nama_d='"+ namadepanPek +"' and nama_b='"+namabelakangPek+"'"); if (rs.next()) { statement3.executeUpdate("INSERT INTO login(id_pekerja,username,password,level)" + "VALUES ('"+rs.getString("id_pekerja")+ "','"+usernamePek+"',md5('"+pwdPek+"'),'"+level+"')"); } %> <jsp:forward page="depan.jsp"/> <% } catch(SQLException se) { out.println(se.toString() ); } %>

  Listing yang tertebal merupakan query Sql untuk memasukkan data passing parameter ke dalam dalam database,setelah berhasil masuk kedalam database maka tampilan halanman depan.jsp akan muncul. Proses indexing akan dijelasakan pada proses rekomendasi. a) Koneksi ke data base merujuk ke proses Registrasi Pencari Kerja

  b) reg_perusahaan.jsp merupakan halam yang menampilakan field yang harus diisikan oleh perusahaan saat memilih menu registrasi perusahaan potongan listing program sebagai berikut :

  <form name="reg_per" method="post" action="input_per.jsp" > <table width="100%" border="0" align="center" cellpadding="2" cellspacing="0" class="subtable"> <tr> <td colspan="2" > </td> </tr> <tr> <td colspan="2" class="total">Data Perusahaan : </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td width="30%" >Username: </td> <td width="70%"> <input name="username" type="text" class="textinput" size="40" /> (Max 45 karakter) </td> </tr>

  Isi dari field username (data passing parameter) akan akan dilempar ke halaman input_per.jsp.

  c) input_per.jsp merupakan halaman yang menangkap data pasing parameter dari halaman

  reg_perusahaan.jsp. Potongan listing programnya sebagai berikut : String UsernamePer = request.getParameter("username"); String PwdPer = request.getParameter("password"); String emailPer = request.getParameter("emailPer"); String namaPer = request.getParameter("namaPer"); String alamatPer = request.getParameter("alamatPer"); String notlpPer = request.getParameter("notlpPer"); String deskripsiPer = request.getParameter("deskripsiPer"); String namaPersonal = request.getParameter("namaPersonal");

  Data field username pada halaman reg_perusahaan.jsp akan ditangkap oleh halaman input_per.jsp pada listing yang tertebal. "INSERT INTO perusahaan (email_pt, nama_pt, alamat_pt, " +

  "no_tlppt, deskripsi,nama_person,jabatan_person,email_person)"+ "VALUES ('"+ emailPer +"' , '"+ namaPer +"' , '"+ alamatPer +"' , '"+ notlpPer +"' , '"+ deskripsiPer +"', '"+ namaPersonal +"', '"+ jabatanPersonal +"', '"+ emailPersonal +"')" ); rs = statement2.executeQuery("SELECT id_pt from perusahaan where nama_pt='"+ namaPer +"'"); if (rs.next()) { statement3.executeUpdate("INSERT INTO

login(id_pt,username,password,level)" + "VALUES ('"+rs.getString("id_pt")+

  

<%-- out.println("Silakan <a href=depan.jsp>login</a> " );--%>

<jsp:forward page="depan.jsp"/> <% } catch(SQLException se) { out.println(se.toString() ); } %>

  Listing yang tertebal merupakan query Sql untuk memasukkan data passing parameter ke dalam dalam database,setelah berhasil masuk kedalam database maka tampilan halaman depan.jsp akan muncul.

  3. Proses Login.

   Login perusahaan dan pencari kerja a) Koneksi ke database merujuk ke proses Registrasi Pencari Kerja.

  b) depan.jsp merupakan halaman tempat mengisikan username, password, dan memilih login sebagai perusahaan atau pencari kerja. Potongan listing program sebagai berikut :

  <td><h4>Selamat Datang</h4> </td> </tr> <tr> <td class="note">*Sebelum Login anda harus yakin dulu sudah Registrasi</td> </tr> <tr> <td> </td> </tr> <tr> <td> <%@ include file="login.jsp" %> </td> </tr> <tr> <td> </td> </tr> <tr> <td> <tr> <td valign="bottom"> </td>

  Listing yang tertebal merupakan halaman tempat mengisikan username, password dan pilihan login yang disertakan pada halaman depan.jsp.

  c) login.jsp

  name="login" method="post" action="select.jsp" onSubmit="return <form cekField()" > <table border="0" align="center" cellpadding="2" cellspacing="0" class="subtable"> <tr>

  <strong>Login User :</strong></td> </tr> <tr> <td > </td> </tr> <tr> <td width="36%" align="right">Username </td> <td width="2%"><b>:</b></td> <td width="62%"> <%

String pemakai =

gantiKosong(request.getParameter("pemakai")); %> class="textinput" name="pemakai" type="text" <input id="fm_admin" size="25" maxlength="35" value="<%= pemakai %>"> </td> </tr> <tr> <td align="right">Password</td> <td><b>:</b></td> <td>

<input class="textinput" name="sandi" type="password" id="fm_pass"

size="25" maxlength="35" > </td> </tr> <tr> <td align="right">Login Sebagai </td> <td><b>:</b></td> <td> <select name="log"> <option value=1>Pencari Kerja</option> <option value=2>Perusahaan</option> </select> </td> </tr>

  Isi username, password, dan level login user (data passing parameter) akan dirujuk ke halaman select.jsp seperti terlihat pada potongan listing program yang tertebal diatas.

  d) select.jsp adalah halaman yang akan menangkap parameter lemparan dari halaman

  login.jsp (username, password, level user) dan mencocokkannya dari tabel

  login yang ada di database kerja. Potongan listing programmnya sebagai berikut :

  1. String sql="SELECT id_pt,id_pekerja FROM login WHERE password=md5('"+sandi+"') and username='"+pemakai+"'"; try { statement = connection.createStatement(); rs=statement.executeQuery(sql); rs.first(); session.setAttribute("sesi_ID_PT", rs.getString(1)); session.setAttribute("sesi_ID_Pekerja", rs.getString(2));

  } else { %><jsp:forward page="depan.jsp" /><% } } else { if(session.getAttribute("sesi_ID_Pekerja") == null) { %><jsp:forward page="vallogin2.jsp" /><% } else { %><jsp:forward page="depan.jsp" /><% } } }

  1. catch(Exception ex) { %>

  <jsp:forward page="depan.jsp"/> <% } %>

   Listing satu yang tertebal merupakan query Sql yang mencocokan username, pasword masukan dengan yang ada di tabel login pada database kerja kalau tidak sesuai maka akan dirujuk ke halaman depan.jsp.

   Listing dua yang tertebal pengecekan jika log sama dengan satu dan id_pt kosong maka ia adalah pencari kerja dan akan dirujuk ke halaman

  vallogin.jsp. Jika log sama dengan dua dan id_pekerja kosong maka ia adalah perusahaan dan akan dirujuk ke halaman vallogin2.jsp.

  2. vallogin.jsp Jika proses otentifikasi benar vallogin.jsp merupakan halaman untuk mendaftarkan session password dan username dan login sebagai pencari kerja dan akan dirujuk kehalaman pekerjapage.jsp.. Proses otentifikasi ada pada halaman otentifikasi.jsp Potongan listing program sebagai berikut :

  <%@ include file ="otentikasi.jsp" %> <%@ page session="true" %> <% String sesi_user = (String) session.getAttribute("sesi_user3"); String sesi_pass = (String) session.getAttribute("sesi_pass3"); if(! otentikasi(sesi_user, sesi_pass)){ String msg = "Harap diisi dengan benar"; response.sendRedirect("depan.jsp?msg="+msg+"&pemakai="+ sesi_user+""); }

  //---bentuk 2 buah atribute session.setAttribute("sesi_user",sesi_user); session.setAttribute("sesi_pass",sesi_pass); %> <jsp:forward page="pekerjapage.jsp"></jsp:forward> <% } %>

  3. vallogin2.jsp Jika proses otentifikasi benar vallogin2.jsp. merupakan halaman untuk mendaftarkan session password dan username dan login sebagai perusahaan dan akan dirujuk ke halaman perusahaanpage.jsp. Proses otentifikasi ada pada halaman otentifikasi.jsp Potongan listing program sebagai berikut :

  %@ include file ="otentikasi.jsp" %> <%@ page session="true" %> <% String sesi_user = (String) session.getAttribute("sesi_user3"); String sesi_pass = (String) session.getAttribute("sesi_pass3"); if(! otentikasi(sesi_user, sesi_pass)){ String msg = "Harap diisi dengan benar"; response.sendRedirect("depan.jsp?msg="+msg+"&pemakai="+ sesi_user+""); } else { session.setAttribute("sesi_user2",sesi_user); session.setAttribute("sesi_pass2",sesi_pass); %> <jsp:forward page="perusahaanpage.jsp"></jsp:forward> <% } %>

  4. otentifikasi.jsp merupakan halaman yang disertakan dihalaman vallogin.jsp dan vallogin2.jsp. merupakan halaman yang berfungsi untuk mengecek kecocokan data username,passwor,level dari inputan user dengan yang ada dalam database. Untuk menciptakan sesion user. Potongan listing programmnya sebagai berikut :

  if(!ada_kesalahan) { if(data_password.equals(data_password1)) password_cocok = true; } return(password_cocok);

  o jika password yang dinputkan oleh user dengan yang ada dalam database login sesuai maka proses otentifikasi berhasil. Session akan dibentuk. 5. pekerjapage.jsp

  pekerjapage.jsp adalah halaman awal yang pertama kali diakses oleh pencari kerja ketika proses login berhasil.

  

<table border="0" cellpadding="0" cellspacing="0" align="center" id="maintable">

<td height="40" colspan="5" valign="top" id="bottom_header"> <%@ include file ="header.jsp" %> </td> <tr> <td width="207" rowspan="3" valign="top"> <%@ include file ="menu_pekerja.jsp" %> <%@ include file ="news_partner_pek.jsp" %> </td> </tr> <tr> <td> </td> <td width="170"> </td> <td width="133"> </td> </tr> <tr> <td colspan="3" valign="top">

  Halaman ini berisikan menu yang dapat dipilih oleh pencari kerja. Menu tersebut berada pada halaman menu_pekerja.jsp yang disertakan pada tiap-tiap halaman antarmuka pencari kerja.

  <%@ page isThreadSafe="true" %> <%@ page session="true" %> <div class="news">

<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" height="12" class="subtable">

<tr> <td colspan="2" class="button"><a href="pekerjapage.jsp">Home  </a></td>

</tr> <tr> <td colspan="2" class="button"><a href="EditAccountPek.jsp">Ganti Data Diri  </a></td> </tr> <tr> <td colspan="2" class="button"><a href="change_pass_pek.jsp">Ganti Password  </a></td> </tr> <tr> <td colspan="2" class="button"><a href="LihatPerusahaan.jsp">Tampilkan

  <td colspan="2" class="button"><a href="logout_pekerja.jsp">Logout  </a></td> </tr> </table> </div>

  Listing program yang ditebali merupakan halaman yang dapat diakses oleh pencari kerja setelah berhasil melakukan login. 6. perusahaanpage.jsp.

  perusahaanpage.jsp halaman awal yang pertama kali diakses oleh

  perusahan ketika proses login berhasil. Dibawah ini merupakan potongan listing programnya :

  <body> <table border="0" cellpadding="0" cellspacing="0" align="center" id="maintable"> <td height="40" colspan="5" valign="top" id="bottom_header"> </td> <tr> <td width="207" rowspan="3" valign="top"> <%@ include file ="menu_perusahaan.jsp" %> <%@ include file ="news_partner_per.jsp" %> </td> </tr> <tr> <td> </td> <td width="170"> </td> <td width="133"> </td> </tr>

  Halaman perusahaanpage.jsp berisikan menu yang dapat diakses oleh perusahaan. Menu tersebut berada pada halaman menu_perusahaan.jsp yang disertakan pada tiap-tiap halaman antarmuka pencari kerja.

  <%@ page isThreadSafe="true" %> <%@ page session="true" %> <div class="news">

<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" height="12" class="subtable">

<tr> <td colspan="2" class="button"><a href="perusahaanpage.jsp">Home</a></td> </tr> <tr> <td colspan="2" class="button"><a href="EditAccountPer.jsp">Ganti Data Perusahaan</a></td> </tr> <tr> <td colspan="2" class="button"><a href="change_pass_per.jsp">Ganti Password</a></td> </tr> <tr> <td colspan="2" class="button"><a href="LihatPekerja.jsp">Tampilkan Pencari Kerja</a></td> </tr> <tr> <td colspan="2" class="button"><a href="TambahLowPer.jsp">Lowongan</a></td>

  </tr> </table> </div>

  Listing progam yang ditebali merupakan halaman yang dapat diakses oleh perusahaan saat berhasil melakukan proses login.

   Login Administrator a) Koneksi kedatabase merujuk ke proses Registrasi Pencari Kerja.

  b) Login_admin.jsp merupakan halaman berisi field data isian yaitu password dan username untuk dapat mengakses halaman sebagai administrator. Potongan listing progam sebagai beriku :

  <td align="center"> <form action="vallogin_admin.jsp" method="post" name="login" id="loginForm" onSubmit="return cekField()"> <table width="425" border="0" align="center" cellpadding="2" cellspacing="0" class="subtable"> <tr> <td > </td> </tr> <tr> <td height="21" colspan="3"class="total"> <strong>Login Administrator</strong><

  Listing program yang tertebal berisikan halaman yang akan untuk memproses data passing parameter(username,password) inputan untuk di cek kecocokannya dengan yang ada di database.

  c) otentifikas_admin.jsp

  adalah halam yang disertakan dalam dalam halaman vallogin_admin.jsp berfunsi untuk mengecek kecocokan username dan password masukan user. Potongan listing programmnya sebagai berikut :

  if(!ada_kesalahan){ if(data_password.equals(data_password1)) password_cocok = true; } } } }}} return(password_cocok); }

  o jika password yang dinputkan oleh admin dengan yang ada dalam database login sesuai maka proses otentifikasi berhasil.

  d) vallogin_admin.jsp session.invalidate(); session = request.getSession(true); session.setAttribute("sesi_user1",sesi_user1); session.setAttribute("sesi_pass1",sesi_pass1); %> <jsp:forward page="adminpage.jsp"></jsp:forward> <%

  Setelah proses pembentukan session maka akan dirujuk ke halaman

  adminpage.jsp

  e) adminpage.jsp

  halaman ini merupakan halaman awal yang akan diakses oleh administrator pertamakali setelah melakukan proses login. Potongan listing program sebagai berikut :

  <table border="0" class="mainbody" cellpadding="0" cellspacing="0"> <center><h1>SELAMAT DATANG</h1></center> Anda Login dengan Username :<%= username%><br> ini halaman admin......gunakanlah halaman ini untuk menjalankan tugas anda sebagai seorang Administrator <br> <br> <br> </td> </tr> <tr> <td> </td> </tr>

  4. Proses Kegiatan Pencari Kerja setelah login

a) Proses Pencari Kerja Ganti Data Diri

   EditAccountPek.jsp Halaman ini berisikan field yang dapat diganti dengan isian baru. Field berisi data diri pencari kerja yang lama. Data pencari kerja yang lama diambil dari data yang tersimpan dlam database. Potongan listing programnya sebagai berikut :

  <form name="reg_pen" method="post" action="SetEditAccountPek.jsp" onSubmit="return cekField()"> <table width="100%" border="0" align="center" cellpadding="2" cellspacing="0" class="subtable"> <% Statement statement,statement2=null; ResultSet rs ; user = (String)session.getAttribute("sesi_user"); pass = (String)session.getAttribute("sesi_pass"); try{ statement = connection.createStatement(); statement2 = connection.createStatement(); rs=statement.executeQuery("SELECT l.username,p.nama_d,p.nama_b,p.email_p,p.jenis_kel," + "p.tgl_lahir,p.tmp_lahir,p.alamat_p,p.no_tlp," + "p.skill FROM login l,pencari_kerja p where l.password=md5('"+pass+"') and l.username='"+user+"' " + "and l.id_pekerja=p.id_pekerja "); if(rs.next()) { %> <tr> <td colspan="2" > </td> </tr> <tr>

<td colspan="2" class="total">Data Diri:

</td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td width="30%" >Username: </td> <td width="70%"> <input name="UsernamePek" type="text" class="textinput" size="40" value="<%=rs.getString(1)%>"/> </td> </tr> <tr> <td>(Maksimum 45 karakter, hanya angka dan huruf saja)</td>

</tr>

<tr> <td valign="top" >Nama Depan:</td> <td valign="top"> <input name="namadepanPek" type="text" class="textinput" size="40" value="<%=rs.getString(2)%>"/> </td> </tr>

  Pada listing yang tertebal paramater yang ditangkapa pada halaman

  EditAccountPek.jsp adlah hasil query yang dilakukan sesuai username,

  password, id_pekerja ketika proses login dilakukan. Isi field tersebut kemudian akan di lempar ke halaman SetEditAccountPek.jsp utuk diproses lebih lanjut.

   SetEditAccountPek.jsp Halaman ini adalahan yang menangkat data dari halaman EditAccountPek.jsp . Potongang listing program halaman ini sebagai berikut: String alamatPek = request.getParameter("alamatPek"); String notlpPek = request.getParameter("notlpPek"); String tanggallahirPek = request.getParameter("tanggallahirPek"); String tempatlahirPek = request.getParameter("tempatlahirPek"); String skillPek = request.getParameter("skillPek"); String jenisKelPek = request.getParameter("jenisKelPek"); String user=null; String pass=null; user = (String)session.getAttribute("sesi_user"); pass = (String)session.getAttribute("sesi_pass");

Statement statement,statement2,statement3,statement4= null;

ResultSet rs; try{ statement = connection.createStatement(); statement2 = connection.createStatement(); statement3 = connection.createStatement(); statement4 = connection.createStatement(); rs = statement.executeQuery("SELECT id_pekerja FROM login WHERE password=md5('"+pass+"') and username='"+user+"'"); if(rs.next()) { statement2.executeUpdate("UPDATE pencari_kerja SET nama_d='"+namadepanPek+"',nama_b='"+namabelakangPek+"'," + "jenis_kel='"+jenisKelPek+"',tgl_lahir='"+tanggallahirPek+"',tmp_lahir='"+tempatlahirPek+"',"

  • "alamat_p='"+alamatPek+"',no_tlp='"+notlpPek+"'," + "email_p='"+emailPek+"',skill='"+skillPek+"' WHERE id_pekerja='"+rs.getString(1)+"'"); statement3.executeUpdate ("UPDATE login SET username='"+UsernamePek+"' " + "WHERE id_pekerja="+rs.getString(1)+""); }

  

out.println("Anda Telah Berhasil Mengganti Account Anda" + "<br>");

  data lemparan dari halaman EditAccountPek.jsp akan ditangkapa oleh halaman ini pada listing yang tertebal. Kemudian akan akan disimpan kedalam database dengan query Sql yang tertebal pada potongan listing. Setelah berhasil pencari mendapat ada pesan anda telah berhasil mengganti account anda.

b) Proses Tampilkan Perusahaan

  LihatPerusahaan.jsp

  select perusahaan.nama_pt, lowongan.lowong, perusahaan.alamat_pt, perusahaan.no_tlppt, perusahaan.email_pt FROM login, rekomendasi, lowongan, perusahaan where rekomendasi.id_pekerja = login.id_pekerja AND rekomendasi.id_low = and login.password =md5('"+pass+"') group by lowongan.lowong ORDER BY rekomendasi.bobotTotal DESC try{

Class.forName("org.gjt.mm.mysql.Driver");

} catch(Exception ex) { out.println("kesalahan (1) :salah driver?"); } try{ Connection koneksi =DriverManager.getConnection("jdbc:mysql://localhost:3306/kerja","root","");

Statement stm =koneksi.createStatement();

ResultSet rs = stm.executeQuery(sql); out.println("<b>REKOMENDASI LOWONGAN PEKERJAAN</b><br><br>"); while(rs.next()) { out.println("<tr><td>"+rs.getString("nama_pt")+"</td><td>"+rs.getString("lowong")+"</td><t d>"+rs.getString("alamat_pt")+"</td><td>"+rs.getString("no_tlppt")+"</td><td>"+rs.getStrin g("email_pt")+"</td>"); out.println("</td></tr>"); } stm.close(); koneksi.close(); } catch(Exception ex) { out.println("ada kesalahan(2)"); } %>

  Listing program yang tertebal merupakan proses pengambilan rekomendasi yang ada dalam database kerja tabel rekomendasi. Dan akan ditampilkan pada halaman ini.

  c) Proses pencari Kerja mengganti password change_pass_per.jsp String fm_admin = request.getParameter("user");

String fm_pass = request.getParameter("password"); String fm_pass_new = request.getParameter("password_new"); Statement statement,statement2=null; ResultSet rs; try { statement = connection.createStatement(); statement2 = connection.createStatement(); rs=statement.executeQuery("SELECT id_pekerja FROM login WHERE username='"+fm_admin+"' and password=md5('"+fm_pass+"')"); while(rs.next()) { statement2.executeUpdate("UPDATE login SET

password=md5('"+fm_pass_new+"') WHERE id_pekerja='"+rs.getString(1)+"'"); out.println("Password Telah Diganti..<br>"); catch(SQLException se) { out.println("Ada Error!"+se.toString() );

  Listing yang tertebal diatas merupakan query untuk menampilkan username dan password yang ada dalam database kerja tabel login yang dimiliki pencari kerja. Setelah pencari kerja mengganti passwordnya yg lama dengan pasword yang baru maka sistem akan menyimpan password baru ke dalam database, lalu pencari kerja mendapat pesan dari sistem bahwa „password telah diganti‟.

  d) Proses Pencarian

  Pencari kerja melakukan pencarian akan dirujuk ke halaman

  pencarianPerusahaan.jsp pada halaman ini disisipi menu search.jsp seperti

  listing program yang tertebal dibawah ini. Menu tersebut berisi field idian untuk memasukkan kalimat kunci. Setelah pencari kerja memasukkan kalimat kunci dan menekan tombol cari maka akan dirujuk ke halaman LihatPencarianPr.jsp

  pencarianPerusahaan.jsp <td width="207" rowspan="3" valign="top">

<%@ include file ="menu_pekerja.jsp" %>

<%@ include file ="news_partner_pek.jsp" %> </td> <tr> <td> </td> <td width="170"> </td> <td width="133"> </td> </tr> <td colspan="0" valign="top"> <table border="1" cellpadding="0" cellspacing="0"> <html> <body> <table border ="1" cellpadding="3" cellspacing="0" bordercolor="#000000" width="590" height"auto"> <tr> include file <td><b><%@ ="search.jsp" %> </b></td>

  Pada halaman LihatPencarianPr.jsp kalimat inputan di cocokan ke dalam database tabel indeks. Yaitu dengan melakukan query seperti yang tertebal pada potongan listing program dibawa ini

  LihatPencarianPr.jsp

  perusahaan.nama_pt,lowongan.lowong , String que = "select perusahaan.alamat_pt,perusahaan.no_tlppt, perusahaan.email_pt from perusahaan, lowongan where lowongan.id_low IN (SELECT id_low from

  

String[] kalimatArray = tempKalimat.split(" ");

while (token2.hasMoreTokens()) { String tempToken = token2.nextToken(); if (!word1.isStoplist(tempToken)) {

// if (!tempToken.matches(tempToken)){

// String que = "SELECT id_low, sum(bobotTotalPer)from indeks_per"; que += " where"; for (int i = 0; i < kalimatArray.length; i++) { if (i == kalimatArray.length - 1) { // que += " word_Per=\'" + kalimatArray[i] + "\' group by id_low"; que += " word_Per=\'" + kalimatArray[i] + "\' group by id_low order by sum(bobotTotalPer)) and perusahaan.id_pt=lowongan.id_pt "; } else {

que += " word_Per=\'" + kalimatArray[i] + "\' or";

} }

System.out.println("SQL = " + tempToken);

}

  5. Proses Kegiatan Perusahaan Setelah Login

a) Proses Perusahaan Mengubah data Perusahaan

  EditAccountPer.jsp

  <form name="reg_per" method="post" action="SetEditAccountPer.jsp" onSubmit="return cekField()"> <table width="100%" border="0" align="center" cellpadding="2" cellspacing="0" class="subtable"> <% Statement statement,statement2=null; ResultSet rs ; String user=null; String pass=null; user = (String)session.getAttribute("sesi_user2"); pass = (String)session.getAttribute("sesi_pass2"); try{ statement = connection.createStatement(); statement2 = rs=statement.executeQuery("SELECT l.username,l.password,p.nama_pt,p.email_pt,p.alamat_pt," + "p.no_tlppt,p.deskripsi,p.nama_person,p.jabatan_person," + "p.email_person FROM login l,perusahaan p where l.password=md5('"+pass+"') " + "and l.username='"+user+"' and p.id_pt=l.id_pt ");

  Ouery pada halaman ini dilakukan untuk mendapat kan data diri perusahaan yang tersimpan dalam database. Dan kemudian ditampilkan pada field yang ada pada halalaman ini. Setelah perusahaan mengubah field yang diinginkana maka sistem akan melemparkan data perusahaan ke halaman SetEditAccountPer.jsp untuk dapat diproses lebih lanjut. SetEditAccountPer.jsp

  String UsernamePer = request.getParameter("UsernamePer"); String emailPer = request.getParameter("emailPer"); String namaPer = request.getParameter("namaPer"); String alamatPer = request.getParameter("alamatPer"); String notlpPer = request.getParameter("notlpPer"); String deskripsiPer = request.getParameter("deskripsiPer"); String namaPersonal = request.getParameter("namaPersonal"); String jabatanPersonal = request.getParameter("jabatanPersonal"); String emailPersonal = request.getParameter("emailPersonal"); String user=null; String pass=null; user = (String)session.getAttribute("sesi_user2"); pass = (String)session.getAttribute("sesi_pass2"); Statement statement,statement2,statement3,statement4= null; ResultSet rs; try{ statement = connection.createStatement(); statement2 = connection.createStatement(); statement3 = connection.createStatement(); statement4 = connection.createStatement(); rs = statement.executeQuery("SELECT id_pt FROM login WHERE password=md5('"+pass+"') and username='"+user+"'"); if(rs.next()) { statement2.executeUpdate ("UPDATE perusahaan SET email_pt='"+emailPer+"', " + "nama_pt='"+namaPer+"', " + "alamat_pt='"+alamatPer+"', " + "no_tlppt='"+notlpPer+"', " + "deskripsi='"+deskripsiPer+"' ," + "nama_person='"+namaPersonal+"', " +

  • "jabatan_person='"+jabatanPersonal+"', " "email_person='"+emailPersonal+"', " + "WHERE id_pt="+rs.getString(1)+" "); statement3.executeUpdate ("UPDATE login SET username='"+UsernamePer+"' " + "WHERE id_pt="+rs.getString(1)+""); }

  out.println("Anda Telah Berhasil Mengganti Account Anda" +

  Pada halaman SetEditAccountPer.jsp data lemparan dari halaman

  EditAccountPer.jsp ditangkap setelah itu disimpan kedalam database melalui query sql yang tertebal pada potongan listing program diatas.

b) Proses kegiatan Perusahaan menambah Lowongan

  TambahLowPer.jsp

  stm.close(); koneksi.close(); } catch(Exception ex) { out.println("ada kesalahan(2)"); } %> <table><br> <center><b><a href="tambah_lowongan.jsp">[Add Data]</a></b></center><br><br>

  </table> </body> </html>

  Potongan listing program yang ditebali diatas adalah halaman rujukan ketika perusahaan akan menambah lowongan.

  tambah_lowongan.jsp .

  <tr> <td colspan="2" valign="left"> <!-- Main Body--> <form action="InputTambahLowPer.jsp"> <br> Lowongan pekerjaan :<br><textarea name="tambahLow" cols="70" rows="8"></textarea> <!--textarea name="tambahLow" rows="30" cols="70" class="textinput"--> <br><br> <input type="submit" class="button" value="Tambahkan" name="tambah" /> </form> </tr>

  Halaman tambah_lowongan.jsp berisikan field isian lowongan untuk menambah lowongan pekerjaan. Data lowongan masukan dari perusahaan akan dilempar kehalaman inputTambahanLowPer.jsp. di halaman tersebut data input lowongan akan diproses lebih lanjut. InputTambahLowPer.jsp.

  Halam ini befungsi untuk menangkap data lowongan yang di lempar dari halaman tambah_lowongan.jsp

  try{ statement = connection.createStatement(); statement2 = connection.createStatement(); rs = statement.executeQuery("SELECT id_pt from login where password=md5('"+ pass +"') " + "and username='"+user+"'"); if (rs.next()) { statement2.executeUpdate("INSERT INTO lowongan(id_pt,lowong)" + "VALUES" + " ('"+rs.getString(1)+ "','"+tambahLow+"')"); } out.println("Lowongan anda telah ditambahkan" + "<br>"); } catch(SQLException se){ out.println(se.toString() ); }

  Listing program yang ditebali adalah prose query ke dalam database untuk memasukkan data lowongan perusahaan. Setelah berhasil pesan “Lowongan a nda telah ditambahakan” akan dikirimkan sistem ke perusahaan pada halaman ini.

c) Proses kegiatan Perusahaan mengedit Lowongan

   TambahLowPer.jsp

  out.println("<tr><td>"+rs.getString("id_low")+"</td><td>"+rs.getString("lowong")+"</ td>"); out.println("<td><b><a href=edit_lowongan.jsp?"+rs.getString("id_low")+">[Change Data]</a></b>"); out.println("</td></tr>"); }

  Potongan listing program yang ditebali diatas merupakan halaman rujukan

   edit_lowongan.jsp.

  <% String pk1 = request.getQueryString();//pk adalah singkatan dari primary key(kolom no) String sql = "select * from lowongan where id_low="+pk1; try{ Class.forName("com.mysql.jdbc.Driver"); } catch(Exception ex){ out.println("kesalahan(1):salah driver?"); } Connection koneksi =DriverManager.getConnection("jdbc:mysql://localhost:3306/kerja","root",""); Statement stm = koneksi.createStatement(); ResultSet rs =stm.executeQuery(sql); rs.next(); %> <form name="change_low" method="post" action="savedata_low.jsp"> <table border="0" align="center" cellpadding="2" cellspacing="0" class="subtable"> <tr> <td > </td> </tr> <tr> <td colspan="3"class="total"> <strong>Edit Lowongan :</strong></td> </tr>

  Potongan listing program yang ditebali diatas merupakan query ke database kerja tabel lowongan untuk menampilkan lowongan yang akan diubah oleh perusahaaan. Perusahaan kemudaian mengubah lowongan sesuai dengan keiginan perusahaan kemudia menekan tombol submit. Dapat dilihat dari potongan listing diatas data lowongan akan dilempar untuk di proses di halaman savedata_low.jsp

   savedata_low.jsp

  <!-- Main Body--> <table border="0" class="mainbody" cellpadding="0" cellspacing="0"> <% String pk1 = request.getParameter("pk1"); String lowongan=request.getParameter("lowongan"); String sql ="update lowongan set lowong='"+lowongan+"' where id_low="+pk1; try{ Class.forName("com.mysql.jdbc.Driver"); } catch(Exception ex) { out.println("kesalahan (1) :salah Driver?"); } Connection koneksi =DriverManager.getConnection("jdbc:mysql://localhost:3306/kerja","root",""); Statement stm =koneksi.createStatement(); stm.executeUpdate(sql);//ingat untuk update==>executeUpdate(); stm.close(); koneksi.close();

  Dapat dilihat dari potongan listing program yang ada di halaman

  savedata_low.jsp, data lowongan yang dirujuk dari halaman edit_low.jsp

  akan disimpan kedalam database kerja tabel lowongan sesuai query yang dilakukan pada halaman ini. Setelah sistem berhasi menyimpan lowongan yang di ubah ke dalam database maka perusahaan perusahaan akan dirujuk ke halaman TambahLowPer.jsp.

d) Proses Tampilakan Pencari Kerja.

   LihatPekerja.jsp

  Connection koneksi =DriverManager.getConnection("jdbc:mysql://localhost:3306/kerja","root","" ); Statement stm =koneksi.createStatement(); ResultSet rs = stm.executeQuery(sql); out.println("<b>Rekomendasi Pekerja</b><br><br>"); while(rs.next()) { out.println("<tr><td>"+rs.getString("id_low")+"</td><td>"+rs.getString("lo wong")+"</td>"); out.println("<td><b><a href=LihatPekerja2.jsp?"+rs.getString("id_low")+">[detail]</a></b>"); out.println("</td></tr>"); } stm.close(); koneksi.close();

} catch(Exception ex) {

out.println("ada kesalahan(2)"); } %>

  Potongan listing program diatas berisi halaman rujukan ketika perusahaan akan melihat detai rekomendasi pencari kerja pada sebuah lowongan di halaman LihatPekerja.jsp

   LihatPekerja2.jsp

  String pk1 = request.getQueryString();//pk adalah singkatan dari primary key(kolom no) String sql = " SELECT pencari_kerja.nama_d, pencari_kerja.skill, pencari_kerja.alamat_p, pencari_kerja.no_tlp, pencari_kerja.email_p FROM rekomendasi, lowongan, pencari_kerja where rekomendasi.id_low=lowongan.id_low

and rekomendasi.id_pekerja=pencari_kerja.id_pekerja and lowongan.id_low='"+pk1+"'

order by rekomendasi.bobotTotal desc" ; try{ Class.forName("org.gjt.mm.mysql.Driver");

  } catch(Exception ex) {

  } try{ Connection koneksi =DriverManager.getConnection("jdbc:mysql://localhost:3306/kerja","root",""); Statement stm =koneksi.createStatement(); ResultSet rs = stm.executeQuery(sql); out.println("<b>REKOMENDASI LOWONGAN PEKERJAAN</b><br><br>"); while(rs.next()) {

out.println("<tr><td>"+rs.getString("pencari_kerja")+"</td><td>"+rs.getString("skill")+

"</td><td>"+rs.getString("alamat_p")+"</td><td>"+rs.getString("no_tlp")+"</td><td>"+

rs.getString("email_p")+"</td>"); out.println("</td></tr>"); }

  Potongan listing program diatas merupakan query yang dilakukan ke database untuk menghasilkan rekomendasi pencari kerja pada sebuah lowongan. Dan data hasil query ditangkap dan ditampilkan pada sebuah tabel tampilan di halaman LihatPekerja2.jsp agar dapat dilihat oleh perusahaan.

e) Proses Pencarian

  Ketika perusahaan melakukan pencarian akan dirujuk oleh sistem ke halaman pencarianPekerja.jsp .

   pencarianPekerja.jsp .

  <table border="0" cellpadding="0" cellspacing="0" align="center" id="maintable"> <td height="40" colspan="5" valign="top" id="bottom_header"> </td> <tr>

  </tr> <tr> <td width="207" rowspan="3" valign="top"> <%@ include file ="menu_perusahaan.jsp" %> <%@ include file ="news_partner_pek.jsp" %> </td> <tr> <td> </td> <td width="170"> </td> <td width="133"> </td> </tr> <td colspan="0" valign="top"> <table border="1" cellpadding="0" cellspacing="0"> <html> <body> <table border ="1" cellpadding="3" cellspacing="0" bordercolor="#000000" width="590" height"auto"> Lisiting yang tertebal merupakan menu sisipan yang berada pada halaman

  pencarianPekerja.jsp .yang merupakan filed isian. Perusahaan memasukan

  kalimat kunci pada field yang tersedia kemudaian menekan tombol cari maka sistem akan merujuk ke halaman LihatPencarianPk.jsp LihatPencarianPk.jsp

  String que = "select pencari_kerja.nama_d, pencari_kerja.skill, pencari_kerja.alamat_p, pencari_kerja.no_tlp, pencari_kerja.email_p from pencari_kerja, indeks where indeks.id_pekerja in (select id_pekerja from indeks "; System.out.println("KALIMAT = " + tempKalimat); StringTokenizer token2 = new StringTokenizer(tempKalimat); String[] kalimatArray = tempKalimat.split(" "); while (token2.hasMoreTokens()) { String tempToken = token2.nextToken(); if (!word1.isStoplist(tempToken)) { // if (!tempToken.matches(tempToken)){ // String que = "SELECT id_low, sum(bobotTotalPer)from indeks_per"; que += " where"; for (int i = 0; i < kalimatArray.length; i++) { if (i == kalimatArray.length - 1) { // que += " word_Per=\'" + kalimatArray[i] + "\' group by id_low";

que += " word=\'" + kalimatArray[i] + "\' group by id_pekerja ORDER by sum(bobotTotalPk))and

pencari_kerja.id_pekerja=indeks.id_pekerja group by pencari_kerja.id_pekerja "; } else { que += " word=\'" + kalimatArray[i] + "\' or"; } } System.out.println("SQL = " + tempToken); }

  Listing program tertebal diatas merupakan proses query kedalam database yang dilakukan oleh sistem ketika perusahaaan melakukan proses pencarian.

  6. Proses Kegiatan Administrator setelah Login a.

   Proses Kegiatan Administrator menambah berita update_news.jsp.

  <table><br> <center><b><a href="tambah_news.jsp">[Tambah Berita]</a></b></center><br><br> </table>

  Potongan listing program yang tertebal diatas merupakan halaman rujukan ketika administrator akan menambah berita. Untuk menambah berita

   tambah_news.jsp

  <form name="reg_pen" method="post" action="input_news.jsp" >

<table width="100%" border="0"

align="center" cellpadding="2" cellspacing="0" class="subtable"> <tr> <td colspan="2" > </td> </tr> <!--tr> <td>ID_Berita:</td> <td>

<input name="ID_Berita" type="text" class="textinput"

size="40"/> </td> </tr> <tr> <td>Tanggal(YYYY-MM-DD):</td> <td>

<input name="Tanggal" type="text" class="textinput"

size="40"/> </td> Potongan listing program diatas berada pada halaman tambah berita.

  Halaman ini berisikan field yang harus diisikan oleh administrator setelah administrator mengisikan semua fieldnya, data inputan pada saat menambah berita akan dilempar ke halaman input_news.jsp seperti yang terlihat pada listing yang tertebal diatas.. Pada halaman input_news.jsp data isian berita akan ditangkap. Lalu diproses.  input_news.jsp

  <% String no =request.getParameter("ID_Berita");

String Tanggal =request.getParameter("tahun") + "-" + request.getParameter("bln") + "-" + request.getParameter("tgl"); String Judul =request.getParameter("Judul"); String Berita=request.getParameter("Berita");

String sql ="insert into berita(tanggal,judul,isi_berita) values('"+Tanggal+"','"+Judul+"','"+Berita+"')"; out.println("kesalahan(1): salah driver?"); } Connection koneksi =DriverManager.getConnection("jdbc:mysql://localhost:3306/kerja","root","");

  Statement stm = koneksi.createStatement(); stm.executeUpdate(sql); stm.close(); koneksi.close(); %> //halaman view data ditampilkan untuk melihat perubahan <jsp:forward page="update_news.jsp"/>

  Potongan listing program yang tertebal diatas merupakan proses penangkapan data input berita yang dilempar oleh halaman

  tambah_news.jsp setelah ditangkap sistem akan melakukan query

  kedalam database untuk memasukkan data berita yang tertangkap. Setelah sistem berhasil maka sistem akan merujuk ke halaman update_news.jsp

b. Proses Hapus berita

   update_news.jsp

  out.println("<td><b><a href=edit_news.jsp?"+rs.getString("id_berita")+">[Edit]"); out.println("</a></b><b><a href=hapus_news.jsp?"+rs.getString("id_berita")+">[Hapus]</a><b>"); out.println("</td></tr>"); }

  Potongan listing program diatas merupakan halaman menu yang dipilih administrator untuk menghapus berita sesuai. Menu diatas disertakan pada menu update berita pada kolom action. Ketika administrator menekan menu hapus berita secara otomatis dihapus. Proses penghapus berada pada halaman hapus_news.jsp

   hapus_news.jsp

  String pk = request.getQueryString(); String sql ="delete from berita where id_berita="+pk; try { Class.forName("org.gjt.mm.mysql.Driver"); } catch(Exception ex) { out.println("kesalahan(1): salah driver?"); } Connection koneksi =DriverManager.getConnection("jdbc:mysql://localhost:3306/kerja","root","" ); Statement stm = koneksi.createStatement(); stm.executeUpdate(sql); stm.close();

  <p>Click <a href ="update_news.jsp">disini</a> untuk kembali<br></p> </td> Potongan listing program diatas merupakan proses penghapusan berita.

  Pada listing program yang tertebal merupakan query yang dilakukan kedalam database kerja tabel berita, untuk menghapus data berita yang diinginkan administrator. Setelah itu sistem akan memberikan pesan bahwa data berita berhasil dihapus.

c. Proses Kegiatan Administrator mengubah isi berita

   update_news.jsp

  out.println("<td><b><a href=edit_news.jsp?"+rs.getString("id_berita")+">[Edit]"); out.println("</a></b><b><a href=hapus_news.jsp?"+rs.getString("id_berita")+">[Hapus]</a><b>"); out.println("</td></tr>");}

  Untuk melakukan ubah berita seorang administrator memilih menu edit yang berada dalam kolom action pada halaman update berita. Setelah memiih menu edit maka administrator akan dirujuk ke halaman

  edit_news.jsp edit_news.jsp.

  <form name="editnews" method="post" action="savedata_news.jsp"> <table border="0" align="center" cellpadding="2" cellspacing="0" class="subtable"> <tr> <td > </td> </tr> <tr> <td colspan="3"class="total"> <strong>Change News :</strong></td> </tr>

  Didalam halaman edit_news.jsp administrator akan dapat merubah field isian berita sesuai keinginan administrator. Data ubahan berita pada halaman ini akan dilempar ke halaman savedata_news.jsp seperti yang terlihat pada potongan listing program yang tertebal diatas.

   savedata_news.jsp.

  <% String pk1 = request.getParameter("pk1"); String Judul =request.getParameter("Judul"); String Berita=request.getParameter("berita"); String sql ="update berita set judul='"+Judul+"',isi_berita='"+Berita+"' where id_berita="+pk1; try{ out.println("kesalahan (1) :salah Driver?"); } Connection koneksi

=DriverManager.getConnection("jdbc:mysql://localhost:3306/kerja","root","");

  Statement stm =koneksi.createStatement(); stm.executeUpdate(sql); stm.close(); koneksi.close(); %> <jsp:forward page="update_news.jsp"/>

  Data ubahan berita pada halaman edit_news.jsp ditangkap oleh paramete yang ada dalam halamana ini. Lalu dimasukan dengan cara melakukan query kedalam database. Setelah berhasil sistem akan merujuk ke halaman

  update_news.jsp. seperti terlihat dari potongan listing program yang tertebal diatas.

d. Proses Hapus account user  update_pass_admin.jsp.

  while(rs.next()) { out.println("<tr><td>"+rs.getString("id_login")+"</td>"); out.println("<td>"+rs.getString("username")+"</td>"); out.println("<td>"+rs.getString("level")+"</td>"); out.println("<td><b><a href=hapus_pass_admin.jsp?"+rs.getString("id_login")+">[Hapus User]</a><b>"); out.println("</td></tr>"); }

  Untuk dapat menghapus user (pencari kerja atau perusahaan) administrator memilih menu hapus pada kolom action pada halaman update_password.jsp sesuai denga accounnt user yang diinginkan. Proses penghapusan terjadi pada halaman hapus_pass_admin.jsp

   hapus_pass_admin.jsp

  String pk = request.getQueryString(); String sql ="delete from login where id_login="+pk; try { Class.forName("org.gjt.mm.mysql.Driver"); } catch(Exception ex) { out.println("kesalahan(1): salah driver?"); } Connection koneksi =DriverManager.getConnection("jdbc:mysql://localhost:3306/kerja","root",""); koneksi.close(); %> <p>data dengan ID_Login : <%=pk%> berhasil dihapus<br></p> <p>Click <a href ="update_pass_admin.jsp">disini</a> untuk kembali<br></p> </td>

  Potongan listing program diatas adalah proses penghapusan account user. Penghapusan dilakukan dengan cara melakukan query kedalama database seperti yang terlihat pada listing program yang tertebal. Setelah itu sitem akan memberikan pesan kepada administrator bawa account berhasi dihapus.

e. Proses Tambah Account Administrator  update_pass_admin.jsp.

  <table><br> <center><b><a href="tambah_pass_admin.jsp">[Tambah Admin]</a></b></center> </table> </body> </html>

  Potongan listing program diatas merupakan rujukan halaman yang dipilih oleh administrator ketikan ingin menambah administrator.  tambah_pass_admin.jsp

  <h4>Form Tambah Password Admin </h4> </td> </tr> <tr> <td > name="input pass" method="post" <form action="input_pass.jsp" onSubmit="return cekField()"> <table width="100%" border="0" align="center" cellpadding="2" cellspacing="0" class="subtable"> <tr> <td colspan="2" > </td> </tr> <tr> <td>Username:</td> <td> <input name="Username" type="text" class="textinput" size="40"/> </td> </tr> akan dirujuk ke halaman input_pass.jsp agar dapat disimpan kedalam database.  input_pass.jsp

  <% String Level = "admin"; String no =request.getParameter("ID_Login"); String Username =request.getParameter("Username"); String Password =request.getParameter("Password"); String sql ="insert into login(id_pekerja,id_pt,username,password,level) values(null,null,'"+Username+"',md5('"+Password+"'),'"+Level+"')"; try { Class.forName("com.mysql.jdbc.Driver"); } catch(Exception ex) { out.println("kesalahan(1): salah driver?"); } Connection koneksi

=DriverManager.getConnection("jdbc:mysql://localhost:3306/kerja","root","");

  Statement stm = koneksi.createStatement(); stm.executeUpdate(sql); stm.close(); koneksi.close(); %> <jsp:forward page="update_pass_admin.jsp"/>

  Potongan listing progam yang tertebal diatas menjelaskan data isian username dan password ditangkap dan di simpan dalam database melalu proses query. Setelah berhasil dalam penyimpanan, halaman akan dirujuk ke

  update_pass_admin.jsp f.

   Proses Setting Waktu Rekomendasi.

   setting_time.jsp.

  <form name="setting_time" method="post" action="setting_waktu2.jsp" > <table border="0" align="center" cellpadding="2" cellspacing="0" class="subtable"> <tr> <td > </td> </tr> <tr> <td colspan="3"class="total">

  <td > </td> </tr> <tr> <td >Delay</td> <td ><b>:</b></td> </td> </tr> <tr> <td >Periode</td> <td ><b>:</b></td> <td ><input type="text" input name="periode" id="periode" class="textinput" size="30" />

  Pada pada potongan listing program diatas dapat dijelaskan administrator mengisikan input waktu periode kemudian data isian tersebut dilemparkan ke halaman setting_waktu2.jsp

   setting_waktu2.jsp  listing ketika proses menjalankan waktu rekomendasi

  <% String strPer=request.getParameter("periode"); System.out.println("timer jalan"); // new!= null; int b= Integer.valueOf(strPer).intValue(); if (tools.TimerRekomender.timer!=null) { tools.TimerRekomender.timer.cancel(); System.out.print("stop server");} new tools.TimerRekomender(10, b); out.println("anda berhasil menjalankan Timer server" + "<br>");

  Potongan listing program diatas mengartikan bahwa data input administrator (periode) ditangkap kemudian di rubah dari tipe data string ke tipe data integer. Jika timer(periode) lama masi jalan maka timer lama akan di batalkan. Lalu sistem akan memproses timer baru. Sistem akan memberikan pesan bahwa timer server berhasil dijalankan. Dibawah in gambar 1 lampiran merupakan ketika admin memasukkan waktu periode admin menjalankan kelas timer rekomender dan akan berulang sesuai waktu periode yang dimasukkan oleh administrator.

   Diagram kelas rekomender sistem

Gambar 1 lampiran diagram kelas rekomendasi.

  Berikut tabel penjelasan penggunaan masing-masing kelas :

  Tabel 1 lampiran penjelasan fungsi kelas

  Nama kelas Fungsi kelas Digunakan pada

  Word.java  SteamingForPerusahaan.java

  penghilangan  proses

   StemmingForPencariKerja.java

  imbuhan untuk menjadi kata dasar  pengecekan kata kedalam Nama kelas Fungsi kelas Digunakan pada

  Tokeniser.java  SteamingForPerusahaan.java

   menghilangkan kata yang

   StemmingForPencariKerja.java

  tidak berguna  Proses pemotongan kalimat menjadi kata  Proses penghilangan karakter yang tidak berguna

  SteamingForPerusahaa  TimerRekomender.java

   Penghilangan tag HTML

  n.java

  dari tabel lowongan field lowong database kerja  Proses penghitungan jumlah index kata pada masing dokumen lowongan.

   Penghitungan bobot perkata untuk kumpulan dokumen lowongan yang dimiliki perusahaan.

  StemmingForPencariK  TimerRekomender.java

   Penghilang tag HTML

  erja

  dari tabel pencari_kerja field skill database kerja  Proses penghitunga jumlah index kata pada masing-masing dokumen skill dari pencari_kerja  Penghitungan bobot per kata dari dokumen skill pencari kerja Nama kelas Fungsi kelas Digunakan pada dokumen lowongan dan dokumen pencari_kerja

  TimerRekomender.java  setting_waktu2.jsp

   Proses menjalan proses

   stop_time.jsp rekomendasi.

   Proses penghentian rekomendasi Berikut penjelasan fungsi perintah query Sql yang digunakan pada masing kelas untuk memproses dokumen masukan dalam proses mendapatkan rekomendasi :

  Tabel 2 lampiran penjelasan Fungsi Store Procedure

  Query atau SP Fungsi Digunakan pada

   spIsStoplist Word.java

  untuk menghilankan kata yang tidak berguna. Kata yang tiddak berguna tersimpan dalam database

  Word.java “select word from

   untuk

  kamus”

  mengambil kata yang berasal dari tabel kamus database kerja

   spDeleteIndex StemmingForPencariKerja.jav

  untuk

  a

  menghapus isi dari tabel indeks database kerja .

  mengambil

   spGetDummyWord StemmingForPencariKerja.jav

  a

  dokumen skill dari tabel pencari_kerja database Query atau SP Fungsi Digunakan pada

  a

  n indeks kata kedalam tabel indeks

   spTif StemmingForPencariKerja.jav

  menghitung

  a

  bobot Tif kata dari pencari kerja dan memasukannya kedalam tabel indeks.

   spIdf StemmingForPencariKerja.jav

  mengitung

  a

  bobot Idf kata dari pencari kerja dan memasukanya kedalam tabel indeks.

   spBobotPk StemmingForPencariKerja.jav

  menghitung

  a

  perkalian antara idf dan tif untuk menghasilkan bobot sebuah kata pada kumpulan dokumen dan memasukannya kedalam tabel indeks.

   spDelRekomender StemmingForPencariKerja.jav

  menghapus

  a

  data rekomendasi dari tabel rekomendasi pada database

   spRekomender StemmingForPencariKerja.jav

  mengolah

  a

  kata dari lowongan dan skill untuk dicocokan agar mendapatkan rekomendasi dan disimpan pada tabel rekomendasi

   spDeleteIndexPer SteamingForPerusahaan

  menghapus Query atau SP Fungsi Digunakan pada database kerja.

   spGetDummyWordLowongan SteamingForPerusahaan

  mengambil dokumen lowongan dari tabel lowongan database kerja

  

spInsertIndexPerusahaa SteamingForPerusahaan

  memasukka

  n

  n indeks kata lowongan kedalam tabel indeks_per database kerja.

   spTifPer SteamingForPerusahaan

  menghitung bobot tif dari dokumen lowongan dan memasukkannya kedalam tabel indeks database kerja

  menghitung bobot idf dari dokumen lowongan dan memasukkannya kedalam ke dalam tabel indeks_per database kerja

   spIdfPer SteamingForPerusahaan

   spBobotPer

  melakukan proses perkalian antara idf dan tif dari indeks_per dan memasukkannya ke dalam tabel indeks_per database kerja

  Detail listing Store Procedure terdapat pada lampiran 3

  Lampiran 2

  Form penilaian pengunjung web

  Nama : Umur :

Berilah penilaian mengenai informasi rekomendasi dari Website Lowongan Kerja dengan

cara memberikan penilaian pada kolom yang tersedia :

  Username : Password : Login sebagai : Skill / Lowongan : Pertanyaan yang diajukan Pertanyaan

  Penialaian (berapa dokumen) Jumlah dokumen informasi yang dikeluarkan Ditemukan dengan kesusaian baik Ditemukan dengan kesusaian cukup baik Ditemukan dengan kesusaian tidak baik Ditemukan dengan kesusaian sangat tidak baik

  Yogyakarta , ____________2010 Tanda tangan

  Lampiran 3

  no Store Procedure

  spIsStoplist

  1 DELIMITER $$

  DROP PROCEDURE IF EXISTS `kerja`.`spIsStoplist`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `spIsStoplist`(in p_word varchar(50), out o_result boolean) BEGIN DECLARE test varchar(50); select count(stoplist) into test from stoplist where stoplist = p_word; select if(test=0,false,true) into o_result; END$$ DELIMITER ; spDeleteIndex

  2 DELIMITER $$

  DROP PROCEDURE IF EXISTS `kerja`.`spDeleteIndex`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `spDeleteIndex`() BEGIN truncate indeks; END$$ DELIMITER ; spGetDummyWord

  3 DELIMITER $$

  DROP PROCEDURE IF EXISTS `kerja`.`spGetDummyWord`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `spGetDummyWord`() BEGIN select skill,id_pekerja from pencari_kerja; spInsertIndex

  4 DELIMITER $$

  DROP PROCEDURE IF EXISTS `kerja`.`spInsertIndex`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `spInsertIndex`(p_id_pekerja int, p_word varchar(50), p_frekuensi int) BEGIN declare cek int; select count(*) into cek from indeks where word = p_word and id_pekerja = p_id_pekerja; if cek = 0 then insert into `indeks` (id_pekerja, word, frekuensi) values

(p_id_pekerja, p_word, p_frekuensi);

end if;

  END$$ DELIMITER ; spTif

  5 DELIMITER $$

  DROP PROCEDURE IF EXISTS `kerja`.`spTif`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `spTif`() BEGIN declare jumlahKata int; declare jumlah int; declare id int (11); declare kata varchar(50); declare frek int; declare frekTertinggi int; declare vTif float; declare counter1 int; declare counter2 int; declare dokumen cursor for select distinct(id_pekerja) from

  indeks where id_pekerja = id; select count(distinct(id_pekerja)) into jumlah from indeks ; set counter1=0; open dokumen ; -- select count(distinct(id_pekerja)) into n from indeks ; while counter1<jumlah do fetch dokumen into id; select count(word) into jumlahKata from indeks where id_pekerja = id; select max(frekuensi) into frekTertinggi from indeks where id_pekerja = id; open kursorKata; set counter2 = 0; while counter2 < jumlahKata do fetch kursorKata into kata,frek; set vTif = frek/frekTertinggi; update indeks set tif = vTif where id_pekerja = id and word = kata; set counter2 = counter2 + 1; end while; close kursorKata;

set counter1 = counter1 +1;

end while;

   END$$ DELIMITER ;

  6

  spIdf DELIMITER $$ DROP PROCEDURE IF EXISTS `kerja`.`spIdf`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `spIdf`() BEGIN declare jumlahDokumen int; declare jumlahKata int; -- declare id int; declare n int; -- jumlah dokumen

  declare kata varchar(50); declare counter int; declare kursorKata cursor for select distinct(word) from indeks; select count(distinct(id_pekerja)) into n from indeks; set jumlahDokumen = n; set counter = 0; open kursorKata; select count(distinct(word)) into jumlahKata from indeks; while counter < jumlahKata do

FETCH kursorKata into kata;

select count(word) into dfk from indeks where word = kata; set vIdf = log((n / dfk)) / log(n); update indeks set idf = vIdf where word = kata;

set counter = counter + 1;

end while; close kursorKata; END$$ DELIMITER ; spBobotPk

  7 DELIMITER $$

  DROP PROCEDURE IF EXISTS `kerja`.`spBobotPk`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `spBobotPk`()

BEGIN

  DECLARE kata varchar (50);

DECLARE abobotTotalPk decimal (6,5);

declare a float (50); declare b decimal(6,5); DECLARE jumlahKata int (50); declare counter int (50); declare aWord varchar (50); declare idPk int (50); DECLARE idpkk int (50); DECLARE kursorTif CURSOR FOR SELECT tif, idf,word, id_ideksPk, id_pekerja from indeks;

  open kursorTif; OPEN nkata; set counter = 0; FETCH nkata into jumlahKata; while counter < jumlahKata do FETCH kursorTif into a, b, aWord, idPk, idpkk; set abobotTotalPk= a*b; update indeks set bobotTotalPk=abobotTotalPk where word= aWord and id_pekerja=idpkk; -- insert into weightkatapk(id_pekerja,kata,bobotTotalPk) values (idDoc,aword,abobotTotalPk); set counter = counter + 1; end WHILE; close kursorTif; close nkata; END$$ DELIMITER ; spDelRekomender

  8 DELIMITER $$

  DROP PROCEDURE IF EXISTS `kerja`.`spDelRekomender`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `spDelRekomender`() BEGIN TRUNCATE rekomendasi; END$$ DELIMITER ; spRekomender

  9 DELIMITER $$

  DROP PROCEDURE IF EXISTS `kerja`.`spRekomender`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `spRekomender`()

BEGIN declare idlow int (50); declare idpk int (50); declare word11 varchar (50);

  declare nkata int (20); declare rek cursor for SELECT id_low,id_pekerja,sum(bobotTotalPk) from indeks_per, indeks where word_Per= word GROUP BY id_pekerja,id_low; SELECT count(nilai) into nkata FROM (select COUNT(word_Per) AS nilai from indeks_per, indeks where word_Per= word GROUP BY id_pekerja,id_low) AS nilai; open rek; set counter=0; while counter < nkata do FETCH rek into idlow,idpk,abobot; insert into rekomendasi(id_low,id_pekerja,bobotTotal)values(idlow,idpk,abobot); set counter=counter+1; end while; close rek; END$$ DELIMITER ; spDeleteIndexPer

  10 DELIMITER $$

  DROP PROCEDURE IF EXISTS `kerja`.`spDeleteIndexPer`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `spDeleteIndexPer`() BEGIN truncate indeks_per; END$$ DELIMITER ; spGetDummyWordLowongan

  11 DELIMITER $$

  

DROP PROCEDURE IF EXISTS `kerja`.`spGetDummyWordLowongan`$$

  BEGIN

select lowong,id_low from lowongan;

END$$

  DELIMITER ; spInsertIndexPerusahaan

  12 DELIMITER $$

  

DROP PROCEDURE IF EXISTS `kerja`.`spInsertIndexPerusahaan`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `spInsertIndexPerusahaan`(p_id_lowongan int, p_word_Per varchar(50), p_frekuensi_per int) BEGIN declare cek int; select count(*) into cek from indeks_per where word_Per = p_word_Per and id_low = p_id_lowongan; if cek = 0 then insert into `indeks_per` (id_low, word_Per, frekuensi_per) values (p_id_lowongan, p_word_Per, p_frekuensi_per); end if; END$$ DELIMITER ; spTifPer

  13 DELIMITER $$

  DROP PROCEDURE IF EXISTS `kerja`.`spTifPer`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `spTifPer`() BEGIN declare jumlahKata int; declare jumlah int; declare id int (11); declare kata varchar(50);

  declare vTif float; declare counter1 int; declare counter2 int; declare dokumen cursor for select distinct(id_low) from indeks_per; -- where tif_per is null; declare kursorKata cursor for select word_Per,frekuensi_per from indeks_per where id_low = id; select count(distinct(id_low)) into jumlah from indeks_per ; set counter1=0; open dokumen ; -- select count(distinct(id_low)) into n from indeks_per ; while counter1<jumlah do fetch dokumen into id; select count(word_Per) into jumlahKata from indeks_per where id_low = id; select max(frekuensi_per) into frekTertinggi from indeks_per where id_low = id; open kursorKata; set counter2 = 0; while counter2 < jumlahKata do fetch kursorKata into kata,frek; set vTif = frek/frekTertinggi; update indeks_per set tif_per = vTif where id_low = id and word_Per = kata; set counter2 = counter2 + 1; end while; close kursorKata;

set counter1 = counter1 +1;

end while;

   END$$ DELIMITER ;

  14

  spIdfPer DELIMITER $$ DROP PROCEDURE IF EXISTS `kerja`.`spIdfPer`$$

  declare jumlahDokumen int; declare jumlahKata int; -- declare id int; declare n int; -- jumlah dokumen declare dfk int; declare vIdf decimal(6,5); declare kata varchar(50); declare counter int; declare kursorKata cursor for select distinct(word_Per) from indeks_per; select count(distinct(id_low)) into n from indeks_per; set jumlahDokumen = n; set counter = 0; open kursorKata; select count(distinct(word_Per)) into jumlahKata from indeks_per; while counter < jumlahKata do

FETCH kursorKata into kata;

select count(word_Per) into dfk from indeks_per where word_Per = kata; set vIdf = log((n / dfk)) / log(n); update indeks_per set idf_per = vIdf where word_Per = kata;

set counter = counter + 1;

end while; close kursorKata; END$$ DELIMITER ; spBobotPer

  15 DELIMITER $$

  DROP PROCEDURE IF EXISTS `kerja`.`spBobotPer`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `spBobotPer`()

BEGIN

  DECLARE kata_per varchar (50);

DECLARE abobotTotalPer decimal (6,5);

  DECLARE jumlahKata int (50); declare counter int (50); declare aWord varchar (50); declare idlw int (50); DECLARE idDoc int (50); DECLARE kursorTif CURSOR FOR SELECT tif_per, idf_per,word_Per, id_indeks, id_low from indeks_per; Declare nkata_per cursor for select count(id_indeks) from indeks_per; open kursorTif; OPEN nkata_per; set counter = 0; FETCH nkata_per into jumlahKata; while counter < jumlahKata do FETCH kursorTif into a, b, aWord, idlw, idDoc; set abobotTotalPer= a*b;

update indeks_per set bobotTotalPer=abobotTotalPer where word_Per=

aWord and id_low=idDoc ;

  • -- insert into weightkataper(id_low,kata_per,bobotTotalPer) values

    (idDoc,aword,abobotTotalPer); set counter = counter + 1; end WHILE; close kursorTif; close nkata_per; END$$ DELIMITER ;

Dokumen baru

Tags

Dokumen yang terkait

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Pendidikan
0
2
15
SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Pendidikan
0
1
26
SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Pendidikan
0
0
14
SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Pendidikan
0
0
16
Tugas Akhir Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
0
0
125
SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika
0
1
127
Tugas Akhir Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika
0
0
127
SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika
0
0
98
SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
0
1
113
SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
0
2
76
Skripsi Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Mesin
0
0
69
SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Jurusan Teknik Informatika
0
0
87
TUGAS AKHIR Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Teknik Mesin
0
0
103
TUGAS AKHIR Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
0
0
117
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
0
0
198
Show more