Ngobrolin Dokumentasi - Ngobrolin WEB
🗣️🕸️ Selasa malam waktunya #ngobrolinWEB! Mari membahas tentang berbagai alat untuk membuat dan menampilkan dokumentasi. Tentu saja bersama Ivan dan Eka. 🔔 Akan mulai mengudara pukul 20:00WIB ya. Yuk mari diramaikan! Kunjungi https://ngobrol.in untuk catatan, tautan dan informasi topik lainnya.
Ringkasan Episode
Bantu KoreksiEpisode ini membahas pentingnya dokumentasi dalam pengembangan software. Para host berdiskusi tentang berbagai jenis dokumentasi, mulai dari dokumentasi teknis untuk developer hingga dokumentasi untuk onboarding dan hand-over project. Mereka juga membahas tantangan yang dihadapi developer dalam menulis dokumentasi dan bagaimana AI dapat membantu proses ini. Diskusi mencakup best practices untuk membuat dokumentasi yang baik, termasuk pentingnya memasukkan dokumentasi sebagai bagian dari definition of done dalam sprint. Contoh-contoh dokumentasi bagus seperti Astro dan GitLab juga dibahas, serta peran technical writer sebagai profesi khusus dalam membuat dokumentasi berkualitas.
Poin-poin Utama
- •Dokumentasi sering diabaikan oleh developer karena dianggap tugas yang membosankan, padahal sangat penting untuk hand-over dan onboarding
- •AI dapat membantu menulis dokumentasi, tetapi tetap perlu dicek karena bisa menghasilkan informasi yang tidak akurat (halusinasi)
- •Perusahaan remote/distributed seperti GitLab cenderung memiliki dokumentasi yang lebih baik karena budaya menulis yang kuat
- •Dokumentasi sebaiknya dimasukkan ke dalam task list dan definition of done, bukan dikerjakan di akhir project
- •Engineering documentation minimal harus mencakup: setup lokal, tech stack, credential management, dan kontak untuk akses
- •Compliance seperti SOC 2 mewajibkan dokumentasi yang lengkap, terutama untuk enterprise client
- •Technical writer adalah profesi khusus yang fokus pada pembuatan dokumentasi berkualitas tinggi
Transkrip Bantu Koreksi
0:00[Music]
0:09[Telolet]
0:13Halo, halo.
0:15Halo, selamat datang.
0:17Halo, oh udah pake telolet lagi ya?
0:20- Karena kondisi itu. - Telolet, telolet, telolet, telolet, telolet.
0:25- Semangat dong, semangat. - Gimana nih kabar-kabar?
0:28Kabar-kabar, mudah-mudahan baik ya.
0:30Eh, lihat dulu ada timnus. Oh timnus kemarin ya, aman ya.
0:33- Gak ada kemarin. - Aman.
0:35Kali ini internasional breaknya, gak ada yang gemtrop.
0:39Ada sering ya, ini pindah-pindah dual.
0:41Iya, karena kan dia melihat ada ini, ada acara ngobrolin gue, jadi sebaiknya dipindah.
0:47Gak mau bersaing.
0:49- Serah deh. - Siapa yang pindah mereka?
0:54Iya, takut pendengar atau penonton yang nge-bunuh semakin sedikit.
0:59- Oh, bisa, bisa. - Oh, karena kasihan ya.
1:02- Kasihan. - Kasihan, lebih kekasian ya.
1:05Selamat malam Mas Riki, halo-halo.
1:09Iya, aduh. Gimana-gimana? Lagi pada sibuk, capek?
1:17- Capek. - Capek mah.
1:19- Capek ya. - Capek ya gimana lagi.
1:21Kan sudah dibilang, ini kan Q3, Q3 itu adalah Q quarter dimana semua orang.
1:30- Eksekusi. - Eksekusi.
1:32- Eksekusi ya. Oh, pantes kan. - Eksekusi baru, slowing down.
1:35Oh, pantesan banyak ini ya, banyak galian itu ya, galian di jalanan gitu jadi bikin macet ya.
1:41Kalau galian di jalanan itu biasanya dibongkar dulu, nanti yang ngerjain vendor lain yang urusannya.
1:49Bajenya ke capek kan?
1:51Iya, di garing, ke buka lama, loh, kok mana curhat sih.
1:56Eksekusi kan, di eksekusi, nanti Q4 baru planning lagi, ya kan?
2:02Iya, Q4 diplanning bajetnya buat nutuk, terus kerjanya di Q3 tahun depan.
2:08- Aduh, nggak selesai-selesai ya. - Selesaikan sama aku dulu lah, Pak.
2:14Iya, gimana teman-teman yang ada di YouTube dan juga di LinkedIn, kabarnya mudah-mudahan sehat, mudah-mudahan tetap sibuk ya.
2:22Kalau sekarang, untung jaman sekarang kalau sibuk bersyukur ya, masih ada kesibukan.
2:28Masih ada kerjaan.
2:30Masih ada kerjaan, masih diberikan rezeki ya, jadi dinikmati saja.
2:37Berbahagia lah orang sibuk sih.
2:39Ini, Anaknya Prof.
2:49Prof. Wilbur?
2:51Anaknya Profesor, siapa? Profesor.
2:54Esther, Esther.
2:56Oh.
2:58- Iya kan? - Anak kandung atau anak?
3:00Surabaya kan? Kok anak sih?
3:03Anak kuah, anak murid.
3:05Masiswa, masiswanya Esther.
3:10- Oke, oke. - GDG Surabaya, GDG Surabaya.
3:14- Bener kan? - Asik, bener-bener.
3:17Bener ya.
3:19Semoga semuanya sibuk terus, amin.
3:21Semoga semuanya dapat kesibukan lah ya, ada yang dikerjain ya.
3:27Lebih bahaya kalau lagi nggak ada yang dikerjain ya.
3:30Wah itu bahaya, tanda-tanda.
3:33Ngeri.
3:35Ntar jadi pengantara.
3:37Aku masih aman, aman sampai akhir tahun.
3:41Oke.
3:43- Terus bisa napas ya. - Berusaha tau, berusaha tau.
3:45Sampai akhir tahun.
3:47- Sampai akhir tahun ya. - Projeknya aman, aman.
3:50Ya, politik lah, politik.
3:53- Ya, jadi malam ini... - Kalau gitu refaktor aja.
4:00Kodenya direfaktor aja, jadi nggak kelar.
4:03Bilang ini waktu ini kita refaktor.
4:05Jadi tahun depan tuh, eh ternyata yang direfaktor belum kelar.
4:08- Jadi harus diperpanjang. - Perpanjang, tapi nggak digaji.
4:13Re-write semua dari awal pakai RAS.
4:16Pinggal aja, pinggal.
4:18Itu, technical depth, technical depth.
4:21Dikin technical depth.
4:24Jadi nggak bisa dipecat.
4:26Iya.
4:28Harus diutangnya dilunasi dulu.
4:31Pinjol lagi.
4:33Oke.
4:36Sebelum kita ngelantur ke mana-mana ya.
4:39Jadi malam ini, akhirnya setelah sekian lama ditunda ya.
4:44Topik tentang dokumentasi akhirnya muncul juga ya.
4:48Karena kita manfaatin hak veto diketatur.
4:52Iya, diketatur.
4:54Akhirnya kita bahas tentang dokumentasi.
4:56Nah, dokumentasi ini sebenarnya,
4:58sebelum kita bahas tools-nya,
5:01ada banyak tipe kan.
5:05Ada banyak tipe juga scope-nya apa, isinya apa, gitu kan.
5:10Macam-macam ya.
5:11Dan biasanya,
5:14dokumentasi ini adalah
5:17mau buat developer ya.
5:19Paling males ya, nulis dokumentasi.
5:22Kayaknya sekarang udah agak berubah ya dengan adanya AI.
5:24Ya bener gak sih?
5:26Tetep aja, kalau gak ada kewajipannya kayaknya
5:30kayak 9 dari 10 developer gak bakal bikin dokumentasi juga sih.
5:34Termasuk gue, gue belum pernah bikin dokumentasi di kerjaan.
5:40Kecuali end of.
5:43Kayak wrap up suatu project atau prototype,
5:47disuruh bikin, baru bikin.
5:49Kalau yang dengan Sukarela bikin dokumentasi sendiri kayaknya belum pernah ya.
5:54Tapi setidaknya,
5:56kalau pun diwajibkan, eh tolong dong bikinin dokumentasi.
5:59Males-malesan pakai AI lumayan membantu kan.
6:02Dibandingkan dulu yang harus ngetik sendiri.
6:05Membantu, tapi kayak mempecahkan masalah dengan masalah gak sih
6:09kalau misalnya developer-nya malas ngecek lagi.
6:13Nah, AI-nya di awal juga harus dilihat.
6:16Segeras-geras bener, cuma ada nyelit-nyelit halu.
6:19Jadi kayak,
6:20nah sekalinya orang lain, developer lain atau client setelah handover atau apa-apa,
6:25yang dipakai terus kejadian itu yang halu.
6:28Bahaya ya.
6:30Bener juga ya.
6:31Jadi pisau bermata dua ya.
6:33Walaupun kita bisa dibantu,
6:34tapi kita harus lebih teliti untuk ngecekin satu-satu.
6:38Ada satu hal,
6:41kalau di kantor tuh pakai AI, boleh.
6:44Tapi bahasanya gini,
6:47apapun yang tulis AI dan kita sampaikan kembali,
6:52ingat apa yang kita sampaikan itu adalah tanggung jawab kita.
6:56Ownership-nya adalah kita, bukan si AI.
6:59Iya, betul.
7:00Jadi apapun yang kita utarakan, dan itu misalnya hasil dari AI,
7:04kita gak bisa bilang,
7:06"Gua pakai chat GPT, generate ini, hasilnya begini."
7:10Nggak bisa.
7:11Jadi apapun yang kita katakan adalah onernya kita,
7:14meskipun pakai chat GPT atau pakai jam AI.
7:17Termasuk juga model kan.
7:20Yang dipayroll kan kita.
7:22Cuma saya berarti kan harus di-enforce ya.
7:25Itu kan kayak kesadaran.
7:27Oke, itu kerjaan kita.
7:28Emang kita pakai tools apapun kan,
7:30bahkan sebelum AI, linter atau autocomplete atau apapun,
7:34itu tools yang membantu kita,
7:36yang jawabnya kita karena yang kerja adalah kita.
7:39Cuma kan sekarang dengan adanya AI, auto-generate docs,
7:44yang kuantitasnya besar banget,
7:48kualitasnya entah, berarti kan kayak harus ada pipeline
7:52buat ngecek kualitas si dokumentasi itu.
7:56Minta AI yang lain untuk ngecek hasil AI yang lain.
8:00Untuk ngecek AI yang lain.
8:02Agent versus agent.
8:04Ya pokoknya apa yang kita commit, ya baik itu kode, dokumentasi,
8:09atau proposal atau apapun, itu adalah tanggung jawab kita.
8:15Kan kita nggak bisa tiba-tiba nyalahin,
8:17"Wah saya pakai kursor nih, kursornya salah, nggak mungkin kan?"
8:21Itu kan yang salah tetap kita.
8:23Salah mungkin karena kita nggak ngecek.
8:25Bukan mungkin karena kita ngecek,
8:29karena memang nggak ngecek pastinya.
8:31Kalau ngecek, udah pasti nggak salah ya.
8:35Belum tentu juga sih.
8:37Udah ngecek, diperbaiki, terus masih salah, gimana?
8:41Ya berarti kan itu kan kode kita.
8:44Iya, pokoknya itulah tanggung jawab kita.
8:47Kita nggak bisa menyalahkan AI,
8:49walaupun kita bayar AI untuk melakukan sesuatu ya.
8:53Tapi ya seperti itu kan ada di fotonya.
8:59Sama semuanya kayak ini juga sih,
9:02kayak dalam struktur organisasi,
9:05kalau misalnya yang melakukan kesalahan itu anak buah atau tim,
9:10yang salah itu tetap pemimpinnya kok.
9:12Kenapa di-prove?
9:14Kenapa di-prove atau kenapa nggak ada sistem di-check.
9:19Kenapa bisa masuk production, segala macam ya.
9:23Saya pernah kayak sebuah, contohnya news atau media gitu ya.
9:32Meskipun yang nulis jurnalisnya,
9:35tapi kalau itu misalnya defamation gitu ya, kasus.
9:38Yang dituntut itu bukan si penulisnya kok, CEO.
9:42Pemeretnya, CEO-nya atau pemeretnya editorialnya itu yang dituntut.
9:48Maksud penjara ya, kalau menang atau kalau kalah,
9:52yang dituntut ya pemimpin redaksi itu sudah kayak gitu hukumnya.
9:59- Jadi itulah tanggung jawab pemimpin,
10:02makanya pemimpin kan gede gajinya ya.
10:06- Resikonya. - Resikonya juga gede.
10:11Nah makanya kenapa dokumentasi itu penting.
10:26Jadi bisa mengetahui. Atau gini dulu deh,
10:34mau saya cek ombak dulu.
10:36Kalau kalian beli sesuatu nih, beli sesuatu.
10:39- Baca dokumentasi aja. - Beli...
10:42- Beli di Ikea lah, yang standard Ikea lah.
10:45- Handphone, handphone, handphone. - Beli Ikea, beli kulkas.
10:48- Handphone, handphone. - Handphone.
10:52Handphone itu terlalu umum ya. - Nggak pernah baca sih.
10:54- Nggak pernah baca saya juga.
10:55Tapi kalau ya kayak sesuatu barang yang lucu-lucu lah gitu.
11:00Kalian baca nggak sih ini ya instruksi buku manualnya dulu?
11:05- Baca.
11:06- Kalau beli lagu harus baca bukunya, kalau nggak nggak bisa sendiri.
11:11- Iya, perhatikan. - Ikea udah sama kan.
11:15- Ikea udah sama. - Bukan kode, itu kita butuh buku dokumentasi
11:18kalau harus merakit kan. Merakit atau merekomen.
11:23- Elektronik kan pasti disetakkan buku kecil, instruksi manual gitu kan.
11:27- Lebih ke, apa, in practice, lebih ke biar kalau dijual,
11:32apa jual second, harganya bisa lumayan.
11:35- Karena box-nya masih ada. - Dokumentasi masih ada.
11:39- Nggak, nggak dituduh hasil maling.
11:43- Jadi ya itulah gunanya dokumentasi. - Instruksi penggunaan.
11:52- Sebenarnya kalau software itu hanya kita sendiri yang kerjakan,
11:57atau hanya sekumpulan. - Nggak perlu dokumentasi.
12:00- Kayak 3 orang, dokumentasi sih. - Belum perlu.
12:04- Belum perlu, tapi kalau misalnya sudah banyak.
12:07- Tapi kan pengguna dokumentasi kita juga di masa depan.
12:10Kalau 6 bulan lagi kita lupa cara pakainya.
12:13- Ya, justru itu. Kan sering sekali kita mengalami.
12:18- Kita juga bisa jadi pengguna dokumentasi kita sendiri,
12:21walaupun solo project. - Betul, betul.
12:23Kan sering sekali kita mengalami, kita lupa gimana cara melakukan sesuatu,
12:29terus kita googling, terus yang tiba-tiba yang muncul adalah artikel
12:32yang kita buat berapa tahun yang lalu.
12:34- Atau stack overflowing yang pernah kita tanya.
12:37- Sekarang udah jarang ya? Sekarang udah pada tanya L.A.A. ya?
12:42- C.G.P.T. - Atau C.G.P.T. nya
12:46atau Jemenanya mereferensi ke stack overflowing yang pernah kita tanya
12:50beberapa tahun yang lalu. - Iya, bisa jadi juga.
12:54Bisa aja. Mungkin agak berbeda antara yang tadi Ivan sebutkan,
13:01kayak produk-produk hardware kali ya, hardware ya.
13:06Perangkat keras yang barangnya bisa dipegang dan dilihat.
13:09Itu biasanya dokumentasi itu wajib ada.
13:13Walaupun software juga begitu ya, wajib ada.
13:15Tapi kalau yang hardware ini, misalkan kayak tadi
13:19furniture lah atau mainan atau apa yang butuh dirakit,
13:24kalau misalkan kita udah ikutin dokumentasi terus hasilnya Zong,
13:29itu kita bisa minta balik kan atau kita tuntut lah dalam tanda kutip ya.
13:34Pokoknya saya udah ikutin nih, tapi hasilnya begini gitu.
13:37Bisa yang jualan bisa jadi rugi kan,
13:41gara-gara dokumentasinya salah misalkan.
13:43Tapi kalau software harusnya juga begitu.
13:47Cuman pada kenyataannya tidak seperti itu.
13:51- Software itu kan dokumentasi banget diperlukan
13:54kalau misalnya kalau di agensi ya saat mau hand over,
14:00kita harus kasih dokumentasinya.
14:03Atau kalau saat sedang bekerja,
14:08on-boarding, off-boarding, dokumentasi itu penting.
14:11Atau testing, dokumentasi-dokumentasi.
14:14- Ya. - Kalau.
14:16- Nah, makanya. - Nah, lanjut, lanjut, lanjut.
14:18- Kalau dokumentasi. - Oh, lanjut.
14:21- Iya, lanjut. - Iya, maksudnya ada lagi dokumentasi yang lain.
14:24Contohnya PHP doc, JS doc itu kan bisa sudah di-code, bisa di-generate.
14:30Itu lebih cara developer documentation.
14:34Itu aja sih sebenarnya.
14:37Nah, kan sebenarnya dokumentasi itu term yang umum ya.
14:42Term yang umum dan luas banget.
14:44Tapi kalau dokumentasi kode, berarti kan itu implikasinya lah.
14:48Kayak imply kode itu bakal dipakai oleh orang lain.
14:53Atau mungkin dipakai oleh kita di masa depan setelah kita lupa,
14:56kita nulis kode mengkonsumsi lah.
15:00Mengkonsumsi kode itu kode yang ditulis.
15:05Nah, kan makanya itu tadi pas nulis doc,
15:09nulis topic di Google Docs,
15:12jadi dapet ide, mikir.
15:14Ternyata dokumentasi itu macem-macem juga ya.
15:17Kalau kita publish library di NPM yang bisa di-install orang,
15:23itu ada dokumentasinya.
15:25Dan berarti target user-nya kan adalah siapapun yang meng-install library itu.
15:30Either bisa beneran di-push ke public,
15:33atau bisa aja kan itu internal package di-konsumsi teman kerja kita sendiri.
15:37Atau kayak yang Irfan bilang tadi, onboarding junior, koder baru.
15:44Berarti kan dia harus bisa pakainya.
15:46Atau kalau bikin framework, misalnya framework atau meta framework.
15:50Misalnya React, Swelt kan itu ada dokumentasinya juga
15:55buat developer yang bakal pakai kode itu,
15:58yang mengkonsumsi kode itu.
16:00Jadi bukan end user juga kan si developer-nya pakai React,
16:03Swelt buat bikin kode mereka sendiri juga.
16:06Apa lagi meta framework kayak Next.js, Sweltkit.
16:09Ada fitur-fiturnya yang bisa dipakai.
16:13Terus bahasa pun masing-masing bahasa.
16:17Javascript, ECMAScript, yaitu PHP, dan lain-lain.
16:21Ada dokumentasinya juga.
16:25Terus tambah ribet lagi kalau udah service atau product
16:30yang ada unsur kodenya kayak misalnya apalah Wix.
16:34Gue sekebanyakan Wix tadi pas luis contoh.
16:36Itu kan sebetulnya service yang dijual sebagai no code ya.
16:40Apalah drag-and-drop, tapi prakteknya ada ekosistemnya,
16:43ada kayak plugin-pluginnya, dan sebetulnya ada API-nya juga,
16:46ada unsur kodenya.
16:48Jadi dokumentasinya itu gabungan cara pakai Wix
16:51sebagai drag-and-drop with Wix Site Builder,
16:56tapi plus ada fitur-fitur kodingnya.
16:58Ternyata luas banget ya dokumentasi.
17:01Luas, luas.
17:03Kalau kayak service ya tadi yang ekivalen dengan kita beli hardware,
17:08kayak kita beli software, software as a service,
17:12atau software kalau kita beli Windows gitu ya,
17:14dalam kotak CD gitu.
17:16Tapi yang bukan bajakan yang asli itu pasti ada dokumentasinya kan.
17:18Itu wajib, itu wajib.
17:21Mas Risa beli yang mana biasanya?
17:24Saya nggak pakai Windows.
17:27By the time gue pakai Mac OS, udah gratis.
17:32Terus dulu pas masih pakai Windows.
17:36Pernah pakai software resmi nggak ya yang beli pakai CD gitu?
17:42Kayaknya belum pernah ya.
17:44Software yang beli, ya beneran software beli, ya beli lisensi.
17:48Jadi kayak udah software as a service atau beli lisensi,
17:52terus nanti kita install,
17:54terus masukin license code-nya.
17:56Itu pernah beli yang sering lah, enggak sering.
17:59Kalau saya dulu beli sih CD-nya, tapi di gejayan gitu, di Jogja.
18:04Itu dibajakan.
18:06Itu bajakan, Pak.
18:08Eh, masa sih tulisannya ori kok.
18:12Itu kan, FCKGW, FCKGW.
18:16Tulisannya ori.
18:18Sampai apal.
18:19Ini ori nggak, Mas? Ori katanya.
18:21Berarti saya diboongi, saya diboongi berarti.
18:25Belum tahu ya, kalau belum tahu nggak apa-apa ya.
18:28Pampet itu setelah beberapa tahun gitu,
18:31tiba-tiba kayak shooting, langsung tutup semua gitu,
18:33langsung berubah jadi tokoh apa.
18:35Padahal dulu tuh kayak satu jalanan penuh,
18:37kayak CD-CD aneh gitu.
18:39Tiba-tiba langsung berubah.
18:41Jadi kalau di kampus dulu, ya banyak kan,
18:45ya di mana-mana ya, ada di Ratu Plasa,
18:47ada di Banggandua, kalau di Jakarta ya.
18:49Itu software bajakannya dalam bentuk CD itu kita beli kan.
18:55Kita beli satu software atau ada kompilasinya.
19:00Terus saya main-main ke Jogja, bukan beli lagi,
19:03bisa disewa.
19:05Udah banyak kan.
19:06Iya, kalau di Jogja banyakan sewa sih.
19:08Kacau banget.
19:10Iya, kan jadi lebih murah.
19:12Betul.
19:14Terus dia bisa muter-muter terus kan.
19:16Maksudnya, sewa udah banget ini, udah.
19:18Nah, terus itu bisa sewa.
19:20Jaminannya tuh M atau Sim.
19:23Nah, terus kalau tulat, kayak tulat beberapa hari,
19:25ada dendanya kayak tani 100 gitu sehari atau berapa.
19:29Nah, kalau orang-orang yang pas lagi harus balikin,
19:32nggak ada duit buat bayar rendah,
19:34kan malah jadi tambah lama tuh.
19:36Nggak balik-balik.
19:37Tapi kan tinggal kartu mahasiswa, jaminannya kartu mahasiswa tahu.
19:42Di rental A, tinggal KTM.
19:45Terus ilang atau nggak bisa balikin,
19:48pokoknya nggak ada duit bayar rendah.
19:50Terus perlu rental lagi, rental B, tinggal SIM.
19:53Ilang atau nggak bisa bayar rendah lagi, jadi nggak bawa KTM, nggak bawa SIM, kemana-mana.
19:59Tolong teman-teman yang nonton jangan ditiru ya,
20:02karena jaman dulu.
20:03Udah nggak bisa ditiru, udah nggak ada lagi.
20:06Sudah nggak ada lagi.
20:08Jadi ceritanya cerita masa lalu kok.
20:10Tempatnya udah berbeda.
20:12Pekosistemnya udah berbeda kan.
20:14Tapi kan sudah berbeda kasus.
20:16Iya.
20:18Nggak, cuma mengingatkan bahwa
20:20kalau dulu kita mau beli yang resmi pun nggak bisa.
20:22Satu, mahal.
20:24Kedua, dimana belinya?
20:25Nggak ada.
20:26Nggak nyampe kayak Indonesia belum nyampe.
20:28Yang resmi-resmi, gitu.
20:31Iya.
20:33Hanya yang bisa beli software asli itu ya perusahaan-perusahaan.
20:39Kalau nggak, kalau dulu yang,
20:41kalau kasus, kalau OS,
20:43bisa beli resmi itu kalau kayak misalnya beli...
20:45Dari kampus?
20:46Bukan kampus, atau di toko komputer.
20:49Maksudnya toko komputer ada yang emang include Windows resmi,
20:54license resmi, itu harganya lebih mahal.
20:57Tapi kadang toko yang sama juga nawarin,
20:59dijual dengan Linux doang nih.
21:01Tapi sambil diinstallin bajakan,
21:04lebih murah, ya terserah, terserah.
21:06Itu kan pilihan untuk beli ya.
21:08Kalau misalnya orang yang kantoran atau apalah,
21:10mungkin orang yang teladan banget,
21:12nggak mau pakai produk inegal,
21:14mau beli yang apa?
21:16Sama Windows, sama OS resmi ya bisa.
21:18Dia dapat apalah semua dokumennya.
21:21Kalau sekarang mungkin udah nggak ngalamin ya,
21:24udah cendung lebih gampang untuk...
21:27Aksesibel lah, udah lebih mudah diakses,
21:30informasi udah banyak,
21:32orang jualan di belahan dunia sana kita bisa beli, gitu ya.
21:36Paling sekarang mentok-mentoknya itu ya, apa?
21:40Joinan, family plan.
21:45Family plan, ya.
21:47Kriminal itu kan nggak bisa dibasmi ya.
21:50Dimana ada opportunity,
21:52orang pasti manfaatin.
21:54Emang family plan nggak ada resmi ya?
21:56Bukan, family plannya nggak apa-apa,
21:59tapi kan itu dibuat untuk orang yang tinggal di satu rumah.
22:02Beneran, family.
22:04Kalau ini kan dimanfaatin buat patungan
22:06orang yang sebenarnya tinggalnya jauh-jauh.
22:08Bukannya kita semua bersaudara dari jaman Mabi Adam gitu.
22:11Bukan berkeluarga.
22:13Bukan berkeluarga.
22:15Bukan berkeluarga, persaudara.
22:18Contoh, persaudara yang di-abuse.
22:21Kursor.
22:23Kursor aja di-abuse kan, abis itu dijual.
22:26Iya, dijual.
22:28Kan jadi di-markup.
22:29Kan jadi murah banget tuh kalau yang family plan yang ya berapa sih, gitu.
22:33Nah, terus dijual di-markup.
22:35Iya, kursor.
22:37Mengaku anak kampus, gitu kan.
22:40Akhirnya di-ban Indonesia sempat di-ban, kan.
22:44Masa.
22:46Ada sih.
22:48Ada juga joki Google One yang jualan Google One.
22:51Enggak tahu gimana caranya.
22:53Ada free buat student ya setahun.
22:55Nah, gitu kita tinggal kasih.
22:57Tapi harus email baru.
22:59Entah gimana di gafetarin sebagai ada email student-nya.
23:03Enggak tahu.
23:05Enggak beli soalnya.
23:07Oke, kita udah melenceng kemana-mana.
23:11Ada dari temen-temen ada contoh dokumentasi yang baik dan benar gak?
23:15Menurut temen-temen.
23:17Yang pernah dibaca, pernah dilihat, itu.
23:21Kalau saya.
23:23Kalau saya yang paling legendaris ya.
23:27Salah satu dokumentasi yang legendaris adalah Stripe.
23:30Dokumentasinya Stripe.
23:33Korteks.
23:35Ini.
23:37Korteks apa ini?
23:39Korteks kan dokumentasinya bagus.
23:42Oh saya gak tahu, gak lihat dokumentasinya.
23:45Stripe adalah salah satu dokumentasi yang jadi panutan.
23:50Yang jadi referensi banyak dokumentasi yang lain.
23:53MDN?
23:55MDN, iya MDN.
23:57Misalkan apa ya?
23:59Satu bersatulah dilihatnya.
24:01Ini Stripe kan produknya banyak ya.
24:03Berarti.
24:05Biasanya tuh ada API ya.
24:08API.
24:10Nah ada contohnya di sebelah kanan tuh biasanya ada contohnya kalau gak salah.
24:14Kalau masuk dipakai kita masukin API.
24:17Ya kayak gini, terus nanti returnnya apa.
24:20Bagus lah.
24:22Salah satu yang terbaik lah.
24:24Ini kayaknya pattern, salah satu pattern yang umum ya.
24:27Kalau buat produk yang punya API, punya SDK.
24:30Spotify juga kurang lebih kayak gini sih.
24:32Kayak gitu.
24:33Spotify SDK.
24:34Oh iya.
24:35Developer.spotify.com
24:39Developer.spotify.com
24:45Kayaknya banyak dokumentasi yang bagus sekarang.
24:49Ya sekarang udah sangat bagus.
24:53Coba yang web API.
24:55WordPress bagus.
24:59WordPress bagus.
25:01React juga bagus.
25:05Nah dokumentasi sendiri ada macem-macem ya.
25:09Jadi ada Getting Started.
25:11Ada konsep kayak filosofinya.
25:16Ada tutorial.
25:17Ada how to.
25:18Itu berbeda-beda.
25:20Dan biasanya kalau dokumentasi umumnya tuh dipisah antara yang...
25:25Kalau gue sih, gue gak tau nih ada nama resminya atau enggak, gue bilangnya natural language, bahasa manusia, sama API reference-nya.
25:35Kalau API reference-nya sih emang istilahnya selalu reference sih.
25:38Kayak yang di Spotify itu yang di kiri-bawah reference gitu.
25:42Ya reference ya bener-bener.
25:44Kayak album data structure-nya apa, metode-nya apa, yang ya gitu lah.
25:49Konya teknis. Nah kalau yang di atas tuh kan ada overview, Getting Started, Konsep itu kan kayak lebih ke sisi manusianya lah.
25:57Nah natural language-nya lah, gak tau itu istilahnya apa.
26:00Tapi itu kayaknya pola yang umum deh.
26:03Umum ya, umum, betul-betul.
26:05Jadi ada how to, how to itu bagaimana kita melakukan sesuatu.
26:08Jadi bukan urutan.
26:10Kalau tutorial kan urutan.
26:11Dari awal mulai sampai akhir diikutin gitu kan.
26:15Konsep itu ya...
26:16Kalau how to itu kadang terlalu banyak namanya recipe kalau how to.
26:20Iya, recipe, bener, recipe.
26:22Keren lihatnya.
26:23Ya, dan terakhir ada reference.
26:25Biasanya itu, ya...
26:27Kalau reference ya kode-nya beneran, apa?
26:30Bureau kayak data-nya, bentuknya gimana, model-nya gimana, metode-nya apa aja.
26:35Iya.
26:37Apa? WordPress ya?
26:39WordPress.
26:41Handbook.
26:43Handbook ya?
26:45Iya.
26:48Ini, team, handbook.
26:51Developer.Wordpress.org.
26:54Di situ ada theme, ada macem-macem.
26:59Iya.
27:01Book editor, themes, plugins.
27:04Ada API refresh.
27:05API refresh ya, maksudnya ya.
27:08Reference itu kode-nya.
27:11API itu bukan best API ya.
27:14Jadi cuma...
27:15Iya, tolong dibedakan ya.
27:17Tolong dibedakan.
27:19Bukan hanya API.
27:20Kamu harus dibedakan satu episode sendiri deh.
27:22API itu maksudnya mengkomunisikan...
27:25Iya ya, bahas API gitu ya.
27:27Apa itu API?
27:28Belum kan? Belum pernah kan?
27:29Belum, belum, belum, belum.
27:30Karena saya banyak ketemu junior, API-nya apa dan apa.
27:35API-nya apa, maksudnya apa?
27:37API.
27:38Oh, gitu ya.
27:40API itu bukan API.
27:42Tapi kan sebetulnya itu kayak miskom penggunaan istilah aja kan.
27:47Istilah.
27:48Kalau lagi konteksnya ngomongin X, itu berarti API itu dianggap sebagai blablabla.
27:57Tapi kalau misalnya beneran apa lah, yang udah spesifik.
28:00REST API atau GraphQL API.
28:03Ya, kalopun kita cuma ngomongin API.
28:06Ya, bisa dimengerti sebagai itu kayak misalnya apa ya.
28:09Kita lagi pake postman gitu.
28:11Ya, API itu kan berarti REST atau GraphQL atau swap atau semacamnya.
28:17Nah, itu kelihatannya perlu dibahas deh.
28:20Ya, ya.
28:22Perlu, perlu.
28:23Udah dicatat.
28:24Oke.
28:25Oh, itu tuh kayak semacam client sama server gak sih?
28:29Orang bilang client itu kan bisa macam-macam ya.
28:32Kalau orang front-end yang bilang client adalah browser kan.
28:37Kalau misalnya apa kode server site, ya itu udah gak dianggap client.
28:41Client site itu beneran yang di browser web API.
28:43Tapi kalau kita lagi mengkonsum, ya itu mengkonsum service misalnya REST API.
28:48Client itu kan ya bisa aja server site yang mengkonsumsi si REST API itu.
28:56Nah, itu juga menarik.
28:58Ya, gitu.
28:59Dokumentasi.
29:00Ya.
29:01Setiap kali ada ini.
29:04Kenapa, Ivan?
29:05Go ahead, sorry lanjut.
29:07Kayaknya setiap perusahaan yang bekerjanya secara terdistribusi atau remote itu biasanya dokumentasi bagus.
29:16Karena mereka habit atau menulis di dalam perusahaan itu diwajibkan dan sangat terlatih gitu.
29:26Contohnya GitLab.
29:27GitLab ini salah satu perusahaan distributed kan, remote gitu kan.
29:31Ini juga dokumentasinya bagus.
29:34Kalau di tempat kerja gue, kan proyeknya macam-macam.
29:40Proyek yang dokumentasinya bagus adalah yang apa, periode kerjanya sedikit cepat.
29:49Maksudnya dan bakal di hand over.
29:51Jadi di one to one ti dari awal.
29:53Misalnya kerjanya 6 bulan, 3 bulan atau 6 bulan.
29:56Ini beneran harus siap buat di hand over.
29:58Dan gak ada waktu tambahan buat nanti nulis docs.
30:04Jadi setiap, ya sprint lah 2 minggu sekali harus ada docs-nya.
30:09Tapi kalau project yang in house internal, ya udah gimana kalian atur.
30:14Ya kan ada stand up ya.
30:16Ada stand up tiap hari karena timnya kecil.
30:19Ya selalu ketemukan ya udah gimana caranya kalian urus.
30:23Cuma kalau di hand over ke pihak lain ya kan itu beneran harus rapih masing-masing setelah selesai.
30:31Ya kayak nulis, kayak bikin di konfuensinya juga.
30:35Iya itu salah satu tipsnya juga.
30:39Jadi kalau temen-temen mau punya dokumentasi yang bagus,
30:43masukkan ke dalam task list.
30:45Jangan jadi sebagai definition of done-nya udah sama dokumentasi gitu.
30:50Gak cuma sampai softwarenya jadi, testingnya jalan, dan lain-lain gitu.
30:55- Tapi biasanya... - Dipan?
30:59- Biasanya apa? - Bagusnya idealnya sih begitu.
31:04Idealnya. Ya kan kita ngumpulkan idea.
31:09- Kenyataannya di lapangan. - Tapi misalkan sebagai klien,
31:14sebagai klien juga misalkan bisa aja kita bilang kan, "Saya mau deliverable-nya sampai dokumentasi loh.
31:20Kalau dokumentasinya nggak lengkap saya nggak mau bayar."
31:23Biasanya itu udah tersirat, nggak dibilang.
31:26Terus akhirnya kita di diskon-diskon-diskon.
31:30Tapi di akhir project, dokumentasinya mana? Udah siap belum?
31:34Kalau nggak ada dokumentasinya gimana saya bisa kerjain?
31:38Kita harganya sudah di diskon banyak tapi nggak masuk dokumentasinya, nggak bisa.
31:43Biasanya begitu.
31:46- Oh gitu ya, triknya gitu ya. - Sekalah, suka-dukanya.
31:51Konsultan software house.
31:55Cuma kalau kasusnya kayak agensi gitu, software house, end-usernya kan,
32:00ya tergantung end-usernya siapa mungkin, dokumentasinya juga bisa beberapa layer kan.
32:05Kalau yang paling dasar kan cuma kayak hostingnya dimana dan ngakses hostingnya
32:10seperti HWS, GCP, dan lain-lain infrastrukturnya kayak gimana, tech-technya apa.
32:17Terus kalau mau jalanin apa yang di-install.
32:21Cuma kan kodenya sendiri ya bisa aja, nggak didokumentasiin kayak plugin-pluginnya apa juga mungkin nggak kan.
32:29- Cuma kayak backup, infra. - Getting static itu nggak ada sih sebenarnya.
32:33Kalau tempat saya yang wajib itu kan meskipun nggak diminta klien atau gimana,
32:38untuk kita sendiri biasanya langsung setup engineering documentation.
32:44Jadi engineering apa, dokumentasi yang kita ini,
32:47ya hal-hal yang krusial, misalnya onboarding deh paling utama sih untuk onboarding.
32:52Jadi anggap aja kalau misalnya ada tim yang baru masuk atau kita mau hand-over
32:59ke tim yang lain, project itu, ya minimal yang baik kalian lihat kan onboarding documentation.
33:05Setupnya gimana, minimum requirement, stack-stacknya apa aja.
33:11Terus situs URL-nya tuh admin-adminnya gimana.
33:17Terus biasanya kan terpisah-pisah tuh ada di One Password.
33:22Untuk semua detail-detail credential API-nya kan ada di One Password.
33:25Terus kemudian cara setup lokalnya, terus GitHub repo-nya dimana,
33:34dan siapa yang harus dihubungi untuk nambahin aksesnya.
33:39Terutama kalau kayak agensi contohnya yang sudah ada, ini apa namanya?
33:48Ada, kok lupa ya, SOC 2 itu apa sih? SOC 2, kayak ada credential-nya gitu.
33:57Standarisasi, standarisasi. Jadi tempat saya itu sudah standarisasi SOC 2.
34:06Sama satu lagi compliance-nya apa lagi, satu lagi yang satu untuk US, satu untuk Eropa.
34:13Saya lupa namanya, satu lagi. Nah itu sudah ada.
34:16Jadi kita policy-nya itu kayak zero trust policy gitu.
34:22Jadi hanya boleh akses yang kita berkepentingan saja di saat kita perlukan.
34:29Dan diberikan akses se-minimum mungkin.
34:36Makanya kalau nggak ada engineering documentation ini, bingung dah tuh.
34:42Kalau misalnya project di hand over ke tim lain, ini gua mau minta akses ke siapa?
34:49Kalau ada di dokumentasi, oke minta aksesnya ke si ini.
34:54Udah, jadi kan hand over-nya ini tinggal kasih kayak dokumentasi, ini baca aja sendiri semua.
35:00Beres deh, nggak perlu banyak tanya.
35:03Apalagi kalau sudah compliance-compliance gitu.
35:11Wah itu memang udah wajib kali ya.
35:14Eh bukan kali, emang udah wajib, titik. - Sudah wajib iya.
35:19Kalau nggak, nggak lewat compliance, nggak cair ya invoice ya.
35:24Kalau untuk urusan enterprise client, pasti kalau kita nggak ada compliance-nya kayak kita SOC2 gitu.
35:33Kalau enterprise client sudah kalau udah nggak ada SOC2-nya, udah pasti nggak lolos di tahap awal.
35:39Udah lolos seleksi untuk ininya, pitching-nya.
35:44Nah ini kita udah ngomongin isinya ya, isi dari dokumentasi, baik itu tipe-tipenya, jenis-jenisnya.
35:58Eh bentar, nanggung satu lagi. - Kenapa?
36:01Gua belum ngomongin, itu dokumentasi yang bagus.
36:05Astro, favorit. - Oh iya, benar Astro.
36:11Contoh, misalnya contohnya. - Astro. Sekarang udah banyak sih ya.
36:16Dan apa namanya, kayak yang menuliskan dokumentasi ini ada namanya technical writer loh.
36:22Jadi memang profesinya khusus. - Profesi khusus ya.
36:28Kalau di Astro ini, ya mungkin di framework lain juga ya.
36:32Cuma kalau yang gue tau dan gue lihat di Astro, emang ada semacam maintainer lah.
36:40Pokoknya yang full, yang di hire buat running, buat ngelid dokumentasi sih.
36:50Ya kalau yang full request dokumentasi, ya bisa siap aja, maksudnya volunteer.
36:55Cuma ada yang in charge, ada yang ngelid kan.
36:58Dan kayak di discord mereka, itu kayak ada satu channelnya sendiri buat docs.
37:04Jadi kayak bener-bener di, apa ya, bener-bener dipikir lah.
37:08DX atau UX. UX buat orang yang membaca docs untuk pakai Astro.
37:17Ya, jadi istilahnya developer experience ya, kalau ini ya, secara umum gitu.
37:24Baik itu penggunaannya, terus juga, apa namanya, car, penggunaan,
37:33maksudnya cara penggunaan dokumentasinya, atau penggunaan tools-nya sendiri.
37:38Itu juga termasuk ke DX-nya. - Sama kayak informasi architecture sih.
37:42Kayak kalau misalnya, ngebagi-baginya gimana, kayak tutorial itu.
37:46Part 1, 2, 3, terus kayak apa lah, konfigurasi, apalagi ini kan agak rumit ya.
37:54Udah meta framework, mereka punya templating language sendiri,
37:59bisa pakai UI library, macem-macem, itu kan ribet banget.
38:02Jadi kayak harus di-mapping dengan rapih, dan itu nggak di delegasi,
38:08nggak cuma pakai AI kayak masukin ke chat GPT nih, bikin dokumentasi untuk library ini,
38:15beneran pakai human gitu, dan yang gue lihat di discord-nya mereka beneran kayak ngebahas,
38:20"Oh, kalau wording-nya begini, atau kalau pembagiannya begini, nanti bisa dikira gini-gini."
38:24"Oh ya, gimana kalau gini, kayak beneran dipikir kayak kita mikir kode, kayak kita mikir architecture kode."
38:30Nah, ini untuk dokumentasinya beneran mereka mikir architecture penyampaian informasi. Gila sih.
38:38- Iya, emang kerjaannya itu kan, si orang-orang yang developer advocate, developer, misalnya,
38:50Evangelist, Defrel, ya itu emang kerjaannya itu kan ya.
38:56Kalau teman-teman ingat di beberapa episode yang lalu ya, yang kita kedatangan 2 Defrel dari Google ya,
39:04itu kan kerjaan mereka ya, bikin tutorial, gimana caranya,
39:08contoh gimana caranya menjelaskan sebuah konsep yang rumit,
39:13tapi bisa dicerna dengan baik buat orang yang mungkin belum pernah tahu.
39:18- Kalau yang pernah ikut acaranya Om Yohan waktu di Jogja, inget nggak yang web Ankov di Jogja?
39:28- Ankov, iya Ankov. - Iya, iya. Di Jogja kan ada kedatangan abang Robert Nieman, sih.
39:35- Robert Naiman. - Iya. Dan dia kan yang nulis web MDN kan zaman dulu, waktu awal karir.
39:43- Oh iya, betul. Dari Mojila, iya dia awalnya Mojila ya. - Iya.
39:55- Oke, sudah untuk dokumentasi-dokumentasi menarik kontennya. Sekarang kita masuk ke tools-nya.
40:04Iya. Kalau di kerjaan, pada pakai apa di kantor? Nggak ada ya, Eka jarang ya?
40:12- Swagger, Swagger. Bukan gue yang bikin sih, yang bikin API-nya pakai Swagger.
40:20- Eka sebagai konsumer yang membaca ya, membaca. Swagger ini tools untuk dokumentasi API reference ya.
40:33Dan lumayan otomatis ya. - Asal dimasukin ke swagger.json ya.
40:42Dia menggenerasi UI dari situ kan. Ada endpoints apa aja, argument-nya apa aja.
40:53Kita bisa masukin kalau butuh out API key, kita masukin API key, bisa langsung di-running.
40:59- Bisa dicoba di situ juga ya, di halaman itu ya. - Iya.
41:04Ada contoh yang ini nggak ya, yang jalan ya? - Baca dokumentasinya Swagger aja itu.
41:12- Oh iya benar juga. - Read the docs.
41:15- Nah itu dia spek-nya kan. - Iya.
41:27- Kok nggak ada ya? Mana ya? Pengen lihat hasilnya ini. Ini, open API specification.
41:39Ini penjelasannya sih. Dia nggak ada yang running. Apa ini?
41:48No bukan. Anyway, ini Swagger juga ya cukup umum ya digunakan.
41:55- Swagger bisa testing kayak postman nggak? Kayaknya nggak ya?
42:00- Bisa. - Oh bisa ya Swagger?
42:02- Bisa jadi server juga ya. Bisa. - Bisa jalanin testing ya?
42:07- Oh ini bentar, ini contohnya Swagger demo-nya, ini nih demo site-nya. Ini paling sering dipakai Pet Store.
42:13- Oh Pet Store. - Pasti sering lihat itu, pasti pernah lihat.
42:16- Bisa ada server-nya ya. Bisa dijalankan server.
42:26- Try out. Execute. ORCC 1. Nah hasilnya ini, jurnalnya.
42:39- Kalian masih pakai ID tuh masih pakai integer nggak sih?
42:43- Nggak pakai UID. - UID lah, hati-hati ya. Karena mudah ditebak ya.
42:50- UID satu, si admin. UID satu.
42:57- Terus misalkan mau post, kita masukin data-datanya juga bisa di sini.
43:04- Kalo kalian punya REST API, kayaknya Swagger atau alternatifnya apa, gue lupa namanya. Kayaknya harus wajib punya.
43:13- Ada yang baru yang kayak alternatif Swagger tapi UA-nya bagus banget.
43:18Cuma itu asal punya ya, berarti asal ada semacam gitu. Lupa namanya apa tapi kayak wow.
43:26- Kalo postman gitu, ini termasuk bagian dari API documentation? Iya ya?
43:32- Bisa juga sih. Karena kita bisa create. Bisa bikin contoh.
43:38- Ya bikin contoh. Terus kayak kan kalo postman ada kayak bisa di-arrange folder-foldernya kan.
43:46Terus bisa dikasih informasi kayak markdown textnya gitu lah. Terus kan sekarang kalo postman,
43:53dia punya service apa sih kayak cloud kan, kayak hosted. Yang ponnya kita bisa publish, terus bisa kita share ke tim member.
44:03Jadi ya sebetulnya kalo... - Funksinya mirip ya funksinya ya.
44:08- Secara funksi ya bisa berfungsi sebagai dokumentasi, walaupun belum tentu semua penggunaan postman
44:16pasti jadi docs. Tapi dokumentasi bisa menggunakan postman.
44:23- Oke. Enaknya kalo misalnya apa namanya, misalnya projeknya di transfer tuh dari agensi sebelumnya.
44:34Ternyata agensi sebelumnya punya kalo bikin REST API documentation dia pake Swagger.
44:39Jadi JSON-nya sudah ada. Jadi tinggal pake JSON definitionnya itu dari Swagger JSON-nya itu tinggal pake di Swagger.
44:49- Karena pake spesifikasi OpenAPI. - Iya, OpenAPI.
44:55- Bagusnya standarisasi. Disitulah pentingnya. Nah, ketemu ntar. Buka deh scalar.com Swagger tapi versi modern.
45:05KUI-nya tuh yang wow. - Tapi gratis juga?
45:12- Nah itu kode, maksudnya apa? Itu bisa ada kode open source-nya, ada github-nya itu.
45:19- Oh iya open source berarti ya? - Kayaknya mereka nyediain, mereka nyediain hosting juga.
45:25Cuma yang nggak usah juga nggak apa-apa. - Iya biasanya gitu ya, nyediakan cloud-nya.
45:31Tapi kalo mau di hosting sendiri ya silahkan. - Ini sama kayak Swagger? Ini sama persis kayak Swagger cuma versi modern aja.
45:41- Versi modernnya ya. - UI-nya ya buat anak-anak siat cn seneng lah.
45:47- Wah ini ada dokusaurus disini. Nanti kita akan omongin tentang gini satu.
46:02- Iya itu ada integrasinya matang-matang. - Alicia JS.
46:08- Eh ada Alicia JS? - Ada. Alicia JS di Indonesia terkenal loh, banyak yang ini.
46:18- Gimana kabar dia sekarang? Balik lagi ke Thailand ya? - Nggak tau ya. Kapan? Bangkok Jazz.
46:29- Tunggu diundang sama. - Tunggu diundang. Free one user, oh ini buat hosting-nya ya.
46:40- Kalo cuma mau pake itunya mah di github-nya aja itu, Google github-nya.
46:46- Footernya lucu banget foto yang bikin ya. Oh dia nyontek ini, nyontek Amazon, amazon.com kan kayak gini kan awalnya.
46:56- Oh iya, si Jeff Bezos. - Yes, Jeff Bezos ya.
47:03- Di garasi ya, dulu tuh kayak bikin... - Wah ini keren ini.
47:08- Ini keren nih. Kalo swagger kan vibe-nya itu vibe Java banget ya, Java.
47:18- Ya sesuai jamannya. - Sesuai jamannya. Warnanya, pemilihan warnanya ya, ya gitu lah ya.
47:28Tapi ya kalo dibilang secara user experience ya oke-oke aja ya. Cuman saya belum pernah sih mencoba ini kayaknya menarik ya.
47:40- Apa tuh, si Scalar.com ya? Aku juga belum pernah sih. - Scalar.com. Belum pernah juga.
47:48- Dia pake OpenMPI juga, jadi harusnya kalo... - Bisa migrasi ya.
47:52- Kalo mau buat dokumen seperti FSD, apakah ada... FSD apa?
48:00- Gak tau. - Fokus, oh bukan fokus.
48:07- FSD apa? Tolong Mas Muhammad Imran, tolong ditulis kepanjangan dari FSD.
48:14Dinya dokumen. - SC itu software.
48:20- SC itu software ya. Yang saya tau, ERD, itu diagram ya. - Itu diagram.
48:27- Tapi dokumentasi juga. - Itu kan bagian dari dokumentasi ya.
48:30- UML, dokumentasi juga kan UML ya. - Modeling language.
48:37- Modeling language, iya. Tapi buat dokumentasi biasanya. - Biasanya untuk mendokumentasi kan, biasanya database ya.
48:45- Functional Specification Document.
48:49- Oh saya biasanya pake Google Doc. - Saya biasanya pake Markdown.
49:03- Aku pake Confuense. - Aku pake Confuense karena emang...
49:07- Emang dari gua juga dari kantor ya. - Emang dari gua juga dari kantor ya.
49:10- Iya emang. - Jadi biasanya gini, di Engineering Doc itu juga ada fungsionalnya.
49:16- Maksudnya ada dokumentasi yang terpisah namanya fungsional juga.
49:20- Tapi cuma saya seumur-umur baru pake Functional Spec Document itu paling dua project.
49:28- Itu pun karena features-nya banyak banget. Nah karena features-nya banyak banget.
49:34- Per feature itu yang akan menjadi satu epic ya. Satu feature akan jadi satu epic.
49:41- Nah di feature-nya itu dijabarkan. Mulai dari overview lah pastinya ya.
49:53- Terus data arkitekturnya, terus kemudian user interaction-nya sekira-kira seperti apa ceritanya.
50:02- Kayak story-nya, kayak gimana cara dia pakai. - User story.
50:07- Iya. - User story. - Kira-kira. Jadi sebelum jadi tiket deh.
50:12- Jadi kan ini epic ya. Jadi satu epic itu satu feature. Nah feature-nya itu dijabarkan panjang gitu.
50:18- Tapi cuma pakenya sekali dua kali. Cuma dua kali kayaknya itu pun di company yang lama.
50:25- Sebentar. Ini berarti kita ngomonginnya design document kan. Dokumen yang kita buat sebelum software-nya jadi.
50:32Sementara selama kita ngomongin tadi, kita ngomongin, ya itu juga semua sebuah dokumentasi sih ya.
50:37- Iya bagian dari dokumentasi dong. - Benar-benar.
50:40- Kalau yang dari tadi kita bicarakan setelah software-nya jadi.
50:44- Setelah software-nya jadi. Untuk menggunakan software-nya. Operasi-nya kan.
50:49- Iya. Ya jadi benar, nggak salah. Itu benar dokumentasi. Tapi mendokumentasikan konsep design yang mau kita buat.
51:04Yang mau kita coding lah. Yang mau kita coding itu kayak gimana sih gambarannya.
51:09- Kayak data flow-nya apa? - Flow-nya. Betul.
51:12- Ya model-modelnya apa? Data structure-nya gimana gitu. - Ya biasanya kalau pakai metode tertentu.
51:20- Ya PRD ya. PRD. - PRD. Ya PRD. Specification. Sekarang kan si AI kan udah mulai itu kan.
51:30- Spec Driven Development. - Yang baru tuh. Spec Kit.
51:33Cuma balik ke pertanyaan tadi kan. Berarti kalau mau buat dokument seperti FSD, apakah ada software-nya?
51:39- Ada. LLM. - Hah? Masa?
51:43- Kayak itu buat bantuin, itu buat asisten. - Iya misalnya kita nge-tickle language.
51:50Tapi maksudnya LLM-nya yang udah di-custom ya. Entah rep atau sistem instruction atau apa.
51:57Ya di-breakdown dengan kayak format-format apa? Itu yang proper kan. Terus kalau kita...
52:02- Tidak kan? Kebanyakan kan? - Bukan. Bukan format text-nya. Tapi maksudnya apa? Kayak pointer-pointernya.
52:09- Kalau FSD misalnya standard-nya. - Pointer-pointernya. Header-headernya.
52:12Harus ada apa gitu kan. Ada bagian-bagiannya kan. Kayak babnya, chapter-chapternya atau apalah.
52:18Nah ya itu tadi software-nya LLM. Tapi kan kita harus ngejelasin juga kan.
52:25Yang tau kan cuma kita. Yang mau bikin planning-nya tuh kayak gimana. Cuma biar format-nya sesuai FSD.
52:34Ya pakai LLM. Gatau. Cuma ada software khususnya atau enggak. Gatau sih. Karena belum pernah.
52:41Kaisa bilang bikin dokumentasinya di isu GitHub sama GitHub Project.
52:48- Itu juga salah satu yang saya komendasikan juga. - Oh ya enak tuh. Wiki.
52:55- Wiki bisa... - Kita wiki. Tapi berbayar ya. Harus berbayar ya kalau nggak salah wiki itu ya.
53:00- Masa? Kalau GitHub Project sih free ko? - Maksudnya itu untuk private repo. Private repo maksudnya.
53:09Kalau GitHub Project itu kayak kan, ya nggak harus kan kan sih. Maksudnya ada kayak format-nya apa tuh kayak waterfall juga bisa.
53:20- Cuma enggak, kayak ada board-board-nya. - Trello lah. Trello. Kayak Trello.
53:25Tapi ada view-nya yang lain. Yang view bisa timeline juga.
53:30Jadi ada ide kita harus bahas project management tools kayak Trello, Asana, Jira, Basecamp.
53:36- Oh banyak ya. - Iya.
53:40- Kalau GitHub Project itu kelebihannya adalah dia bisa connect ke lebih dari satu repo.
53:46Misalnya kita punya, apalah repo-nya kepisah. Kita nggak pakai menu repo nih. Kita punya API, kita punya service lah.
53:54Kita punya service, kita punya front-end-nya macem-macem, dan itu nggak satu repo.
53:59Kita project bisa connect ke itu semua. Terus kayak satu item bisa jadi satu issue. Jadi gampang.
54:06Ya buat project management, kalau emang pakai GitHub, deploy-nya ke GitHub, membantu banget sih.
54:12Terus kalau isunya udah di-close, misalnya udah, udah di-merge, ada pull request.
54:17Ya, issue kan nyambung ke pull request. Kalau pull request-nya udah di-merge, otomatis nge-close issue.
54:23Di project-nya juga jadi di-margin. - Nah, kadang males nggak sih kalau misalnya,
54:30oke ini pertanyaan yang paling sering. Dimana sih dokumentasi harus hidup?
54:35- Kalau di teori, Mas, sedekat mungkin sama. - Sedekat mungkin sama kodil.
54:42- Kalau di teori. - Nah, itu dia.
54:45- Idealnya. - Idealnya begitu. Karena di project, saya ada satu project yang sedang saya inisiatifkan
54:53untuk membiassakan menulis dokumentasi, dan salah satu keputusan dengan teman-teman,
55:01malas banget kayak punya sistem yang berbeda untuk menuliskan dokumentasi.
55:08- Jadi kita... - Harus ada yang enforce. Jadi kayak continually setiap nge-update Twitter,
55:16harus ada tiket lagi satu, dan harus saling ini nggak bakal bisa di-close sebelum tiket itu udah beneran up-to-date atau nggak.
55:21Karena kalau nggak up-to-date, malah bukan memudahkan, bikin sulit, kan?
55:25- Iya, kalau dokumentasi di tempat berbeda, artinya ya proses approval-nya di sana kan beda lagi.
55:31Artinya di sini dan pekerjaan koding dan pekerjaan dokumentasi adalah di dua environment beda, dan itu akibatnya jadi susah.
55:41Nah, ini lagi uji coba, kita lagi uji coba, membuat dokumentasi itu di dalam repository itu sendiri.
55:49Artinya, misalnya ada satu modul per folder ya. Modul itu kan per folder.
55:54- Di dalam folder itu... - Ada readme.md-nya. - Ada readme.md-nya dan ada how-to-nya. Jadi kita buat readme.md sama howto.md.
56:04Jadi kalau ada plugin baru atau ada yang edit plugin itu atau modul itu, dan kira-kira...
56:14Oke, let's say ada penambahan field, dia harus meng-update readme.md-nya dengan howto.md-nya.
56:23Artinya diperbarui. Nah, terus kemudian ada satu sistem saat nge-build, ngambil md-nya itu untuk dibuild jadi markdown.
56:33Jadi satu kayak dokusaurus gitu deh. Nah, tools itu belum ada saat ini. - Nge-build md dibuat jadi markdown. Itu gimana tuh?
56:43- Sorry, maksudnya jadi saat... - Dibuat jadi situs. - Sebenarnya sudah markdown tertulis, tapi kan markdown-nya itu kan belum di-render. Belum jadi HTML, maksudnya, sorry.
56:53- Dibuat jadi front-end. Dibuat jadi front-end. - Jadi ada markdown to HTML conversion-nya untuk ditampilkan.
57:04- Nah, itu tuh solusinya di komen paling bawah, Mas Kaisa. Nah, ya udah, pake GitHub Action, ya nggak harus dokusaurus ya, terserah.
57:18Pake tools apapun yang bisa terima markdown, ya udah, di-copy aja semua. Apa mau saya, ya define file apa aja yang di-copy, masukin, terus build reposan dunia.
57:29- Nah, pertanyaannya si dokusaurus, ini saya belum jadi, karena baru selesai ngobrol sih seminggu lalu. Bisa nggak sih dokusaurus itu kayak langsung membuat seksyen-seksyennya dan ngambil source-nya itu dari...
57:43Kan dokusaurus kan akan ada di dalam repo, tapi di, mungkin di root folder yang terpisah gitu ya. Nah, coba kau masuk ke docs gitu, contohnya.
57:53- Docs. - Atau try demo atau gimana lah? Nah, kan ada Getting Started. Let's say kita, hanya saya nggak pake Getting Started atau apa, karena Getting Started ini markdown-nya terpisah sendiri deh.
58:06Yang saya butuh itu adalah how-to-nya dari tiap modul itu, degenerate mungkin di dalam guides gitu ya. Ada modul A, modul B, modul C, modul D gitu.
58:16Nah, kontennya itu ngambil dari folder yang terpisah, jauh gitu ke dalam-dalam modul.
58:26Dokusaurus kayak Nxt.js ya? Per entity sendiri. Routing-nya file structure-nya.
58:46Jadi sepertinya, contohnya dokumentasi react deh. - Oh itu pakai dokusaurus ya? - Pastinya. Karena sama-sama Facebook meta ya.
59:00- Oh iya ya, dokusaurus punya meta ya? - Iya. Mereka bikin dokusaurus untuk men-support si react-nya, dokumentasi react-nya.
59:13Kita contohnya ini ya. Duh, kok kesini? Apa ini? Release. Kok release? - Klik kode, code, packages kali ya? Nggak tahu.
59:30- Oh mono-repo ya? - Ada docs nggak? - Coba di dalam react-dom ya. Ada docs nggak?
59:40- React-dom. - Coba berburu react-doc.
59:49Ada rygmy doang, rygmy buat Github. - Mungkin nge-repo terpisah. - Docs, script. Gimana ya? Tapi ini ada, oh ini react-nya ya. Salah, salah, sorry.
1:00:11- Yang-yang nggak open source docs-nya. Nggak mungkin ya? - Open, kan ada itu, translator. Kita kan udah ada episode translate react kan.
1:00:19- Oh liat aja disitu. - Gua dulu pertama kali contribute open source itu translation react-dom.
1:00:25- Itu docs contributor tuh dibawah tuh. - Huh? - Docs contributor paling bawah. - Oh docs contributor.
1:00:32Ada Mas Liza nggak situ? - Nggak ada. - Oh nggak ada. - Nggak ada. - Nggak ada. - Ngarap deh.
1:00:46- Translation tuh ada translation. Next translation. - Translation. Nah kalau di Indonesia-nya mungkin masih, kemungkinan masih ada.
1:00:57- Ada tuh. - Lali-nya kedokumentasinya ya. Lali-nya kedokumentasi. Contribute. Nah ini.
1:01:09Ini dia. Kan? Terpisah kan? Ini adalah docusaurus harusnya, coba kita lihat di package. Dokusaurus. Mana? Nggak ada ya? - Docsets.
1:01:27- Docsaurus. Nggak ada. - Kayaknya nggak open source ya. - Nggak pake docusaurus. - Namanya docsets. - Huh? Docsars.
1:01:41- Entah sih tadi ada, ada tulisannya docs. - Docs. Mana docs? - Di package-nya. - Oh bentar.
1:01:52Docs website-nya tuh ini, bentar. Udah ketemu github.com/reactjs/react.dev.
1:02:03Kepisah. Ini repo yang berbeda jadi nggak otomatis. Apa kita kontribusi translation di situ, tapi mungkin di-compile. - Oh di-compile lagi ya.
1:02:15- Ini pakai next.js? - Iya. - Oh bukan docusaurus ya? - Bukan. - Wah aku kecewa. - Tertipu. - Tertipu ya. Apa yang docusaurus?
1:02:33- Nggak tahu. - Tadi aja tanya docusaurus. Tanya sih docusaurus-nya siapa ini-nya. Siapa klien-nya. Siapa yang pake gitu. - Ada tanya apa, use by, blablabla.
1:02:51- Banyak kayaknya use by-nya. - Banyak. Cuma mungkin bukan read. - Terus? Mana dia? - Supabase. Nah supabase tuh supabase. Supabase.
1:03:05- Supabase. - Coba buka supabase. - Supabase supabase supabase. - Docs. Ini udah banget ya. - Keren ya. Sebenernya docusaurus ya. Mau coba ah.
1:03:21- Maksudnya mau coba seriusin. Dipake di kantor. - Kalau pertanyaan yang tadi. Yang perkara bisa nggak ngambil file markdown di lokasi sembarang tapi direpo yang sama.
1:03:42Itu solusinya sih salah satu. Salah satunya si starlight-nya Astro. Jadi starlight itu. Jadi mereka tuh dogfooding lah. Menggunakan produknya sendiri.
1:03:54Kan tadi kita udah bahas tuh. Astro bikin docs-nya niat. Astro bikin tim maintainer Astro. Bikin dokumentasi Astro.
1:04:03Pakai Astro. Nah tapi pakai Astro itu kan heavily modified ya. Dikasih ini itu. Maksudnya biar bisa ada sidebar-nya yang tadi.
1:04:13Sidebar lah. Terus fitur-fitur apa. Bisa pakai MDX. Bisa pakai markdown. Nah jadi mereka bikin plugin khusus. Jadi starlight itu sebetulnya bukan apa ya.
1:04:25Ya tetap pakai Astro. Cuma plugin khusus yang ngasih macem-macem fitur tambahan yang memudahkan bikin situs dokumentasi.
1:04:34Jadi kalau misalnya ada orang iseng pengen bikin situs dokumentasi Astro colosan. Astro biasa. Gak pakai starlight. Ya bisa-bisa aja kalau mau.
1:04:42Tapi kalau pakai starlight tuh kayak udah dimudahkan banget. Jadi gampang banget. Nah hubungannya apa sama pertanyaan yang tadi.
1:04:50Apa sidebar-nya itu. Jadi itu kan plugin. Jadi emang Astro udah ada ekosistem plugin-nya kan. Nah ini Astro tuh plugin khusus.
1:04:59Nah sidebar yang di samping itu bisa dikustom kayak misalnya ya bisa auto. Kalau auto tuh kita tinggal mention folder-nya aja.
1:05:07Maksudnya folder-nya apa. Dia ngambil semua markdown di dalam folder itu. Tapi kalau misalnya kita mau manually misalnya dalam satu folder nih.
1:05:18Kayak di kanan yang kebuka components, using components, card, link card. Mungkin kan kita punya sebetulnya in practice misalnya kita bikin UI component library ya.
1:05:28Kan kita punya folder cards, link cards, kodenya di dalam situ. Tapi masing-masing ada markdown filenya sendiri.
1:05:35Itu misalnya kita pengen mengkustom masing-masing halaman di sidebar. Ngambil data source-nya dari file mana juga bisa dikustom.
1:05:45- Oh gitu. - Iya punya kaya likasnya mas lah.
1:05:49File 3. Coba coba file 3.
1:05:56- Mana ini? - File 3 ya.
1:05:59- Keren, keren. - Oh ya dia udah ngasih component-component yang emang khusus. Maksudnya emang helpful.
1:06:07Bisa di deploy saat build ya berarti ya?
1:06:17Nah kalau di deploy itu sih si Starlight-nya sendiri nggak punya opini ya. Dia kan cuma plugin Astro.
1:06:24Kita mau deploy-nya gimana atau bahkan misalnya yang kaya...
1:06:27Hasilnya apa? Ini static file hasilnya?
1:06:30Static site kaya SSG Astro. Jadi ini essentially website Astro aja sih.
1:06:38Nah kayak kalau strateginya Kaisa tadi kan misalnya kerjanya sebetulnya direpulain.
1:06:44Tapi misalnya mau publish. Jadi justru sih situs dokumentasinya itu nggak diutakatik secara manual.
1:06:51Maksudnya nge-pull. Misalnya kalau kaya pake trick yang tadi, berarti pake guitar actions buat nge-copy file-file-nya di pindah di-copy ke situs dokumentasinya.
1:07:02Atau sebetulnya kalau misalnya cuma tanda kutip bikin misalnya UI component library.
1:07:09Kalau gue bilang lah jadikan satu repo aja juga bisa kan.
1:07:12Kan buat publish pasti ada comment sendiri, publish component library-nya.
1:07:17Nah buat publish dokumentasi, bikin comment sendiri.
1:07:20Jadi maksudnya kalau emang Greenfield project lah dijadiin satu repo.
1:07:24Tapi kalau udah tranjur pisah repo ya, tinggal di-copy aja file-nya.
1:07:29Oh ini nih bagian apa yang tentang kontennya.
1:07:38Light sidebar at links and link groups.
1:07:50Oh bisa diatur di ini ya.
1:07:54Jadi config semua ada config-nya kalau misalnya apa.
1:07:58Pokoknya lupa sih ini pakai yang mana, yang jelas bisa auto, ngambil dari isi set folder, bisa di-custom.
1:08:08Menarik, menarik.
1:08:14Soalnya Astro itu emang kayak docs bikin dokumentasi adalah kayak bagian besar dari kerjaannya mereka.
1:08:29Bikin docs-nya tuh mereka lihat banget jadi plugin.
1:08:32Jadi bikin Starlight untuk docs ini juga kayak reflect apa yang mereka kerjain di dokumentasi Astro.
1:08:39Astro memang bagian dari iman.
1:08:46Bagian dari kerjaan.
1:08:51Starlight ya salah satu yang bagus.
1:08:55Tapi sebenarnya Starlight ini sudah dianggap sebagai plugin buatannya Astro ya berarti ya.
1:09:03Dulu kan kayaknya buatan komunitas bukan sih?
1:09:06Enggak sih emang dari awal ya direponya Astro.
1:09:12Tapi sebelumnya kayak belum bisa di-install lah.
1:09:16Lebih ke DX-nya belum segampang sekarang.
1:09:22Ya tapi kan namanya project open source emang komunitas kan bisa contribute.
1:09:29Tapi yang ngelit tim Astro-nya sendiri.
1:09:33Starlight ini ya salah satu yang ini.
1:09:43Dulu saya sebelum tahu ada Starlight saya pakenya kit docs.
1:09:47Karena dulu kan pakenya spelt ya spelt kit kan.
1:09:50Kit docs ini juga menarik tapi sayangnya sudah sempat nge-trend.
1:09:55Sudah nge-trend, sudah nge-dementan lagi, sudah 2 tahun, nganggur.
1:09:59Dan dulu kayaknya sempat 2-3 tahun lalu lah.
1:10:03Ada banyak kan dulu storybook masih loaded banget.
1:10:06Dan semua orang bikin kayak storybook tapi untuk swell.
1:10:09Storybook untuk view.
1:10:11Macam-macam bukan cuma kit docs apalagi ya.
1:10:15Nah ini juga cukup bagus.
1:10:21Cuman sekarang kayaknya sudah Starlight sudah oke banget.
1:10:26Gimana coba mau nunjukin apa silahkan.
1:10:29Iya lagi buka dulu.
1:10:32Ini ada satu yang menurut saya, kok hilang sih.
1:10:38Jadi di WordPress itu ada satu project namanya WPCLI.
1:10:44WordPress command line.
1:10:48Dan yang kerennya kita lihat sama-sama aja ya.
1:10:55Share screen.
1:10:59Ini juga dokumentasi yang unik.
1:11:03Dan dipaksa untuk dokumen.
1:11:06Sudah lihat.
1:11:09- Loading. - Sudah.
1:11:11- Screenception. - Ini namanya WordPress LI ya tadi ya.
1:11:18WordPress command line.
1:11:20Dan dokumentasinya itu tentu ada kayak gini kan.
1:11:25WP admin, WPC, segala macem nih.
1:11:28Itu komen-komennya yang list of available comments ya.
1:11:32Iya terus kalau kita masukin nanti apa global parameternya segala macem dan cara pakenya gimana.
1:11:39Zoom in by the way.
1:11:41Contohnya yang paling, ya user deh.
1:11:44WP user gitu ya WP user.
1:11:47Dan di dalam WP user kan masih ada banyak user get, user exist, user delete, segala macem, user list.
1:11:54Nah.
1:11:57Dan bisa langsung kelihatan apa aja option-optionnya.
1:12:01Nah sebenarnya yang menariknya dari WPCLI ini.
1:12:05Kita pun kalau mau extend WPCLI, mau bikin command line-nya kita sendiri, kita dipaksa untuk punya.
1:12:17Apa namanya punya PHP doc-nya yang sesuai dengan formatnya mereka.
1:12:24Supaya bisa jalan kodanya kita.
1:12:27Dan langsung kalau kita WPCLI, misalnya WP user list --help gitu, --min-min-help. Langsung kelihatan.
1:12:35Langsung muncul.
1:12:37Sample-sample atau option-option apa yang kita tambahkan di itunya dia.
1:12:43Di komennya dia.
1:12:46Itu yang menurut saya desainnya dari yang buat ini.
1:12:53Keren sih, jadi apa namanya, karena dipaksa jadinya dokumentasi dulu sebelum bisa komennya jalan.
1:13:02Dan itu perfect banget, karena komen line kan karena text-based.
1:13:07Jadi ya, di awal suruh masukin apa nama komennya apa, argumentnya apa aja.
1:13:13Itu kan udah self-contained ya, berarti semacam self-contained.
1:13:18Kalau ini gak kita buat, ini gak jalan, si komennya gak jalan.
1:13:23Oh, nice.
1:13:26Oke.
1:13:28Kalau CLI, kalau aplikasi terminal itu memang ngedesainnya pakai dokumentasi kayak tadi.
1:13:37Bikin misalkan CLI --help. Nah itu bikin itunya.
1:13:43Bikin list of komennya, optionnya, contohnya, sama aja peganti mock-up.
1:13:49Kalau di screen kan ada screen index, ada detail, ada macem-macem kan.
1:13:54Kalau di CLI ya karena gak ada GUI, jadi ya desainnya dalam bentuk text tadi.
1:14:00Jadi dokumentasinya dibuat sebelum kita develop, gitu.
1:14:05Cuma kalau itu tadi bagusnya, kalau misalnya gak ada dokumentasinya, dia gak mau jalan kan.
1:14:11Berarti kayak...
1:14:13Contoh ini kita lihat ya, ini WP create new post, kita cari yang...
1:14:19WP... Eh, salah.
1:14:21Kita cari WP post, WP post, WP post.
1:14:25WP post, kalau create new post itu berarti create. Create, WP post, create.
1:14:30Nah, lihat, ininya sama kan, kiri dan kanan list-nya, option-nya.
1:14:38Kita tutup aja ini, kita gedein.
1:14:46Nah, kiriran kalian ini kan sama persis.
1:14:49Nah, bahkan page ini pun degenerate dari komen ini.
1:14:56Jadi beneran kerjanya sekali, terus dipakai buat kode dan buat docs.
1:15:03Iya. Dan kodenya baru bisa jalan kalau dokumentasinya benar.
1:15:08Gitu.
1:15:11Nah, itu salah satunya yang saya suka dengan konsep berpikir si maintainer atau si inventor-nya ini awal-awal.
1:15:21- Dokumentasi first. - Kayak model semacam pi-doc.
1:15:27Itu dong, Python documentation. Jadi, sama kayak JS Docs kan yang bisa di-generate sebagai dokumentasi,
1:15:36terus juga kodenya bisa dijalankan. Benar nggak sih?
1:15:43Mana ya?
1:15:47Why Docso? Nggak kelihatan contohnya ya.
1:15:53Nah, karena saya terinspirasi itulah saya pengen sebenarnya, ya mungkin nggak sampai se-extreme itu.
1:15:59Karena module nggak seperti CLI ya. Jadi, module itu minimal kode.
1:16:07Satu bungkus, satu encapsulasi, ya satu kode, satu dalam module, semuanya di situ.
1:16:12Kode di situ, dokumentasi di situ. Bagaimana ditampilkan, ya itu proses build.
1:16:18Nah, itulah rencana saya. Dan Starlight ini kemungkinan besar akan saya coba.
1:16:25Nah, cuma kalau Starlight itu kan tetap terpisah ya, walaupun bisa diakalin.
1:16:30Kalau yang salah satu, maksudnya apa ya, approach lainnya, ya storybook sih, kalau UI ya.
1:16:36Kalau storybook kan emang apa paketnya buat UI component.
1:16:39Beda, cuma maksudnya fungsionalitas tools-nya beda, storybook.
1:16:44Tapi, approach-nya sama kan, storybook itu, ya kan kita, kapan ya, udah pernah kan episode storybook?
1:16:53Storybook udah.
1:16:54Ya, dia nggak bisa.
1:16:56Kalau misalnya kita pakai type script, definition, interface, terus bahkan argument, masing-masing argument-nya.
1:17:03Kalau di type script interface-nya kita ngasih description, itu kan otomatis di generate, auto generate tabel component ini.
1:17:12Property-nya apa aja, itu kan dia otomatis generate tabel itu.
1:17:17Dan, apa, bisa juga pakai stories dari MDX kan, jadi itu kan kayak maksa.
1:17:24Ya, walaupun maksanya bukan kayak WPCLI tadi, cuma memudahkan garis miring maksa buat nge-dokumentasiin kode UI component.
1:17:34Itu approach-nya.
1:17:36Gak apa-apa sih dipaksa opinionated, saya suka kalau dipaksa oleh opinionated, tapi hasilnya itu keren.
1:17:43Kalau diikutin jadi keren, nah itu saya suka begitu tuh.
1:17:48Kayak awesome, kayak awesome list.
1:17:52Ya kan, itu yang punya awesome list itu ini banget kan.
1:17:57Saklek banget, kalau nggak sesuai dengan standard awesome list itu, dia nggak akan terima.
1:18:04Ya, karena kalau itu sih, itu kan sebenarnya free-form content ya.
1:18:09Kalau nggak ngikut template atau nggak ngikut standard, makin berantakan.
1:18:13Cuma kalau kayak storybook ini kan nggak bisa di-enforce ya, karena bukan kayak kalau WPCLI bisa dibikin kalau nggak ada itu-nya,
1:18:21apa, dokumentasinya nggak jalan.
1:18:23Kalau ini ya harus custom lah, bikin husky atau apa lah, dibikin nggak bisa commit misalnya kalau belum ada storybook MDX-nya.
1:18:33Cuma yang biasa, ini kan udah difasilitasi untuk itu kayak auto-generate minimal misalnya UI komponen,
1:18:46property-nya apa aja, optional atau nggak, jenis komponennya, string atau number atau array atau apa,
1:18:53terus deskripsinya apa, itu kan udah otomatis dibikinin, degenerate tabel dokumentasinya.
1:19:00Yes, ini lebih ke UI-dokumentasinya, UI-Docs.
1:19:04Khusus buat UI-dokumentasinya.
1:19:06Degun dari dokumentasi juga, betul.
1:19:08Kalau pakai IDE-nya enak, PAP-Docs comment bisa di-collapse, bisa di-tampilkan atau di-hide ya, di-sembunyain ya.
1:19:26Ya, PAP-Docs, GS-Docs, dan lain-lain ya.
1:19:31Semua Docs, Docs, Docs.
1:19:34Apa lagi yang perlu kita bahas? Tutorial Kit, perlu nggak? Tutorial Kit udah pernah sih, tapi ini lebih ke tutorial ya, walaupun.
1:19:47Gimana caranya supaya semangat nulis dokumentasi dan tetap up to date sih?
1:19:53Oh iya, sama versening. Versening itu juga susah itu.
1:20:00Contohnya ya kalau misalnya kita punya, ya ini kalau produk ya.
1:20:07API versi 1, API versi 2 gitu ya.
1:20:10Iya, kalau punya produk, contohnya kayaknya React ada deh, React 16, React 17 kan beda tuh ini dokumentasinya.
1:20:20Iya pasti, pasti beda. Ada yang baru, Laravel, atau apa, itu biasanya dia ada pilihan, loh kok nggak ada?
1:20:30Coba di DocuSaurus tadi ada. DocuSaurus nih itu, ada Versi-Versi Tanari, ada Archive-nya.
1:20:39Oh wait, DocuSaurus pake DocuSaurus kan? Jognya nggak?
1:20:44Nggak.
1:20:45Iya dong. DocuSaurus pake MSGS.
1:20:50DocuSaurus, DocuSaurus pake DocuSaurus kan?
1:20:53Mana Docs? Nggak ada.
1:20:55Dia pake itu yang.
1:20:56Website. Docs.
1:21:00Dia pake website.
1:21:02Ini MDX semua ya? Docs-nya itu.
1:21:07Gua bingungnya MDX ini kadang, ya MDX itu.
1:21:15DocuSaurus dong, ini jalanin DocuSaurus.
1:21:19Ini script ngapain nih DocuSaurus adalah DocuSaurus?
1:21:22Itu supaya bisa yang dibawahnya itu loh jalan start DocuSaurus.
1:21:26Oh oke oke oke.
1:21:34Oh di Starlight ada plugin-nya.
1:21:37Starlight juga ada ya versinya ya?
1:21:40Nggak, by default nggak.
1:21:42Oh by default nggak ada.
1:21:44Sejauh ini, cuma ada community plugin-nya.
1:21:47Oh, ada community plugin, menarik menarik.
1:22:03Oke.
1:22:05Seru ya, bahas dokumentasi ya.
1:22:08Jangan cuma dibahas, tapi dimulai.
1:22:14Nggak, maksudnya UI ada Docs-nya, API ada Docs-nya.
1:22:20Terlalu luas ya.
1:22:23PHP Dokumentor tuh jaman dulu yang saya pake tuh.
1:22:26Dokumentor.
1:22:28PHP Dokumentor namanya.
1:22:31Apa tuh?
1:22:34Iya untuk nge-generate PHP Doc kita, PHP Doc terus kalau misalnya kita punya kelas-kelas-kelas,
1:22:40bisa di-generate jadi PHP Doc jaman dulu.
1:22:45Oh buat nge-extract si PHP Doc-nya ya?
1:22:50Iya.
1:22:51Based on kode yang, kode kita kan.
1:22:55Itu ada PHP Doc belum, oh iya coba.
1:22:58Iya yang tadi.
1:23:00Oh gitu, coba components atau documentation.
1:23:05Nah dokumentasinya dia pakai PHP Doc nggak ya?
1:23:08Oh nggak ya, beda lain.
1:23:10Ini bukan, ini bukan documentation.
1:23:13Hasilnya yang kayak, apa ya, ya kayak masih table-table jaman dulu lah.
1:23:18Difference.
1:23:20Nggak modern.
1:23:24Itu namespace itu, namespace PHP Dokumentor kayak tadi.
1:23:29Huh?
1:23:31Namespace?
1:23:33Baik, baik, baik.
1:23:35Nah gitu tuh, yang, ya itu, nah iya.
1:23:40Oh iya.
1:23:43Udah lumayan.
1:23:45Rapi.
1:23:46Sudah rapi ya.
1:23:48Gimana masanya nggak estetik, kalau PHP interface, emang kayak gitu deh.
1:24:00Kalau menurut gue sih Laravel salah satu situs dokumentasi yang nggak pernah berubah.
1:24:03Tapi ya mungkin dibagusin tapi sedikit nggak terlalu signifikan.
1:24:08Cuma apa ya, helpful sih, gampang nyari informasi.
1:24:12Yang baca juga developer, nggak perlu cantik-cantik.
1:24:21Ya tapi kalau yang enak dipandang kan lebih ini ya, estetik.
1:24:25Bukan, maksudnya kalau, kan beda kan Astro kan yang baca juga developer, yang baca dokumentasi Astro kan.
1:24:30Cuma maksudnya udah lebih banyak bells and whistles-nya.
1:24:33Kalau Laravel sih cukup straightforward gitu pokoknya, dari dulu nggak terubah.
1:24:39Tapi tergantung ini juga, tergantung sama yang bikin tools-nya.
1:24:45Contohnya kalau Vue.js itu biasanya desainnya bagus-bagus.
1:24:48Dokumentasi di Vue.js apa ya?
1:24:50Ada kan yang bagus dia?
1:24:52Pina apa?
1:24:54Bukan apa ya?
1:24:56Nux?
1:24:58Nux itu kan meta framework-nya.
1:25:02Coba ya, Vue Documentation.
1:25:10Vue Press ya?
1:25:12Vue Press.
1:25:14Kayak WordPress ya?
1:25:16Oh belum pernah pakai ya?
1:25:18Press.
1:25:20Introduction.
1:25:28Iya, Vue.js.
1:25:30Nah ini dokumentasi juga.
1:25:32Ini ada versinya.
1:25:36Ini mirip dokusa urus ya style-nya.
1:25:38Ya, betul, betul.
1:25:42Benar, benar, benar.
1:25:44Ini kan Write Documentation Block in Markdown.
1:25:49Ini punya Vue.js.
1:25:53Kalau lihat reference-nya, tuh sama kan.
1:25:59Merip-merip juga tuh.
1:26:03Itulah.
1:26:05Kayaknya sudah bikin ini standardnya ya.
1:26:09Iya, Laravel.
1:26:11Sama kan, mirip-mirip.
1:26:13Makin established, kayak PSP, Laravel.
1:26:17Kalau tiba-tiba style-nya diubah banget, orang malah bingung kan.
1:26:21Jadi emang, ya maksud saya walaupun mungkin sekarang kayak apa ya.
1:26:25Orang install pakai PNPM, pakai Yarn, ada tab-tab-nya.
1:26:31Mungkin ya nambah fitur kayak gitu.
1:26:33Cuma overall, strukturnya sama tampilannya.
1:26:37Kayaknya justru yang bagus, yang benar mah gak usah diutak-atik lagi.
1:26:41Karena orang udah terlalu kebiasa.
1:26:43Selalu ada topik di sebelah kiri dan topik untuk khusus page ini di sebelah kanan ya.
1:26:52Itu tipenya tadi sama ya. Starlight, terus ini, ya kan?
1:26:58Terus tadi Viewpress.
1:27:00Walaupun kayak udah muscle memory gak sih.
1:27:02Jadi ekspektasinya kiri itu navigasi halaman, kanan navigasi internal dalam halaman itu.
1:27:08Internal page.
1:27:10Topik-topik di page tersebut ya.
1:27:14Seribunya mirip-mirip aja. Viewpress juga tadi mirip banget sama dokusaurus ya.
1:27:22Oke, oke. Ada lagi yang mau dibahas?
1:27:28Apa tuh? Filament, ada komen. Filament pakai Doctum.
1:27:32Filament pakai Doctum.
1:27:34Filament kayaknya Laravel ya.
1:27:38Filament tuh sendiri. Filament gak pakai.
1:27:42VHP ini. Laravel, Astro, Laravel Development.
1:27:48Livewire tuh. Livewire berarti Laravel.
1:27:51Nah, Filament pakai Astro dokumentasinya.
1:27:55Gak pakai Laravel.
1:27:57Itu kalau menurut komen paling bawah, di komen paling bawah.
1:28:01Filament pakai Doctum.
1:28:03And by the way, Filament ganti pakai Astro.
1:28:06Itu absurd juga.
1:28:08Ganti pakai Astro dokumentasinya, jadi dia gak pakai produknya dia sendiri.
1:28:15Menarik ya. Lucu juga ya.
1:28:22Oke. Tadi gak kelihatan ya.
1:28:27Saya share ini tapi gak share screen.
1:28:30Filament documentation ini.
1:28:35Ini pakai Astro. Coba apa ya? Action button.
1:28:40Oh iya tuh, iya kan Filament.
1:28:44Iya, mirip banget sama.
1:28:48Oh, jadi dia pakai Starlight ya?
1:28:50Iya, mungkin.
1:28:52Wow.
1:28:55Oh iya, Starlight ini.
1:28:57Kalau search, bisa search gimana? Coba search.
1:29:02Pake Algolia.
1:29:05Pake Algolia standard sih.
1:29:08Setelah lagi sudah bisa pakai chatbot ini.
1:29:11Pastinya.
1:29:13Pasti.
1:29:15Dari si Starlight-nya.
1:29:17Itu pattern yang udah mulai umum? Belum ya.
1:29:21Udah ada sih, kalau di apa?
1:29:23Ada beberapa.
1:29:24Itunya Gemini API, misalnya punya Google atau di Cloud API, pokoknya semua produk Google sih udah ada ya.
1:29:32Kan sebenarnya itu relatif gampang kan? Tinggal konten docs-nya dimasukin ke LLM aja.
1:29:38Jadi kita bisa nanya pakai natural language ke AI docs itu.
1:29:45Iya.
1:29:49Oke, cukup ya, membahas tentang dokumentasi. Tadi kita udah bahas tipe-tipe dokumentasi,
1:29:55terus bahas tools-nya juga, ada yang dokumentasi dibikin sebelum bikin programnya,
1:30:01ada yang dibikin setelah, gimana cara nge-enforce, gimana tips supaya dokumentasi tetap up-to-date.
1:30:08Wait, ada satu yang ketinggalan, terakhir banget ya, nggak usah dibahas panjang-panjang lah.
1:30:13Ada komunitas-nya dong, aneh banget, berita writethedocs.org.
1:30:19Komunitas apa?
1:30:22Komunitas untuk buat dokumentasi.
1:30:25Sampai ada conference-nya.
1:30:27Wow.
1:30:28Iya, dan aktif.
1:30:29Ada conference-nya.
1:30:30Aktif.
1:30:32Wow.
1:30:35Ada ya, aku nggak tahu.
1:30:41Menarik ya.
1:30:44Di Indonesia belum ada ya, belum nyampe ya.
1:30:47Ada Slack, ada local online, hit-up.
1:30:53Salah disurvey, tuh, gua total itu, salah disurvey.
1:31:00Siapa tau gua ganti banting stir, jadi tukang lulus dokumentasi aja.
1:31:05Cuma ini nanti terlusur sama AI.
1:31:08Ya gitu, pokoknya udah nggak usah dibahas.
1:31:11Pokoknya kalau kita tertarik sama komunitasnya ya buka sendiri website-nya.
1:31:17Oke, sebelum mudahan, seperti biasa, topik minggu depan.
1:31:21Ayo, ada yang punya ide.
1:31:23Topik minggu depan.
1:31:25Kalau tadi saya udah masukin API sama project management tools.
1:31:30Kita mau sort by.
1:31:35Kita mau halloween belum ya?
1:31:43Halloween mau, baru ada satu.
1:31:46Cerita horor ku.
1:31:49Cerita horor baru ada satu.
1:31:51Nanti aja lah.
1:31:54Jangan lupa ya temen-temen, kalau punya kisah horor.
1:31:59Kita belum bikin form submit anon ya. Nanti kita masukin di...
1:32:05Nanti masukin.
1:32:07Oke, kita bahas apa berarti, dokumentasi sudah...
1:32:13Beda buku.
1:32:15Beda buku lagi mau.
1:32:17Buku apa?
1:32:19Buku yang ada yang udah submit udah galam.
1:32:22Buku yang ada yang udah submit udah galam.
1:32:23Aku belum punya nih bukunya.
1:32:29Atau buku yang lainnya nggak apa-apa?
1:32:32Beda bukunya teknis banget.
1:32:35Engga, itu teknis, cuma maksudnya ringan kok.
1:32:40Tapi gue baru belajar dikit sih, belum lama beli.
1:32:44Atau yang lain, hoisting, pure function.
1:32:48Udah kan ya?
1:32:50Udah, pure function, hoisting, udah.
1:32:54Bahas reporting.
1:32:56Itu belum sih? Oh iya, kita bahas kemarin apa? Carrying.
1:33:00Carrying.
1:33:03API versioning.
1:33:06File upload strategy.
1:33:08Waduh, banyak amat.
1:33:10S3 sign url upload file.
1:33:12JWT. Oh JWT menarik sih.
1:33:15Bahas tentang JWT.
1:33:21Token.
1:33:23Token, ya maksudnya cara.
1:33:25JSON web token?
1:33:27Iya JSON web token.
1:33:29Boleh.
1:33:31Mau, JWT?
1:33:33Boleh.
1:33:34Jawa teks, boleh.
1:33:36Boleh ya.
1:33:37Biasanya minggu depan kita bahas.
1:33:39Itu sign url sekalian deh terus.
1:33:40Sign url, JWT.
1:33:43Itu satu topik itu berarti?
1:33:48Ya bisa.
1:33:50Sama sekali gue secara ini aja.
1:33:53Apa namanya?
1:33:55Communication.
1:33:56Securing communication.
1:33:59Sign url upload file.
1:34:03Komunikasi antar?
1:34:06System, misalnya dari browser ke server.
1:34:10Atau dari server to server.
1:34:18Sign url upload file.
1:34:24Komunikasi antara client dan server ya.
1:34:36Securing communication.
1:34:39Ya autentikasi dan lain-lain ya.
1:34:41Refresh token.
1:34:43Ya, tulis aja dulu.
1:34:46Refresh token.
1:34:48Apa lagi?
1:34:52Itu udah jadi satu ya.
1:34:53Access token, refresh token.
1:34:58Ya, oke.
1:35:00Jadi minggu depan kita bahas tentang JWT.
1:35:03Untuk malam ini.
1:35:05Kita tutup dulu.
1:35:06Terima kasih buat semuanya.
1:35:08Selamat malam.
1:35:10Selamat istirahat.
1:35:12Sampai jumpa minggu depan.
1:35:13Bye bye.
Suka episode ini?
Langganan untuk update episode terbaru setiap Selasa malam!
Episode Terkait
23 Sep 2025
Toolkit Modern - Ngobrolin WEB
🗣️🕸️ Selasa malam waktunya #ngobrolinWEB! Malam ini akan membahas tentang alat bantu modern seperti vitest, unjs, roll...
16 Sep 2025
Ngobrolin JWT - Ngobrolin WEB
🗣️🕸️ Selasa malam waktunya #ngobrolinWEB! Malam ini akan membahas tentang JWT, auth, acess token, refresh token dll. T...
11 Agu 2025
Stackoverflow Survey 2025 - Ngobrolin WEB
Selasa malam waktunya #ngobrolinweb! Malam ini kita akan ngobrolin tentang hasil survey yang dilakukan oleh Stackoverflo...