20 poin oleh GN⁺ 2025-07-20 | 4 komentar | Bagikan ke WhatsApp
  • Saat ini, metodologi pengembangan AI masih belum mapan sehingga semua orang sedang bereksperimen
  • Di era AI, konsep pakar tradisional kehilangan makna, dan semua orang menjadi pemula abadi
  • Proses pengembangan nyata terjadi melalui akumulasi dokumen improvisasional dan trial and error yang berulang
  • Saat berkolaborasi dengan AI, hasil yang sangat besar bisa dihasilkan hanya dengan waktu fokus yang singkat dan input yang minimal
  • Sistem dokumentasi versi masing-masing juga bersifat sementara, dan semua orang sedang melanjutkan eksperimen sekali pakai

The Great Experiment Nobody's Running the Same Way

  • Dalam pengembangan AI, tidak ada seorang pun yang tahu metode baku
  • Ini adalah lingkungan di mana keahlian yang terakumulasi, seperti teori 10.000 jam Malcolm Gladwell, menjadi tidak terlalu berguna
    • Laju perkembangan alat AI terlalu cepat sehingga sulit membangun kemahiran
  • Bahkan AI pair programming pun pengalaman kolektifnya masih di bawah 2 tahun, jadi semua orang selalu pemula

My Current Experiment (Subject to Change)

  • Ada 4 dokumen utama yang dijadikan acuan sebelum memulai pekerjaan
    • pair_programming.md
    • project_plan_{some extension}.md
    • technical_considerations.md
    • mcp-browser-architecture.md
  • Sistem dokumen ini juga bukan dirancang sejak awal, melainkan hasil akumulasi spontan
    • Awalnya dimulai dari satu dokumen terkait arsitektur, lalu karena masalah yang berulang dan kendala penyampaian informasi, jumlah dokumennya bertambah menjadi empat
    • Empat dokumen itu bukan ditetapkan sebagai hasil optimal, melainkan karena terasa sudah cukup tanpa perlu menambah lagi
  • Kadang terasa seperti sedang bermain peran terhadap diri sendiri dengan mengatakan, "ini dokumen arsitekturnya" dan "ini proses resminya"
  • Perangkat lunaknya benar-benar berjalan, dan poin pentingnya adalah bahwa sistem sementara seperti ini pun tetap bisa menghasilkan hasil nyata
  • Peran masing-masing dokumen adalah sebagai berikut
    • Architecture Overview: Berangkat dari README, mencatat 'perangkat lunak ini tampaknya melakukan apa'
    • Technical Considerations: Mendokumentasikan frustrasi atau masalah yang berulang, menambahkan detail setiap kali Claude kebingungan
    • Workflow Process: Mendokumentasikan prosedur yang terus diulang; pada kenyataannya ini bukan aturan resmi atau dokumen suci yang tak boleh disentuh, melainkan kumpulan cara yang kebetulan efektif kali ini
    • Story Breakdown: Potongan pekerjaan yang dipecah per 15-30 menit. Karena Claude cepat lupa, ini dipakai untuk sering menyegarkan konteks percakapan

Time Dilation in the Age of AI - Distorsi Waktu di Era AI

  • Baru-baru ini saat mengembangkan Protocollie, kolaborasi dengan AI terasa sebagai pengalaman yang benar-benar mengguncang persepsi waktu dalam pengembangan perangkat lunak
  • Proyek berjalan dengan cara memberi instruksi kepada Claude untuk mengerjakan fitur tertentu, lalu di sela-selanya menikmati kehidupan pribadi, sambil secara berkala melakukan pengecekan dan memberi umpan balik singkat
  • Waktu yang benar-benar dipakai untuk fokus "bekerja" hanya sekitar 90 menit per hari, tetapi AI di sela waktu itu tetap dengan cepat menghasilkan ribuan baris kode
  • Karena hasil muncul terlalu cepat dan terlalu banyak dibanding inputnya, rumus lama tentang input-output, usaha-hasil, waktu-kemajuan menjadi runtuh
  • Kadang pengembangan yang secepat ini bahkan menimbulkan rasa bersalah; ada kebingungan karena tidak cocok dengan paradigma pengembangan tradisional, dan sesekali terasa seperti sedang curang

Tahap "eksperimen spaghetti"

