Wednesday, September 9, 2026

Menjadi Programmer Bukan Hanya Tentang Coding, Tapi Tentang Mempermudah Kehidupan

Semenjak menjadi seorang programmer, ada satu cara pandang yang perlahan berubah dalam diri saya.

Saya mulai berpikir bahwa ilmu pemrograman seharusnya tidak hanya digunakan untuk membuat aplikasi yang terlihat canggih, bekerja di perusahaan besar, atau sekadar menyelesaikan tugas dari klien. Lebih dari itu, saya merasa bahwa ilmu yang kita miliki sebagai programmer seharusnya juga bisa membantu kehidupan kita sendiri sehari-hari.

Bagi saya, belajar programming bukan hanya tentang bagaimana menulis kode, membuat database, atau membangun sebuah website. Programming adalah tentang bagaimana kita melihat sebuah masalah, kemudian mencoba mencari cara untuk membuat masalah tersebut menjadi lebih sederhana.

Dari situlah saya mulai bertanya kepada diri sendiri:

"Kalau saya bisa membuat aplikasi, kenapa tidak saya gunakan kemampuan ini untuk membantu kehidupan saya sendiri?"

Dari Masalah Kecil Menjadi Sebuah Aplikasi

Dalam kehidupan sehari-hari sebenarnya ada banyak hal kecil yang bisa dibuat menjadi lebih praktis dengan bantuan teknologi.

Misalnya ketika membutuhkan tanda tangan untuk keperluan administrasi. Daripada harus selalu mencetak dokumen, menandatangani, kemudian memindai kembali dokumen tersebut, saya mulai berpikir bagaimana jika proses tersebut bisa saya bantu dengan aplikasi sederhana?

Begitu juga dengan kartu nama.

Sebagai programmer, saya bisa membuat kartu nama digital yang tidak hanya berisi nama dan nomor telepon, tetapi juga bisa berisi profil, pekerjaan, portofolio, media sosial, hingga tautan ke berbagai informasi tentang diri saya.

Hal yang sama juga berlaku untuk kartu undangan pernikahan.

Undangan digital saat ini sudah menjadi sesuatu yang sangat umum. Tetapi daripada hanya menggunakan template yang sudah tersedia, saya justru merasa tertantang untuk membuatnya sendiri. Saya bisa menentukan desain, fitur, informasi, hingga bagaimana orang lain berinteraksi dengan undangan tersebut.

Kemudian muncul kebutuhan lain: CV online.

Ketika ingin melamar pekerjaan, saya tidak hanya ingin mengirimkan sebuah file PDF. Saya ingin memiliki sebuah halaman yang benar-benar menggambarkan diri saya sebagai seorang programmer.

Di dalamnya bisa terdapat profil, pengalaman, kemampuan, proyek yang pernah dibuat, portofolio, serta berbagai informasi lain yang mungkin tidak cukup ditampilkan hanya melalui selembar CV.

Akhirnya saya mulai menyadari bahwa beberapa kebutuhan pribadi saya ternyata bisa saya selesaikan dengan kemampuan programming yang saya miliki.

Saya Mulai Membangun Aplikasi untuk Diri Sendiri

Dari pemikiran tersebut, saya mulai membangun beberapa aplikasi yang memang saya gunakan untuk kebutuhan pribadi.

Bukan karena aplikasinya harus besar.

Bukan juga karena aplikasinya harus digunakan oleh ribuan orang.

Tetapi karena saya membutuhkannya.

Menurut saya, ini adalah salah satu cara belajar programming yang menarik.

Ketika kita membangun sesuatu yang benar-benar kita gunakan sendiri, kita akan lebih memahami masalah yang ingin diselesaikan.

Kita tahu apa yang kurang.

Kita tahu fitur apa yang dibutuhkan.

Kita juga bisa langsung merasakan apakah aplikasi tersebut benar-benar membantu atau justru membuat sesuatu menjadi lebih rumit.

Dengan begitu, proses programming menjadi lebih dekat dengan kehidupan sehari-hari.

Programmer dan Kemampuan Memecahkan Masalah

