Anda di halaman 1dari 4

NETWORK LABORATORY

Electrical Engineering Department, 2nd floor


Universitas Indonesia
Depok. 16424

PEMROGRAMAN BERORIENTASI OBJEK 2020/2021


Case Study
MODUL 8: Web Service

Pada modul 8 ini, praktikan akan menyiapkan proyek JWork untuk dapat menggunakan
Framework Spring Boot. Spring Boot akan dimanfaatkan untuk membuat web service
menggunakan Java. Petunjuk di tugas ini mengasumsikan anda menggunakan IntelliJ, jika
menggunakan IDE lain mohon disesuaikan.

Tugas 1 : Penambahan fungsi Login pada Jobseeker


Pada DatabaseJobseeker, buatlah method getJobseekerLogin(String email, String password)
dengan ketentuan sebagai berikut:
• Pada database, carilah pelanggan yang memiliki email dan password sama dengan
parameter method
• Jika ditemukan, kembalikan pelanggan tersebut
• Jika tidak ditemukan, kembalikan nilai null

Tugas 2 : JobseekerController
(Pada Case Study ini hanya memberi tambahan, pastikan anda sudah mengerjakan TP)
a. Ubah nama method addJobseeker() menjadi registerJobseeker(), begitu juga dengan
URL nya menjadi /register
b. Buatlah method loginJobseeker() yang memanggil jobseekerLogin() dari
DatabaseJobseeker dan mengembalikan Jobseeker yang ditemukan. Method ini dapat
diakses dengan request POST pada URL http://localhost/jobseeker/login dengan
request parameter email dan password.

Tugas 3 : JobController
a. Buatlah method getAllJob() yang memanggil getJobDatabase() dari DatabaseJob dan
mengembalikan ArrayList berisi seluruh Job. Method ini dapat diakses dengan request
GET pada URL http://localhost/job
b. Buatlah method getJobById() yang memanggil getJobById() dari DatabaseJob dan
mengembalikan Job yang ditemukan. Method ini dapat diakses dengan request GET pada
URL http://localhost/job/{id} dimana {id} merupakan id job yang ingin diambil.
NETWORK LABORATORY
Electrical Engineering Department, 2nd floor
Universitas Indonesia
Depok. 16424

c. Buatlah method getJobByRecruiter() yang memanggil getJobByRecruiter() dari


DatabaseJob dan mengembalikan Job yang ditemukan. Method ini dapat diakses dengan
request GET pada URL http://localhost/job /recruiter/{recruiterId} dimana {recruiterId}
merupakan id dari recruiter yang job nya ingin diambil.
d. Buatlah method getJobByCategory() yang memanggil getJobByCategory() dari
DatabaseJob dan mengembalikan Job yang ditemukan. Method ini dapat diakses dengan
request GET pada URL http://localhost/job/category/{category} dimana {category}
merupakan kategori job yang ingin diambil.
e. Buatlah method addJob() yang memanggil method addJob() dari DatabaseJob dan
menambahkan job baru pada DatabaseJob dengan memberikan parameter name, fee,
category, dan recruiterId menggunakan request POST pada URL http://localhost/job/. Jika
proses penambahan berhasil, kembalikan objeknya, jika gagal, kembalikan null. Jangan
lupa untuk memberikan exception jika recruiter tidak ditemukan
(RecruiterNotFoundException).

Tugas 4 : RecruiterController
a. Buatlah method getAllRecruiter() yang memanggil getRecruiterDatabase() dari
DatabaseRecruiter dan mengembalikan ArrayList berisi seluruh Recruiter. Method ini
dapat diakses dengan request GET pada URL http://localhost/recruiter
b. Buatlah method getRecruiterById() yang memanggil getRecruiterById() dari
DatabaseRecruiter dan mengembalikan Recruiter yang ditemukan. Method ini dapat
diakses dengan request GET pada URL http://localhost/recruiter/{id} dimana {id
merupakan id recruiter yang ingin diambil.
c. Buatlah method addRecruiter() yang memanggil method addRecruiter() dari
DatabaseRecruiter dan menambahkan recruiter baru pada DatabaseRecruiter dengan
memberikan parameter name, email, phoneNumber, province, description, dan city
menggunakan request POST pada URL http://localhost/recruiter. Jika proses penambahan
berhasil, kembalikan objeknya, jika gagal, kembalikan null.

