Aku Kembali Ke Coding, Bukan Untuk Uang Tapi Untuk Hidupku Dan Mungkin Juga Uang

Sudah 5 tahun berlalu sejak aku menulis tentang pengalamanku belajar programming di perkuliahan.

Dan biar kuperjelas di awal, semenjak aku lulus sampai hari ini, pekerjaanku tidak ada yang berhubungan dengan coding.

Agak ironis memang, tapi tidak apa-apa. Sejujurnya, bagiku belajar coding itu adalah sebuah hobiSangat menyenangkan rasanya melihat ada bahasa-bahasa pemrograman baru, framework baru, adu bahasa dan framework, dan lain sebagainya. Dunia pemrograman berkembang dengan pesat, dan sekali lagi, aku senang melihat serta mencari tahu tentang itu semua.

Sampai akhirnya, beberapa minggu yang lalu aku mendapat permintaan dari kerabatku.
Dia memintaku untuk membuatkan aplikasi rekam medis sederhana, dengan fungsi utama hanya untuk mengecek riwayat medis pasien. Jadi, dia tidak perlu lagi mencari catatan manual, jadi cukup ketik nama, klik, dan semua riwayat termasuk data diri pasien akan langsung muncul.

Saat pertama kali aku mendapat permintaan itu, aku sudah bisa membayangkan seperti apa tampilan dan databasenya. Tapi untuk menguatkan keyakinanku, aku meminta kerabatku mengirim laporan medis manual yang sudah dia buat, supaya aku bisa menggunakan data-data yang sesuai.

Setelah mendapatkan semua datanya, sampailah aku pada tahap pemilihan bahasa dan framework.
Dan di momen ini, aku menghabiskan waktu 2 hari 2 malam untuk membuat keputusan.

Tahap Pemilihan Framework

Opsi yang ada di pikiranku awalnya adalah:

  1. Spring Boot + Thymeleaf + Htmx

  2. Ruby on Rails + Hotwire

  3. Phoenix + Liveview

Awalnya aku berniat menggunakan Spring Boot, karena aku memiliki basic yang cukup kuat di Java.
Tapi ada tiga hal yang jadi pertimbanganku:

  1. Ini proyek kecil, bahkan sangat kecil.

  2. Aplikasi Java terkenal butuh spesifikasi tinggi dibanding dua kompetitor lainnya.

  3. Karena butuh spesifikasi tinggi, otomatis butuh biaya lebih.

Akhirnya setelah mempertimbangkan tiga hal tersebut, aku mencoret Spring Boot dari daftar, yang menyisakan Rails dan Phoenix.

Sejujurnya, aku tidak pernah menyentuh dua framework tersebut ketika masih kuliah, bahkan Phoenix saja belum ada waktu itu. Tapi yang membuatku tertarik dengan Phoenix adalah karena katanya framework ini cepat dan sudah memiliki built-in template engine seperti Rails atau Laravel.

Oh ya, untuk alasan kenapa aku tidak memilih menggunakan Laravel, akan aku bahas nanti.


Kenapa Akhirnya Memilih Ruby on Rails?

Setelah mencari berbagai informasi, akhirnya aku memilih Ruby on Rails karena:

  1. Biaya deploy-nya rendah.

  2. Ekosistemnya lebih matang.

  3. Tutorialnya cukup banyak di internet.

  4. Aku ingin mencoba hal baru.

Dan ya, alasan nomor empat itulah yang membuatku tidak memasukkan Laravel dalam daftar. Aku sudah beberapa kali menggunakan Laravel saat kuliah, ini adalah framework yang bagus dan mudah dipahami. Bahkan sekarang ekosistemnya sudah sangat besar. Tapi karena aku ingin mencoba hal baru, namun masih dalam ranah yang mirip, akhirnya aku memilih antara Rails dan Phoenix. Meski sebenarnya secara urutan rilis, Rails sudah lebih dulu ada ketimbang Laravel.


Proses Pembuatan Aplikasi Rekam Medis

Setelah yakin memilih Rails, aku mulai menyusun urutan pembuatan aplikasiku, yang simpelnya seperti ini:

Pengumpulan Data → Pembuatan Database dan Relasi → Pemilihan Bahasa&Framework  Pembuatan UI/UX → Implementasi Fitur → Testing → Deploy