Semakin lama belajar programming, saya semakin merasa bahwa kemampuan utama seorang programmer sebenarnya bukan sekadar bisa menulis kode.

Yang lebih penting adalah kemampuan memecahkan masalah.

Kode hanyalah alat.

Ketika ada masalah dalam kehidupan sehari-hari, kita bisa mencoba melihatnya dengan cara berpikir seorang programmer.

Apa masalahnya?

Apa yang membuat masalah tersebut terjadi?

Bagaimana prosesnya sekarang?

Bagian mana yang bisa dibuat lebih sederhana?

Apakah ada pekerjaan yang dilakukan berulang-ulang?

Apakah pekerjaan tersebut bisa diotomatisasi?

Pertanyaan-pertanyaan sederhana seperti itu ternyata bisa membuka banyak kemungkinan.

Dan terkadang jawabannya adalah sebuah aplikasi sederhana.

Tidak Harus Selalu Membuat Sesuatu yang Besar

Saya juga belajar bahwa membuat aplikasi tidak harus selalu dimulai dari sebuah ide startup.

Tidak semua aplikasi harus menghasilkan uang.

Tidak semua proyek harus memiliki ribuan pengguna.

Tidak semua kode harus menjadi produk komersial.

Kadang-kadang kita membuat sebuah aplikasi hanya karena aplikasi tersebut membantu diri kita sendiri.

Menurut saya, itu sudah menjadi alasan yang cukup.

Sebuah program kecil yang menghemat waktu kita beberapa menit setiap hari mungkin jauh lebih berarti daripada sebuah proyek besar yang tidak pernah benar-benar digunakan.

Karena pada akhirnya, teknologi seharusnya dibuat untuk membantu manusia.

Dan jika saya sebagai programmer bisa menggunakan kemampuan saya untuk membantu diri sendiri, mengapa tidak?

Programming sebagai Bagian dari Kehidupan

Saya ingin melihat programming bukan hanya sebagai pekerjaan.

Programming adalah salah satu cara saya menyelesaikan masalah.

Ketika membutuhkan sesuatu, saya tidak selalu berpikir:

"Di mana saya bisa membeli atau mendapatkan aplikasi ini?"

Terkadang saya justru berpikir:

"Bisakah saya membuatnya sendiri?"

Pertanyaan sederhana tersebut membuat saya terus belajar.

Mungkin hasilnya tidak selalu sempurna.

Mungkin desainnya masih sederhana.

Mungkin aplikasinya masih memiliki banyak kekurangan.

Tetapi dari proses tersebut saya mendapatkan sesuatu yang lebih penting: pengalaman.

Saya belajar bagaimana mengubah kebutuhan menjadi ide, ide menjadi rancangan, rancangan menjadi kode, dan akhirnya menjadi sesuatu yang benar-benar bisa digunakan.

Dari Programmer untuk Programmer

Saya percaya bahwa setiap programmer memiliki masalah sehari-hari yang sebenarnya bisa diselesaikan dengan kemampuannya sendiri.

Tidak perlu menunggu memiliki kemampuan yang sangat tinggi.

Tidak perlu menunggu menjadi senior programmer.

Tidak perlu menunggu memiliki tim.

Mulailah dari masalah yang paling dekat dengan kita.

Buat sesuatu yang kita butuhkan.

Gunakan sendiri.

Perbaiki.

Kemudian, jika ternyata bermanfaat bagi orang lain, kita bisa membagikannya.

Mungkin dari sebuah aplikasi sederhana untuk kebutuhan pribadi, suatu hari bisa berkembang menjadi sesuatu yang lebih besar.

Tetapi kalaupun tidak, tidak masalah.

Karena setidaknya ilmu yang kita pelajari tidak hanya berhenti di layar komputer.

Ilmu tersebut sudah menjadi bagian dari kehidupan kita.

Bagi saya, menjadi programmer bukan hanya tentang kemampuan membuat program.

Menjadi programmer adalah tentang menggunakan kemampuan tersebut untuk membuat kehidupan menjadi sedikit lebih mudah.

Dan mungkin, itulah alasan saya terus belajar programming sampai sekarang.

Sunday, September 6, 2026

Renungan filosofis-religius dari sudut pandang seorang programmer