Tugas 5 : BonusController
a. Buatlah method getAllBonus() yang memanggil getBonusDatabase() dari DatabaseBonus
dan mengembalikan ArrayList berisi seluruh Bonus. Method ini dapat diakses dengan
request GET pada URL http://localhost/bonus
b. Buatlah method getBonusByReferralCode() yang memanggil getBonusByReferralCode()
dari DatabaseBonus dan mengembalikan Bonus yang ditemukan. Method ini dapat
diakses dengan request GET pada URL http://localhost/bonus/{referralCode} dimana {
referralCode merupakan kode bonus yang ingin diambil.
c. Buatlah method addBonus() yang memanggil method addBonus() dari DatabaseBonus
dan menambahkan bonus baru pada DatabaseBonus dengan memberikan parameter
referralCode, discount, minTotalFee, dan active menggunakan request POST pada URL
http://localhost/bonus. Jika proses penambahan berhasil, kembalikan objeknya, jika gagal,
kembalikan null. Jangan lupa tambahkan exception jika kode bonus sudah ada
(BonusAlreadyExistsException)

Tugas 6 : Uji Coba


1. Pada class JWork.main() sebelum baris SpringApplication.run(JWork.class, args); , buat
3 objek location dengan nilai parameter bebas. Kemudian tambahkan 3 objek recruiter dan
4 objek job ke dalam database masing-masing dengan kondisi terdapat dua objek job yang
memiliki category yang sama dan dua objek job lain yang memiliki recruiterId yang sama.
Lalu jalankan program main pada JWork!

Dari sini gunakan Postman untuk melakukan ujicoba

Jobseeker
2. Tambahkan jobseeker baru dengan mengirimkan POST request ke
http://localhost:8080/jobseeker/register dengan menggunakan Postman. Screenshot
hasilnya!
3. Tampilkan jobseeker yang baru dibuat tadi dengan menggunakan GET request ke
http://localhost:8080/jobseeker/{id} dengan menggunakan id jobseeker tersebut.
Screenshot hasilnya!
4. Login dengan menggunakan jobseeker yang tadi dibuat, gunakan POST request ke
http://localhost:8080/jobseeker/login dengan menyesuaikan parameter. Screenshot
hasilnya!

Recruiter
5. Tampilkan semua recruiter yang ada pada database. Akses http://localhost:8080/recruiter/
. Screenshot hasilnya!
6. Tambahkan recruiter baru dengan mengakses http://localhost:8080/recruiter/ sebagai
POST request, sesuaikan parameternya. Screenshot hasilnya!
7. Tampilkan recruiter yang baru dibuat tadi dengan mengakses
http://localhost:8080/recruiter/{id} menggunakan id dari salah satu recruiter. Screenshot
hasilnya!
Job
8. Tampilkan semua job yang ada pada database. Akses http://localhost:8080/job/ .
Screenshot hasilnya!
9. Tambahkan job baru dengan mengakses http://localhost:8080/job/ sebagai POST request,
sesuaikan parameternya. Screenshot hasilnya!
10. Tampilkan job yang baru dibuat tadi dengan mengakses http://localhost:8080/job/{id}
menggunakan id dari salah satu job. Screenshot hasilnya!
11. Tampilkan job berdasarkan recruiternya dengan mengakses
http://localhost:8080/job/recruiter/{recruiterId} menggunakan id dari salah satu recruiter.
Screenshot hasilnya!
12. Tampilkan job berdasarkan kategorinya dengan mengakses
http://localhost:8080/job/category/{category} menggunakan salah satu kategori yang ada.
Screenshot hasilnya!

Bonus
13. Tambahkan bonus baru dengan mengakses http://localhost:8080/bonus/ sebagai POST
request, sesuaikan parameternya. Screenshot hasilnya!
14. Tambahkan bonus baru lagi dengan mengakses http://localhost:8080/bonus/ sebagai
POST request, sesuaikan parameternya. Screenshot hasilnya!
15. Tampilkan salah satu bonus yang baru dibuat tadi dengan mengakses
http://localhost:8080/bonus/{referralCode} menggunakan kode dari salah satu bonus.
Screenshot hasilnya!
16. Tampilkan semua bonus yang ada pada database. Akses http://localhost:8080/bonus/ .
Screenshot hasilnya!

Anda mungkin juga menyukai