<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>pictogrammmer</title><description>Fullstack wizard with a camera, weaving elegant websites while capturing the world through a lens. Transforming visions into digital and visual masterpieces.</description><link>https://khoirul.me/</link><item><title>Tentang Apa yang Tak Pernah Kita Minta</title><link>https://khoirul.me/blog/reflective/tentang-apa-yang-tak-pernah-kita-minta</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/tentang-apa-yang-tak-pernah-kita-minta</guid><description>Kita sering sibuk menyebut apa yang ingin kita hindari, tapi lupa mengatakan apa yang ingin kita jalani. Padahal hidup hanya merespons arah, bukan penolakan.</description><pubDate>Mon, 12 Jan 2026 00:00:00 GMT</pubDate><content:encoded>Bayangkan seseorang masuk ke sebuah kafe.&lt;br&gt;
Ia berdiri di depan meja bar, menatap daftar menu yang terpajang rapi. Barista menunggu dengan senyum yang sudah terlatih—siap mencatat pesanan.

“Ada yang bisa dibantu?”&lt;br&gt;
Orang itu mengangguk pelan, lalu berkata,&lt;br&gt;
“Aku cuma nggak mau americano.”

Barista terdiam sejenak.&lt;br&gt;
“Baik,” katanya kemudian, hati-hati.&lt;br&gt;
“Jadi… maunya apa?”

Dan jawabannya tetap sama.&lt;br&gt;
“Aku cuma nggak mau americano.”

Tak ada nada marah. Tak ada penjelasan tambahan.&lt;br&gt;
Hanya penolakan yang diulang-ulang.

Barista itu bingung. Bukan karena menunya kurang lengkap, tapi karena tidak pernah ada pesanan yang benar-benar disebutkan. Yang ada hanya daftar hal yang ingin dihindari. Padahal di kafe itu ada latte, cappuccino, flat white—semuanya tersedia. Tapi tak satu pun diminta.

Begitulah cara banyak orang berbicara dengan hidup.

Tidak dengan menyebutkan apa yang diinginkan,&lt;br&gt;
melainkan dengan daftar panjang tentang apa yang ingin dijauhi.

“Aku nggak mau stres.”&lt;br&gt;
“Aku nggak mau hidup pas-pasan.”&lt;br&gt;
“Aku nggak mau merasa terjebak.”

Kalimat-kalimat itu terdengar wajar. Bahkan terasa jujur.&lt;br&gt;
Tapi jika didengar lebih lama, ada sesuatu yang ganjil.

Di mana arah sebenarnya?&lt;br&gt;
Apa yang sedang dipilih, selain menjauh?

Penolakan memang terasa aman. Ia tidak menuntut komitmen. Tidak mengharuskan keberanian untuk menyebut harapan dengan jelas. Tapi penolakan juga tidak pernah memberi tujuan. Ia hanya menjelaskan ketakutan, bukan keinginan.

Dan hidup, entah bagaimana caranya, tidak bekerja dengan bahasa penyangkalan.

Ia merespons apa yang terus diulang,&lt;br&gt;
apa yang paling sering disebut,&lt;br&gt;
apa yang diberi ruang paling besar dalam perhatian.

Ketika fokus hanya tertuju pada stres, kekurangan, dan kebuntuan, hidup mendengarnya sebagai pusat cerita. Bukan sebagai masalah yang ingin dihindari, tapi sebagai tema yang terus diputar. Seperti berjalan ke depan sambil menatap dinding di belakang—langkah tetap diambil, tapi arah tak pernah benar-benar terlihat.

Maka mungkin yang perlu diubah bukan situasinya,&lt;br&gt;
melainkan cara menyebutkannya.

Bukan lagi,&lt;br&gt;
“Aku nggak mau stres,”&lt;br&gt;
melainkan,&lt;br&gt;
“Aku ingin hidup yang tenang dan cukup.”

Bukan,&lt;br&gt;
“Aku nggak mau merasa kekurangan,”&lt;br&gt;
tetapi,&lt;br&gt;
“Aku memilih berkecukupan, dengan caraku sendiri.”

Bukan,&lt;br&gt;
“Aku nggak mau merasa stuck,”&lt;br&gt;
melainkan,&lt;br&gt;
“Aku ingin bergerak, bertumbuh, dan merasa hidup.”

Perbedaannya halus, tapi dampaknya besar.&lt;br&gt;
Karena yang pertama selalu berangkat dari ketakutan,&lt;br&gt;
sementara yang kedua berangkat dari kejujuran.

Hidup mungkin tidak pernah benar-benar mengerti keluhan.&lt;br&gt;
Tapi ia selalu mendengar apa yang disebut dengan jelas—&lt;br&gt;
apa yang diulang, apa yang diimani, apa yang akhirnya diyakini pantas untuk datang.

Dan sering kali, bukan karena hidup tidak memberi,&lt;br&gt;
melainkan karena kita tidak pernah benar-benar meminta.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Ambang</title><link>https://khoirul.me/blog/reflective/ambang</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/ambang</guid><description>Di antara yang telah berlalu dan yang belum sepenuhnya siap dimulai.</description><pubDate>Fri, 02 Jan 2026 00:00:00 GMT</pubDate><content:encoded>Tahun baru selalu datang dengan cara yang sama: diam-diam, tanpa bertanya apakah kita sudah benar-benar siap. 2026 pun demikian. Ia tiba saat sebagian diriku masih tertinggal di belakang—di hari-hari yang berat, di keputusan yang tidak sepenuhnya kumengerti, di hal-hal yang harus kulepas tanpa sempat berpamitan.

Aku belajar bahwa tidak semua luka meminta penjelasan, dan tidak semua kehilangan menuntut untuk dimengerti. Ada yang cukup diterima apa adanya, lalu disimpan rapi agar tidak mengganggu langkah ke depan. Mungkin inilah bentuk kedewasaan yang paling sunyi: melanjutkan hidup tanpa perlu menjelaskan segalanya.

Namun hidup tidak sepenuhnya gelap. Di sela-sela hari yang terasa berat, selalu ada hal kecil yang diam-diam menyelamatkan—tawa singkat, napas panjang setelah lelah, atau sekadar kemampuan untuk bangun kembali meski dengan langkah yang tidak sekuat dulu. Tidak semuanya sesuai rencana, tapi tetap ada yang layak dinikmati dan disyukuri.

Aku tidak datang ke 2026 dengan janji besar atau resolusi yang berisik. Aku hanya membawa niat sederhana: berjalan lebih jujur pada diri sendiri, memberi ruang untuk gagal tanpa membenci diri, dan belajar berdamai dengan tempo hidup yang tidak selalu cepat.

Jika tahun lalu mengajarkanku tentang jatuh dan bertahan, maka tahun ini kuharap mengajarkanku tentang bertumbuh—perlahan, tenang, dan apa adanya. Bukan tentang menjadi versi terbaik, tapi menjadi versi yang masih mau hidup, mencoba, dan percaya lagi.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Tiga Lantai</title><link>https://khoirul.me/blog/reflective/tiga-lantai</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/tiga-lantai</guid><description>Tentang tahun ketika hidup tidak bisa lagi dijalani dengan lift, dan setiap langkah harus diperjuangkan sendiri.</description><pubDate>Wed, 31 Dec 2025 00:00:00 GMT</pubDate><content:encoded>Awal 2025 tidak datang dengan gegap gempita. Ia hadir seperti hari biasa—tenang, datar, dan sedikit lelah. Jika ada yang istimewa di malam pergantian tahun itu, mungkin hanya jagung bakar dan percakapan ringan bersama orang-orang yang kini tak lagi berada di lingkar yang sama. Lima mahasiswa akhir, duduk tanpa rencana besar, tanpa tahu bahwa hidup sebentar lagi akan mengubah banyak hal.

Tahun itu aku resmi menjadi mahasiswa semester delapan. Status yang terdengar sederhana, tapi menyimpan antrean sidang, revisi, dan malam-malam panjang di kampus. Aku sering menginap, makan bersama rekan-rekan lab agrikultur, berpindah dari satu agenda ke agenda lain. Di sela kesibukan itu, sebuah proyek freelance datang—yang pertama setelah lama aku menutup jasa. Kali ini bukan sendiri. Aku membangun tim kecil berisi lima orang, dan untuk sesaat hidup terasa kembali bergerak ke depan.

Februari mengajakku keluar kota. Tuban—tak terlalu jauh, tak terlalu istimewa. Malam-malam dihabiskan di warung kopi bersama teman lama, meski jumlahnya kian berkurang karena hidup menuntut arah masing-masing. Sidang laporan magang akhirnya selesai, disusul foto bersama dan revisi. Ada hari-hari bekerja dari kafe, obrolan yang lebih panjang dari rencana, dan pulang dengan rasa enggan menghadapi kenyataan. Semester akhir masih menyisakan kelas wajib dan TOEFL—keanehan yang hanya bisa diterima.

Maret datang bersama puasa. Hari-hari dimulai lebih pagi dan berakhir lebih malam, sekadar agar haus dan lapar tak terasa terlalu lama. Ada hujan badai di jam pulang kerja, belum berbuka, dalam perjalanan mengantar teman membeli laptop. Dari hasil kerja dua bulan terakhir, aku membeli smartband pertamaku—hal kecil, tapi memberi rasa bangga. Tes TOEFL pertama gagal karena sakit. Aku buka bersama, ngopi sampai pagi, memperbaiki motor dengan niat mudik. Rutinitas tahunan tetap ada: rumah teman, permainan kartu, game, gosip, dan tawa yang terasa akrab.

Semua itu membuat hidup terasa sibuk—bahkan cukup menyenangkan.
Dan mungkin justru karena itu, aku tidak siap ketika April datang dan menghentikannya.

Idul Fitri berlalu. Aku mudik sendirian naik motor, menyusuri jarak dengan kepala penuh pikiran. Ada pernikahan teman SMA, reuni kecil, kopi sampai pagi. Ada hari-hari yang terasa ringan: bertemu “dia”, menghabiskan waktu bersama, berbincang tanpa arah, dan menunda kepulangan lebih lama dari seharusnya. Aku kira hidup sedang memberiku jeda.

Namun di perjalanan dari Tuban menuju rumahku, jeda itu berubah menjadi benturan.

Kecelakaan datang tanpa aba-aba—tanpa dramatisasi, tanpa kesempatan bersiap. Satu tangan dan satu kaki patah. Dua kali operasi. Gips yang membungkus tubuh. Kursi roda yang menggantikan langkah. Rumah sakit menjadi tempat yang paling sering kudatangi, lebih sering dari kampus atau rumah teman. Hari-hari menyempit pada jadwal kontrol, ruang tunggu, bau antiseptik, dan telur bulat yang harus kumakan tiga kali sehari sampai akhirnya menimbulkan trauma kecil yang aneh untuk diceritakan.

Dari seseorang yang terbiasa bergerak, aku dipaksa diam.
Dan di situ aku belajar bahwa diam bisa sama melelahkannya dengan berlari.

Mei berjalan tanpa banyak penanda. Sidang kedua kulalui dari rumah, masih di kursi roda. Tidak ada perayaan, tidak ada rasa lega—hanya kewajiban yang harus diselesaikan. Hidup terasa seperti diperkecil: kasur, kursi roda, ruang ortopedi, radiologi, fisioterapi. Aku tidak pergi ke mana-mana, tapi waktu tetap berjalan. Dan aku hanya bisa mengikutinya dari tempatku duduk.

