Alief’s Update — Week 11

Alief Aziz
Inspire Crawler
Published in
5 min readMay 8, 2016

Kenapa langsung week 11 ? karena jujur saja di week 10 saya tidak mengerjakan apa-apa alias tidak ada progress, saya juga kemaren tidak ikut kelas karena bingung tidak ada yang bisa dilaporkan. Ini karena saya memutuskan untuk all out pada lomba robotik minggu lalu, dan Alhamdulillah tim kami berhasil menyabet juara harapan 1.

5 tim robotik UI meraih tropi juara (saya ada di baris kedua paling depan, nomor 4 dari kiri)

Balik lagi ke Laporan PPL, pada liburan kemarin saya merencanakan untuk menghabiskan 11–14 jam, namun karena banyaknya bug yang saya peroleh sehingga saya tidak bisa menjalankan program java & webnya, maka pada minggu ini saya hanya menghabiskan 4.5 jam, jam.
1. Bug pertama ialah main class not found, setiap saya pull dari repo kemudian menjalankannya dengan eclipse selalu muncul “main class not found error,” padahal kelas yang saya run mempunyai method main. Saya sudah mengecek di google untuk penyelesaiannya tapi tidak ada yang berhasil. Ditambah eclipse saya sering kali hang ketika ingin clean, refresh atau rebuild .
2. Bug yang kedua, sudah saya post sebagai issue dan ternyata masalahnya ada di ekstensi php.

Berikut yang saya capai :

  1. Mereview code
    Code yang saya review ialah JsonController, di method index. Pada kode tersebut saya lihat ada kode yang tidak akan menimbulkan exception, namun dibungkus oleh blok try. Berikut detilnya

sedangkan untuk pengaturan isunya saya memberikan label “enhancement” dan orang yang saya assign ialah orang yang membuat code ini, yaitu haryo dan puti

Dan respon yang saya dapat ialah :

Ternyata code diatas sudah tidak dipakai lagi, dengan ini case closed

untuk itu saya akan mengclaim : code review (bukti)

2. Melakukan bug tracking
Bug yang saya dapati yaitu masalah untuk mengakses webnya, bug ini saya dapat setelah pull dari branch development yang terbaru. Detilnya seperti ini :

Dan inilah respon yang saya terima.

Dengan ini kasus ditutup.
untuk itu saya akan mengclaim : bug tracking (bukti)

3. Melakukan Refactoring
Dari definisi refactoring menurut refrensi

“Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure.”

dalam kasus refactor rumus matematika, refactoring menjadikan formula (x+1)(x-1) menjadi x^2–1 (tidak merubah perhitungan namun menjadikannya lebih bersih). Dalam kasus ini saya melakukan refactor pada pada TreeNode.java. Bagian yang saya refaktor yaitu :
a. merubah status method levelOrder() menjadi deprecated, karena method
itu tidak dipanggil oleh siapapun lagi, dan fungsinya sudah digantikan oleh
getLeaves().
b. merubah visibilitas method addNode() menjadi private, karena method
ini hanya dipanggil oleh kelas TreeNode, maka dari itu pemakai kelas ini
tidak perlu tahu addNode().
c. merubah visibilitasi method getLeaves() menjadi private, alasan sama
seperti poin b
d. merubah kode di method getChildrenOfLv2
result += nodeVal;
result += “}/PERSON “;
menjadi
result += nodeVal + “}/PERSON”;
serta merubah kode dibawahnya (kasusnya sama).
untuk itu saya akan mengclaim : refactoring(bukti ada di github)

4. Verification and Validation
Untuk bagian ini seharusnya sudah saya klaim beberapa minggu lalu, tapi belum saya klaim karena pada waktu pengerjaan saya tidak sempat untuk berpartisipasi. Namun beberapa waktu lalu teman menyarankan untuk mengklaim, karena katanya klaim bisa berupa hal yang dipelajari dan tidak harus ada produk hasil pengerjaannya. Oleh karena itu berikut hal-hal yang saya pelajari terkait Verification and Validation :
Verification dan Validation merupakan prosedur yang dilakukan untuk memastikan requirement yang kita peroleh sesuai dengan kebutuhan dan keinginan client. Dalam kasus proyek kami, kami melakukannya diawal proyek (sewaktu mentor kami masih kak Tirmidzi). Setelah kak Tirmidzi memberikan deskripsi produk yang dia inginkan kemudian kami dan beliau menyusun spesifikasi produknya. Inilah yang menjadi akar dari Use Case yang ada sekarang.

proses verifikasi dan validasi

untuk itu saya akan mengclaim : Verification and Validation (bukti tertulis diatas)

5. Merubah format kode mengikuti code convention
Untuk refrensi code convention, saya mengikuti saran kak Salman, yaitu memakai code convention Google. Sedangkan untuk kode yang saya ubah yaitu TreeNode.java. Berikut yang saya lakukan :
a. mengubah semua tab menjadi 2 spasi
b. menyesuaikan struktur file
c. menyusun urutan import
d. menysusun urutan method, sesuai logika pembuatan program
e. memberikan 4 spasi untuk line wrap yang batasnya 100
f. memberikan vertikal blank space antar method dan logical grouping.
g. memberikan 1 spasi diantara reserved word dan kurung buka‘(‘
h. memberikan 1 spasi diantara kurung kurawal tutup ‘}’ dan reserved word
i. memberikan 1 spasi setelah tanda koma ‘,’
j. memberikan spasi antara tipe variabel dan nama variabel di setiap
pendeklarasian variabel
k. memastikan 1 baris hanya mendeklarasikan 1 variabel
l. memastikan setiap annotasi ‘@’ berada di baris baru, dan terletak setelah
dokumentasi.
m. memastikan nama kelas UpperCamelCase, kata benda / frasa benda /
kata sifat
n. memastikan nama method lowerCamelCase, kata kerja
o. menambah ‘<p>’ disetiap awal paragraph pada komentar javadoc .
untuk itu saya akan mengclaim : code convention (bukti ada di github)

6. Membuat dokumen Elicitation, Analysis, Specification

Elicitation, Analysis, Specification merupakan sebuah prosedur untuk menggali requirement dari user dan menerjemahkannya kedalam bahasa teknis. Langkah-langkahnya, pertama kita menggali kebutuhan user / permasalahan yang dihadapi user, ini yang disebut Elicitation. Kemudian, dari User Story yang di dapat kita melakukan analisis mana yang perlu, mana yang tidak, mana yang harus ditambahkan, mana yang harus dikurangi, mana yang visible dan mana yang tidak. Terakhir, kita menspesifikasikan alias menerjemahkan requirement yang telah kita peroleh kebahasa teknis, ini yang disebut specification.Dokumen hasil proses ini bisa dilihat di link dibawah ini

Link

untuk itu saya akan mengclaim : Elicitation, Analysis, Specification (bukti ada di github

--

--