diff --git a/docs/workshops/day_1_sqa.md b/docs/workshops/day_1_sqa.md
index e9b91b8b505a4a06a94a2fb0dc115a8d5d91a9b2..dbcd67d26c59a431f7b4ee94fd2c9e4ba7362511 100644
--- a/docs/workshops/day_1_sqa.md
+++ b/docs/workshops/day_1_sqa.md
@@ -158,7 +158,7 @@ Kemudian _Exercise_ dilakukan secara implisit ketika _Verify_ dilakukan pada con
 yaitu pemanggilan `assertNotEquals` akan memanggil implementasi `equals` milik masing-masing SUT
 dan membandingkan hasil kembaliannya.
 Pada contoh di atas, tidak ada prosedur _Teardown_ secara eksplisit.
-Namun, anda bisa menganggap proses _garbage collection_ yang dilakukan _runtime_ (JVM) secara implisit sebagai prosedur _Teardown_.
+Namun, anda bisa menganggap proses _garbage collection_ yang dilakukan _runtime_ Java (JVM) di akhir eksekusi test sebagai prosedur _Teardown_.
 
 Mari lihat contoh _test case_ lain yang lebih kompleks, yaitu _test case_ untuk _class_ `MainController`:
 
@@ -554,7 +554,8 @@ void showList_countSecondVisit() throws Exception {
 
 Jalankan kembali _test case_ yang menyimulasikan satu kali dan dua kali kunjungan.
 Hasilnya akan lulus/_pass_.
-Simpan hasil pekerjaan dengan membuat _commit_ Git lalu _push_ ke _fork_.
+Simpan hasil pekerjaan dengan membuat _commit_ Git dengan pesan _commit_ seperti `[GREEN] Implement visit counter`,
+lalu _push_ ke _fork_.
 
 ### Fase "Refactor"
 
@@ -686,21 +687,24 @@ Mari mencoba untuk membuat proyek analisis baru yang akan menampung analisis Son
 1. Masuk ke [SonarQube CSUI](https://sonarqube.cs.ui.ac.id)
 2. Pilih "Add Project" > "Manually" dari laman depan daftar proyek di SonarQube.
 3. Masukkan "Project Key" dan "Display Name" dengan format `sitodo-pmpl-[nama anda]`.
-   Misal: `sitodo-pmpl-bambang`
-   Kemudian pilih "Set up".
+   Kemudian pilih "Set up". Misalnya, _screenshot_ berikut menggambarkan pembuatan "Project Key" dengan nama `sitodo-pmpl-bambang`:
+   ![Contoh membuat project key](./images/day_1_sqa_-_create_project_sonarqube.png)
 4. Di layar berikutnya, pilih "Generate a token" dan salin nilai token yang dibuatkan oleh SonarQube.
 5. Setelah membuat token, pilih opsi analisis menggunakan Maven.
-   SonarQube akan mencantumkan contoh perintah Maven yang dapat dipanggil untuk melakukan analisis secara lokal.
+   SonarQube akan mencantumkan contoh perintah Maven yang dapat dipanggil untuk melakukan analisis secara lokal,
+   seperti yang digambarkan pada _screenshot_ berikut:
+   ![Contoh perintah Maven untuk menjalankan SonarScanner](./images/day_1_sqa_-_maven_sonarqube.png)
    Silakan dicoba apabila ingin memastikan analisis SonarScanner berhasil dikirimkan ke SonarQube dari komputer anda.
 
 Selanjutnya, anda perlu memperbaharui konfigurasi Maven dan _pipeline CI/CD_ agar bisa membuat analisis SonarScanner dilakukan dengan benar di lingkungan CI:
 
 1. Buka `pom.xml` kode proyek Sitodo PMPL, lalu ubah nilai _property_ `sonar.projectKey` dengan "Project Key" anda.
-2. Buka konfigurasi variabel CI/CD di laman proyek _fork_ Sitodo PMPL dan tambahkan dua variabel baru bernama `SONAR_TOKEN` dan `SONAR_HOST`.
-   Isi `SONAR_TOKEN` dengan token yang dibuat sebelumnya, lalu isi `SONAR_HOST` dengan alamat SonarQube CSUI (https://sonarqube.cs.ui.ac.id).
+2. Buka konfigurasi variabel CI/CD di laman proyek _fork_ Sitodo PMPL dan tambahkan dua variabel baru bernama `SONAR_TOKEN` dan `SONAR_HOST_URL`.
+   Laman konfigurasi variabel CI/CD dapat diakses di URL: `https://gitlab.cs.ui.ac.id/[akun GitLab CSUI anda]/sitodo-pmpl/-/settings/ci_cd`
+   Isi `SONAR_TOKEN` dengan token yang dibuat sebelumnya, lalu isi `SONAR_HOST` dengan alamat SonarQube CSUI (`https://sonarqube.cs.ui.ac.id`).
 
 Simpan pekerjaan anda.
-Buat _commit_ Git dan _push_ ke _fork_ proyek Sitodo PMPL.
+Buat _commit_ Git dan _push_ ke _fork_.
 
 ### Latihan Singkat: Mengurangi Tingkat Kompleksitas Kode Melalui Refactoring
 
@@ -752,8 +756,11 @@ public String computeMotivationMessage(TodoList todoList) {
 }
 ```
 
-Implementasi fungsi `computeMotivationMessage` di atas memiliki nilai Cognitive Complexity sebesar 17.
-Tingkat kompleksitas pada kode dapat dikurangi dengan cara menyederhanakan bagian yang mengandung percabangan.
+Implementasi fungsi `computeMotivationMessage` di atas memiliki nilai Cognitive Complexity sebesar 17 menurut temuan SonarScanner.
+Angkat tersebut diperoleh dengan menerapkan heuristik yang telah disusun oleh SonarScanner.
+Ide dasar perhitungan nilai kompleksitas pada tolok ukur Cognitive Complexity adalah semakin banyak tingkat kedalaman sebuah percabangan,
+maka akan semakin kompleks kode tersebut.
+Oleh karena itu, tingkat kompleksitas pada kode dapat dikurangi dengan cara menyederhanakan percabangan.
 
 Dapat dilihat bahwa terdapat percabangan yang mengandung duplikasi,
 yaitu pembuatan pesan motivasi berdasarkan jumlah tugas yang tersisa.
@@ -830,10 +837,20 @@ Jika masih ada waktu tersisa, maka lihat koleksi _code smells_ yang telah diiden
 Kemudian, pilih minimal tiga buah _code smells_ dan coba perbaiki _code smells_ tersebut.
 Untuk setiap perbaikan sebuah _code smell_, simpan pekerjaan anda sebagai _commit_ Git dengan pesan _commit_ yang mencantumkan nama _code smell_ terkait.
 
+Berikut ini ada beberapa kategori _code smells_ yang dapat diperbaiki,
+terurut berdasarkan tingkat kesulitan,
+dan dapat diselesaikan dalam waktu singkat:
+
+- _Remove this `public` modifier_
+- _Declare this local variable with `var` instead_
+- _Define a constant instead of duplicating this literal string `n` times_
+- _This `for`` loop can be replaced by a `foreach` loop_
+
 ## Penutup
 
-Anda sudah mencoba secara garis besar bagaimana menerapkan TDD
-serta bagaimana aktivitas penjaminan kualitas dapat dilakukan dengan bantuan _tools_.
+Anda sudah mencoba secara garis besar penerapan TDD
+dan aktivitas penjaminan kualitas dengan bantuan _tools_.
+Sebelum mengakhiri workshop, jangan lupa menyimpan hasil pekerjaan sebagai _commit_ Git dan _push_ ke _fork_.
 
 Untuk bahan diskusi saat refleksi:
 
diff --git a/docs/workshops/day_2_tdd.md b/docs/workshops/day_2_tdd.md
index eeb0b3e81a45bc8ad41a7cdbac06fc562cfd6e40..91dd05b304eecbb868dc046163f187c6b709c798 100644
--- a/docs/workshops/day_2_tdd.md
+++ b/docs/workshops/day_2_tdd.md
@@ -1,6 +1,6 @@
 # Day 2: Test-Driven Development
 
-* Session 1: 9:00 - 10:00: [Testing Category][1]
+* Session 1: 09:00 - 10:00: [Testing Category][1]
 * Session 2: 10:15 - 11:45: Hands-on: A bigger Case study
 * Session 3: 13:00 - 15:00: Hands-on: A bigger Case study
 * Session 4: 15:30 - 16:30: Overview, Discussion, Lesson learned
diff --git a/docs/workshops/images/Screenshot 2023-11-02 at 06-43-41 sitodo-pmpl-bambang.png b/docs/workshops/images/Screenshot 2023-11-02 at 06-43-41 sitodo-pmpl-bambang.png
deleted file mode 100644
index 3fb90aaffeffb6bf09cb0af62c155dd5bb597cf0..0000000000000000000000000000000000000000
Binary files a/docs/workshops/images/Screenshot 2023-11-02 at 06-43-41 sitodo-pmpl-bambang.png and /dev/null differ
diff --git a/docs/workshops/images/Screenshot 2023-11-02 at 06-43-05 Add a project.png b/docs/workshops/images/day_1_sqa_-_create_project_sonarqube.png
similarity index 100%
rename from docs/workshops/images/Screenshot 2023-11-02 at 06-43-05 Add a project.png
rename to docs/workshops/images/day_1_sqa_-_create_project_sonarqube.png
diff --git a/docs/workshops/images/day_1_sqa_-_maven_sonarqube.png b/docs/workshops/images/day_1_sqa_-_maven_sonarqube.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5d1ea7a68ee4135d3d389000d79d8aecca9fcba
Binary files /dev/null and b/docs/workshops/images/day_1_sqa_-_maven_sonarqube.png differ