Lingkungan pengembangan AI saat ini digambarkan sebagai tahap "eksperimen spaghetti"

  • Artinya, proses melempar spaghetti ke dinding secara eksperimental itu sendiri punya makna; tidak terlalu penting apa yang akhirnya menempel atau tersisa. Tindakan melemparnya sendiri adalah eksperimen
  • Berbagai kesalahan, eksperimen yang gagal, dan prosedur yang kebetulan berhasil berperan sebagai titik data dalam eksperimen kolektif
  • Sistem 4 dokumen yang dipakai penulis pun bisa menjadi tidak berarti kapan saja, dan yang penting adalah mempertahankan semangat eksperimen

Mendefinisikan Ulang Apa Itu Pemrograman - What Even Is Programming Anymore?

Melihat kembali sejarah coding, penulis menyadari bahwa dengan berkembangnya abstraksi, kita telah memasuki era di mana "apa yang saya inginkan saya jelaskan, lalu itu diwujudkan"

  • Pemanfaatan AI berubah menjadi sesuatu yang lebih dari sekadar lapisan abstraksi baru, melainkan entitas yang benar-benar berbeda
  • Pemrograman saat ini tidak lagi terutama menuntut pengetahuan sintaks, pemahaman algoritme, atau kemampuan desain sistem, melainkan kemampuan baru seperti 'imajinasi yang konkret' dan 'ekspresi niat yang presisi'
  • "Kemampuan menjelaskan apa yang diinginkan secara konsisten dan jelas" menjadi hal yang paling penting

Makna Filosofis dari Sistem Empat Dokumen - The Four-Document System as Accidental Philosophy

  • Pada akhirnya, sistem 4 dokumen ini adalah catatan tentang ingatan dan kelupaan, tentang "rekaman pengalaman yang tidak ingin diulang lagi"
    • Architecture Overview: "apa yang ingin saya ketahui jika saya mengalami amnesia"
    • Technical Considerations: "masalah yang tidak ingin saya ulangi lagi"
    • Workflow Process: "pola yang tidak ingin saya lewatkan"
    • Story Breakdown: "bagaimana membuat kemajuan dalam situasi yang selalu terasa seperti memulai dari nol"
  • Semua dokumen pada akhirnya berperan sebagai pesan untuk diri sendiri di masa depan
    • Pada dasarnya, ini adalah semacam panduan yang dikirim kepada diri sendiri untuk mengantisipasi hilangnya informasi

Dataran Tinggi yang Tidak Stabil dan Pemula Permanen - The Uncomfortable Plateau

Saat ini, semua orang seperti menjadi developer junior, selamanya berada dalam kondisi pemula yang tidak stabil

  • Tidak seperti junior tradisional, laju perubahan teknologi membuat kita bahkan tidak punya waktu untuk menjadi mahir
  • Di tengah 'hukum fisika' yang terus berubah, adaptasi dan semangat eksperimen menjadi lebih penting daripada kemahiran yang stabil
  • Ketidakpastian ini akan menakutkan jika ada obsesi pada kontrol, tetapi jika diterima, ia juga memberi rasa lega yang besar

Where This All Goes

Tidak ada yang tahu apa yang akan dibangun berikutnya, proses seperti apa yang akan dipakai, atau apakah empat dokumen yang dibuat kali ini akan terus digunakan

  • Semua developer pada saat yang sama adalah ahli dalam rutinitasnya sendiri, tetapi pemula total dalam situasi baru
  • Ketika pekerjaan 4 hari bisa setara dengan beberapa bulan di masa lalu, kemampuan untuk 'menjelaskan apa yang diinginkan' muncul sebagai skill yang menentukan
  • Empat dokumen milik penulis juga bukan rekomendasi atau template, melainkan hanya satu jejak dari eksperimen kolektif
  • Dokumen, proses, dan metode semuanya adalah produk sementara, dan cara orang lain belum tentu menjadi jawaban untuk diri sendiri

Pada akhirnya, kita semua sedang membangun istana pasir (perangkat lunak) saat air surut, sambil sadar bahwa gelombang kemajuan akan segera menyapunya lagi
Tak lama lagi, seseorang akan mencoba sistem 3 dokumen, sistem 5 dokumen, atau pendekatan yang sama sekali berbeda, dan cara itu pun bisa efektif

