0% found this document useful (0 votes)
3 views9 pages

Uas Restu

The document contains Java code for a recruitment application that allows users to manage job applicants, including adding applicants, inputting scores, processing selections, sorting scores, generating reports, and deleting applicants. It defines classes for the main application, applicants, and recruitment services, with various functionalities implemented through methods. The code also includes an enumeration for education levels, positions, and statuses of applicants.

Uploaded by

restuawaludin274
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views9 pages

Uas Restu

The document contains Java code for a recruitment application that allows users to manage job applicants, including adding applicants, inputting scores, processing selections, sorting scores, generating reports, and deleting applicants. It defines classes for the main application, applicants, and recruitment services, with various functionalities implemented through methods. The code also includes an enumeration for education levels, positions, and statuses of applicants.

Uploaded by

restuawaludin274
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

NAMA : Restu Awaludin

NIM : 511240038
KELAS :C
SEMESTER :3

CODINGAN 1

import [Link];
public class MainApp {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
RecruitmentService service = new RecruitmentService();
int menu;

do {
[Link]("\n=== MENU RECRUITMENT ===");
[Link]("1. Tambah Pelamar");
[Link]("2. Input Nilai");
[Link]("3. Proses Seleksi");
[Link]("4. Sorting Skor Total");
[Link]("5. Laporan per Posisi");
[Link]("6. Hapus Pelamar");
[Link]("0. Keluar");
[Link]("Pilih: ");
menu = [Link](); [Link]();

switch (menu) {

case 1:
[Link]("ID: ");
String id = [Link]();
[Link]("Nama: ");
String nama = [Link]();
[Link]("Umur: ");
int umur = [Link]();

[Link]("Pendidikan ([Link] 2.D3 3.S1 4.S2): ");


[Link] pend =
[Link]()[[Link]() - 1];

[Link]("Pengalaman (tahun): ");


int exp = [Link]();

[Link]("Posisi ([Link] 2.DATA_ANALYST 3.NETWORK_ENGINEER):


");
[Link] pos =
[Link]()[[Link]() - 1];
[Link](
new Pelamar(id, nama, umur, pend, exp, pos));
break;

case 2:
[Link]("ID Pelamar: ");
Pelamar p = [Link]([Link]());
if (p != null) {
[Link]("TKD: ");
int tkd = [Link]();
[Link]("Teknis: ");
int tek = [Link]();
[Link]("Wawancara: ");
int waw = [Link]();
[Link](tkd, tek, waw);
}
break;

case 3:
[Link]();
[Link]("Seleksi selesai.");
break;

case 4:
[Link]();
[Link]("Data diurutkan.");
break;

case 5:
[Link]("[Link] 2.DATA_ANALYST 3.NETWORK_ENGINEER");
[Link] lp =
[Link]()[[Link]() - 1];
[Link](lp);
break;

case 6:
[Link]("ID Pelamar: ");
if ([Link]([Link]())) {
[Link]("Pelamar dihapus.");
}
break;
}

} while (menu != 0);


}
}
CODINGAN 2