Dari Belajar Programming, Bisakah Kita Memahami Penciptaan Alam Semesta?

Sabar dulu. Dari judulnya mungkin terdengar seperti saya akan membahas sesuatu yang berat. Hahaha.

Tulisan ini bukan bermaksud menjelaskan teori penciptaan alam semesta dari sisi ilmiah. Saya hanya ingin berbagi sedikit pemikiran yang muncul dari sudut pandang saya sebagai seorang programmer, kemudian mencoba menghubungkannya dengan cara saya memahami konsep Tuhan sebagai Pencipta.

Tentu saja, pemikiran ini bisa saja dibantah. Saya pun tidak menganggapnya sebagai sebuah kesimpulan mutlak. Anggap saja ini sebagai sebuah renungan.

Segala sesuatu membutuhkan proses

Ketika seorang programmer ingin membuat sebuah aplikasi, tentu tidak langsung membuka laptop lalu mengetik kode tanpa arah.

Biasanya ada proses yang harus dipikirkan terlebih dahulu.

Apa tujuan aplikasinya? Siapa penggunanya? Bagaimana alurnya? Data apa yang dibutuhkan? Apa yang terjadi ketika pengguna melakukan sesuatu?

Salah satu cara untuk menggambarkan hal tersebut adalah melalui flowchart atau rancangan sistem.

Misalnya, ketika pengguna melakukan login, sistem harus menentukan apakah username dan password benar. Jika benar, pengguna masuk. Jika salah, akses ditolak.

Sederhana, tetapi di balik aplikasi yang terlihat sederhana biasanya terdapat banyak proses yang saling berhubungan.

Dari sini saya mulai berpikir:

Kalau sebuah aplikasi yang dibuat manusia saja membutuhkan rancangan dan sistem agar dapat berjalan, bagaimana dengan alam semesta?

Alam semesta juga memiliki keteraturan

Coba kita lihat sesuatu yang paling dekat dengan kita: tata surya.

Planet-planet bergerak mengikuti hukum fisika. Benda-benda memiliki gravitasi. Bumi berotasi dan berevolusi. Ada pergantian siang dan malam, perubahan musim, serta berbagai proses alam yang saling berhubungan.

Semakin kita mempelajari alam, semakin banyak keteraturan yang kita temukan.

Sebagai programmer, saya terbiasa melihat sesuatu dalam bentuk sistem: ada komponen, ada aturan, ada hubungan antara satu proses dengan proses lainnya.

Karena itu, ketika melihat alam semesta, muncul sebuah pertanyaan dalam pikiran saya:

Apakah keteraturan yang begitu kompleks ini hanya sekadar sesuatu yang terjadi begitu saja, atau ada sesuatu yang menjadi penyebab di baliknya?

Di sinilah pemikiran saya mulai bersinggungan dengan agama.

Programmer dan Tuhan

Seorang programmer menciptakan sebuah aplikasi berdasarkan pengetahuan dan kemampuannya.

Ia menentukan bagaimana aplikasi tersebut bekerja, bagaimana satu bagian berhubungan dengan bagian lainnya, dan bagaimana sistem merespons berbagai kondisi.

Tetapi kemampuan programmer tetap terbatas.

Program yang dibuat manusia bisa memiliki bug. Bisa mengalami error. Bisa berhenti bekerja. Bahkan aplikasi yang sangat bagus pun suatu saat mungkin membutuhkan perbaikan atau perubahan.

Lalu saya mencoba membandingkannya dengan konsep Tuhan.

Dalam keyakinan agama, Tuhan bukanlah pencipta yang memiliki keterbatasan seperti manusia. Tuhan dipahami sebagai Zat Yang Maha Mengetahui dan Maha Kuasa.

Jika seorang programmer membutuhkan rancangan untuk membangun sebuah sistem sederhana, sementara alam semesta memiliki sistem yang jauh lebih besar dan kompleks, maka bagi saya hal tersebut justru menjadi sesuatu yang semakin mengagumkan.

Bukan karena saya menganggap Tuhan bekerja seperti programmer yang membuat flowchart.

Tentu saja analogi tersebut memiliki batas.