Di akhir bulan, aku kembali ke kampus. Dengan tongkat sebagai atribut baru dan tubuh yang belum sepenuhnya percaya diri, aku menjalani ruang-ruang yang dulu terasa biasa. Lift dosen membawaku naik—sesuatu yang dulu tak pernah kupikirkan. Tes TOEFL kedua kembali gagal, dan kali ini rasanya tidak lagi mengejutkan. Aku mulai terbiasa menerima kabar yang tidak sesuai harapan.

Juni datang sebagai ujian terakhir—bukan hanya akademik, tapi juga mental.

Hari itu aku harus semhas. Lift rusak. Tidak ada alternatif. Dengan kaki yang belum sepenuhnya pulih dan tubuh yang masih belajar seimbang, aku naik tangga tiga lantai. Pelan. Satu anak tangga, satu tarikan napas. Tidak heroik, tidak dramatis—hanya keras dan sunyi. Di setiap lantai, aku sempat ragu: apakah aku terlalu memaksakan diri?

Ternyata aku tidak.

Sidang itu kulalui tanpa revisi. Untuk pertama kalinya setelah berbulan-bulan, aku benar-benar merasa bangga pada diriku sendiri. Bukan karena hasilnya, tapi karena aku sampai di sana—meski harus tertatih, meski harus berhenti sebentar di setiap lantai kehidupan yang terasa berat. Setelah itu, aku mulai mengizinkan diriku bergerak lagi. Bukan untuk berlari, tapi untuk menempuh jarak dengan cara yang baru.

Juli menjadi bulan penyelesaian. Pameran proyek akhir, TOEFL yang akhirnya lolos, dan perpisahan dengan “dia”. Semua memang ada harganya. Aku menyelesaikan pemberkasan yudisium, kembali ke Tuban, sowan, ngopi, dan duduk lama di kursi Alfamart—merenung tentang arah setelah ini. Aku belum bisa pergi jauh. Rumah sakit masih sering memanggil. Lamaran freelance belum berbalas.

Agustus dan September berjalan seperti pamit yang panjang. Berkas wisuda, foto ijazah dengan jas, reorganisasi terakhir UKM, dan akun kampus yang mulai dimatikan. Aku lulus. Tanpa kembali ke kampus karena keadaan, aku menerima status itu dengan tenang. Terapi masih berlanjut, kadang di rumah sakit, kadang di pemandian air panas, kadang hanya kopi malam sebelum pulang.

Oktober menjadi puncak yang tak pernah benar-benar kurencanakan. Toga diambil. Wisuda dijalani. Foto-foto bersama teman, seangkatan, dan lingkar yang tersisa. Aku dan “dia” sempat kembali, dan kebahagiaan itu terasa nyata. Aku diterima bekerja sebagai digital product developer. Perjalanan dinas pertama ke Bandung, naik kereta eksekutif, mengisi edumarketing—semua terasa seperti lembar baru.

November dan Desember berjalan lebih tenang. Aku bekerja, belajar hal baru, kembali ngopi, dan mengganti perlengkapan riding yang rusak sejak kecelakaan. Proyek baru dimulai, rapat besar pertama dijalani, hingga akhirnya tahun ditutup dengan satu perpisahan lagi—kali ini tanpa kejutan, hanya kelelahan yang pasrah.

Dari semua yang terjadi, aku belajar bahwa hidup tidak selalu berjalan sesuai rencana. Namun di sela-sela yang patah dan tertunda, masih ada hal-hal kecil yang bisa digenggam—cukup untuk membuat hari terasa layak dijalani.

Aku tidak mendapatkan semua yang kuharapkan di 2025.&lt;br/&gt;
Tapi aku belajar berjalan lagi.&lt;br/&gt;
Aku belajar berhenti.&lt;br/&gt;
Aku belajar menerima.

Dan ternyata, itu sudah cukup untuk menutup tahun ini—masih berdiri, meski tak lagi sama seperti sebelumnya.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Studi Kasus: Dari Audit Log hingga Uji Beban pada API E-Library - Weekend Project</title><link>https://khoirul.me/blog/notes/weekend-projects/elibrary-api-update</link><guid isPermaLink="true">https://khoirul.me/blog/notes/weekend-projects/elibrary-api-update</guid><description>Catatan teknis tentang hardening API E-Library, mulai dari audit log hingga load testing untuk menemukan dan memperbaiki bottleneck.</description><pubDate>Wed, 16 Jul 2025 00:00:00 GMT</pubDate><content:encoded>Pada [artikel sebelumnya](/blog/notes/weekend-projects/elibrary-api), saya telah membedah arsitektur dasar dari proyek E-Library API yang saya bangun menggunakan Hono, Bun, dan Drizzle. Saat itu, fokus utamanya adalah membuat fungsionalitas inti berjalan dengan baik. Namun, sebuah aplikasi yang siap untuk produksi membutuhkan lebih dari sekadar fitur yang berfungsi; ia memerlukan ketangguhan (resilience), keamanan, dan performa yang teruji.

Artikel ini adalah catatan teknis tentang proses hardening API tersebut, mulai dari implementasi audit log hingga siklus load testing untuk menemukan dan memperbaiki bottleneck.

## Bagian 1: Membangun Fondasi Keamanan dengan Audit Log
Setiap aksi penting dalam sebuah sistem harus dapat dilacak. Siapa yang mengubah data? Kapan? Data apa yang diubah? Untuk menjawab pertanyaan ini, saya mengimplementasikan sebuah sistem audit log yang tangguh.

### Arsitektur Logging
Pendekatan yang saya ambil adalah menggunakan middleware terpusat di Hono. Ini memungkinkan setiap permintaan yang masuk ke endpoint krusial dapat dicatat secara otomatis tanpa mengotori logika bisnis di dalam handler.

Setiap catatan log disimpan di tabel `audit_logs` baru dan berisi informasi yang kaya:
- `userId`: Siapa yang melakukan aksi.
- `action`: Aksi spesifik yang dilakukan (misalnya, `BOOK_CREATE`, `USER_LOGIN`), dikelola menggunakan TypeScript Enums untuk konsistensi.
- `status`: Hasil dari aksi tersebut (`SUCCESS` atau `FAILED`), yang ditentukan tidak hanya dari exception tetapi juga dari kode status respons HTTP.
- `payload`: Seluruh request body dalam format JSON, berguna untuk mereplikasi masalah.
- `dbQuery`: Query SQL mentah yang dieksekusi oleh Drizzle, memberikan visibilitas penuh ke level database.
- `correlationId`: Sebuah ID unik untuk setiap permintaan HTTP, memungkinkan pelacakan semua log yang berasal dari satu aksi pengguna.
  
Dengan arsitektur ini, kita mendapatkan jejak audit yang sangat detail untuk setiap perubahan data, memberikan lapisan keamanan dan akuntabilitas yang esensial.

## Bagian 2: Menguji Batas Kemampuan dengan Artillery.io
Sebuah aplikasi mungkin berjalan lancar dengan satu pengguna, tetapi bagaimana jika seratus pengguna mengaksesnya secara bersamaan? Di sinilah uji beban berperan. Saya memilih Artillery.io karena kemudahannya dalam mendefinisikan skenario menggunakan YAML.

Proses ini tidak berjalan mulus dan memberikan beberapa pelajaran teknis yang berharga.Skenario Uji BebanUntuk menguji API, saya membuat skenario `load-test.yml` yang mensimulasikan alur kerja pengguna tamu. Skenario ini mencakup beberapa langkah: melihat daftar kategori, melihat daftar buku, melihat detail satu buku, dan terakhir mencoba mendaftar sebagai pengguna baru dengan data acak.

```yaml title=load-test.yml
config:
  target: &quot;http://localhost:3000&quot;
  phases:
    - duration: 30
      arrivalRate: 5
      name: &quot;Warm-up Phase&quot;
    - duration: 60
      arrivalRate: 20
      name: &quot;Peak Load Phase&quot;
  variables:
    username:
      - &quot;{{ $randomString(10) }}&quot;
    email:
      - &quot;{{ $randomString(8) }}@test.com&quot;
    password:
      - &quot;securePassword123&quot;
    name:
      - &quot;User {{ $randomString(5) }}&quot;
    bookId:
      - 1

scenarios:
  - name: &quot;Guest User Browsing Catalog and Registering&quot;
    flow:
      - get:
          url: &quot;/api/categories&quot;
      - think: 2

      - get:
          url: &quot;/api/books&quot;
      - think: 3

      - get:
          url: &quot;/api/books/{{ bookId }}&quot;
      - think: 2

      - post:
          url: &quot;/api/auth/register&quot;
          json:
            username: &quot;{{ username }}&quot;
            email: &quot;{{ email }}&quot;
            password: &quot;{{ password }}&quot;
            name: &quot;{{ name }}&quot;
```

### Percobaan Pertama: Kegagalan Total
Uji beban pertama saya gagal total. Laporan Artillery menunjukkan 100% permintaan gagal dengan error `422 Unprocessable Entity` dan `429 Too Many Requests`. Awalnya, saya menduga ada yang salah dengan skrip Artillery.

Namun, setelah investigasi mendalam, akar masalahnya adalah **ketidakcocokan data**. Skrip unit test saya (`bun run test`) selalu membersihkan dan membuat data acak, sementara load test berjalan terhadap server pengembangan yang databasenya tidak memiliki pengguna statis (`admin`, `member`) yang didefinisikan di file `.env`. Akibatnya, semua upaya login gagal di tahap validasi.

**Pelajaran**: Pastikan lingkungan pengujian kalian memiliki data yang konsisten dan dapat diprediksi. Solusinya adalah membuat skrip `db:seed` khusus yang dijalankan sebelum setiap sesi uji beban.

### Percobaan Kedua: Menemukan Bottleneck Sebenarnya
Setelah memperbaiki masalah data dengan skrip seeding, pengujian berhasil melewati tahap login. Namun, masalah baru muncul: `500 Internal Server Error` saat beban mulai meningkat.

Ini adalah &quot;kabar baik&quot; yang menyakitkan. Artinya, kita telah berhasil membebani aplikasi hingga titik lemahnya terungkap. Berdasarkan waktu respons yang sangat tinggi untuk error `500` (mencapai ~1 detik), hipotesis utama saya adalah **kelelahan pool koneksi database** atau **race condition** saat beberapa pengguna mencoba mendaftar secara bersamaan.

### Solusi: Menangani Race Condition
Penyebabnya ternyata adalah *race condition* pada endpoint registrasi. Dua permintaan yang datang bersamaan sama-sama lolos dari pengecekan `isUserExists`, tetapi salah satunya gagal saat `INSERT` karena melanggar batasan `UNIQUE` di PostgreSQL. Error dari database ini tidak ditangani dengan baik dan menyebabkan crash aplikasi.

Solusinya adalah dengan membungkus logika `INSERT` di dalam blok `try...catch` pada `UserRepository` dan secara spesifik menangani error dengan kode `23505 (unique violation)`. Jika error ini terjadi, aplikasi sekarang akan mengembalikan respons `409 Conflict`, bukan `500 Internal Server Error`.

## Hasil Akhir: Aplikasi yang Stabil dan Cepat
Setelah perbaikan tersebut, saya menjalankan kembali uji beban dengan *rate limiter* yang dilonggarkan untuk benar-benar menguji kapasitas aplikasi. Hasilnya sangat memuaskan.

| Metrik Kunci | Rate Limiter ON | Rate Limiter OFF | 
| ------ | ----------- | ------- |
| Permintaan Sukses (2xx) | 94 | 4,051 |
| Error 500 (Internal Server) | 6 | 0 | 
| Error 409 (Konflik/Duplikat) | 6 | 1,349 | 
| Waktu Respons Rata-rata (2xx) | 18.2 ms | 3.8 ms |
| Latensi P99 (2xx) | 87.4 ms | 13.9 ms |