Pengalaman menggunakan Rails kurang lebih hampir sama dengan Laravel, tapi secara penulisan (syntax), aku lebih menyukai Rails.
Karena aku juga menggunakan Hotwire dan Turbo, aku jadi harus berhadapan dengan bahasa yang disukai banyak orang tapi juga dibenci banyak orang, JavaScript.


Fitur Utama dan Styling

Alasan kenapa aku memilih menggunakan Hotwire dan Turbo adalah untuk membuat fitur live search.
Jadi ketika pengguna mengetik nama, alamat, atau NIK, maka daftar akan langsung muncul otomatis tanpa harus menekan enter. Menurutku ini fitur sederhana, tapi sangat-sangat berguna karena mempercepat pekerjaan.

Untuk styling, agar proses pembuatan aplikasi lebih cepat, aku memilih menggunakan Tailwind CSS karena:

  • Mudah dimodifikasi.

  • Penggunaannya simpel.

  • Dan yang paling penting, mobile-friendly.

Jadi pengguna tidak harus menggunakan laptop atau PC, aplikasi tetap bisa dioperasikan dengan mudah lewat HP.


Proses Testing dan Deploy

Akhirnya masuk ke proses testing, yang cukup memakan waktu lama karena ini pertama kalinya aku menggunakan Rails + Hotwire.
Banyak sekali bug di awal, seperti data yang tidak masuk ke database, error saat live search, dan lain sebagainya.

Tapi setelah semuanya berfungsi dengan baik, tibalah di tahap akhir yaitu deploy, yang ternyata juga tidak semudah yang kukira. Aku melakukan hosting dan deploy di Render, dan ternyata prosesnya tidak semudah deploy project Laravel di cPanel. Harus ada beberapa konfigurasi tambahan sebelum akhirnya aplikasinya bisa jalan dengan baik.

Singkat cerita, akhirnya aplikasi tersebut jadi juga. Aku akan menyertakan video demonya di bawah.
Dan yah, meski memakan waktu agak lama, aku sangat puas dengan hasilnya.


Lanjut ke Proyek Kedua

Dari proses pembuatan aplikasi rekam medis itu, gairahku untuk membuat project jadi meningkat lagi. Akhirnya aku memutuskan untuk membuat aplikasi lagi, kali ini untuk toko di rumah, sebuah aplikasi POS sederhana yang tujuannya hanya untuk dua hal:

  1. Transaksi penjualan.

  2. Pengecekan harga barang.

Untuk bahasa dan framework (atau istilah kerennya tech stack), aku menggunakan kombinasi yang sama: Rails + Hotwire.
Dan fitur unggulan kali ini adalah penggunaan kamera handphone untuk scan barcode.
Tentu fitur live search dan mobile-friendly juga tetap kuusahakan ada di aplikasi ini.

Flow pembuatan aplikasinya sama seperti sebelumnya. Dan kali ini, tembok terbesarku adalah fitur scan barcode pakai kamera HP. Tapi biar disingkat saja, akhirnya fitur itu berhasil jalan. Hanya saja, sampai hari ini masih ada beberapa hal kecil yang perlu aku perbaiki. Namun secara fungsi, aplikasi POS sederhanaku sudah bisa digunakan.


Penutup

Mungkin tulisanku di atas agak bertele-tele, tapi aku ingin kalian yang membaca paham, atau setidaknya punya gambaran betapa susah dan rumitnya proses pembuatan aplikasi itu.

Dari pengalamanku membuat dua proyek tadi, aku menyadari bahwa ternyata skill-ku di bidang pemrograman masih bisa bermanfaat, meski di luar sana sudah banyak sekali aplikasi canggih. Karena, pada akhirnya, yang dibutuhkan bukanlah aplikasi yang kompleks, tapi aplikasi yang cukup untuk memenuhi kebutuhan kita.

Dua proyek yang kubuat ini mungkin akan menjadi titik awal di mana aku akan terus membuat aplikasi yang semoga bisa dipakai banyak orang. Dan aku akan sangat senang kalau aplikasi yang kubuat bisa berguna dan bermanfaat bagi orang lain.

Ini seperti pembuktian bahwa perjuanganku mendalami dunia programming tidak sia-sia, dan tidak hanya sekadar hobi.

Sampai jumpa di tulisanku yang lain.
Salam,
Lyriraki Dev

You may like these posts

1 comment

  1. memang "sesuai kebutuhan" tuh yang paling penting ya kak