Saya hanya mencoba menggunakan sesuatu yang saya pahami—yaitu programming—untuk merenungkan sesuatu yang jauh lebih besar daripada kemampuan saya memahami seluruh alam semesta.

Apakah alam semesta seperti sebuah program?

Mungkin tidak.

Alam semesta bukan aplikasi komputer, dan Tuhan bukan programmer dalam pengertian manusia.

Tetapi analogi tersebut membuat saya menyadari satu hal:

Manusia yang memiliki kemampuan terbatas saja mampu menciptakan sesuatu yang begitu kompleks melalui ilmu pengetahuan dan perancangan. Lalu bagaimana dengan alam semesta yang jauh lebih besar dan kompleks daripada apa pun yang mampu kita ciptakan?

Bagi saya, pertanyaan tersebut menarik untuk direnungkan.

Dan pada akhirnya, mungkin bukan tentang apakah alam semesta benar-benar memiliki "flowchart" seperti sebuah aplikasi.

Melainkan tentang bagaimana kita memandang keteraturan yang ada di dalamnya.

Bagi sebagian orang, keteraturan alam semesta mungkin cukup dipahami melalui hukum-hukum fisika.

Bagi orang lain, keteraturan tersebut justru menjadi salah satu alasan untuk melihat adanya Sang Pencipta.

Bagi saya sendiri, semakin banyak belajar tentang bagaimana sebuah sistem bekerja, semakin saya menyadari betapa terbatasnya kemampuan manusia.

Dan justru dari kesadaran tentang keterbatasan itu, saya semakin mudah memahami mengapa dalam agama Tuhan disebut sebagai Maha Mengetahui dan Maha Kuasa.

Mungkin tulisan ini tidak memberikan jawaban tentang bagaimana alam semesta diciptakan.

Tetapi setidaknya, sebagai seorang programmer, saya mendapatkan satu cara sederhana untuk merenungkan kebesaran Sang Pencipta:

Jika manusia yang terbatas saja mampu menciptakan sistem yang kompleks, bagaimana dengan Tuhan yang diyakini sebagai Pencipta seluruh alam semesta?

Apakah Vibe Coding Tidak Cocok dengan Kerja TIM ??

Apakah Vibe Coding Tidak Cocok dengan Kerja Tim?

Pertanyaan ini cukup sering muncul di benak saya.

Sejak hadirnya AI (Artificial Intelligence), saya merasa cara kerja programmer mengalami perubahan yang cukup drastis. Dulu, saya melihat bahwa semakin banyak anggota dalam sebuah tim, semakin besar pula pekerjaan yang bisa dibagi. Setiap programmer dapat mengerjakan bagian yang berbeda sehingga proses pengembangan aplikasi bisa berjalan lebih cepat.

Namun, semenjak AI mulai digunakan secara intensif dalam proses programming, pola tersebut seolah mulai berubah. Pekerjaan yang sebelumnya membutuhkan beberapa programmer kini bisa dikerjakan oleh lebih sedikit orang, bahkan dalam beberapa kasus bisa dikerjakan oleh satu orang dengan bantuan AI.

Lalu, apakah ini berarti cara kerja dengan AI lebih cocok untuk personal daripada kerja tim?

Dari Pengalaman Pribadi

Saya mempertanyakan hal ini karena pernah memiliki pengalaman mengerjakan sebuah proyek aplikasi bersama seorang teman.

Saya belajar satu hal yang cukup menarik dari pengalaman tersebut.

Teman saya sebenarnya memiliki dasar programming yang cukup baik, tetapi dia sudah terbiasa menggunakan pendekatan vibe coding dalam mengembangkan aplikasi. Hampir seluruh proses pengembangan dalam proyek tersebut sangat bergantung pada AI, termasuk menggunakan berbagai AI coding tools seperti 9router, Hermes, dan tools lainnya.

Sementara itu, saya sendiri masih tergolong baru dalam memahami dan menerapkan vibe coding. Akibatnya, saya cukup kesulitan mengikuti cara berpikir dan pola kerja yang digunakan.

Bukan karena salah satu cara lebih baik atau lebih buruk, tetapi karena cara kami memahami dan membangun kode memang berbeda.