Kesimpulan

  • Pengembangan bersama AI adalah eksperimen kolektif dan rangkaian trial and error yang kreatif
  • Bahkan proses yang dipakai selama seminggu pun bisa cepat menjadi artefak masa lalu
  • Jejak orang lain mungkin bisa membantu, tetapi yang benar-benar penting adalah membangun jalan masing-masing

Terakhir, empat dokumen yang digunakan penulis saat ini dipublikasikan di GitHub

  • Ini sama sekali bukan jawaban mutlak atau template, melainkan contoh satu eksperimen pada periode tertentu
  • Ditekankan bahwa jejak orang lain boleh dijadikan referensi, tetapi tidak perlu diikuti mentah-mentah
  • Mengembangkan eksperimen dan metodologi masing-masing adalah ekosistem pengembangan baru di era AI

4 komentar

 
laeyoung 2025-07-22

Saya tadinya ingin menerjemahkan dan mengunggahnya saat akhir pekan, tetapi ternyata GN+ sudah mendahului saya 🥲

 
truestar 2025-07-22

Bagian "struktur dokumentasi juga bukan sesuatu yang dirancang dari awal, melainkan hasil yang menumpuk secara spontan" itu benar-benar sangat relatable dan bikin nyengir. haha

 
sinbumu 2025-07-22