public class Pelamar {


public enum Pendidikan { SMA, D3, S1, S2 }
public enum Posisi { PROGRAMMER, DATA_ANALYST, NETWORK_ENGINEER }
public enum Status { DRAFT, DINILAI, LULUS, TIDAK_LULUS }

private String idPelamar;


private String nama;
private int umur;
private Pendidikan pendidikan;
private int pengalaman;
private Posisi posisi;

private int nilaiTKD;


private int nilaiTeknis;
private int nilaiWawancara;

private Status status;


private double skorTotal;

public Pelamar(String id, String nama, int umur,


Pendidikan pendidikan, int pengalaman, Posisi posisi) {
[Link] = id;
[Link] = nama;
[Link] = umur;
[Link] = pendidikan;
[Link] = pengalaman;
[Link] = posisi;
[Link] = [Link];
[Link] = 0;
}

public String getIdPelamar() { return idPelamar; }


public String getNama() { return nama; }
public int getUmur() { return umur; }
public Pendidikan getPendidikan() { return pendidikan; }
public int getPengalaman() { return pengalaman; }
public Posisi getPosisi() { return posisi; }
public Status getStatus() { return status; }
public double getSkorTotal() { return skorTotal; }
public int getNilaiTKD() { return nilaiTKD; }
public int getNilaiTeknis() { return nilaiTeknis; }
public int getNilaiWawancara() { return nilaiWawancara; }

public void setNilai(int tkd, int teknis, int wawancara) {


[Link] = tkd;
[Link] = teknis;
[Link] = wawancara;
[Link] = [Link];
}

public void setHasil(double skor, Status status) {


[Link] = skor;
[Link] = status;
}

CODINGAN 3

import [Link];
import [Link];
import [Link];

public class RecruitmentService {


private ArrayList<Pelamar> data = new ArrayList<Pelamar>();

public ArrayList<Pelamar> getData() {


return data;
}

public void tambahPelamar(Pelamar p) {


[Link](p);
}

public Pelamar cariById(String id) {


for (Pelamar p : data) {
if ([Link]().equalsIgnoreCase(id)) {
return p;
}
}
return null;
}
private boolean diskualifikasi(Pelamar p) {
return [Link]() < 50 ||
[Link]() < 55 ||
[Link]() < 50;
}

private double skorAkhir(Pelamar p) {


switch ([Link]()) {
case PROGRAMMER:
return [Link]() * 0.25 +
[Link]() * 0.50 +
[Link]() * 0.25;
case DATA_ANALYST:
return [Link]() * 0.30 +
[Link]() * 0.45 +
[Link]() * 0.25;
default:
return [Link]() * 0.30 +
[Link]() * 0.40 +
[Link]() * 0.30;
}
}

private double bonus(Pelamar p) {


double b = 0;

switch ([Link]()) {
case S2: b += 3; break;
case S1: b += 2; break;
case D3: b += 1; break;
}

if ([Link]() >= 5) {
b += 3;
}
else if ([Link]() >= 2) {
b += 2;
}
else if ([Link]() == 1) {
b += 1;
}

if ([Link]() >= 21 && [Link]() <= 30) {


b += 1;
}

return b;
}
public void prosesSeleksi() {
for (Pelamar p : data) {
if ([Link]() == [Link]) {

if (diskualifikasi(p)) {
[Link](0, [Link].TIDAK_LULUS);
continue;
}

double total = skorAkhir(p) + bonus(p);

boolean lulus = false;


switch ([Link]()) {
case PROGRAMMER: lulus = total >= 75; break;
case DATA_ANALYST: lulus = total >= 73; break;
case NETWORK_ENGINEER: lulus = total >= 74; break;
}

[Link](total,
lulus ? [Link] : [Link].TIDAK_LULUS);
}
}
}

public void sortSkorDesc() {


[Link](data, new Comparator<Pelamar>() {
@Override
public int compare(Pelamar a, Pelamar b) {
return [Link]([Link](), [Link]());
}
});
}

public void laporanPosisi([Link] pos) {


int total = 0, lulus = 0, gagal = 0;
double sum = 0;
Pelamar terbaik = null;

[Link]("\n=== LAPORAN POSISI " + pos + " ===");


[Link]("ID | Nama | Status | Skor");

for (Pelamar p : data) {


if ([Link]() == pos &&
([Link]() == [Link] ||
[Link]() == [Link].TIDAK_LULUS)) {
[Link]([Link]()+" | "+[Link]()+
" | "+[Link]()+" | "+[Link]());

total++;
sum += [Link]();
if ([Link]() == [Link]) {
lulus++;
}
else {
gagal++;
}

if (terbaik == null || [Link]() > [Link]()) {


terbaik = p;
}
}
}

if (total == 0) {
[Link]("Belum ada data.");
return;
}

[Link]("Total Dinilai : " + total);


[Link]("Lulus : " + lulus);
[Link]("Tidak Lulus : " + gagal);
[Link]("Rata-rata : " + (sum / total));
[Link]("Terbaik : " + [Link]());
}

public boolean hapusPelamar(String id) {


Pelamar p = cariById(id);
if (p == null) {
return false;
}

if ([Link]() == [Link]) {
[Link]("❌ Pelamar LULUS tidak boleh dihapus!");
return false;
}

[Link](p);
return true;
}
}
2. Screenshot output hasil :

o Menambah pelamar

o Input nilai

o Proses seleksi
Sorting skor total

o Laporan per posisi

You might also like