Alief’s Update — Week 9

Alief Aziz
Inspire Crawler
Published in
4 min readApr 24, 2016

Minggu ke 9 ini merupakan minggu paling aktif dalam sejarah per-PPL-an saya. Dimana, minggu ini saya sudah menghabiskan sebanyak 495 menit waktu kerja, wow. Dalam 495 menit ini, saya berhasil menyelesaikan 2 task, yaitu pembuatan page source dan pembuatan page API Overview, detilnya bisa dicek dibawah. Ada beberapa kendala yang saya temui, padahal awalnya saya kira task ini tidak terlalu susah.

Untuk memulai perjalanan kali ini, saya awali dengan membaca basmalah kemudian git pull. Dan ternyata, inilah balasan yang saya dapat.

Balasan yang saya terima

Ternyata error diawal ini langsung membuat saya badmood dan menjatuhkan semangat saya. Akhirnya langsung saya googling, dan hasilnya mengejutkan, ada bagian di .git/config yang berubah, padahal saya belum pernah mengotak-atik bagian ini. hmm..

Tetapi cobaan tidak berhenti sampai disitu, ketika saya mencoba untuk menjalankan template laravel yang sudah dibuat oleh teman saya. Layar saya menampilkan halaman kosong, padahal dengan jelas saya lihat ketika teman saya mendemokan hasil kerjaannya semua berjalan mulus. Awalnya saya berasumsi kalau laravel akan menampilkan semua error seperti CI atau YII2.0, makanya saya berasumsi tidak ada yang salah dengan kode saya. Oleh karena itu saya berasumsi kalau kesalahan terdapat pada struktur file atau settingan laravel atau template teman saya atau typo atau git yang gagal update. Setelah mencoba hal-hal yang saya asumsikan diatas dan tidak berhasil, akhirnya saya coba keyword yang sederhana dan akhirnya ketemu ini di stackoverflow
http://stackoverflow.com/questions/35731387/laravel-blade-file-displaying-blank-screen
Wah ternyata laravel mempunyai log error, setelah saya coba dan melihat log errornya ternyata ternyata masalahnya ada pada kodenya.

Hal yang saya asumsikan tidak mungkin salah ternyata kesalahannya ada di dia. -Alief

Spent Time : 420 minutes + 75 minutes(writing)

  1. Page Source code
    Task pertama yang saya pilih ialah pembuatan Page Source Code, karena bobotnya paling kecil. Untuk membuat page source code di web kami yang berbasis laravel. Hal pertama yang terbesit di benak saya ialah meng-hardcode secara langsung, ide ini juga didukung oleh beberapa rekan saya ketika saya meminta saran ke mereka. Tetapi kemudian saya berfikir untuk mencoba cara lain yaitu dengan menggunakan library orang lain, sebetulnya saya agak alergi untuk membaca code yang dibuat orang lain, karena saya pikir ribet, tidak fleksibel dan susah jika ada kendala (harus tanya ke orang yang membuat). Akhirnya dengan beberapa pertimbangan, saya memilih untuk mengerjakan dengan library orang lain.
    Hal pertama yang saya lakukan ialah, mencari library / tools apa yang cocok dan mudah untuk mengerjakan task ini. Akhirnya tibalah saya di wikipedia, yang menyediakan informasi yang saya butuhkan :D. (bisa dilihat disini. Kriteria yang saya gunakan untuk mencari tools documentation generator yang terbaik ialah
    a. Harus support Linux
    b. Support java sebagai bahasa yang didokumentasikan
    c. Bisa meng-output HTML
    d. Source code dan dokumentasi ada dalam 1 file
    Dari filter-filter tersebut, keluarah nama Robodoc. Setelah saya mencari info tentang robodoc, ternyata ada web yang menyebutkan kalau robodoc mirip javadoc. Nah, karena saya menggunakan eclipse, dan eclipse sudah support javadoc(tanpa install ini itu lagi) akhirnya saya memilih javadoc.
    Pemakaiannya sangat simple, kita cukup
    a. memilih menu Project > Generate Javadoc
    b.
    memilih kelas yang ingin didokumentasikan
    c. memilih direktori output. (dalam kasus ini, output saya tempatkan pada /InspireCrawler/doc/)
    d. klik next, klik next lagi
    e. pada kotak input VM Options, isi “-linksource” agar kita bisa melihat source code pada halaman dokumentasi nanti.
    Secara otomatis eclipse akan membuatkan dokumentasinya untuk kita, tentunya setelah kita mengikuti format penulisan yang ada. Nah, Masalahnya, bagaimana menyinkronkan output dari javadoc ke laravel. Awalnya saya pikir ini masalah yang sepele, mengingat sewaktu PPW saya pernah mengerjakan hal ini yaitu dengan menggunakan iframe yang terhubung ke direktori javadoc tadi. Ternyata di laravel berbeda, walaupun tekniknya sama-sama menggunakan iframe, tapi masalah pathnya berbeda. Kita tidak bisa langsung mengetikan absolute path dari ouput javadoc tadi, karena setelah di render oleh laravel, pathnya akan disambung dengan home url dari laravel. Misalkan output javadoc saya ada di localhost/timAul/InspireCrawler/doc/ dan home url laravel berada di localhost/timAul/web/public, nanti setelah dirender laravel, kode yang semula saya tulis
    <iframe src=”localhost/timAul/InspireCrawler/doc/” >
    akan menjadi
    <iframe src=”localhost/timAul/web/public/localhost/timAul/InspireCrawler/doc/” >
    Permasalahan ini membutuhkan berjam-jam bagi saya untuk memecahkannya. Sebab di google saya tidak menemukan forum yang memilki masalah serupa(mungkin karena saya tidak memasukan keyword yang tepat)(tetapi saya sudah coba banyak keyword :< )(di source masih tersisa bekas-bekas perjuangan saya(saya comment) mencoba-coba berbagai fungsi untuk memecahkan masalah ini).
    saya sudah coba meng-hardcode pathnya dengan :
    a. /localhost/timAul/InspireCrawler/doc/index.html, -> Page not found
    b. localhost/timAul/InspireCrawler/doc/index.html -> Object not found
    c. http://localhost/timAul/InspireCrawler/doc/index.html -> bisa :D, tapi method yang mengembalikan string ini susah juga mencarinya.
    Masalah ini juga berlaku untuk Task berikutnya. Tetapi Alhamdulillah, masalah ini akhirnya terselasaikan juga.
    Atas yang telah saya lakukan diatas, saya mengclaim :
    a. Documentation Generator Tool: Javadoc (memasang, membuat dan mengintegrasikan)
    b. Framework (reclaim) (integrasi 3rd party, mendeteksi error, meng-install dan menggunakan blade, linking ke external file)

Wassalamu’alaikum, :D

--

--