0% menganggap dokumen ini bermanfaat (0 suara)
61 tayangan4 halaman

CS Modul 8 Praktikum OOP 2021

Dokumen tersebut memberikan instruksi untuk mengerjakan tugas modul 8 pemrograman berorientasi objek yang berfokus pada pengembangan web service menggunakan Spring Boot dan Java. Beberapa tugas antara lain menambahkan fungsi login pada jobseeker, membuat controller untuk mengelola data jobseeker, recruiter, job dan bonus yang tersimpan pada database. Diakhir tugas dilakukan pengujian menggunakan Postman untuk melihat hasil implementasi web service.

Diunggah oleh

Watcher Udin
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
61 tayangan4 halaman

CS Modul 8 Praktikum OOP 2021

Dokumen tersebut memberikan instruksi untuk mengerjakan tugas modul 8 pemrograman berorientasi objek yang berfokus pada pengembangan web service menggunakan Spring Boot dan Java. Beberapa tugas antara lain menambahkan fungsi login pada jobseeker, membuat controller untuk mengelola data jobseeker, recruiter, job dan bonus yang tersimpan pada database. Diakhir tugas dilakukan pengujian menggunakan Postman untuk melihat hasil implementasi web service.

Diunggah oleh

Watcher Udin
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 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