Sebagai contoh:

  • Vibe coding cenderung memungkinkan proses pengembangan berjalan sangat cepat dengan bantuan AI.
  • Saya sendiri masih terbiasa membangun kode secara bertahap dan sederhana terlebih dahulu, kemudian melakukan peningkatan kualitas setelah struktur dasarnya selesai.
  • Vibe coding sangat bergantung pada kemampuan memberikan instruksi, memahami hasil yang diberikan AI, lalu melakukan iterasi dengan cepat.
  • Sementara saya masih membutuhkan lebih banyak waktu untuk memahami setiap bagian kode sebelum melanjutkan ke bagian berikutnya.

Perbedaan tersebut mungkin terlihat sederhana, tetapi ketika dilakukan dalam satu proyek bersama, dampaknya bisa cukup besar.

Saya harus memahami kode yang dihasilkan AI, sementara teman saya sudah terbiasa dengan pola tersebut. Akhirnya, bukan hanya kode yang harus saya pahami, tetapi juga cara berpikir di balik proses coding menggunakan AI.

Apakah Kita Harus Mengikuti Cara Kerja AI?

Dari pengalaman tersebut, saya kemudian menyadari bahwa mungkin saya memang harus mulai belajar mengikuti perubahan cara kerja ini.

Walaupun secara pribadi saya belum sepenuhnya bisa menerima pola tersebut, saya merasa tetap perlu mencobanya.

AI memang memberikan kecepatan yang luar biasa dalam proses development. Sesuatu yang sebelumnya mungkin membutuhkan waktu berjam-jam atau bahkan berhari-hari, sekarang dapat dibuat jauh lebih cepat dengan bantuan AI.

Tetapi di sisi lain, saya mulai melihat adanya tantangan ketika pola kerja tersebut diterapkan dalam sebuah tim.

Setiap programmer memiliki kemampuan, pengalaman, kebiasaan, dan cara memahami kode yang berbeda. Ketika satu orang dalam tim sudah sangat terbiasa dengan vibe coding, sementara anggota lainnya masih menggunakan pendekatan programming konvensional, bisa muncul perbedaan cara berpikir dan cara membaca kode.

Dan menurut saya, inilah bagian yang menarik untuk dibahas.

Apakah Vibe Coding Memang Tidak Cocok untuk Tim?

Dari pengalaman pribadi saya, saya mulai berpikir bahwa vibe coding saat ini terasa lebih mudah diterapkan untuk pekerjaan personal dibandingkan pekerjaan tim.

Bukan berarti vibe coding tidak bisa digunakan dalam tim.

Masalahnya mungkin lebih kepada bagaimana tim tersebut menyamakan cara kerja.

Ketika semua anggota tim memiliki pemahaman yang sama tentang penggunaan AI, standar coding, struktur proyek, dokumentasi, dan cara melakukan review terhadap kode yang dihasilkan AI, tentu vibe coding juga bisa menjadi sangat powerful untuk kerja tim.

Namun, jika hanya satu atau dua orang yang menggunakan AI secara intensif sementara anggota lainnya belum terbiasa, maka kecepatan yang diberikan AI justru bisa menciptakan masalah baru.

Kode mungkin bisa dibuat lebih cepat, tetapi belum tentu semua anggota tim bisa memahami, memelihara, dan mengembangkan kode tersebut dengan kecepatan yang sama.

Dan mungkin, di sinilah tantangan terbesar dalam era AI programming.

Bukan lagi hanya tentang seberapa cepat kita bisa membuat kode, tetapi seberapa cepat seluruh tim bisa memahami kode yang dibuat dengan bantuan AI.

Kesimpulan

Pengalaman ini membuat saya belajar bahwa AI memang mengubah cara programmer bekerja.

Dulu, peningkatan jumlah programmer mungkin berarti lebih banyak pekerjaan yang bisa dibagi. Sekarang, dengan bantuan AI, satu programmer bisa memiliki kemampuan produksi yang jauh lebih besar.

Tetapi peningkatan produktivitas individu tidak selalu berarti kolaborasi tim menjadi lebih mudah.