Seperti yang terlihat pada tabel perbandingan di dokumen Analisis Final &amp; Perbandingan Uji Beban, aplikasi kini sepenuhnya stabil (`http.codes.500: 0`) dan sangat cepat, dengan waktu respons rata-rata di bawah 4 milidetik bahkan di bawah beban tinggi.

Seluruh kode dari proyek ini bersifat open-source dan tersedia di GitHub dan bisa diakses di link dibawah.

::github{repo=&quot;masmuss/hono-elibrary&quot;}</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Bayaran</title><link>https://khoirul.me/blog/reflective/bayaran</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/bayaran</guid><description>Tak semua keberhasilan terasa utuh. Kadang yang kita sebut pencapaian… hanyalah cara hal-hal berharga diambil perlahan.</description><pubDate>Thu, 03 Jul 2025 00:00:00 GMT</pubDate><content:encoded>Ada yang bilang hidup itu adil.

Tapi buat sebagian dari kita, hidup terasa seperti perjanjian diam-diam yang tak pernah kita tanda tangani—tapi kita bayar. Selalu.

Kamu tahu rasanya.

Saat semua terasa lancar—tanpa hambatan, tanpa luka di permukaan—tapi justru di situlah ketakutan mulai tumbuh.

Bukan takut gagal.

Tapi takut bahagia.

Karena terlalu sering bahagia datang dengan syarat yang tak pernah tertulis… dan dibayar dengan kehilangan.

Mungkin tubuhmu dulu.

Tulang-tulang yang ngilu. Kaki yang berhenti nurut. Tangan yang kehilangan kekuatannya pelan-pelan.

Lalu saat fisikmu sembuh, ternyata gantinya bukan kedamaian. Tapi seseorang.

Dia.

Yang pergi bukan karena salahmu—tapi karena semesta menagih harga atas semua hal yang “terlalu mudah kau dapat.”

Kamu tidak pernah memanggil iblis. Tapi rasanya seolah kamu sedang ditumbalkan oleh dirimu sendiri.

Dan sialnya, kamu terlalu paham polanya:

Setiap keberhasilan, pasti ada bayarannya.

Setiap hari tenang, pasti ada sesuatu yang dikorbankan.

Dan kamu mulai percaya… bahwa kamu tidak ditakdirkan untuk bahagia tanpa luka.

Lucunya, kamu tetap bertahan.

Bukan karena kuat. Tapi karena sudah terlalu terbiasa hidup dalam sistem barter yang kamu benci, tapi tak bisa hindari.

Dan di antara semua yang kamu raih, kamu bertanya:
“Berapa lagi yang harus hilang… untuk sekadar merasa wajar?”

Jawabannya tak pernah datang.

Tapi kamu tetap bangun esok hari. Tetap kerja. Tetap hidup.

Karena di ujung segalanya, kamu tahu:

&gt;  Kamu bukan sedang merayakan kemenangan.
&gt;  Kamu hanya sedang menunggu—giliran kehilangan yang berikutnya.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>E-Library API - A Weekend Project</title><link>https://khoirul.me/blog/notes/weekend-projects/elibrary-api</link><guid isPermaLink="true">https://khoirul.me/blog/notes/weekend-projects/elibrary-api</guid><description>A technical breakdown of building a modern backend API over several focused development sessions.</description><pubDate>Wed, 25 Jun 2025 00:00:00 GMT</pubDate><content:encoded>Proyek ini dimulai sebagai sebuah studi kasus: membangun backend API untuk sistem E-Library dari awal. Tujuannya bukan hanya untuk membuat endpoint yang fungsional, tetapi untuk merancang sebuah sistem yang kokoh, teruji, dan menerapkan praktik terbaik dalam pengembangan perangkat lunak modern.

Fokus utama adalah pada pemilihan *tech-stack* yang efisien dan pembentukan arsitektur yang bersih. Untuk itu, teknologi yang dipilih adalah **Bun** sebagai runtime, **Hono** sebagai web framework, dan **Drizzle** sebagai ORM. Kombinasi ini menawarkan performa tinggi dan pengalaman pengembangan yang cepat.

```mermaid
---
config:
    layout: elk
---
graph TD;
    subgraph Core Backend
        Bun[Bun Runtime] --&gt; Hono[Hono Web Framework];
    end
    subgraph Data Layer
        Drizzle[Drizzle ORM] --&gt; PostgreSQL[(PostgreSQL DB)];
        Hono --&gt; Drizzle;
        Hono --&gt; Redis[(Redis Cache)];
    end
    subgraph Development and Tooling
        Docker[Docker] -- Manages --&gt; CoreBackend[Core Backend Services];
        Docker -- Manages --&gt; DataLayer[Data Layer Services];
        TypeScript(TypeScript) -- Compiles --&gt; Bun;
        BunTest(Bun Test) -- Tests --&gt; Hono;
        Biome(Biome Linter/Formatter) -- Enforces Quality on --&gt; TypeScript;
        Husky(Husky Git Hooks) -- Triggers --&gt; BunTest;
        Husky -- Triggers --&gt; Biome;
    end
    User([User]) --&gt; Hono;
```

Pembangunan dimulai dari lapisan fondasi, yaitu sistem **otentikasi**. Alur kerja standar seperti registrasi dan login diimplementasikan, kemudian diperkuat dengan mekanisme **Refresh Token** berbasis `HttpOnly` cookie dan alur **Lupa Password** yang aman menggunakan token sekali pakai.

Selanjutnya, arsitektur dipecah menjadi beberapa lapisan yang jelas untuk memastikan *separation of concerns*. **Routes** mendefinisikan &quot;kontrak&quot; API menggunakan `@hono/zod-openapi`, **Handlers** bertindak sebagai jembatan antara lapisan HTTP dan logika bisnis, dan **Repositories** menjadi satu-satunya lapisan yang bertanggung jawab atas akses data.

Fungsionalitas inti, seperti **manajemen buku dan kategori**, dibangun dengan otorisasi berbasis peran (RBAC) yang ketat, di mana hanya `ADMIN` yang dapat melakukan operasi tulis. **Siklus peminjaman buku** diimplementasikan secara penuh, mulai dari permintaan oleh `MEMBER` hingga persetujuan oleh `LIBRARIAN`, lengkap dengan aturan bisnis seperti batas maksimal peminjaman.

Untuk optimasi, **Redis** diintegrasikan sebagai lapisan *caching* pada *resource* yang sering dibaca. Logika *cache-aside* dan *cache invalidation* ditempatkan di dalam *Repository* untuk menjaga agar *Handler* tetap tidak mengetahui detail implementasi caching. Untuk keamanan, **Rate Limiting** per alamat IP juga diterapkan sebagai *middleware* global.

Kualitas kode dijaga secara otomatis. **Biome** digunakan untuk *linting* dan *formatting*, sementara **Husky** berdiri sebagai penjaga gerbang *commit*, memastikan hanya kode terbaik yang bisa masuk. Setiap fitur diuji dengan saksama, memastikan setiap bagian dari mesin ini bekerja tanpa cela.

Hasil akhirnya adalah sebuah backend API yang tidak hanya fungsional tetapi juga terstruktur dengan baik, aman, dan memiliki performa yang dioptimalkan. Fondasi ini sekarang sudah siap untuk langkah selanjutnya, baik itu dihubungkan dengan aplikasi frontend maupun dipersiapkan untuk *deployment* ke lingkungan produksi.

Kamu dapat melihat kode lengkapnya di GitHub
::github{repo=&quot;masmuss/hono-elibrary&quot;}</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Lift</title><link>https://khoirul.me/blog/reflective/lift</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/lift</guid><description>Malam dan lift kala itu.</description><pubDate>Sat, 24 May 2025 00:00:00 GMT</pubDate><content:encoded>Di depan pintu lift yang tertutup rapat, seorang lelaki berdiri membisu. Lorong itu sepi, hanya ditemani lampu redup dan bayang-bayang panjang yang menari di dinding. Waktu terasa berhenti, seperti lift yang tak kunjung datang, dan di dalam dirinya, kekosongan mulai tumbuh.

Ia menatap angka di atas pintu—tak berubah, tak bergerak—seperti hidupnya yang mandek di satu titik. Tak ada tujuan pasti, hanya rasa lelah yang menggantung di dada. Entah ia ingin naik atau turun, ia pun tak yakin. Yang ia tahu, ia tersesat, bukan di tempat, tapi dalam pikirannya sendiri.

Kegelapan tak hanya menyelimuti lorong itu, tapi juga menelannya dari dalam. Ia mencoba mengingat mengapa ia di sana, apa yang sedang ditunggu, dan ke mana ia hendak pergi setelah pintu itu terbuka. Tapi seperti tombol yang tak berfungsi, pikirannya pun diam tak memberi jawaban.

Dan dalam sunyi yang melingkupi, ia menyadari: kadang kehilangan arah bukan karena dunia tak memberi petunjuk, tapi karena hatinya sendiri tak lagi tahu apa yang dicari.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Jendela</title><link>https://khoirul.me/blog/reflective/jendela</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/jendela</guid><description>Siang itu terang dan biasa saja. Di depan jendela, ia berdiri diam—menatap keluar, bukan untuk melihat dunia, tapi untuk bertanya tentang dirinya sendiri:/ bagaimana jika jalan yang dulu tidak diambil... justru yang sebenarnya ia butuhkan?</description><pubDate>Mon, 25 Nov 2024 00:00:00 GMT</pubDate><content:encoded>Siang itu terang dan biasa saja. Matahari menggantung tinggi di langit, menembus kaca jendela besar di ujung lorong lantai tujuh. Udara di dalam ruangan tak bergerak, sepi, nyaris hampa, seperti tak ada yang benar-benar hidup kecuali bayangan daun di luar yang menari pelan tertiup angin.

Ia berdiri di sana, di depan jendela itu. Bukan untuk menikmati pemandangan, tapi karena jendela selalu membuatnya berpikir.

Di luar, dunia tampak bergerak. Mobil, motor, gedung, orang-orang. Semua punya arah, semua terlihat tahu harus ke mana. Tapi di dalam dirinya, ada jalan yang tak jadi ia pilih—dan itu membayangi seperti siluet samar di balik cahaya siang yang masuk.

Ia dulu hampir pergi. Hampir mencoba hidup yang lain. Kota yang asing. Lingkungan yang menantang. Tapi akhirnya ia tetap tinggal—dengan alasan-alasan yang logis, masuk akal, tapi tak pernah benar-benar memuaskan. Dan sekarang, saat semuanya berjalan seperti semestinya, kenangan itu muncul, bukan sebagai penyesalan, tapi sebagai pertanyaan.

Bagaimana kalau?
Bagaimana jika?
Apa jadinya aku sekarang?

Jendela itu tak memberinya jawaban. Hanya pantulan samar wajahnya sendiri yang tampak di sana, di antara cahaya dan bayangan. Ia melihat dirinya, tubuh yang sama, tapi entah kenapa terasa seperti versi yang menunggu sesuatu... atau seseorang.

Lalu ia menghela napas, panjang, dalam.
Bukan karena sedih. Bukan pula kecewa.
Tapi karena ia mulai mengerti: tidak semua jalan harus diambil untuk bisa dihargai.

Mungkin ada versi dirinya yang kini sedang berjalan di kota lain, dengan cerita lain. Tapi versi yang berdiri di depan jendela ini juga nyata—dan meski jalannya berbeda, ia tetap ada, tetap tumbuh, tetap hidup.