Entah siapa yang dipanggil guru, ada komentar dari orang sesat aneh di sini.

 
GN⁺ 2025-07-20
Opini Hacker News
  • Saya benar-benar sangat setuju dengan tulisan ini. Saya kebetulan menemukan Kidlin’s Law, yaitu teori bahwa “jika Anda bisa menuliskan masalah dengan jelas, berarti setengah masalahnya sudah terselesaikan.” Ini adalah prinsip yang sangat kuat di era AI sekarang. Ketika bahasa alami menjadi sarana utama untuk berkomunikasi dengan teknologi, jika kita bisa mendefinisikan masalah dengan jelas, kita juga bisa memaksimalkan potensi AI. Pendekatan coding asinkron juga sangat menarik. Secara pribadi saya sangat sering menggunakan Repl.it, dan perubahan ini luar biasa karena saya bisa fokus pada pemecahan masalah. Saat menggunakan alat coding, rasanya seperti mendapatkan bintang atau jamur di Mario Kart. Sangat menyenangkan, tetapi kadang AI juga bisa benar-benar melenceng ke arah aneh sehingga intervensi keputusan secara real-time tetap diperlukan. Dulu mengelola satu stack saja sudah berat, sekarang rasanya seperti berhadapan dengan stack tak terbatas

    • Saya juga sering teringat bahwa dalam proses saya sendiri bertumbuh sebagai software engineer, saya menghabiskan banyak waktu untuk mempelajari istilah-istilah di dunia software agar bisa menjelaskan apa yang ingin saya lakukan

    • Repl.it kadang ketika berjalan baik bisa menyelesaikan sesuatu dalam hitungan menit, tetapi di lain waktu bisa memakan waktu sepanjang sore. Namun kadang sangat mengecewakan ketika bahkan rekomendasi di bawah kotak prompt pun tidak bekerja dengan benar

    • Sebenarnya menyatakan masalah dengan jelas selalu sulit sejak dulu, dan sekarang pun tetap sama. Memang sangat keren bahwa sekarang ada alat yang bisa mengubah bahasa alami yang jelas menjadi kode, tetapi bahkan jika AGI muncul, pekerjaan membuat spesifikasi yang jelas itu sendiri tidak akan berubah. Berkat alat-alat ini, waktu yang dihabiskan untuk bergulat dengan coding bisa berkurang, tetapi pada akhirnya bagian tersulit tetaplah menulis spesifikasi yang benar-benar jelas

  • Saya sangat menyukai cara baru dalam membuat program ini. Saya tidak tahu akan ke mana arahnya, tetapi untuk saat ini saya puas. Bahkan sekarang saya membuat kode di waktu yang biasanya saya pakai untuk istirahat, dan justru terasa seperti istirahat. Ini sangat bagus terutama untuk developer senior yang sudah lama bekerja. Akhir-akhir ini pekerjaan editing sebagian besar terasa membosankan. Saat melihat kode dan menemukan pola yang salah, kita harus mengubah banyak bagian untuk bereksperimen dengan ide baru; hal-hal yang dulu mengharuskan saya mencari di Stack Overflow dan berpikir keras, sekarang cukup dengan satu petunjuk Copilot, atau Claude langsung menyelesaikan semuanya. Misalnya, saya membuat bursa saham simulasi, dan menghubungkannya ke bursa sungguhan adalah pekerjaan yang sering saya tunda. Sekarang Claude sudah membuat semuanya sementara saya membaca HN. Bahkan implementasi strateginya pun bisa langsung dikerjakan, jadi pekerjaan berulang yang pada dasarnya hanya membosankan bisa langsung selesai. Dulu banyak waktu habis karena typo, menambahkan dependency, dan hal-hal semacam itu, tetapi sekarang tidak perlu lagi. Orang mungkin khawatir kode akan jadi berantakan jika bekerja seperti ini, tetapi saya selalu berdialog dengan Claude sambil meninjau perubahan secara kritis. Pengalaman memang membantu, dan saya juga bisa cepat mendeteksi ketika AI menuju jawaban yang salah. Jadi rasanya saya bertemu alat seperti ini tepat pada momen yang pas dalam karier saya. Masalahnya tersisa pada developer junior. Rasanya seperti langsung naik ke puncak gunung tanpa tangga, jadi saya penasaran bagaimana mereka bisa berkembang

    • Saya setuju tentang prospek developer junior. Saya hampir berusia 50 tahun dan telah memrogram di berbagai bidang selama lebih dari 30 tahun, jadi saya tahu bagaimana menangani agent dengan baik dan membuat arsitektur yang kokoh berdasarkan pengalaman saya. Jika semuanya dimasak oleh AI tanpa pengalaman itu, saya benar-benar penasaran bagaimana generasi setelah kita akan berkembang. Waktu yang akan menjawabnya

    • Saya juga senang memakai large language model, tetapi terus-terusan hanya mengetik prompt terasa membosankan dan juga membuat gelisah. Rasanya seperti tidak benar-benar tahu bagaimana program itu berjalan. Membuat sesuatu secara langsung itu sangat menyenangkan, dan pekerjaan berulang yang sudah pernah saya lakukan atau tugas yang tidak terlalu saya pedulikan saya serahkan ke LLM. Saya bahkan pernah membuat game snake berbasis terminal dengan Claude, dan itu benar-benar menakjubkan

    • Saya penasaran apakah Anda sendiri sadar bahwa Anda tidak bisa lagi kembali ke pekerjaan-pekerjaan kecil yang remeh seperti dulu. Berkat hadirnya LLM, saya jadi lebih ingin keluar rumah saat sedang bekerja. Saya agak iri bahwa developer baru tidak lagi harus mengalami membuang 12 jam menatap monitor hanya karena tidak berhasil menghubungkan dua black box seperti dulu

    • Saya penasaran apakah saat benar-benar mengimplementasikan sesuatu, semua orang menanganinya sekaligus dari awal sampai akhir. Saya selalu mengerjakan implementasi secara berulang dan bertahap sambil menulis dan menyempurnakannya. Kalau diibaratkan menggambar, saya mulai dari gambaran kasarnya dulu, lalu perlahan menambahkan detail. Di setiap tahap, apa yang sebenarnya ingin saya lakukan menjadi sedikit demi sedikit lebih jelas, dan ini cara yang memberi efek maksimal dengan usaha minimal. Dalam coding, gaya saya berpusat pada refactoring: membuat kode seminimal mungkin yang bisa berjalan, lalu meninggalkan komentar TODO dan memperbaikinya secara berulang

    • Sangat menggairahkan bahwa alat-alat seperti ini kini mengambil alih pekerjaan membosankan yang dulu sudah saya lakukan ribuan kali

  • Bagi saya, AI adalah Google Search generasi berikutnya yang bisa berdialog di atas semua informasi yang ada di internet. Seperti mesin pencari yang memasyarakat lalu menghilangkan pekerjaan di berbagai industri seperti surat kabar, buku telepon, ensiklopedia, agen perjalanan, dan sebagainya, AI juga akan membawa perubahan seperti itu. Tetapi saya tidak menganggap ini sebagai krisis eksistensial sebesar yang dibayangkan orang. AI hanyalah sebuah alat. Orang-orang cerdas dan kreatif akan memakai alat ini untuk melakukan banyak hal hebat. Pada akhirnya semua bergantung pada penggunanya. Pencarian kini menjadi percakapan. Dulu kita mencari sendiri, sekarang kita mengobrol dan AI yang mencarikannya untuk kita, bahkan melakukan lebih dari itu

    • Saya tidak yakin antarmuka LLM berbasis chat adalah cara yang optimal. Rasanya kita butuh pendekatan yang lebih cerdas

    • Berbeda dengan masa kejayaan Google, sekarang rasio noise terhadap signal semakin besar, dan sumber datanya juga makin kabur

    • Rasanya hasil pencarian Google sekarang lebih dulu menampilkan sampah yang banyak dibuat AI daripada informasi yang benar-benar berguna

    • Mesin pencari modern hanya memberi jawaban, bukan proses menuju jawaban itu, sehingga peran orang yang benar-benar tahu cara mencari dan mencatat informasi dengan benar sedang menghilang. Jika bagian itu lenyap, pada akhirnya semua orang akan kehilangan arah. Karena AI memanfaatkan kembali informasi yang sudah ada, harus ada cara untuk mengembalikan nilai ekonomi kepada para kreator, terutama jurnalis yang menghasilkan jurnalisme berkualitas. Jika tidak, ada risiko besar fondasi masyarakat demokratis runtuh. Industri berita sendiri sudah lama berada dalam krisis, dan akibatnya kita sudah mengalami ketidakpercayaan, perpecahan, misinformasi, dan manipulasi dari luar. AI bisa menjadi pukulan terakhir yang fatal bagi industri ini. Ini bukan sekadar soal penggantian pekerjaan; arah yang sedang kita tuju sekarang terasa sangat gelap

    • Selain pencarian, ini juga jelas berguna di banyak bidang lain

  • Saya ingin menjalankan Claude Code dari ponsel ke cloud VM, lalu tetap bekerja sambil memberi umpan balik saat sedang berjalan kaki atau bersepeda

  • Rasio input dan output ini menarik. Biasanya kita berusaha memaksimalkan jumlah output, tetapi sekarang justru kebalikannya. Saya bukan ingin jumlah maksimal, melainkan proses kerja yang terpecah menjadi langkah-langkah konkret dan bisa diverifikasi. Saat menulis requirement bersama Cursor, awalnya memang berjalan baik, tetapi ada masalah ketika tanpa sengaja ia menghasilkan banyak kode yang melenceng dari rencana. Ada juga hal-hal kecil yang harus diingatkan berulang kali, seperti tidak bisa menambahkan baris kosong setelah judul Markdown. Saya merasa ingin punya kendali yang lebih besar atas proses iterasi, kualitas, dan konsistensi. AI benar-benar menunjukkan nilainya saat masalah bisa diubah menjadi masalah tertutup yang bisa diuji. Saya butuh alat yang membantu saya mengubah masalah terbuka menjadi masalah tertutup

  • Pengalaman seperti “masuk kantor, menguji apa yang dibuat Claude, lalu kalau berhasil commit dan push” terus berulang, jadi sebagai konsultan keamanan siber saya merasa saya mungkin akan menghasilkan banyak uang ke depannya

    • Itu mungkin saja. Namun kita juga harus ingat, seperti dalam pembicaraan tentang mobil otonom, kesalahan mungkin akan berkurang dibanding manusia, tetapi tidak akan benar-benar hilang
  • Menurut saya ini bukan vibe coding, melainkan sesuatu yang sama sekali baru. Saya menyebutnya “flex coding.” Dalam satu sore saya bisa membuat seluruh aplikasi sekaligus tetap menjadi ayah yang baik. Saya tinggal berkata, “sekarang buatkan UI yang terhubung ke server,” lalu Claude mengoding dan saya kembali ke aktivitas harian saya. Saya bisa membuat sarapan, bermain dengan anak saya, menonton TV, dan di sela-selanya Claude terus coding. Setiap satu atau dua jam saya mampir sebentar untuk menguji dan memberi umpan balik

    • Secara emosional ini sangat menarik, dan memang gaya hidup seperti ini adalah impian banyak orang, tetapi apakah kode dari Claude benar-benar cukup bisa dipercaya? Bisakah dipakai untuk produk yang ditagihkan ke pelanggan atau yang mempertaruhkan reputasi saya? Jawaban saya adalah “tidak.” Dari pengalaman saya memakainya langsung, saya sering melihat reference error, menyalin-tempel tipe yang sudah ada lalu hanya mengganti namanya, dan situasi di mana type error sama sekali tidak ada tetapi hasilnya tetap salah. Saat saya memintanya menulis test code, kalau gagal bukan berarti benar-benar gagal, melainkan malah membuat tes aneh yang pada akhirnya hanya meloloskan verifikasi dirinya sendiri. Menghabiskan waktu berharga bersama keluarga itu bagus, tetapi saya tidak akan merekomendasikan aplikasi yang saya buat seperti itu untuk dipakai di tempat yang penting

    • Ini membuat saya bertanya mengapa orang yang bekerja seperti ini harus diberi gaji, dan juga mengapa saya harus membayar software kalau saya bisa melakukannya sendiri

    • Sebagai peringatan, sebentar lagi mungkin Claude akan mulai mengeluh bahwa sekarang giliran Anda yang harus bekerja

  • Saya merasakan keterbatasan pada alat software yang memanfaatkan LLM. Tidak ada cara untuk menerapkan satu global system prompt yang sama ke semua aplikasi berbasis OpenRouter Key, dan memindahkan percakapan dari satu aplikasi ke aplikasi lain juga merepotkan. Bahkan memberikan hak akses MCP tool yang sama ke semua aplikasi pun tidak berjalan dengan baik. UX Claude Code tampaknya yang terbaik saat ini, tetapi saya tidak ingin terikat pada langganan Claude dan ingin terhubung ke penyedia yang saya mau lewat key saya sendiri

  • Rasanya penulis melewatkan bagian tentang bagaimana mem-prompt aspek-aspek seperti keamanan, internasionalisasi, lokalisasi, aksesibilitas, usability, dan seterusnya dengan sukses. Masalahnya, terlalu banyak amatir yang mengaku sebagai “pembuat software” tanpa elemen kualitas seperti itu. Tanpa aspek-aspek ini, software komersial tidak akan pernah bisa berhasil. Jika seseorang berpikir semua ini bisa dengan mudah diselesaikan lewat prompt, berarti dia tidak punya pengalaman serius di bidang tersebut

    • Kalau mau adil, banyak software komersial di dunia nyata juga tidak benar-benar memperhatikan bagian-bagian ini dengan baik

    • Saya sendiri juga skeptis, tetapi dari empat dokumen yang ditautkan, setidaknya dokumen tentang aksesibilitas dan usability memang ada. Internasionalisasi dan lokalisasi memang tidak terlihat, tetapi saya rasa secara esensial tidak akan terlalu berbeda. Sebaliknya, masalah keamanan benar-benar terasa sebagai ranah yang berbeda

    • Saya heran masih banyak orang yang percaya pengembangan seperti ini akan bisa scale: “sistem empat dokumen saya? pada akhirnya itu cuma spaghetti yang berubah menjadi pola, dan besok semua bisa runtuh. Tinggal lempar spaghetti lagi.”

  • Belakangan ini saya sedang bereksperimen dengan pendekatan pengembangan berbasis model, dan saya sangat beresonansi dengan bagian di tulisan itu yang bertanya “sebenarnya programming itu apa?” Saya memakai 25 tahun pengalaman dan seluruh ilmu computer science saya, tetapi rasanya ini bukan lagi programming tradisional di mana saya menulis kode langsung dengan tangan. Sekarang rasanya lebih seperti pilot yang mengendalikan alat daripada pengrajin yang membuat sesuatu secara manual. Menurut saya, orang yang menikmati kerja manual kemungkinan besar akan meninggalkan industri ini dalam lima tahun ke depan. Tentu masih akan ada bagian yang memerlukan kerja manual, tetapi metodologi baru sedang terbuka. Saat ini belum semua orang mahir dengan metodologi ini, tetapi ini pun akan menjadi bagian dari industri

    • Dulu untuk meningkatkan produktivitas, kita harus memperoleh pengetahuan terlebih dahulu, tetapi berkat LLM sekarang kita bisa langsung melompat ke tahap produktivitas. Ini bukan sekadar demokratisasi pengetahuan, melainkan fenomena di mana pengetahuan itu sendiri menjadi tidak lagi diperlukan