Pull Request Pertama Saya di Laravel Framework — Part 1

Serial - Pull Request Pertama Saya di Laravel Framework

Check this article on Medium: @ngodingbang/pull-request-pertama-saya-di-laravel-framework-part-1-cdbbafac07ab

This article has been translated into English version: My First Pull Request to Laravel Framework — Part 1

Tangkapan Layar dari PR saya di GitHub, di-approve langsung oleh si empunya framework. Siapa lagi dia kalau bukan Taylor Otwell 🚀 (Sumber: https://github.com/laravel/framework/pull/42244).
Tangkapan Layar dari PR saya di GitHub, di-approve langsung oleh si empunya framework. Siapa lagi dia kalau bukan Taylor Otwell 🚀 (Sumber: https://github.com/laravel/framework/pull/42244).

TL;DR

Saya ingin sedikit bercerita mengenai perkenalan saya dengan Laravel Framework. Jika kamu hanya ingin mengetahui soal pull request-nya, kamu bisa langsung pindah ke part 2. Tautannya sudah saya sertakan di bagian paling bawah dari artikel ini. Enjoy!

Saya sudah menggunakan Laravel sejak tahun 2018, meskipun sebenarnya saya sudah berkenalan dengan framework ini di tahun 2017 ketika sedang menyusun tugas akhir sebagai syarat untuk menyelesaikan studi D3 di Politeknik Negeri Bali.

Sebagai seorang mahasiswa jurusan Manajemen Informatika, maka membuat aplikasi/program sebagai hasil akhir dari laporan tugas akhir hukumnya menjadi wajib alias fardu ‘ain 😎. Walaupun sebenarnya laporan tugas akhir tersebut bisa saja disajikan tanpa membuat program, tapi biasanya jenis tugas akhir tersebut harus berupa audit sistem informasi yang ujung-ujungnya akan menggunakan framework juga seperti COBIT. Alih-alih menghindari membuat program alias ngoding, yang terjadi justru menambah kerjaan mahasiswa dengan membuat laporan tugas akhir dengan analisa dan deskripsi yang amat begitu panjangnya.

Di tahun tersebut Laravel sebenarnya sedang mulai hype di kalangan programmer dan mulai bersaing dengan keberadaan Codeigniter yang lebih dulu eksis sebelumnya, tapi entah kenapa teman-teman saya pada saat itu belum ada yang berani memakai Laravel. Mungkin karena usianya yang masih baru dan membutuhkan pemahaman tentang programming yang lebih advance, ini terbukti dari cara instalasinya saja yang lebih ribet daripada Codeigniter. Anda yang masih jadi mahasiswa pada tahun 2017 mungkin merasa dengan puyeng dengan apa itu perintah di bawah ini.

bash

composer create-project laravel/laravel example-app

atau mungkin dengan perintah ini.

bash

php artisan

dan lain sebagainya. Jauh lebih ribet ketimbang Codeigniter yang cukup di-download saja dan di-extract di komputer kita.

Walhasil hampir semua mahasiswa di angkatan saya pada saat itu — kalau tidak bisa dikatakan semua, hahaha 🤣 — pasrah saja menggunakan Codeigniter untuk membuat program mereka di laporan tugas akhir. Yang penting programnya jadi dan bisa segera maju ke tahap sidang tugas akhir, meskipun tidak sedikit juga dari mereka yang entah paham atau tidak dengan kodingan mereka sendiri (uhuk minta tolong teman alias beli jasa skripsi uhuk 🤧).

Sebagai seseorang yang suka dengan tantangan dan suka melawan arus a.k.a anti-mainstream guy, saya tentu saja menantang maut dengan mencoba menggunakan Laravel pada saat itu. Sebuah keputusan fatal yang akhirnya membuat saya harus begadang selama dua bulan nonstop, bahkan tetap harus mengoding hingga h-10 menit sidang tugas akhir karena masih ada beberapa fitur yang belum jadi 😂.

Teman-teman yang membersamai perjuangan saya mendapat gelar A.Md.Kom. Coba tebak, saya yang mana hayo? (Sumber: https://www.instagram.com/p/BZfHSv0DaeY)
Teman-teman yang membersamai perjuangan saya mendapat gelar A.Md.Kom. Coba tebak, saya yang mana hayo? (Sumber: https://www.instagram.com/p/BZfHSv0DaeY)

Tapi dari pengalaman tersebut saya akhirnya benar-benar jatuh cinta dengan Laravel. Meskipun skill saya pada saat itu belum cukup mumpuni untuk memahami seluruh fitur yang disediakan, tapi saya yakin framework ini akan menjadi andalan seluruh programmer PHP di masa yang akan datang. Misi dari Laravel yaitu PHP Framework for Web Artisans benar-benar saya rasakan selama menggunakan framework ini. Mulai dari standarisasi kodenya yang amat rapi, arsitektur framework-nya yang OOP banget, dokumentasi yang terstruktur dan mudah dipahami, dan masih banyak lagi. Sangat berbeda jauh dengan Codeigniter yang isi kodenya masih berantakan dan cara ngodingnya yang masih suka-suka programmer-nya sendiri alias tanpa standar yang jelas. Tapi ingat ya, ini adalah pengalaman yang saya rasakan pada tahun 2017 alias sudah 5 tahun yang lalu. Mungkin pendapat ini sudah tidak relevan lagi, terlebih lagi sejak saat itu saya sudah tidak pernah menggunakan Codeigniter lagi sampai sekarang.

Sampai suatu ketika …

Setelah melewati 5 tahun mencari nafkah penuh lika-liku bersama framework kesayangan saya ini, saya bertemu dengan sebuah projek yang mengharuskan saya untuk menggunakan fitur HTTP Client yang disediakan oleh Laravel.

💡 Seperti yang saya yakini dulu ketika pertama kali mencoba Laravel, saya yakin bahwa framework ini akan menjadi andalan seluruh programmer PHP di masa yang akan datang. Tapi ternyata dugaan saya salah.

Yak, lebih tepatnya dugaan saya bahwa Laravel akan menjadi “framework” andalan di masa depan ternyata meleset. Tidak hanya sebagai sebuah “framework” semata, Taylor Otwell sebagai founder dari Laravel mampu membuat Laravel secara kompleks dan canggih. Meskipun dibangun sebagai sebuah framework, tapi di saat yang bersamaan semua fitur di framework tersebut dibangun secara terpisah atau modular. Sehingga kita sebagai programmer bebas untuk mengambil salah satu modul tersebut dan memakainya di aplikasi maupun library buatan kita sendiri. Jadi secara teknis, Laravel sebenarnya adalah sebuah framework untuk membuat aplikasi web yang terdiri dari begitu banyak kumpulan modul yang dikompilasi menjadi satu. Kumpulan modul tersebut dapat kita cek di GitHub Repository mereka di laravel/framework, sedangkan framework-nya ada di laravel/laravel.

Kembali ke masalah projek yang sempat saya singgung sebelumnya. Ternyata saya menemukan sebuah bug pada fitur HTTP Client yang ada di Laravel Framework. Bug tersebut tentunya memberi pengaruh yang sangat besar bagi fitur yang sedang saya kembangkan di projek tersebut. Uniknya bug ini baru saya temukan setelah feature test-nya selesai dan saya coba jalankan. Andai saja feature test tersebut tidak saya buat, mungkin bug ini tidak akan saya temukan. Lagipula secara kasat mata fitur yang saya buat berjalan dengan baik-baik saja. Dari sini lah saya menyadari betapa pentingnya seorang programmer membuat unit/feature test pada fitur maupun program yang ia buat, sehingga kita bisa mendeteksi adanya bug pada sedini mungkin sebelum hasil program tersebut kita deliver kepada user.

💡 Disclaimer: Pembahasan selanjutnya mungkin akan sedikit lebih teknikal karena saya akan melampirkan banyak source code dan analisis saya sebagai seorang programmer. Bagi kamu yang bukan programmer atau mungkin terlalu pusing untuk membaca penjelasan tersebut, silakan langsung lompat ke bagian akhir. Let’s go!

Apa Sebenarnya Bug yang Saya Temukan Pada Saat Itu?

Karena penjelasan mengenai bug ini sangat panjang, maka saya memutuskan untuk membuatnya di part yang terpisah. Bagi kamu yang penasaran dengan bagaimana cara menyelesaikan bug tersebut, tautannya sudah saya sertakan di bawah ini.

Pull Request Pertama Saya di Laravel Framework — Part 2

Terima kasih sudah menyimak dan sampai jumpa di part selanjutnya! Arigatou 🙏

Buat kamu yang mau baca sampai bagian ini, iya kamu. Makasih ya hehe :)
Buat kamu yang mau baca sampai bagian ini, iya kamu. Makasih ya hehe :)

Konten Terkait