Dan siang itu, dalam terang yang tak menyembunyikan apa-apa, ia akhirnya membiarkan dirinya tenang.
Tak semua keputusan harus dijawab sekarang.
Beberapa cukup dipahami, dan dilanjutkan.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Di Antara</title><link>https://khoirul.me/blog/reflective/di-antara</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/di-antara</guid><description>Di tengah langit jingga dan lorong laboratorium yang hening, ia berdiri diam. Bukan karena pintu tak terbuka, tapi karena ia belum tahu ke mana ingin pergi.</description><pubDate>Fri, 20 Sep 2024 00:00:00 GMT</pubDate><content:encoded>Di sebuah laboratorium yang mulai kehilangan suara, seorang laki-laki duduk sendiri di depan laptop yang layarnya menyala tanpa gerak. Di sebelahnya, secangkir kopi yang sudah dingin dan sebatang rokok yang belum sempat habis. Senja menyelinap lewat jendela kaca, membasuh meja kerja dengan cahaya jingga yang lembut dan menyakitkan.

Tak ada suara mesin, tak ada dering notifikasi. Hanya dengung lemah kipas laptop dan aroma nikotin yang menggantung pelan di udara. Ia tidak sedang mengerjakan sesuatu. Bahkan, mungkin ia tidak benar-benar menunggu apa-apa. Tapi di situ ia tetap duduk, seolah ada sesuatu yang harus ia selesaikan—meski tak tahu apa.

Ia berada di antara.
Antara satu paragraf dan paragraf lain yang tak kunjung selesai.
Antara keinginan untuk menyelesaikan dan rasa lelah yang tak terucap.
Antara menjadi dan kehilangan arah.

Laboratorium ini dulunya ramai. Penuh tawa kecil, diskusi tentang data, dan ekspresi frustrasi ketika eksperimen gagal. Tapi sekarang—hanya ia, rokok, kopi, dan waktu yang terlalu lambat untuk dikejar. Tangannya sesekali menggulir mouse, bukan untuk bekerja, tapi hanya untuk memastikan dirinya masih ada.

Ia pernah yakin bahwa di ruang-ruang seperti ini, masa depan sedang dibentuk. Tapi kini ia mulai ragu apakah masa depannya sendiri masih menunggu di balik pintu, atau telah tertinggal di salah satu malam yang terlalu larut.

Orang-orang akan mengira ia sedang fokus, mungkin tenggelam dalam pekerjaan. Tapi sebenarnya, ia sedang tenggelam dalam diamnya sendiri. Dalam pertanyaan-pertanyaan yang tidak bisa dijawab dengan logika. Dalam rasa hampa yang bahkan kopi dan rokok pun tak bisa isi.

Dan aku tahu ini semua, karena aku adalah dia.
Atau dia adalah bagian dari diriku yang selama ini tersembunyi di antara folder penelitian dan draft laporan yang tak pernah rampung.
Bagian dari diriku yang masih percaya bahwa diam adalah bentuk paling jujur dari lelah.

Jadi malam ini, di antara asap yang menghilang perlahan dan kopi yang tak lagi hangat, aku tetap duduk. Mencoba berdamai. Dengan waktu, dengan pilihan-pilihan, dan dengan diriku sendiri—yang belum selesai.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Aku lebih suka menyebutnya “Unfair Advantage”</title><link>https://khoirul.me/blog/reflective/unfair-advantage</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/unfair-advantage</guid><description>Hidup adalah kompetisi, setidaknya itulah yang sering dibicarakan orang diluar sana. Apa yang terjadi jika aku (dan orang lain tentunya) memiliki kartu AS yang tak bisa dipelajari, diperoleh, atau diusahakan? Apakah itu adalah sebuah kecurangan? Ataukah itu adalah sebuah keberuntungan</description><pubDate>Sat, 23 Mar 2024 00:00:00 GMT</pubDate><content:encoded>Aku adalah seorang mahasiswa yang sekarang duduk di semester 6. Fakta itu juga berarti sekarang aku harus magang selama kurang lebih 6 bulan demi 20 SKS di semester ini. Tentunya hal itu berkaitan dengan aturan di kampusku, yang mana mahasiswa di semester 6 dan 7 diharuskan magang, tak peduli magang pribadi maupun MSIB. Inti dari magang ini adalah, kami yang sudah ditempa selama kurang lebih 5 semester, bisa menerapkan ilmunya di lingkungan industri yang selanjutnya akan dikonversi menjadi SKS jika diakui oleh pihak kampus.

Bayangan kami dan tentunya aku sebagai mahasiswa, karena reputasi kampus yang terkenal baik di industri, aku akan mudah menemukan tempat magang yang mau menampungku dengan skill yang ala kadarnya dan bisa dibilang masih jauh dari _requirement tech industries_ sekarang.

Namun fakta itu tak sepenuhnya benar, apalagi ada abeberapa industri yang mendapat reputasi kurang baik dari beberapa dosen. Hal itu yang membuat beberapa mahasiswa kesulitan mencari tempat magang hingga akhir tahun lalu (Sedikit informasi jika di kampusku, magang mandiri angkatanku dimulai di tanggal 15 Januari dan untuk MSIB kembali ke kebijakan perusahaan, beberapa tempatku melamar kemarin mayoritas dimulai di bulan Februari).

Akhirnya dengan sedikit pasrah, aku mencoba melamar di tempat yang jauh dari jurusanku sembari menunggu pengumuman MSIB, industri manufakturing. Aku mencoba melamar ditempat itu karena kebetulan ada proyek IoT yang sedang dikerjakan, dan kebetulan juga aku memiliki portofolio proyek IoT di kampus.

Awalnya aku tak ber-ekspektasi apapun saat melamar disini, bahkan aku tidak mengirim chat konfimasi jika aku melamar di perusahaan itu, memang aku berniat menjadikan perusahaan itu sebagai backup ketika lamaranku di MSIB tidak ada yang melirik. Namun tak berselang lama, aku langsung mendapatkan surat keterangan diterima magang, tanpa mengurus ita itu.

Itu sedikit cerita seputar pencarianku akan tempat magang dan juga alasan kenapa aku gak magang di _software house_ atau sejenisnya.

Lalu, apa kaitannya dengan judul tulisan ini?

Awalnya aku heran kenapa aku tak diharuskan mengikuti rekutmen yang umum dilakukan, ataupun mengurus berkas yang mendengarnya pun aku sudah muak. Aku langsung menerima penerimaan ketika mereka selesai mengkonfirmasi bahwa sudah mengirim email lamaran dan juga CV ke kontak HRD yang tersedia. Hingga akhirnya aku tahu jika selain perusahaan sudah bermitra dengan kampus, ternyata ada faktor lain yang menyebabkan hal itu.

Banyaknya alumni yang bekerja di perusahaan dan juga kepuasan perusahaan terhadap para mahasiswa yang magang disitu adalah alasan yang sejauh ini aku tahu. Bahkan beberapa alumni juga menempati posisi penting di perusahaan. Aku yang dulu apatis akan kegiatan HIMA dan lain-lain, kini sadar bahwa relasi ternyata sepenting itu di dunia kerja, apalagi dengan alumni yang sudah berkarir di dunia industri.

Bisa dibilang aku diterima jalur “orang dalam”. Namun apakah itu adalah sebuah tindak kecurangan?

Akupun setuju jika kebanyakan orang meyakini jika ini adalah bagian dari kecurangan. Namun, aku akan mencoba untuk membahas ini dari sisi yang lain.

Manusia dilahirkan dengan tangan kosong, dia tak memiliki apapun di dunia ini. Ia hanya bisa menangis dan menangis. Namun lain hal dengan orang tua si bayi. Orang tua inilah yang nantinya akan memberi hak istimewa kepada si bayi.

Anak raja akan merasakan bagaimana menjadi seorang pangeran, anak seorang ilmuwan akan memiliki akses lebih ke ilmu pengetahuan, anak seorang pengusaha yang tak akan khawatir akan modal bisnisnya kelak. Itu adalah sedikit contoh dari bagaimana orangtua menurunkan keberuntungannya pada anaknya. Lalu bagaimana dengan kalangan yang kurang mampu

Kesuksesan tidak serta merta hanya diberikan kepada para pekerja keras. Penghargaan ini diberikan kepada mereka yang mengembangkan dan menggunakan **Unfair Advantage** mereka.

Yang dimaksud dengan Unfair Advantage disini bukanlah keuntungan yang didapatkan secara illegal atau tidak etis. Aku mencoba menggambarkan ini sebagai keunggulan kompetitif dimana hal itu bersifat unik, artinya hal itu hanya dimiliki oleh kita dan tidak dimiliki orang lain dan terkadang hal itu bukanlah sesuatu yang bisa “didapatkan” atau diusahakan.

Mari kita mulai dengan olahraga. Dalam bola basket, menjadi tinggi adalah keuntungan yang sederhana. Tidak peduli seberapa keras mereka bekerja, pemain bola basket bertubuh pendek memiliki lebih sedikit kemungkinan untuk menjadi seorang profesional. Tentu saja, hal ini tidak berarti bahwa pemain bola basket bertubuh pendek tidak pernah bisa menjadi seorang profesional; itu hanya menurunkan peluang mereka untuk menjadi profesional.

Begitu pula yang terjadi di dunia kerja. Meskipun pekerjaan kita tak selalu tentang olehraga fisik, namun aturan tersebut bisa juga berlaku. Jika kita memiliki beberapa keunikan pada diri kita seperti cerdas, berpendidikan, kaya, kemungkinan kita diterima ditempat kerja akan lebih tinggi. Untungnya hal itu tak sepenuhnya akan terjadi, dan keunikan diri kita bisa kita temukan dimanapun dengan cara apapun.

