First Experience As Hipster

Tio Bagas
sinadin
Published in
5 min readFeb 27, 2019

Perkuliahan PPL sudah melawati minggu ke-4. Saya sebagai hipster kelompok Zidane dengan projek SINADIN (Sistem Tata Naskah Dinas) telah merasakan bagaimana bekerja dalam kelompok. Pada minggu-minggu awal perkuliahan tiap kelompok yang mengikuti perkuliahan PPL diwajibkan untuk membuat sebuah prototype atau mockup dari aplikasi yang akan dibuat. Kelompok saya membuat aplikasi web-based, sehingga saya sebagai hipster membuat design halaman mockup sebagai acuan untuk frontend pada sprint kedepannya. Kemudian pada sprint pertama kelompok kami membuat 18 task kecil untuk dikerjakan oleh tiap anggota kelompok. Pada sprint ini, saya mengambil 3 buah task yaitu Belajar PHP & Laravel (karena saya baru bertama kali menggunakan framework ini), menginstall laravel admin generator (disini saya menggunakan Z-Song laravel admin), dan yang terakhir membuat template dashboard.

Figma

Hasil gambar untuk figma design

Tools yang saya pakai untuk membuat mockup adalah Figma. Alasan saya menggunakan Figma yaitu sangant mudah untuk dipelajari dan digunakan, fleksibel untuk segala macam design, dan memiliki fitur untuk transisi tiap-tiap halaman. Proyek dalam Figma itu sendiri dapat dikerjakan bersama-sama dengan teman satu kelompok, sehingga memudahkan kami untuk saling memberikan masukkan/saran design yang cocok untuk aplikasi yang kelompok kami kerjakan.

Pada awalnya kelompok kami belum begitu familiar dengan figma. Sehingga mockup awal yang dihasilkan dianggap terlalu simpel dan monotone oleh Product Owner (PO).

Kemudian, kelompok kami mencoba untuk memperbaiki design tersebut sekaligus belajar lebih lanjut tentang fitur-fitur yang ada pada Figma. Design yang dihasilkan selanjutkan sudah cukup baik.

Framework PHP dan Laravel

Sebelum menggunakan PHP dan Laravel, framework yang saya gunakan dan sudah familiar adalah python Django. Sehingga saya butuh beradaptasi dengan perubahan framework. Oleh sebab itu, sayang mengambil task untuk belajar framework laravel pada sprint 1 kali ini agar dapat menggunakannya dengan lancar. Framework Django dengan Laravel tidak terlalu berbeda, mereka sama-sama menggunakan MVC untuk strukturisasi sebuah projek.

Karena saya seorang hipster dan task yang saya ambil pada sprint 1 ini hanya bermain pada sekitaran frontend. Saya hanya bermain pada folder Public (digunakan untuk menyimpan css,js, dll), resource view (digunakan untuk menyimpan blade.php yaitu html pada framework php), dan route (digunakan untuk memberikan jalan blade.html saat diakses melalu url).

Laravel Admin Panel Z-Song

Laravel admin panel mempermudah pengaksesan database. Laravel admin dapat digunakan untuk CRUD (Create, Read, Update, Delete). Pada framework Django, fitur django admin sudah built in framework sehingga tidak perlu menginstall lagi pada projek. Namun pada framework Laravel, fitur ini belum tersedia, sehingga harus diinstall terlebih dahulu. Terdapat banyak jenis laravel admin yang tersedia. Sebelumnya saya menggunakan Laravel admin Voyager, namun tidak cocok dengan projek kelompok kami. Teman saya Zain, mengubah tabel user untuk menambahkan sebuah attribute baru. Namun Voyager tidak dapat menginstansiasi attribute tersebut sehingga menyebabkan error pada pembuatan dummy admin user. Sehingga saya beralih ke admin panel Z-Song yang tidak bentrok dengan proyek kami.

Git Flow

Setalah semua anggota tim menyelesaikan tasknya masing-masing. Tahap berikutnya adalah integrasi hasil kerja ke dalam satu folder projek yang sama. Untuk mempermudah integrasi digunakan Git, yaitu sebuah sistem version control untuk integrasi.

Terdapat beberapa branch, pertama adalah branch master yaitu cabang utama untuk menyimpan source code siap deploy ke dalam production environment. Kedua adalah branch staging, kumpulan dari merging beberapa user story sebelum dilanjutkan ke dalam branch master. Ketiga adalah branch user story, yaitu cabang untuk mengimplementasikan user story. Keempat adalah branch hotflix, cabang yang dibuat apabila terdapat bug atau error pada cabang master dan digunakan untuk memperbaiki bug atau error tersebut. Kelima adalah branch coldfix, yaitu cabang untuk rollback apabila product owner menolak satu atau semua user story yang telah diimplementasikan.

Terdapat beberapa command pada git yang harus diketahui. Command tersebut antara lain pull, push, clone, merge, revert, remote, dan checkout. Pull digunakan untuk mengambil commit terbaru dari repo. Push untuk mengupload atau push commit terbaru yang ada pada local repositori. Clone untuk mengambil suatu projek dari git. Merge untuk menggabungkan dua cabang pada git. Revert untuk menghapus commit yang sudah dilakukan. Remote untuk konfigurasi repositori git. Checkout untuk berpindah dari suatu cabang ke cabang lain.

Penerapan TDD

Apakah TDD diperlukan untuk mengerjakan suatu projek? Jawabannya adalah ya. Terdapat beberapa manfaat yang dapat diambil dalam penerapan metodologi TDD. Pertama, menulis tes terlebih dahulu sebelum mengimplementasikannya akan membuat developer untuk berpikir kritis. Kedua, mencegah munculnya error-error kecil yang tidak diinginkan. Ketiga, mempercepat develompent stage, karena kode yang akan dideploy sudah pasti berjalan dengan benar.

Persona

Untuk proyek saya saat ini, persona pengguna aplikasi yang akan kami buat adalah pegawai pemerintah. Product Owner sudah memberikan persona pengguna yang dapat dijadikan referensi pembuatan aplikasi kami. Dapat dilihat dari gambar di atas, terdapat beberapa frustration point yang dapat dijadikan acuan saya untuk membuat frontend yang sesuai dengan persona pengguna aplikasi.

Demikian progres yang telah saya lakukan pada sprint 1 kali ini. Masih terdapat banyak tugas dan peningkatan dapat saya lakukan untuk sprint selanjutnya. Terima Kasih.

--

--