Mungkin ke depannya kita bukan hanya perlu belajar programming, tetapi juga perlu belajar bagaimana bekerja bersama programmer lain yang memiliki cara kerja berbasis AI.

Jadi, apakah vibe coding tidak cocok dengan kerja tim?

Menurut saya, bukan tidak cocok. Tetapi cara kerja tim di era AI memang perlu berubah.

Dan tulisan ini hanyalah pendapat serta pengalaman pribadi saya setelah mencoba bekerja dalam sebuah proyek dengan pendekatan yang cukup berbeda antara programming konvensional dan vibe coding.

Mungkin pengalaman programmer lain justru berbeda.

Karena itu, saya juga tertarik mendengar pengalaman teman-teman:

Apakah menurut kalian vibe coding membuat kerja tim menjadi lebih mudah, atau justru lebih sulit?


Friday, August 28, 2026

download youtube video

 Langkah Langkah :

1. download dan install yt-dlp.exe

2. download dan install ffmpeg.exe

3. download dan install deno (optional)

4. jalankan komen berikut di command line dan di folder installasi yt-dlp nya : 

[ yt-dlp.exe -f "bv*+ba/b" --merge-output-format mp4 --postprocessor-args "Merger:-c:a aac" "https://www.youtube.com/watch?v=UUID" ]

Saturday, August 15, 2026

Ide Ide yang bisa di jadikan untuk membantu kehidupan sehari hari

 1. Pengumpulan Data Jadwal Kereta dipulau Jawa

    API stasiun: https://kci.id/api/krl/stations

    API RoadMap : https://kci.id/api/krl/routemap

 2. Provinsi Seluruh Indonesia

    API : https://wilayah.id/api/provinces.json

3. Wisata Indonesia

   API : https://github.com/ypxio/noesantara/blob/master/res/data/pariwisata.json

4. SVG Peta indonesia 

   https://upload.wikimedia.org/wikipedia/commons/8/8a/Peta_provinsi_Indonesia.svg?utm_source=commons.wikimedia.org&utm_campaign=index&utm_content=original

Saturday, May 30, 2026

Set Cookie dan Remove Cookie dengan php vanilla.js

<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button type="button" onclick="abc()">SetCookie</button><br/>
    <button type="button" onclick="def()">RemoveCookie</button><br/>
    <?php
        if (isset($_COOKIE['username'])) {
            echo "Username: " . $_COOKIE['username']."<br>";
            $decoded = base64_decode($_COOKIE['username']);
            if($decoded){
                echo $decoded;
            }else{
                echo "gagal";
            }
        } else {
            echo "Cookie tidak ditemukan";
        }
    ?>
</body>
<script>
    function abc(){
        const bbb = 'aqresdtcghxi@gmail.com';
        const ccc = btoa(bbb);
        if(document.cookie = `username=${ccc}`){
            alert('cookie set');
           window.location.reload();
        }else{
            alert('cookie not set');
            window.location.reload();
        }

    }
    function def(){
       document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
       alert('cookie remove');
       window.location.reload();
    }
</script>
</html>

Thursday, April 23, 2026

Chaos Game dan Fraktal dengan PHP

 <?php


$width = 500;
$height = 500;
$image = imagecreatetruecolor($width, $height);

$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);

imagefill($image, 0, 0, $white);

$points = [
    [250, 20],   // atas
    [20, 480],   // kiri bawah
    [480, 480]   // kanan bawah
];

$x = rand(0, $width);
$y = rand(0, $height);

for ($i = 0; $i < 50000; $i++) {

    $randIndex = rand(0, 2);
    $target = $points[$randIndex];

    $x = ($x + $target[0]) / 2;
    $y = ($y + $target[1]) / 2;

    imagesetpixel($image, $x, $y, $black);
}

header("Content-Type: image/png");
imagepng($image);
imagedestroy($image);
?>

Menjadi Programmer Bukan Hanya Tentang Coding, Tapi Tentang Mempermudah Kehidupan

Semenjak menjadi seorang programmer, ada satu cara pandang yang perlahan berubah dalam diri saya. Saya mulai berpikir bahwa ilmu pemrograman...