Sprint Blog #2

Bram Sedana
slovneek
Published in
5 min readMar 20, 2019

Halo semua! Kembali lagi dengan saya, Bram Sedana, pada post Sprint Blog ini.

Pada post kali ini, saya akan berusaha menjelaskan tentang Persona, GIT, serta perbaikan pada Test Driven Development.

Persona (User-Centered Design)

Persona? Haha

Saat pertama kali mendengar kata Persona, yang pertama keluar dalam pikiran saya adalah sebuah video game yang berjudul Persona. Tapi setelah mempelajari lebih lanjut, ternyata persona yang dimaksud pada PPL ini adalah suatu hal yang berbeda.

Nah apa itu sebenarnya arti Persona? Ternyata, persona itu adalah suatu representasi data pengguna yang akan atau berpotensi untuk menggunakan aplikasi kita. Sehingga dari persona tersebut, kita jadi tahu untuk siapa sebenarnya kita akan membuat aplikasi yang kita buat. Untuk membuat suatu persona ini sebenarnya membutuhkan penelitian yang cukup mendalam. Dengan adanya persona, kita dapat menentukan kira-kira User Interface dan User Experience yang bagus dan cocok untuk potential user kita.

Persona ini bukan berisi data asli seseorang, namun data yang didapatkan dengan melakukan penelitian dari pengguna-pengguna yang akan menggunakan aplikasi kita, sehingga didapatkan data mayoritas dari kumpulan pengguna tersebut. Data mayoritas ini maksudnya data yang paling banyak muncul (modus) di kumpulan pengguna tersebut.

Bagaimana dengan contoh Persona?

Persona!

Berikut adalah contoh Persona yang benar, suatu data yang merepresentasikan mayoritas potential user aplikasi kita. Bagaimana dengan Persona kelompok SLOVNEEK?

Is This Persona?

Berikut adalah Persona SLOVNEEK, namanya sengaja disensor karena itu data orang asli hehehe. Persona tersebut bukan merupakan contoh Persona yang baik karena itu bukan merupakan hasil penelitian yang menunjukkan data mayoritas dari potential user aplikasi, namun itu hanya sample dari pengguna saja. Sehingga dari Persona yang diberikan, kita tidak bisa menentukan untuk siapa sebenarnya kita membuat aplikasi ini.

GIT

Image result for git

Apa itu GIT? GIT itu merupakan version control yang berguna untuk bekerja dalam sebuah tim. Pada Projek Perangkat Lunak kali ini, kita menggunakan GIT sebagai version control.

Apakah GIT itu penting? Jawabannya adalah iya, karena dengan adanya GIT, suatu kelompok orang dapat mengerjakan projek secara paralel, sehingga mengurangi terjadinya conflict.

Dalam menggunakan GIT, terdapat beberapa command yang berguna, seperti:

  • git clone: menyalin remote repository ke local repository.
  • git remote: remote repository yang dirujuk.
  • git branch: melakukan operasi pada branch-branch yang ada, seperti melihat branch-branch yang ada atau membuat branch baru.
  • git checkout: bisa untuk berpindah branch tapi juga bisa untuk menghapus perubahan yang telah dibuat pada suatu file.
  • git pull: mengambil perubahan yang ada pada remote repository ke local repository.
  • git add: memindahkan file yang telah diubah di local repository ke stage dan siap di-commit.
  • git commit: membuat sebuah versi untuk file-file yang ada di stage sehingga siap di-push.
  • git push: meng-upload commit yang yang ada dari local repository ke remote repository.
  • git stash: menyimpan perubahan yang telah dilakukan yang tidak ingin dicommit.
  • git merge: menggabungkan perubahan yang terjadi pada suatu branch ke branch lain, namun hanya ada satu branch yang berubah yaitu branch tujuan. Commit tidak akan ke-squash jika menggunakan git merge.
  • git rebase: menggabungkan perubahan yang terjadi pada dua branch dan squash commitnya. Berbeda dengan git merge, kedua branch berubah.
  • git revert: melakukan rollback untuk mengubah commit yang telah dilakukan.

Selain itu, terdapat git flow untuk pengerjaan projek PPL, yaitu seperti berikut:

Git Flow PPL

Terdapat beberapa branch, yaitu:

  • master: branch utama yang digunakan untuk menyimpun fitur-fitur yang sudah siap untuk diluncurkan ke production, branch ini tidak semua orang bisa mengakses.
  • staging: branch yang digunakan untuk menggabungkan fitur yang telah berhasil diimplementasi.
  • user-story: branch yang digunakan untuk mengimplementasi atau mengembangkan suatu fitur.
  • coldfix: branch yang digunakan untuk menghapus fitur yang tidak sesuai yang sudah dimerge dengan branch staging.
  • hotfix: branch yang digunakan untuk melakukan fix error atau bug yang terdapat pada branch master.

Test Driven Development

Kembali lagi dengan TDD. Dalam perbaikan nilai untuk Test Driven Development, saya akan menunjukkan implementasi saya.

Seperti yang pernah disebutkan pada Sprint Blog #1, terdapat beberapa fase pada proses TDD:

  • RED: pada fase ini dilakukan pembuatan fungsi kosong beserta testnya, karena fungsi tersebut masih kosong, maka pada CI/CD pasti akan gagal, commit message untuk fase ini biasanya “[RED] <message>”. Contoh pengerjaan saya untuk fase ini yaitu seperti berikut.
Contoh Commit Message fase RED

Pada commit ini saya membuat file test index.test.js pada folder test DataDefinitionPage dan belum membuat file index.js

Perubahan pada Commit

Pada commit diatas, yang saya lakukan adalah memindahkan file index.test.js yang sudah saya buat sebelumnya dari path containers/DataDefinitionPage ke tests/containers/DataDefinitionPage.

Test untuk DataDefinitionPage

Test yang saya buat untuk DataDefinitionPage ini yaitu memastikan bahwa komponen DataDefinitionPage berhasil ter-render dengan benar.

  • GREEN: pada fase ini, diimplementasikan fungsi sesuai dengan test yang sudah dibuat sebelumnya. implementasi tersebut harus bisa membuat CI/CD success. Pada commit message biasa ditulis “[GREEN] <message>”. Contoh pengerjaan saya untuk fase ini yaitu seperti berikut.
Contoh Commit Message fase GREEN

Pada commit ini saya mengimplementasikan index.js pada containers/DataDefinitionPage sehingga berhasil melewati index.test.js yang sudah dibuat.

Perubahan yang terjadi pada commit diatas
Berhasil saat menjalankan index.test.js setelah melakukan implementasi index.js
  • REFACTOR: pada fase ini, kode yang sudah dibuat dirapikan agar lebih mudah dibaca tanpa rusak fungsionalitasnya. Pada commit message biasa ditulis “[REFACTOR] <message>”.

Enough for now..

Cukup sampai sini dulu ya Blog Sprint #2. Sampai ketemu lagi di Blog Sprint #3!

Forever?

--

--