Fakultas Ilmu Komputer UI

Skip to content
Snippets Groups Projects
user avatar
Raihan Adliputra authored
5ee0bacc
History
Name Last commit Last update
belajarbelajar
penghitungBMI
.gitignore
README.md

Tutorial APAP

Authors

Muhammad Raihan Adliputra - 2006485680 - A

Tutorial 3

What I have learned today

  • Saya baru mengetahui bahwa mengetik isi dari class akan lebih cepat dari mengetik import terlebih dahulu

Pertanyaan

  1. Tolong jelaskan secara singkat apa kegunaan dari anotasi-anotasi yang ada pada model (@AllArgsConstructor, @NoArgsConstructor, @Setter, @Getter, @Entity, @Table)
  1. Pada class CourseDb, terdapat method findByCodeUsingQuery dan findByCode, apakah perbedaan kedua method tersebut? Jelaskan juga kegunaan @Query pada method findByCodeUsingQuery!
  1. Jelaskan perbedaan kegunaan dari anotasi @JoinTable dan @JoinColumn
  1. Pada class Pengajar, digunakan anotasi @JoinColumn pada atribut Course, apa kegunaan dari name, referencedColumnName, dan nullable dalam anotasi tersebut? dan apa perbedaan nullable dan penggunaan anotasi @NotNull
  1. Jelaskan kegunaan FetchType.LAZY, CascadeType.ALL, dan FetchType.EAGER

Tutorial 2

What I have learned today

  • Saya berhasil mencoba dan memahami materi Organizing Domain Logic & Service Layer

Pertanyaan

  1. Cobalah untuk menambahkan sebuah Course dengan mengakses link berikut: Sebuah Link Apa yang terjadi? Jelaskan mengapa hal tersebut dapat terjadi!
    Akan terjadi Whitelabel Error. Error ini akan terjadi karena file controller akan mencoba mengakses file html yang tidak tersedia, yaitu ketika file controller mengembalikan string nama file html yang dimana file html tersebut belum tersedia pada folder template.

  2. Menurut kamu anotasi @Autowired pada class Controller tersebut merupakan implementasi dari konsep apa? Dan jelaskan secara singkat cara kerja @Autowired tersebut dalam konteks service dan controller yang telah kamu buat
    Anotasi @Autowired pada file controller adalah contoh implementasi dari Dependency Injection, yaitu sebuah fitur yang membuat Spring bisa menyelesaikan dan menyuntikkan beans yang berkolaborasi dengan beans lainnya. Reference:

Dependency Injection

  1. Cobalah untuk menambahkan sebuah Course dengan mengakses link berikut:
    Sebuah Link
    Apa yang terjadi? Jelaskan mengapa hal tersebut dapat terjadi!
    Akan terjadi Whitelabel Error. Error ini akan terjadi karena method addCourse membutuhkan sebuah parameter description untuk menambahkan sebuah course ke dalam listCourse, sementara parameter yang dibutuhkan tidak ada.

  2. Jika Papa APAP ingin melihat Course dengan kode APAP, link apa yang harus diakses?
    Link yang dapat diakses oleh Papa APAP adalah sebagai berikut:

  • Link 1 yang akan menggunakan RequestParam.
  • Link 2 yang akan menggunakan PathVariable. Papap APAP bisa mengakses link tersebut karena kedua link itu akan mengarahkan user untuk mampu melihat detail course apapun dengan kode spesifik yang harus dimasukkan.
  1. Tambahkan 1 contoh Course lainnya sesukamu. Lalu cobalah untuk mengakses > Sebuah Link, apa yang akan ditampilkan? Sertakan juga bukti screenshotmu.
    Yang akan ditampilkan adalah detail seluruh course yang akan menampilkan:
  • Code
  • Nama Course
  • Description
  • Jumlah Sks
    Untuk contoh course yang akan saya tambahkan adalah (bukti penambahan bisa diakses melalui link ini Link Bukti):
  • Kode = SOSI
  • Nama Course = APAP Tutorial2
  • Description = 2020 Fasilkom
  • Jumlah Sks = 3

Tutorial 1

What I have learned today

  • Saya berhasil mencoba hands on membuat program BMI sederhana menggunakan Spring Boot
  • Saya berhasil mengingat dan mengoperasikan kembali command-command pada penggunaan GitLab

GitLab

  1. Apa itu Issue Tracker? Apa saja masalah yang dapat diselesaikan dengan Issue Tracker?
    Issue Tracker, merupakan fitur yang ada pada GitHub yang berfungsi untuk memudahkan user untuk tetap on track dan mengerahui perubahan apa saja yang terjadi pada proyek. Selain itu, Issue Tracker juga bisa membantu user untuk menemukan bug yang ada pada proyek. Reference:

About issues

  1. Apa perbedaan dari git merge dan git merge --squash?
    command git merge --squash akan menyatukan semua commit pada suatu branch menjadi 1 commit saja. Sehingga, jika user ingin melakukan merge ke branch main, maka branch tersebut hanya memberikan 1 commit. Reference:

git merge VS git merge -- squash

  1. Apa keunggulan menggunakan Version Control System seperti Git dalam pengembangan suatu aplikasi?
    Fungsi dari Version Control System adalah menyimpan perubahan pada source code, sehingga mampu meminimalisir resiko gagal ada kode yang sudah kita ubah. Reference:

Version Control System

Spring

  1. Apa itu library & dependency?
  • Library merupakan kumpulan code pada sebuah modul yang bisa dipakai oleh user untuk memudahkan pembuatan suatu proyek.
  • Dependency merupakan sebuah kata yang mereferensikan ketika suatu software saling berkaitan dengan software lainnya. Reference:

Library Dependency

  1. Apa itu Gradle? Mengapa kita menggunakan Gradle? Apakah ada alternatif dari Gradle?
    Gradle merupakan automation tool untuk membangun software. Gradle kita gunakan karena Gradle mampu memberikan performa yang sangat baik dan juga Gradle saat ini sudah bisa dipakai oleh user di berbagai macam IDE yang ada di pasar saat ini. Alternatif lain dari penggunaan Gradle adalah Maven, Bazel, dan lainnya. Reference:

About Gradle Gradle altenatives

  1. Selain untuk pengembangan web, apa saja yang bisa dikembangkan dengan Spring framework?
    Spring framewor dapat digunakan untuk Cloud, Reactive, Event Driven, dan sebagainya. Reference:

Spring framework

  1. Apa perbedaan dari @RequestParam dan @PathVariable? Kapan sebaiknya menggunakan @RequestParam atau @PathVariable?
  • @RequestParam digunakan untuk mengakses nilai dari parameter.
  • @PathVariable digunakan untuk mengakses nilai dari template URI. Reference:

RequestParam VS PathVariable

What I did not understand

Saya masih belum terbiasa dengan sistem branch pada gitlab, karena selama ini saya hanya menggunakan branch main pada gitlab. Saya juga baru pertama kali menggunakan spring boot, sehingga saya masih tidak mengerti apa yang saya ketikkan pada kode yang ada pada Tutorial 1 ini.

  • Apakah saya mampu lulus APAP dengan nilai memuaskan? YA. Karena saya mampu dan saya ingin.