Apalagi sekarang kita di era [Tech Winter](https://kumparan.com/berita-bisnis/apa-itu-tech-winter-ini-penjelasannya-21z6f9RlmNR) dimana supply akan developer terus meningkat, namun tak diimbangi dengan lapangan kerja yang semakin berkurang. Lawan kita kali ini bukan hanya sesama _fresh graduate_, namun banyak juga senior yang “turun gunung” dan dengan sukarela banting harga.

Jadi, aku pikir memiliki kenalan disebuah perusahaan yang bisa membantu kita mendapatkan kerja adalah sebuah peluang tersendiri, meskipun awalnya aku agak meragukan cara ini, tapi aku melakukannya. Aku menganggap ini sebagai peluang dan aku merasa aku bisa mempertanggungjawabkan apa yang aku akan kerjakan.

Dalam perjalanan mencari kesempatan magang, fakta bahwa aku memanfaatkan &quot;Unfair Advantage&quot; adalah realitas yang tak bisa dihindari. Meskipun beberapa mungkin melihatnya sebagai kecurangan, aku melihatnya sebagai keunggulan kompetitif yang unik bagi setiap individu, yang terkadang tidak dapat diperoleh dengan usaha atau kerja keras semata. Aku belajar untuk menghargai dan menggunakan relasi serta hubungan yang dimiliki dengan alumni atau orang dalam suatu perusahaan dengan bijaksana, sambil tetap berpegang pada prinsip integritas dan tanggung jawab dalam setiap langkah yang saya ambil di dunia kerja yang semakin kompetitif ini.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Falling in love with the pain</title><link>https://khoirul.me/blog/reflective/falling-in-love-with-the-pain</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/falling-in-love-with-the-pain</guid><description>Mencintai rasa sakit adalah salah satu kunci untuk tumbuh, karena sejatinya kita tak pernah benar-benar kalah selama kita berani bertaruh pada diri sendiri.</description><pubDate>Wed, 14 Feb 2024 00:00:00 GMT</pubDate><content:encoded>Aku tersenyum ketika menyadari bahwa aku sedang jatuh cinta—bukan dengan kebahagiaan yang mudah diperoleh, tetapi dengan rasa sakit yang turut mewarnai perjalananku. Aku tahu “masochism” bukanlah konsep yang normal, namun bagiku, ini adalah sedikit kebenaran yang menginspirasi dan memotivasi.

Pertanyaannya adalah, mengapa seseorang akan jatuh cinta dengan rasa sakit? Apakah ini merupakan bentuk penyiksaan diri yang sadis, atau ada alasan psikologis yang lebih dalam di baliknya?

Mencintai akan rasa sakit kadang membuatku termenung. Ini bukan tentang sakit yang diterima oleh fisik, namun tentang tantangan dan kesulitan yang datang bersamaan dengan impian dan ambisi kita. Bukan sekadar mencintai seseorang, melainkan tentang mencintai hidup itu sendiri, dengan segala keterbatasan, kegagalan, dan kekecewaannya.

Ketika aku melakukan rutinitas pekerjaanku, aku melihat itu lebih dari tugas-tugas rutin yang harus aku selesaikan. Aku mencari kesempatan untuk tumbuh, belajar dan mencoba untuk menantang diri sendiri. Aku mengganggap setiap proyek yang sulit adalah panggilan untuk menyelam, belajar lebih dalam, untuk menemukan kreativitas dalam ketidakpastian, dan media untuk menciptakan sesuatu yang baru dari rintangan yang ada.

Tak mudah. Terkadang aku merasa hampir menyerah dengan semua kegagalan dan rasa lelah. namu, di tengah keputusasaan itu, aku menemukan kekuatan. Ada semangat yang menyala dari dalam diriku, mengingatkanku bahwa tak ada kemenangan tanpa pengorbanan dan prestasi tanpa usaha keras.

&gt; “Hidup yang tidak dipertaruhkan tidak akan pernah dimenangkan”
&gt; ― Sutan Sjahrir

Saat belajar hal baru, aku sadar bahwa setiap kebingungan adalah kesempatan untuk menemukan penemuan baru. Aku mencoba meraba-raba dalam gelapnya ketidaktahuan, aku menemukan cahaya yang membimbingku ke arah pemahaman yang lebih dalam. Tiap kali aku menghadapi konsep yang sulit atau kosakata asing, aku merasa seperti menari diatas zona nyamanku, bisa jadi disitulah tempat dimana pertumbuhan sejati terjadi.

Mencintai rasa sakit bukan berarti mengejar kesengsaraan dan mengesampingkn kegembiraan. Ini tentang memahami bahwa setiap pengalaman sulit, ada potensi untuk pertumbuhan. Ini tentang mengambil resiko, melangkah keluar dari zona nyaman, dan menghadapi tantangan dengan keberanian dan keteguhan.

Ketika kita memilih untuk mencintai rasa sakit, kita memilih untuk hidup secara utuh. Kita mengakui bahwa kehidupan bukanlah tentang menghindari kesulitan, tapi tentang bagaimana kita meresponsnya. Kita memahami bahwa kita tak benar-benar kalah selama kita tetap bertaruh pada diri kita sendiri, pada impian, dan pada kemampuan kita untuk tetap bangkit tiap kali kita jatuh.

Aku mencoba untuk itu. Aku mencoba untuk jatuh cinta dengan tiap tantangan, kegagalan, dan kekecewaan yang membantuku menulis kisahku sendiri. Karena diantara semua itu, aku menemukan kekuatan yang membantuku menjadi versiku yang lebih baik dari diriku sekarang. Dan pada akhirnya, itulah yang membuat setiap perjuanganku layak diakui.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Sebuah Perayaan Patah Hati</title><link>https://khoirul.me/blog/reflective/sebuah-perayaan-patah-hati</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/sebuah-perayaan-patah-hati</guid><description>Adalah tentang perjalanan panjang melalui labirin emosi, melukis kehidupan. Hingga saatnya merayakan pertumbuhan, menemukan kembali diri, dan menghargai dukungan orang-orang terkasih.</description><pubDate>Sun, 04 Feb 2024 00:00:00 GMT</pubDate><content:encoded>Di tengah hiruk-pikuk kehidupan yang terus berputar, tak jarang kita menemukan diri kita terjebak dalam sebuah kisah patah hati. Kali ini kita tidak sedang membicarakan akan luka fisik yang bisa sembuh hanya dengan perban dan obat, melainkan sebuah perjalanan panjang, melalui labirin emosi yang rumit dan penuh warna. Seringkali, kita cenderung untuk mencoba menyembunyikan rasa sakit tersebut, tetapi bagaimana jika kita mencoba merayakan patah hati itu sendiri?

Sebuah perayaan patah hati mungkin terdengar layaknya paradoks. Namun, di balik setiap kegagalan cinta, (setidaknya) terdapat pelajaran berharga yang bisa membentuk karakter kita. Seolah-olah kita sedang mengikuti tarian yang penuh dengan langkah-langkah sulit, kita bisa belajar menghargai dan memahami setiap geraknya.

Pertama-tama, mari kita kenali rasa sakit itu. Andaikan hidup kita seperti sebuah kanvas putih, patah hati turut memberi warna pada hidup kita. Rasanya bagai mendapati hujan di tengah hari yang cerah; tak terduga, menggugah, dan di saat yang bersamaan, membebaskan. Saat kita membiarkan diri kita merasakannya sepenuhnya, kita memberi otoritas penuh untuk tumbuh dan menjadi lebih kuat.

Sebuah perayaan patah hati juga merupakan waktu yang tepat untuk menemukan kembali diri sendiri, yang mungkin sudah lama hilang. Seringkali, dalam suatu hubungan, kita cenderung mengecilkan diri demi menyatu dengan pasangan. Namun, ketika hubungan itu berakhir, kita memiliki kesempatan untuk menemukan kembali potensi diri yang mungkin terlupakan. Jika dulu kita menari di bayang-bayang pasangan, sekarang kita bisa menari di bawah sinar matahari sendiri.

Bagaimana kita merayakan patah hati? Mungkin dengan menulis surat kepada diri sendiri untuk mengungkapkan perasaan, atau mungkin dengan merayakan pencapaian kecil yang mungkin terabaikan selama kita sibuk dalam hubungan. Setiap langkah kecil menuju kesembuhan adalah alasan untuk merayakan, seolah-olah setiap helaian waktu adalah sepotong karya seni yang indah.

Perayaan patah hati juga mencakup mendekati orang-orang terkasih. Terkadang, kita melupakan dukungan yang ada di sekitar kita ketika terjebak dalam pusaran emosi. Menghabiskan waktu dengan keluarga dan teman-teman dapat memberikan perspektif baru dan memberi kita kekuatan untuk melangkah maju.

Seiring waktu berjalan, kita mungkin menyadari bahwa perayaan patah hati ini adalah sebuah tahap dalam perjalanan panjang menuju pertumbuhan dan penerimaan diri. Seperti bunga yang tumbuh setelah hujan, kita bisa mekar menjadi versi diri yang lebih baik setelah mengalami patah hati. Jadi, mari rayakan setiap detik dalam perjalanan ini, sebab patah hati bukanlah akhir, melainkan awal dari bab yang baru.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Who am I? Sebuah pencarian identitas yang hilang</title><link>https://khoirul.me/blog/reflective/who-am-i</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/who-am-i</guid><description>Sebuah cerita dari perjalanan seseorang yang penasaran dalam mencari hubungan baru, namun tersesat dalam pencarian diri.</description><pubDate>Sun, 21 Jan 2024 00:00:00 GMT</pubDate><content:encoded>Ada seorang individu yang selalu merasa terdorong untuk menyelidiki dunia sekitar mereka, membangun hubungan baru, dan berusaha memahami orang-orang yang ada di lingkungan mereka di tengah kompleksitas modern. Meskipun keinginan untuk mengenal orang lain mungkin bermanfaat, ada situasi di mana orang menjadi terlalu sibuk mencari tahu tentang orang lain sehingga mereka kehilangan kesempatan untuk memahami diri mereka sendiri.

Dia sering kali bertanya pada dirinya sendiri “Who am I?” karena rasa penasaran yang tinggi. Dia senang mendengarkan cerita orang lain dan siap membagikan kisah hidup mereka. Di setiap pertemuan, mereka memberikan warna baru ke palet kehidupan mereka.

Namun dibalik rasa ingin tahu dan kepedulian mereka terhadap orang lain, tersembunyilah kebingungan tentang identitas mereka sendiri. Mereka tampak kehilangan jejak dalam labirin pikiran mereka sendiri, mencoba memahami kompleksitas orang lain tanpa menyadari bahwa jawaban mendasar mungkin berada dalam diri mereka sendiri.

“Who am I” adalah pertanyaan yang sulit untuk dijawab. Identitas seseorang terdiri dari berbagai bagian dari aspek kehidupan mereka, seperti nilai-nilai, keyakinan, minat dan peristiwa yang telah mereka alami sebelumnya. Bagi mereka yang terlalu fokus pada eksterior, mencari jawaban dalam diri sendiri dapat menjadi tantangan yang sesungguhnya.

Saat ini, mungkin seseorang ini mengalami kecemasan identitas, di mana mereka merasa sulit untuk menentukan siapa sebenarnya mereka di antara berbagai peran yang dimainkan dalam kehidupan sehari-hari. terlalu sibuk membangun hubungan dengan orang lain, mereka mungkin kehilangan kesempatan untuk berkoneksi dengan bagian terdalam dari diri mereka sendiri.

Introspeksi mungkin merupakan solusi bagi mereka yang terjebak dalam pencarian identitas eksternal. Refleksi diri, pencarian nilai-nilai pribadi, dan kesadaran tentang tujuan dan keinginan hidp adalah semua bagian dari proses ini. Dengan menemukan keseimbangan antara mengidentifikasi diri dan mengeksplorasi hubungan, seseorang dapat menghindari terjebak dalam kebutuhan identitas yang dapat mengganggu kesehatan mental mereka.

Jika indivitu tersebut berhasil menemukan dirinya sendiri, layaknya dia berdiri di hadapan cermin besar. Melihat dengan jelas secara penuh dan jelas akan dirinya. Nampak pula kekurangan kelebihannya. Dia tahu batas dirinya secara detail, sesederhana berapa banyak porsi makannya, berapa jauh dia kuat berlari, apa yang ia takuti dan kenapa, semuanya.

Ia tahu apakah dia elang yang terbang di langit ataukah hiu yang menguasai lautan.

Ia dapat menemukan tempat yang tepat dimana ia duduk dan tinggal. Tidak berdasarkan keinginan atau dorongan. Jika dia kepala, dia tahu dengan sadar dia harus bertanggung jawab sebagai pemimpin. Jika dia mata, dia menunjukkan sikap sebgai mata. Masing-masing memliki tanggung jawab yang jelas.

“Who am I” bukan pertanyaan dengan sekali jawab untuk selamanya. Ia adalah perjalanan seumur hidup. Bagi mereka yang cenderung kehilangan diri dalam pencarian hubungan baru, berfokus pada diri dapat membawa pencerahan baru dan memperkuat pondasi identitas yang kokoh.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Refleksi 2023 dan Asa 2024</title><link>https://khoirul.me/blog/reflective/refleksi-2023-dan-asa-2024</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/refleksi-2023-dan-asa-2024</guid><description>Tahun 2023 memang bukan tahun yang sempurna, tapi aku banyak belajar ditahun ini.</description><pubDate>Sun, 31 Dec 2023 00:00:00 GMT</pubDate><content:encoded>Tahun 2024 membentang di hadapanku seperti halaman kosong yang menanti untuk diisi dengan warna-warni kisah kehidupan. Saat aku merenung pada langit senja yang memeluk perpisahan hari, aku tak bisa tak terkesan oleh serangkaian peristiwa dan pencapaian yang menghiasi kalender kehidupan. Sebuah rekapan singkat pada perjalanan ini mengungkapkan bahwa setiap detiknya berharga, membawa cerita-cerita yang kini menjadi bagian tak terpisahkan dari diriku.

Kali ini aku merasakan banyak getaran perubahan di benakku. Banyak pengalaman dan kenangan masuk ke memori, dari ke tertawaan riang hingga ketegangan dan duka mendalam, semuanya membantu kanvas hidup dengan banyak warna. Melalui refleksi pribadi, aku sadar kalau tiap tantangan adalah sebuah penguatan, tiap kerikil adalah batu loncatan menuju pertumbuhan. Aku mencoba lebih banyak belajar menghargai proses daripada hasil, dan itu adalah pelajaran yang tak ternilai.

Banyak pencapaian dan keberhasilan yang aku dapat ditahun ini, mulai dari momen-momen kecil yang bernilai hingga proyek besar, menjadi bukti bahwa kerja keras dan ketekunan memiliki daya dorong yang luar biasa. Beberapa bagian keberhasilan ini adalah kolaborasi dengan orang-orang yang luar biasa. Aku sangat bersyukur bertemu dan berkesempatan untuk bekerja di tim yang sama dengan mereka. Dan juga teman-teman yang selalu mendukung, serta keluarga yang selalu memberikan dorongan dan fondasi yang kokoh bagi mimpi-mimpi besarku.

Dibalik pencapaian itu, aku pun mengakui jika ditahun 2023 juga membawa banyak kegagalan dan rintangan. Sebagai bagian tak terpisahkan dari perjalanan ini, kegagalan itu memberikan nuansa hidup yang jujur dan penuh hikmah. Beberapa ide atau proyek mungkin tak sesuai rencana, dan dari tiap kegagalan itu, aku mencoba belajar lebih banyak lagi akan ketahanan dan kemampuan untuk bangkit.

Melalui kegagalan-kegagalan itu, aku menemukan kekuatan dalam menerima akan imperfeksi. Setiap kegagalan itu membuka pintu menuju pemahaman yang lebih dalam tentang diri dan proses pembelajaran terus berlanjut. Kadang-kadang, langkah yang salah justru mengarah pada penemuan-penemuan baru dan inovasi-inovasi tak terduga. Karena itu, merangkul kegagalan sebagai bagian alami dari perjalanan adalah langkah pertama menuju pertumbuhan yang berkelanjutan.

Berbicara mengenai kegagalan juga membuka ruang untuk merayakan proses daripada hasil akhir. Mungkin ada momen dimana semangatku redup, dan itulah yang membuat kisah ini semakin kaya warna. Kegagalan tidak hanya tentang merosot, namun juga tentang bagaimana kita bangkit lagi, menggali keberanian lebih dalam dari diri untuk melangkah maju.

Melangkah maju, aku mencoba untuk menyusun sedikit demi sedikit rencana dan _goals_ untuk tahun mendatang. Harapannya, resolusi ini tak sekedar hanya menjadi daftar harapan, melainkan bentuk komitmen nyata untuk terus tumbuh dan tumbuh serta banyak berkontribusi ke depannya. Aku rasa, ini bisa menjadi dorongan dan inspirasi kepada orang lain yang (mungkin sekarang) sedang merencanakan perjalanan mereka untuk waktu yang akan datang.

Sejauh ini, 2023 tidak hanya memberikan catatan tentangku, tetapi juga memperlihatkan bagaimana tren dan perubahan di sekitarku. Masa depan tampaknya membawa dinamika baru, dan dengan pandangan terbuka, aku bisa bersiap lebih awal untuk menghadapinya dengan adaptif dan positif.

Terakhir, di penghujung tulisan ini, aku ingin menyampaikan banyak rasa terima kasih yang mendalam kepada semua pihak yang telah menjadi bagian dari ceritaku. Tanpa dukungan, cinta, dan pelajaran mereka semua, cerita satu tahun ini tak se-berarti dan semakna ini. Kemudian, mari bersama-sama menyambut yang akan datang dengan semangat yang baru, karena tiap langkah kita memiliki kekuatan dan energi untuk membuat takdir kita sendiri.

Selamat datang di gerbang 2024, semoga di cerita selanjutnya menjadi cerita yang penuh keceriaan, makna, penuh syukur dan sabar tentang apa pun.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Resilience</title><link>https://khoirul.me/blog/reflective/resilience</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/resilience</guid><description>Perlu waktu sejenak, sebelum kita bertarung lagi</description><pubDate>Tue, 05 Dec 2023 00:00:00 GMT</pubDate><content:encoded>Hari ini, ketika aku duduk di bangku kuliah semester 5, terbersit dalam pikiranku bahwa perjalanan hidup ini memang tak pernah lurus. Aku memandang masa depanku dengan rasa penasaran dan ketidakpastian. Di usiaku yang sudah menginjak kepala dua, bisa dibilang, masa ini adalah saatnya untuk menjalani pencarian jati diri yang sesungguhnya.

Perjalanan hidupku sejauh ini tidaklah mudah. Setiap hari, aku dihadapkan pada berbagai macam tantangan dan rintangan yang menguji ketangguhanku. Tapi, inilah yang membuatku semakin yakin bahwa keberanian dan ketangguhan adalah kunci untuk tetap bertahan di tengah badai kehidupan.

Di dunia perkuliahan, aku merasakan tekanan yang begitu besar. Tugas-tugas yang menumpuk, ujian yang menantang, dan ekspektasi yang tinggi dari diri sendiri serta orang-orang di sekitarku. Namun, aku memilih untuk tidak tenggelam dalam tekanan tersebut. Sebaliknya, aku memilih untuk menganggapnya sebagai peluang untuk tumbuh dan berkembang.

Resilience, bagi ku, adalah kemampuan untuk bangkit setelah jatuh. Ketika mendapati diriku lelah dan hampir menyerah, aku mengingat bahwa setiap kesulitan adalah ujian yang membentuk karakterku. Aku tidak lagi melihat kegagalan sebagai akhir dari segalanya, melainkan sebagai langkah menuju keberhasilan yang lebih besar.

Selama perjalanan pencarian jati diri ini, aku belajar untuk menerima diri sendiri apa adanya. Aku menyadari bahwa tidak semua hal dapat berjalan sesuai rencana, dan terkadang kita harus memilih untuk beradaptasi dengan perubahan. Ini adalah pelajaran berharga yang tidak diajarkan di dalam buku-buku kuliah.

Ketangguhanku juga diuji di luar kelas. Hidup di masa pandemi lalu memberiku banyak pelajaran berharga. Terbatasnya interaksi sosial, keterbatasan akses ke sumber daya, dan ketidakpastian mengenai masa depan menciptakan lingkungan yang tidak mudah. Namun, aku memilih untuk tetap fokus pada hal-hal yang dapat ku kontrol dan menjadikan setiap hari sebagai kesempatan untuk belajar sesuatu yang baru.

Pada akhirnya, aku menyadari bahwa resilience adalah proses yang terus-menerus. Bukan hanya sekadar melalui masa sulit, tetapi juga melibatkan kemampuan untuk terus tumbuh dan berkembang seiring berjalannya waktu. Aku belajar untuk tidak hanya bertahan hidup, tetapi juga untuk hidup dengan penuh makna dan tujuan.

Jadi, di tengah kebimbangan dan ketidakpastian, aku memilih untuk melihat masa pencarian jati diri ini sebagai petualangan yang menarik. Dengan hati penuh ketangguhan, aku yakin bahwa setiap langkahku membawaku lebih dekat kepada versi terbaik dari diriku sendiri. Resilience adalah kuncinya, dan aku siap menghadapi apapun yang akan datang.

&gt; &quot;Life doesn&apos;t get easier or more forgiving; we get stronger and more resilient.&quot;
&gt;
&gt; Steve Maraboli</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Aku Ingin....</title><link>https://khoirul.me/blog/reflective/aku-ingin</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/aku-ingin</guid><description>Dengan waktu yang tak banyak ini, mimpi mana saja yang bisa aku wujudkan?</description><pubDate>Thu, 02 Nov 2023 00:00:00 GMT</pubDate><content:encoded>Aku lahir bertepatan dengan era dimana teknologi berkembang dengan sangat pesat dan menjadi bagian integral dari kehidupan kita. Di masa ini, hampir setiap aspek dari kehidupan kita telah diperkaya dan difasilitasi oleh kemajuan teknologi. Sangat menakjubkan bagaimana hampir segala sesuatu, mulai dari barang kebutuhan sehari-hari hingga informasi yang sangat kompleks, dapat dengan mudah diakses hanya dengan beberapa klik atau sentuhan di layar. Kita hidup di dunia di mana internet telah menjadi pengetahuan kolektif manusia, tempat di mana kita dapat mempelajari hampir semua hal. Informasi datang silih berganti dengan kecepatan yang tak masuk akal, entah itu dari platform sosial media yang kita gunakan sehari-hari, koran online yang menghadirkan berita terbaru, atau sekedar dari grup WhatsApp yang menjadi tempat berbagi informasi antara teman dan keluarga.

Dengan banyak kemudahan itu, aku bisa dengan mudah tahu apa yang dikerjakan orang lain lewat sosial media mereka. Aku bisa tahu apa yang sedang mereka kerjakan, rencana mereka selanjutnya bahkan apa pencapaian mereka akhir akhir ini, tak peduli mereka keluarga, sahabat, teman, sekadar kenalan atau bahkan selebriti dan public figure.

Namun, terkadang, melihat semua itu bisa membuat aku merasa tertekan. Merasa seperti aku seharusnya juga melakukan lebih banyak hal, mencapai lebih banyak tujuan. Melihat apa yang mereka lakukan, tak jarang aku terdorong untuk bisa melakukan dan mendapatkan seperti apa yang mereka dapat dan lakukan, atau bahkan lebih dari itu.

Di era ini, dimana aku terus dibombardir dengan kesempatan dan potensi yang tampak tak terbatas. Seperti yang aku tulis sebelumnya, saat melihat apa yang orang lain capai, aku terdorong untuk melakukan hal yang sama. Namun ada hal yang aku lewatkan, aku sadar tiap perjalanan yang dilakukan orang lain punya sisi unik masing-masing dan prioritas yang berbeda pula. Sekilas aku disadarkan untuk lebih menikmati tiap cerita hidupku sendiri, dengan waktu, harapan dan ambisi yang berbeda.

Sosial media, meskipun ia bisa menjadi alat yang (mungkin) sangat memadai untuk berbagai momen-momen kebahagiaan dan pencapaian, tak jarang pula hanya menampilkan sisi terbaik dari bab hidup seseorang. Aku, dengan mudahnya lupa bahwa apa yang ada dibalik foto-foto itu, bisa jadi ada kisah-kisah kesulitan dan rintangan yang berdarah-darah yang mungkin sama seperti yang dialami orang lain. Ya, kisah itu tak serta merta berhasil tanpa adanya tantangan.

&gt; Bukan masalah Anda gagal. Tidak pula rugi
&gt; jika impian belum jadi kenyataan. Asalkan kita tidak berhenti dan terus
&gt; berjalan, berjuang, dan tetap berusaha. Maka, sukses menanti Anda di
&gt; sana!
&gt;
&gt; ― [Andrie Wongso](https://jagokata.com/kata-bijak/dari-andrie_wongso.html)

Saat merasa tertekan untuk mengejar semua ambisi, penting untuk merenungkan apa yang sebenarnya aku inginkan dari hidup. Tak jarang, aku mungkin terjebak dalam perburuan tanpa akhir untuk mencapai lebih banyak tanpa benar-benar mempertimbangkan apakah itu sesuai dengan nilai-nilai dan impianku. Perlu diingat juga, dalam era teknologi, aku harus belajar untuk memfilter informasi yang datang kepadaku dan tetap fokus pada tujuan yang sesuai denganku sendiri.

Selain itu, teknologi juga memberiku kesempatan untuk belajar, untuk berkembang lebih dari sebelumnya. Dengan kemudahan akses ke berbagai pendidikan online, kursus, platform edukasi, aku dapat mengejar minat dan hobiku dengan lebih mudah. Aku dapat memanfaatkan itu untuk mencapai tujuan pribadiku dan tumbuh menjadi individu yang lebih baik, dibandingkan merasa tertekan oleh apa yang orang lain capai.

&gt; Dare to live the life you have dreamed for yourself. Go forward and make your dreams come true.
&gt;
&gt; ― [Ralph Waldo Emerson](https://jagokata.com/kata-bijak/dari-ralph_waldo_emerson.html)
&gt; (Penyair dan filsuf dari Amerika Serikat 1803-1882)

Aku tak harus mengikuti jejak orang lain, menulis cerita yang sama dengan orang itu atau membandingkan aku sendiri dengan mereka pada akhirnya. Manfaatkan teknologi untuk mencapai impianmu sendiri. Dan yang terpenting, aku harus tetap menjaga keseimbangan dan tidak membiarkan tekanan dunia digital menghancurkan mental dan emosional. Bijaklah menggunakan teknologi. Aku, kita dapat menjalani hidup dengan lebih tenang dan fokus pada apa yang benar-benar penting bagiku, bagi kita.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Reflect and Adjust</title><link>https://khoirul.me/blog/reflective/reflect-and-adjust</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/reflect-and-adjust</guid><description>Kenapa harus mengungkit kegagalan yang udah berlalu?</description><pubDate>Sun, 22 Oct 2023 00:00:00 GMT</pubDate><content:encoded>&gt; At regular intervals, the team **reflects** on how to become more effective, then tunes **and adjusts** its behavior accordingly.
&gt;
&gt; [agilealliance.org](agilealliance.org)

Ini adalah poin ke-12 dari Agile Principle yang tercantum di laman web resmi Agile Alliance. Secara singkat, Agile Alliance adalah organisasi global non-profit yang didirikan berdasarkan Manifesto of Agile Software Development, kerangka kerja model yang telah saya pelajari kurang lebih selama 3 semester terakhir.

Keyword utama adalah &quot;reflect and adjust&quot; yang bentuk penerapannya adalah dengan mengadakan [Sprint Retrospective](https://www.scrum.org/resources/what-is-a-sprint-retrospective) setiap akhir Sprint. Kegiatan ini bertujuan untuk melakukan evaluasi terhadap produk dan proses pengembangan produk tersebut.

Yang akan saya bahas di sini adalah evaluasi. Apa sebenarnya evaluasi itu? Dan mengapa penting untuk melakukan evaluasi?

Mari kita sementara mengesampingkan tentang agile. Evaluasi adalah suatu proses di mana kita secara sistematis dan kritis mengumpulkan data atau informasi untuk mengevaluasi, mengukur, atau menilai sesuatu.

Jika kita membahas tentang pengembangan produk, seperti yang telah disebutkan sebelumnya, evaluasi akan menjadi metode yang digunakan untuk mengukur dan mengevaluasi kualitas produk yang dihasilkan setelah melakukan sprint. Namun, hal ini berbeda jika kita melihatnya dalam konteks kehidupan sehari-hari kita.

Dalam kehidupan sehari-hari, evaluasi memiliki peran yang sangat penting dalam membantu kita untuk menjadi pribadi yang lebih baik dan sukses. Evaluasi dapat membantu kita mengevaluasi keberhasilan dan kegagalan kita dalam mencapai tujuan yang telah ditetapkan. Dengan melakukan evaluasi secara teratur, kita dapat melihat dengan jelas apa yang telah kita capai dan apa yang masih perlu diperbaiki.

Evaluasi juga bisa membantu kita untuk lebih berdamai dengan kegagalan yang dialami. Harapannya, dengan kegagalan yang terjadi, tidak menjadikan kita tenggelam ke rasa penyesalan. Dengan evaluasi, kita dapat menemukan penyebab mengapa hasil yang diinginkan kurang sesuai atau tidak sesuai harapan. Setelah itu kita bisa menyiapkan strategi baru untuk menjadi versi baru dari diri.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Perspektif</title><link>https://khoirul.me/blog/reflective/perspektif</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/perspektif</guid><description>Mendengarkan masukan orang lain itu penting, namun tidak semua yang mereka inginkan harus aku penuhi</description><pubDate>Sun, 08 Oct 2023 00:00:00 GMT</pubDate><content:encoded>Sebagai makhluk sosial, aku akan selalu berinteraksi dan bersinggungan dengan orang lain. Tak jarang meski pun aku melakukan sesuatu sendirian, aku selalu akan mendapatkan masukan maupun masukan dari orang lain. Apalagi jika harus bekerja dalam tim interaksi akan menjadi lebih intens karena tiap hari bertemu, entah sekadar untuk rapat harian atau pun mengerjakan sesuatu dengan rekan kerja.

Dalam situasi seperti ini, penting bagi aku untuk memiliki perspektif yang terbuka. Bagaimana pun aku harus siap menerima pendapat dan masukan dari sudut pandang orang lain, bahkan jika berbeda dengan pandanganku sendiri. Dengan demikian, aku dapat belajar dan tumbuh sebagai individu yang lebih baik, serta dapat mencapai hasil yang lebih baik dalam kerja tim.

Tak jarang masukan yang aku dapat kurang sesuai atau bahkan dengan yang aku ingin. Tak jarang juga masukan yang ada terasa “pedas” untuk diterima. Inilah yang mengharuskan aku untuk pintar-pintar memilih dan memilah mana masukan yang harus ditindaklanjuti atau pun harus diabaikan.

Namun, tidak selalu mudah untuk membedakan antara masukan yang berharga dan masukan yang tidak relevan. Oleh karena itu, aku perlu mengembangkan kemampuan kritis dalam mengevaluasi setiap masukan yang aku terima. Aku harus melihatnya dari berbagai sudut pandang dan mempertimbangkan kepentinganku pribadi maupun tim serta tujuan akhir yang ingin dicapai.

Dalam proses mengevaluasi masukan, aku harus memberikan prioritas pada masukan yang lebih baru. Hal ini karena masukan yang lebih baru cenderung lebih relevan dengan situasi dan keadaan terkini. Ketika aku menerima masukan yang baru, aku harus segera merespon dan mempertimbangkan apakah masukan tersebut dapat membantu mencapai hasil yang lebih baik kedepannya.

Selain itu, penting juga untuk memperhatikan sumber masukan. Masukan yang berasal dari orang-orang yang memiliki pengalaman dan pengetahuan yang relevan dalam bidang yang sedang dikerjakan akan lebih berharga. Aku perlu menghargai dan mempertimbangkan masukan dari mereka yang memiliki keahlian dan kecakapan yang dapat berkontribusi positif dalam pencapaian tujuan tim.

Saat mengevaluasi masukan, aku juga harus menghindari kecenderungan untuk terlalu defensif atau terlalu mudah menerima semua masukan tanpa kritis. Aku harus tetap objektif dan terbuka terhadap sudut pandang orang lain, namun juga memiliki keberanian untuk menyuarakan pendapatku jika aku merasa ada kekurangan atau ketidakcocokan dalam masukan yang diberikan.

Dalam situasi di mana aku mendapatkan masukan yang kurang sesuai atau terasa &quot;pedas&quot;, aku perlu menjaga emosi dan berkomunikasi dengan baik. Aku harus berusaha untuk memahami niat baik di balik masukan tersebut dan mencari cara untuk memperbaiki situasi atau meningkatkan kualitas kerja tim.

Terakhir, mendengarkan masukan orang lain itu penting, namun tidak semua yang mereka inginkan harus aku penuhi. Aku harus ingat bahwa proses menerima dan mengevaluasi masukan adalah bagian dari pertumbuhan pribadi dan profesionalku. Dengan menerima masukan dengan sikap terbuka dan kritis, aku dapat terus belajar, berkembang, dan mencapai hasil yang lebih baik dalam kerja tim.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>I want, but I can’t</title><link>https://khoirul.me/blog/reflective/i-want-but-i-cant</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/i-want-but-i-cant</guid><description>Kita tak selalu dapat apa yang kita inginkan, begitulah cara dunia bekerja</description><pubDate>Thu, 21 Sep 2023 00:00:00 GMT</pubDate><content:encoded>Saat masih TK dulu, sering kali kita ditanya bu guru tentang nanti mau jadi apa kalau sudah besar, dan kita dan teman-teman kita juga tentunya dengan antusias menjawab ingin menjadi ini itu. Ada yang ingin jadi dokter, pilot, masinis, polisi, tentara atau sekedar ingin jadi pengusaha biasa.

Waktu itu adalah masa dimana kita bisa bebas bermimpi setinggi mungkin. Tak kisah seberapa tinggi mimpi itu, seberapa mustahil hal itu untuk dicapai. Kala itu kita tak peduli hal tersebut bisa dicapai atau tidak. Masa kecil memang menjadi salah satu periode dalam hidup kita yang penuh dengan imajinasi dan impian yang tinggi.

Namun seiring berjalannya waktu, kita mulai menyadari jika realita yang kita hadapi tak sederhana itu. Banyak realita tak diundang menghadang, namun bukan berarti harus menyerah.

&gt; Kita tak selalu dapat apa yang kita inginkan, begitulah cara dunia bekerja

Di hidup yang singkat ini, terlalu rakus jika kita menginginkan semua hal yang ada, dan tentunya juga semua hal yang kita inginkan akan menjadi milik kita seutuhnya, bahkan sesuatu yang sebelumnya sudah kita miliki. Begitulah dunia bekerja dengan segala kejutannya. Dunia tak akan selalu sesuai dengan harapan dan keinginan. Realita terlalu kompleks, penuh hambatan, keterbatasan dan hal tak terduga.

Sebagai pengingat, pada akhirnya seberapa-pun kita berusaha, berharap dan bekerja keras, hasil tak selalu dengan harapan yang kita mau. Bukan berarti harus menyerah dan hilang semangat kala itu juga. Kita masih memiliki kendali akan bagaimana cara menghadapi situasi tersebut, dan tentunya kita akan belajar, berkembang, dan mencoba cara lain untuk mencapai tujuan sebenarnya.

Penuh ambisi terkadang perlu, namun sebagai pengingat, kita juga harus realistis terhadap keadaan yang ada. Tetap teguh menghadapi tantangan yang mungkin muncul adalah kunci untuk menggapai impian.

&gt; &quot;Shanks selalu bilang, kalau jalan menuju tujuan kita terlalu mudah, berarti kita salah jalan.&quot; - Luffy.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Just a bad day, not a bad life</title><link>https://khoirul.me/blog/reflective/not-a-bad-life</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/not-a-bad-life</guid><description>Acap kali kita sudah merencanakan, mengatur, menyiapkan alur terbaik hidup kita. Namun...</description><pubDate>Wed, 13 Sep 2023 00:00:00 GMT</pubDate><content:encoded>&gt; With peace of mind so hard to find, We&apos;re dwelling on the drastic signs, Another way to numb our mind, And as you close your eyes tonight, And pray for a better life, You&apos;ll see it flying helplessly away

Kutipan lirik diatas adalah penggambaran suatu kondisi dan tantangan seseorang untuk mencari kedamaian pikiran. Di dunia yang penuh dengan dinamika perubahan, orang cenderung mencoba mencari solusi lain untuk mengatasi kecemasan dan stres yang mereka alami. Setiap malam, mereka merenung dan berharap untuk kehidupan yang lebih baik, namun mereka juga merasakan kekecewaan karena impian-impian mereka terasa menjauh tanpa ada harapan akan keselamatan pada akhirnya.

&quot;Kenapa gini?&quot;, &quot;_Kok ngene se?_&quot;, &quot;_Wes mbo lah_&quot;, ketiga kata itu tak jarang keluar dari mulut kita, atau minimal terbesit di benak kita. Sering kali kita sudah susah-susah ngatur, nyiapin, nge-rapi-in hidup, tapi tetep aja akhirnya ketebak. Ya, selalu berantakan dan selalu sukses untuk menambah sesi _overthinking_ kita di malam hari.

Sedikit aku pernah membaca mengenai kondisi **VUCA** yang salah satu poinnya adalah _Uncertainty_ atau &quot;ketidakpastian&quot;. Saat ini kita berada di tengah-tengah keadaan yang segalanya tidak pasti, dan yang pasti adalah ketidakpastian itu sendiri. Tak jarang kita tak dapat memprediksi apa yang akan terjadi nantinya.

Perubahan kondisi lingkungan yang mendadak, banyak pengaruh hal-hal diluar diri kita sampai ketidakjelasan akan situasi kondisi maupun informasi yang ada adalah sekian faktor lain penyebab ketiga kata diatas bisa terbesit keluar di benak kita.

Tapi, bukankah akan selalu begitu? Di waktu semuanya dituntut untuk serba cepat, kita dituntut untuk lebih bisa beradaptasi dengan banyak kemungkinan yang bisa saja sesuai atau bahkan berlawanan dengan apa yang kita mau. Pada hakikatnya, se-berusaha apapun kita mencari cara, mencari jalan untuk kedepannya agar sesuai sama yang kita mau, atau minimal baik-baik aja, ada aja yang bikin jalannya berlubang.

Memang. Kita harus tetap berusaha. Dan tentu juga kita harus berdamai dengan naik turunnya dinamika hidup, menikmati tiap belokan yang muncul tanpa tanda sebelumnya dan jangan terlalu gegabah untuk memutuskan sesuatu. Karena tujuan kita bukan untuk mencapai suatu **&quot;tempat&quot;** tujuan, namun untuk selamat pada akhirnya.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Pulang (dan kembali lagi)</title><link>https://khoirul.me/blog/reflective/pulang</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/pulang</guid><description>Kemanapun kau pergi. Sejauh manapun kau pergi melangkah. Kerinduan tetap pada tempat pertama.</description><pubDate>Sat, 09 Sep 2023 00:00:00 GMT</pubDate><content:encoded>&gt; Kemanapun kau pergi. Sejauh manapun kau pergi melangkah. Kerinduan tetap pada tempat pertama.

Sebelumnya aku akan menceritakan sedikit perjalanan singkat ku selama 19 tahun ini.

Aku lahir di sebuah desa kecil di kabupaten Sidoarjo dan aku sedikit menghabiskan masa kecilku disana. Tak ada yang bisa aku ingat apa saja yang udah ku lewati disini karena memang disini aku hanya punya sedikit teman yang aku ga yakin mereka masih ingat aku.

Kenapa aku menyebut kata &quot;sedikit&quot;? Karena selanjutnya aku pindah di kota yang saat ini punya kisah tersendiri bagiku, Tuban.

Di kota kedua ini aku menghabiskan kurang lebih selama 11 tahun lamanya. Mulai dari SD sampai lulus SMA aku berada di kota ini. Kiranya kota ini lebih berkesan daripada kota kelahiranku sendiri karena aku lebih banyak menghabiskan waktuku disini.

Setelah lulus SMA, aku masih menghabiskan sisa-sisa liburanku disana sebelum masuk kuliah (kebetulan masih kuliah online) karena belum ingin cepat-cepat pindah dan sedikit perlu sedikit persiapan ke tempat yang baru. Kemudian aku kembali lagi ke kota kelahiranku, Sidoarjo.

Kembali ke kota ini agaknya sedikit membuatku culture shock, masih banyak hal dari Tuban yang masih terbawa sampai ke rumah yang beberapa hal bisa sangat berbeda dan harus adaptasi lagi. Kemudian setelah kuliah tahun pertamaku dimulai sampai liburan semester 1, aku sangat jarang berinteraksi dengan orang rumahku sendiri (orang tua, red) karena aku lebih banyak berada di rumah sepupu daripada di rumah sendiri dan libur semester pun masih ke Tuban, bukan rumah sendiri.

Dilanjut ketika perkuliahan mulai offline, aku bermigrasi lagi ke kota yang sebelumnya aku belum pernah singgah disana, kota pahlawan Surabaya. Awalnya tidak ada yang spesial dari kota ini, identik dengan hawa panas, macet di jam kerja serta apapun serba mahal yang mana aku tak menyukai ketiganya.

Lalu, sering ada pertanyaan dari teman-teman &quot;ga pulang?&quot;, &quot;kenapa ke Tuban?&quot;, &quot;aslinya orang mana sih?&quot;

Aku yang sedari kecil tak sempat merasakan &quot;hawa rumah&quot; yang sebenarnya memang rumahku, menjadi bertanya-tanya apa itu &quot;tempat pulang&quot; atau apapun yang disebut dengan rumah, tempat dimana kita bisa melepas penat setelah melewati hari-hari yang panjang atau sekedar menengok raut wajah orang tua dan meminta doa kepada mereka.

Sidoarjo adalah kota lahirku, tapi aku tak banyak berada disana, tak banyak pula aku berinteraksi bahkan dengan orang tuaku sendiri. Haruskah aku pulang di tempat yang aku sendiri merasa tak nyaman disana?

Tuban, kota yang sebelumnya aku tak tahu apapun tentang kota ini, sekarang aku malah merindukannya. Bisakah aku pulang kesana, itu bukan tempat lahirku, tapi aku lebih lama disana. Entahlah.

Surabaya yang akan kutinggali selama 4 tahun kedepan, akankah aku akan menetap lebih dari itu?

Kini akhirnya aku paham, ruang pulang paling nyaman itu bernama hati yang lapang, juga diri yang makin hari makin berdamai dengan semua keadaan.

Bagiku, Surabaya, Sidoarjo maupun Tuban itu hanya tempat. Yang bikin spesial bukan masalah lokasi, tapi teman-temanku. Yang aku rindu bukan warkop dan cafe nya, tapi obrolan kita disitu.

Pulang bukan hanya berarti tempat dimana kita bisa melepas penat, tapi bisa jadi ke seseorang yang mengerti keadaanku, yang menjadi tempatku berkeluh kesah, yang bisa membuatku sedikit lupa akan hiruk pikuknya dunia sebelum akhirnya aku harus kembali lagi.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item><item><title>Hello, world!</title><link>https://khoirul.me/blog/reflective/hello-world</link><guid isPermaLink="true">https://khoirul.me/blog/reflective/hello-world</guid><description>Belajar dari masa lalu, hidup untuk hari ini, berharap untuk hari esok.</description><pubDate>Fri, 08 Sep 2023 00:00:00 GMT</pubDate><content:encoded>Ketika melihat kembali perjalanan hidupku, saya tidak bisa menahan senyum saat mengingat kata-kata sederhana yang seringkali diucapkan dalam pemrograman komputer: &quot;Hello, World!&quot; Namun, dalam konteks kehidupan pribadi saya, frasa itu bukan hanya sekadar pesan pertama yang ditampilkan, melainkan sebuah perjalanan menuju pembaruan diri yang menarik dan penuh makna. Artikel ini akan memberikan sudut pandang orang pertama mengenai awal mula perjalanan hidupku menuju transformasi menjadi seseorang yang baru.

## Masa Kecil: Nafsu untuk Menemukan Dunia

Saya dilahirkan dengan rasa ingin tahu yang besar. Sejak masa kecil, saya selalu ingin mengeksplorasi dan menemukan dunia di sekitar saya. Setiap hari adalah petualangan baru, dan setiap pertanyaan yang muncul adalah kesempatan untuk belajar. Kecintaan saya terhadap buku dan bacaan awal telah membuka pintu ke berbagai pengetahuan dan kreativitas.

## Pendidikan Awal: Fondasi Pemahaman

Pendidikan awal saya sangat berperan dalam membentuk pandangan hidup saya. Keluarga saya selalu memberikan dukungan tanpa batas dalam hal eksplorasi dan belajar. Saya tumbuh dengan pemahaman bahwa pengetahuan adalah kunci untuk meraih impian. Saat sekolah dasar, saya pertama kali terpapar pada dunia komputasi. Rasanya seperti menemukan alat ajaib yang dapat mengubah dunia.

## Saat Ketertarikan Berkembang: Cinta untuk Teknologi

Semakin dewasa, minat saya pada teknologi semakin berkembang. Saya mulai mendalami pemrograman komputer dan merasa terpanggil untuk menggali lebih dalam. Kemampuan untuk menciptakan dan memecahkan masalah dengan kode membawa kepuasan yang luar biasa. Saya menjadi penggemar pemrograman yang gigih dan berambisi untuk memperluas keterampilan saya.

## Menghadapi Tantangan: Belajar dari Gagal

Seperti kebanyakan perjalanan, tidak semuanya berjalan mulus. Saya mengalami kegagalan dalam berbagai tingkatan perjalanan ini. Saat-saat sulit itu mengajar saya untuk tidak hanya menghargai kemenangan, tetapi juga melihat pelajaran yang tersembunyi dalam kegagalan. Saya belajar bahwa setiap kesalahan adalah peluang untuk tumbuh dan menjadi lebih baik.

## Membangun Karir: Dari Impian ke Kenyataan

Setelah menyelesaikan pendidikan formal saya, saya memasuki dunia profesional dengan tekad yang kuat. Saya memulai karir di bidang teknologi informasi dan perangkat lunak. Pekerjaan-pekerjaan ini tidak hanya memungkinkan saya untuk menerapkan pengetahuan saya, tetapi juga untuk terus belajar dan berkembang. Saya mengejar impian saya dan melihat perlahan-lahan bagaimana transformasi hidup saya menjadi nyata.

## Interaksi dengan Orang Lain: Dukungan dan Pembelajaran

Perjalanan ini juga dipengaruhi oleh interaksi dengan berbagai individu. Teman-teman, mentor, dan kolega telah memberikan dukungan tak ternilai. Mereka adalah sumber inspirasi dan pengetahuan yang berharga. Saya menyadari bahwa perjalanan ini bukan hanya tentang diri saya sendiri, tetapi juga tentang kontribusi yang dapat saya berikan kepada orang lain.

## Saat Ini dan Masa Depan: Terus Melangkah

Saat ini, saya melihat kembali perjalanan ini dengan rasa syukur dan bangga atas perubahan yang telah saya alami. Saya yakin bahwa perjalanan ini belum berakhir. Masa depan penuh dengan potensi dan peluang yang menunggu untuk dijelajahi. Saya akan terus melangkah maju, belajar, dan berbagi pengalaman ini dengan harapan dapat menginspirasi orang lain dalam perjalanan mereka sendiri.

Dalam akhirnya, &quot;Hello, World!&quot; tidak hanya kata-kata biasa. Mereka adalah sapaan untuk perubahan, pengejaran impian, dan pembelajaran yang tak pernah berhenti. Semoga perjalanan hidup Anda sendiri penuh dengan rasa ingin tahu, hasrat untuk belajar, dan kesempatan untuk mengubah diri menjadi seseorang yang lebih baik. Selamat menjalani perjalanan Anda sendiri, menuju pembaruan diri yang luar biasa.</content:encoded><author>Khoirul &lt;ahmusafir.khoirul@gmail.com&gt;</author></item></channel></rss>