EP 106

Ngobrolin Alat Dokumentasi - Ngobrolin WEB

Bagikan:

Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. Topik, tautan dan pertanyaan menarik bisa dilayangkan ke https://ksana.in/ngobrolinweb Kunjungi https://ngobrol.in untuk catatan, tautan dan informasi topik lainnya.

Ringkasan Episode

Bantu Koreksi

Episode ini membahas tentang dokumentasi dalam pengembangan software, mulai dari konsep dasar, jenis-jenis dokumentasi, hingga berbagai tools yang dapat digunakan. Diskusi dimulai dengan pengenalan Documentation System yang terdiri dari empat jenis utama: Tutorial (learning-oriented), How-to Guides (problem-solving oriented), Explanation (teoretical/conceptual), dan Reference (API documentation). Episode mengulas berbagai tools populer seperti Docusaurus (React-based), Starlight (Astro-based), Storybook (untuk UI components), Swagger/OpenAPI (untuk API documentation), dan Google Code Lab (untuk step-by-step tutorial). Topik penting yang dibahas meliputi best practice "Docs as Code" di mana dokumentasi ditempatkan dalam reposisi yang sama dengan kode untuk memudahkan tracking, version control, dan code review, serta diskusi tentang bagaimana dokumentasi modern juga perlu dikonsumsi oleh AI tools seperti Cursor dan Copilot.

Poin-poin Utama

  • Documentation System terdiri dari empat jenis: Tutorial (belajar step-by-step), How-to Guides (solusi masalah spesifik), Explanation (konsep/filosofi di balik teknologi), dan Reference (dokumentasi API/sintaks)
  • Docusaurus adalah framework dokumentasi berbasis React yang paling populer (go-to solution) dengan fitur SSG, blog, dan dukungan MDX
  • Starlight adalah template dokumentasi berbasis Astro dengan best practices dari dokumentasi Astro sendiri, mendukung multi-lingual termasuk bahasa Indonesia
  • Storybook adalah tool khusus untuk dokumentasi UI components dengan fitur autodocs, accessibility testing, dan visual testing, mendukung berbagai framework
  • Swagger/OpenAPI Specification adalah standar untuk API documentation yang berfungsi sebagai "kontrak" antara front-end dan back-end developer
  • Best practice "Docs as Code" menyarankan dokumentasi ditempatkan dalam repo yang sama dengan kode untuk tracking, version control, dan menghindari dokumentasi terbengkalai
  • Google Code Lab menawarkan format step-by-step tutorial yang user-friendly untuk workshop, dapat ditulis menggunakan Google Docs dan dikonversi menjadi HTML
  • Dokumentasi modern tidak hanya untuk manusia tetapi juga untuk dikonsumsi oleh AI tools, sehingga struktur heading dan semantic markdown menjadi semakin penting
Transkrip Bantu Koreksi

0:00(musik)

0:11(Tinggalkan ringtone)

0:15Halo-halo, selamat malam.

0:19Weee!

0:20Right on time!

0:23(musik)

0:24Permintaan Irfan kemarin minggu lalu.

0:26Weee!

0:27(tertawa)

0:28Halo, Les.

0:30Pasti Eka ini lagi half time ini ya, makanya.

0:34Saya akan nontonin.

0:35(tertawa)

0:36Kenapa tim Les selalu live hari Selasa gitu ya?

0:38Karena sebenarnya hari Selasa itu udah jatahnya kita.

0:42Ngobrolin web.

0:43Ngobrolin web.

0:44Kenapa tim Les selasa juga?

0:46Bingung ya.

0:48Selalu bentok ya.

0:50Tapi menang ya.

0:51For sementara satu kosong untuk Indonesia ya.

0:52Menang, satu kosong bagus ini.

0:54Satu kosong mainnya bagus.

0:56Tapi Indonesia harus menang sampe akhir masa.

1:00Maksudnya telur pertandingan sisa harus menang.

1:02Maksudnya supaya bisa lolos.

1:04Ya, realistik.

1:05Kelihatannya kayak gimana ya.

1:07Cuma kalau menang.

Lihat transkrip lengkap

1:09Agak realistik tapi ya.

1:10Cuma put up some fight lah.

1:12Maksudnya lihat tiket jangan.

1:14Main bagus lah.

1:15Minimal main bagus.

1:16Ya.

1:17Mau menang atau kalah.

1:18Maksudnya kalah terhormat lah ya.

1:20Kalah dengan usaha.

1:21Yes.

1:22Kalaupun gak lolos, tapi ngasih yang terbaik.

1:25Nah.

1:26Hidup Indonesia.

1:27Menang aja.

1:28Sudah ada yang nonton nih Damar.

1:29Kenapa kamera?

1:30Ada apa dengan kamera kita?

1:32Something wrong?

1:33Damar, Damar, Damar, Damar.

1:35Tapi Damar ini apa namanya?

1:37Dia komennya itu jam 19.18.

1:40Sekitar 45 menit lalu.

1:44Engga.

1:45Sebelum mulai, pas baru mulai.

1:47Sebelum live.

1:48Ada apa dengan kamera?

1:49Mohon info, mohon info.

1:51Mungkin gak sengaja masa biasanya nyalain kamera.

1:54Eka nonton gak yang lawan Jepang kemarin?

1:57Engga, gak nonton.

1:59Itu nyebelin banget.

2:00Gak nontonnya gara-gara lagi ada Tim Bimmer lagi.

2:03Rik banget.

2:04Berarti gara-gara Eka gak nonton jadi kan.

2:07Gara-gara Eka gak nonton dia.

2:10Kambing hitam.

2:12Alat dokumentasi maksudnya kamera gitu.

2:18Oh.

2:19Oh iya benar juga ya.

2:21Saya baru nyadar.

2:24Benar, benar, benar.

2:27Engga, engga.

2:29Kan tadinya mau tulis ngobrolin dokumentasi.

2:33Tapi kan sebenarnya kita ngomongin tools kan.

2:36Usia itu kan bahasa Indonesia-nya kan alat.

2:38Jadi saya tambahin alat dokumentasi.

2:41Jadi kalau sedikit salah persepsi mohon maaf ya.

2:46Jadi ya itu dia.

2:47Malam ini kita akan bahas tentang...

2:49Memang musim mangga.

2:51Emang musim mangga?

2:52Minggo sticky rice.

2:54Lagi dimana-mana nih mangga?

2:56Bayang-bayang ya.

2:57Minggo sticky rice ya.

2:59Minggo sticky.

3:00Emang nih Jogja gak ada gitu jualan mangga?

3:03Apa?

3:04Ya ada lah.

3:05Kenapa gak ada mangga?

3:07Sedih banget.

3:09Ivan kan juga dulu laman Jogja kali.

3:11Masa gak ada mangga.

3:13Seumur-umur Jogja gak pernah makan mangga ya.

3:15Eka nya gak ke pasar magu Harjo kali.

3:19Ya ngapain orang tinggalnya dekat pasar banding?

3:22Salah.

3:23Bring Harjo, bring Harjo.

3:25Bring Harjo.

3:27Ya jadi mumpung lagi hal time.

3:30Nonton ngobrol di web dulu.

3:31Nanti kalau udah mulai.

3:33Buka dua-duanya.

3:34Kasih kabar ke kita ya.

3:35Kalau ada gitu ya.

3:37Kita gak boleh buka soalnya.

3:39Komen kunci.

3:40Ya kita gak boleh buka bahaya.

3:41Nanti gak konsen.

3:43Nanti diband.

3:45Nanti diband.

3:47Gak boleh ngobrolin bola.

3:49Oh iya.

3:51Nanti kalau udah 2-0 kabarin ya chat.

3:53Oke.

3:54Oh iya.

3:55Kalau gak 2-0 gak boleh kabarin ya.

3:57Oh gak boleh.

3:58Kita gak mau denger tuh.

4:00Kemarin tuh.

4:01Kita mau denger good news aja.

4:03Pas lawan Jepang kemarin.

4:05Itu lagi tim dinner.

4:07Di suatu restoran.

4:09Cuma bagian dari gedung.

4:10Nah sebenernya tuh teman nomber.

4:12Itu gak enak banget.

4:13Bener orang Tia.

4:15Akhirnya kalah lagi ya.

4:17Kalau menang sih seneng ya.

4:19Susah banget.

4:21Kalahnya cukup ini ya.

4:24Nah waktu di tim dinernya ada foto-foto gak?

4:27Ada.

4:29Nah maksudnya foto-foto ini pakai alat dokumentasi.

4:32Bagian dari dokumentasi.

4:33Alat dokumentasi.

4:42Ngomongin alat dokumentasi ya.

4:45Kita kan mau ngobrolin tentang itu.

4:47Nah sebenernya sebelum ke arah sana.

4:51Ini juga salah satu topik yang kita ambil dari

4:56dari GitHub kita.

4:59Yang salah satu cukup tinggi sih.

5:02Lumayan ini ya.

5:05Lumayan banyak yang vote ya.

5:08Dokumentasi ini.

5:09Jadi kalau teman-teman punya topik boleh langsung di kirimkan kesini.

5:16Jadi nanti ada yang vote, ada yang kasih komentar dan lain-lain.

5:20Tadi saya melihat ada yang submit mas Irfan.

5:29Oh ini basic web security.

5:32Baru lihat nih 11 jam yang lalu.

5:35Tapi kayaknya menarik ya.

5:39Tuh udah ada referensinya tinggal bahas.

5:43Enak ya.

5:45Kita meng-outsourcekan kerjaan kita.

5:47Gini nih.

5:49Tinggal kita bahas.

5:51Kalau perlu panggil orangnya ya.

5:53Jadi kita dari sini ada salah satu saya sih.

5:59Kan idea dari teman-teman juga kan ya.

6:01Kayaknya sempat dari itu yang Slidoo atau apa.

6:06Bukan yang Slidoo.

6:08Oh dari Slidoo kita pindahin kesini ya.

6:10Iya.

6:12Jadi nextnya kesini aja.

6:14Nah ngomongin dokumentasi lagi.

6:16Kalau apa namanya.

6:18Sebelum kita mulai ke tools untuk membuatnya.

6:22Nah dokumentasi itu.

6:24Kalau misalkan teman-teman bikin dokumentasi.

6:27Atau baca dokumentasi tentang library atau framework.

6:31Itu biasanya ada bagian-bagiannya.

6:35Ada 4 biasanya.

6:37Yang paling umum ya.

6:39Jadi dia modelnya itu disebut sebagai documentation system.

6:42Disini.

6:44Jadi ada tutorial.

6:46Kemudian ada how to.

6:48Ada explanation, ada reference.

6:51Reference ini kayak API.

6:53Kayak syntax ya.

6:55Code ya.

6:57Maksudnya bisa di auto-generate ya.

6:59Betul.

7:01Dari JS doc misalkan.

7:03Atau dari documentation generation yang lain.

7:06Nah kalau.

7:08Dan ini masing-masing juga ada bagian-bagiannya misalkan.

7:11Tutorial itu adalah learning oriented.

7:13Jadi kita belajar berdasarkan.

7:15Luh ada iklan.

7:17Berdasarkan.

7:19Kayak apa ya.

7:21Step by step.

7:23Mulai install dulu.

7:25Terus generate.

7:27Terus abis itu di edit yang mana gitu ya.

7:29Kalau how to itu.

7:31Kalau biasanya kita mau.

7:33Past base ya.

7:35Misalnya authentication.

7:37Misalnya kita punya meta framework.

7:39Authentication.

7:41Atau membuat routing.

7:43Atau how to.

7:45Redirect.

7:47How to.

7:49Yang bisa mencakut.

7:53Satu atau beberapa fitur dari.

7:55Si library atau framework.

7:57Itu kali ya.

7:59Jadi misalkan awalnya kita ikutin tutorial.

8:01Terus kita bikin aplikasi sendiri.

8:03Terus kita bingung nih.

8:05Gimana cara bikin autentikasi.

8:07Gimana caranya ngecek.

8:09Apakah username passwordnya benar atau salah.

8:11Dan lain-lain.

8:13Biasanya ada di how to guides.

8:15Terus kemudian kalau yang explanation.

8:17Kenapa misalkan.

8:19Filosofinya kali ya.

8:21Kenapa framework ini muncul.

8:23Tujuan dibuatnya apa.

8:25Gitu-gitu ya.

8:27Atau mungkin termasuk juga decision.

8:29Kenapa routingnya.

8:31Design architecture.

8:33Kenapa pakai cara kayak gini.

8:35Karena itu mengatasi masalah.

8:37Kayak htmx itu ada kan.

8:39Waktu itu kita lihat.

8:41Itu kan kayak ada penjelasannya.

8:43Tentang atar belakangnya.

8:45Betul.

8:47Docs ini kan ada referensi.

8:49Yang tadi kan referensi. Terus example ini kayak tutorial.

8:51Example ini kayak how to ya.

8:53Kalau example kan demo ya.

8:57Demo.

8:59Kadang-kadang dia jadi satu.

9:03Nggak semuanya terpisah.

9:05Misalnya dia jadi satu seperti ini.

9:07Nanti tiba-tiba disini ada tutorial.

9:09Atau apa gitu.

9:11Apalagi yang

9:13build ya.

9:15Salah satu contoh yang dokumentasinya

9:19lengkap dan detail banget.

9:21Ya, kayak core concept.

9:23Ini kan penjelasan ya.

9:25Mungkin ini tutorial.

9:27Nah, ini tutorial ada di bagian sini.

9:29Jadi nggak mesti terpisah.

9:31Tapi biasanya yang API

9:33yang penjelasan

9:35yang ini, yang referensi, biasanya ada sendiri dia.

9:37Terpisah.

9:39Maksudnya, dari

9:41ada

9:43ada sectionnya itu coba

9:45kembali ke bagian yang tadi.

9:47Kan itu

9:49yang di tengah itu kan

9:51practical step di atas, theoretical

9:53di bawah. Terus

9:55yang sebelah kiri untuk

9:57belajar. Untuk studying.

9:59Untuk megerjakan sesuatu.

10:01Jadi kalau misalnya mau

10:03cari apa?

10:05Mau buat tutorial atau

10:07dokumentasi yang

10:09langsung

10:11langsung, pokoknya

10:13pengen langsung bisa dipakai,

10:15praktek langsung untuk kerja gitu.

10:17How to, ya, berarti how to guide.

10:19Langsung, kalau belum

10:21kayak contohnya gitu. Yang tadi kayak

10:23mau bikin button,

10:25gimana, langsung ini contohnya, begini

10:27caranya. Nah, sedangkan kalau mau

10:29lebih

10:31dalam lagi, ya maksudnya

10:33kalau mau belajar lebih dalam, ya berarti

10:35kita kan belajar lebih dalam, berarti

10:37ke sebelah kiri.

10:39Nah, maksud dari

10:41bagan ini, sebuah

10:43dokumentasi yang

10:45baik,

10:47yang best practice-nya adalah

10:49kalau semua

10:51dokumentasi

10:53yang kita buat ini mencakup

10:55section ini.

10:57Jadi, tergantung user-nya. Kalau datang

10:59itu, ah, gue pengen tahu

11:01kalau pengen mau pakai Astro,

11:03baru mulai

11:05aja harus belajar teorinya, kan malas

11:07banget, ya, pengen tahu dulu ini hasilnya

11:09kayak gimana sih? Ya, langsung ke how to.

11:11Pengen dapat bayangan gambaran

11:13yang cepat aja bentuknya kayak gimana.

11:15Tapi begitu sudah

11:17nyampe.

11:19Untuk pengen tahu

11:21kenapa kayak gini, kenapa

11:23gitu, kenapa kok

11:25ini bagian yang beda,

11:27apa aja.

11:29Betul. Jadi,

11:31sebisa

11:33mungkin kalau bikin dokumentasi

11:35yang kita buat untuk

11:37produk, ya, mencakup

11:39empat hal ini.

11:41Semuanya. Oh ya, how to

11:43guides. Itu sering disebut sebagai

11:45recipe ya, kelihatannya. Salah satu

11:47yang pakai termini recipe

11:49itu Astro tuh, itu contohnya bagus

11:51deh, coba di private chat.

11:53Recipe. Ada di sini? Recipe.

11:59Ada, ada. Scroll aja

12:01ke bawah. Recipe. Oh, ini recipe

12:03and resource ya?

12:05How to recipes. Nah, terus menariknya

12:07mereka punya dua macam

12:09official recipes. Itu ya,

12:11maksud saya yang official di Docs.

12:13Tapi user

12:15saya, community bisa

12:17submit juga. Community recipes.

12:19Community. Oh, ada di sini ya.

12:21Ya. Tinggal submit di

12:23GitHub. Dokumentasi ini

12:25engineering sendiri ya.

12:27Maksudnya. Iya.

12:29Terpisah dari

12:31dari core

12:33core programmer, core

12:35developer-nya, terpisah

12:37dari implementation

12:39implementator-nya.

12:41Ini kayak satu ilmu sendiri

12:43gitu.

12:45Technical engineering,

12:47technical writer bahasanya kali ya.

12:49Filos ininya. Profesinya.

12:51Iya, iya. Kalau untuk

12:53nulis kontennya, iya.

12:55Tapi kalau untuk

12:57develop maksudnya untuk naro

12:59dimana

13:01ada yang bilang, disarankan

13:03satu repos supaya

13:05ikut, apa ya, ketika

13:07release ada atau ada fitur baru,

13:09dia ikut ke update juga. Bisa langsung

13:11ditrack ya? Iya, bisa langsung ditrack gitu.

13:13Kalau dibikin di repos sendiri

13:15jadi kayak silo

13:17aja terpisah. Ini ada

13:19ininya nggak? Ini ada kayak drop

13:21down, si Astra ini ada drop down

13:23versi-versinya nggak sih? Kayak versi

13:25yang berapa sebelumnya?

13:27Di kanan atas?

13:29Nggak ada.

13:31Gak kayak Laravel.

13:33Yang ada Laravel, ya kan?

13:35Apa? Yang pertama

13:37identik.

13:39Banyak sih. Cuma yang pertama gue inget.

13:41Perversi.

13:43Karena pernah juga kayak

13:45nemu sebuah dokumentasi, dicobain

13:47contohnya kayak WordPress,

13:49itu yang blog editor-nya,

13:51yang Gutenberg itu.

13:53Yang dirilis, yang versi

13:55terakhir. Terus gue cobain,

13:57"Oh nggak bisa, ternyata gue punya

13:59core WordPress-nya masih

14:01ketinggalan." Dan itu kan sudah

14:03yang maksudnya function itu belum ada.

14:05Jadi kadang suka

14:07lagi kan ada yang berbeda,

14:09yang berbeda, underscore,

14:11tuh tuh versi itu. Jadi

14:13kalau misalnya masih pakai

14:15versi 5, ya mungkin dokumentasinya

14:17berbeda. Kalo nggak salah

14:19dokusorus ada deh.

14:21Kita ngomongin tools, ya. Salah satunya dokusorus.

14:23Yang dipakai di React.

14:25React.dev ya.

14:27Pakainya dokusorus ya?

14:29Kayaknya.

14:31Aduh, nggak ada ya?

14:33Ternyata nggak.

14:35Oh, dia

14:37pakai ini, versiannya pakai

14:39subdomain.

14:41Banti kan dia sudah

14:43dililis, di-read-only,

14:45dibuat jadi read-only,

14:47repo-nya atau branching-nya.

14:49Kayak serangnya ya.

14:51Dokusorus.

14:53Coba kita lihat dokusorusnya ya.

14:55Ini salah satu tools yang

14:57terkenal juga. Tuh, ini kan ada di sini.

14:59Dokumentasi dokusorus pakai dokusorus ya?

15:01Iya kali.

15:03Itu

15:05buat tools banget kalo ternyata nggak

15:07pake.

15:09Apa istilahnya?

15:11Dogfooding.

15:13Pemakan makanan

15:15anjing sendiri.

15:17Itu aneh.

15:19Mungkin di-disable kali ya

15:21sama react-nya ya. Jadi nggak pake fitur

15:23ini ya. Jadi ini dokusorus kan

15:25dia ada ternyata ininya,

15:27versi-versinya.

15:29Bisa dipake atau nggak?

15:31Ya.

15:33Masih ada.

15:35Masih ada versi satunya.

15:37Go by example juga cukup populer.

15:39Go by

15:41example.

15:43Ini

15:45dokumentasi juga ya.

15:47Oh, ini contoh yang tadi.

15:53How to.

15:55Iya bener.

15:57Tapi ini lebih ke topik-topik.

15:59Example atau recipe?

16:01Example.

16:03Coba aja klik salah satu.

16:05Your parsing. Ini kayak

16:07contoh code ya.

16:09Contoh code ya. Oh iya, ini

16:11berarti kayak recipe tadi ya. Yang how to ya.

16:13Change logs

16:15termasuk dokumentasi nggak?

16:17Termasuk kayaknya.

16:21Termasuk.

16:23Tapi biasanya malah

16:25di satu halaman tersendiri ya.

16:27Biasanya kan ada.

16:29Coba deh. Karena

16:31di repo

16:33misalkan kayak github gitu dia ada kan.

16:35Nah, kalau contohnya kayak yang react nih.

16:39Yang react, dia

16:41ngasih link ke

16:43change log-nya di masing-masing versi.

16:45Nah, scroll ke bawah.

16:51Nah, itu releases

16:59atas.

17:01Atau sedikit. Nah, iya.

17:03Lari-nya kan kayak change

17:05log, MD kan?

17:07Lari-nya ke MD.

17:09Jadi di-release-nya

17:11di repo-nya, tapi tetap di-link

17:13dari website docs-nya.

17:15Jadi maksudnya bukan cuma

17:17major, tapi per minor

17:19sama

17:21bug fix-nya juga ke-track.

17:23Ini change log

17:25yang bagus tuh begini nih.

17:27Change log yang paling worst yang pernah gue

17:29nomorin itu adalah

17:31anak Android tuh. Menyakit jahantung.

17:33Kenapa emang.

17:35Ada aplikasi

17:37di Android atau di

17:39Play Store ya, Play Store.

17:41Atau bahkan kayak

17:43dulu, jaman dulu Samsung

17:45nyembunannya

17:47boleh lah ya, Samsung jaman dulu

17:49kalau misalnya dia ada update

17:51terus tulisan update-nya

17:53minor bug fixing.

17:55Dia cuma tulis minor bug fixing.

17:57Poin kedua, performance

17:59improvement.

18:05Tapi emang kalau di

18:07App Store dan di Play Store itu

18:09buat change log ya. Bukan buat

18:11kayak informasi buat end-user gitu.

18:13Kan end-user kalau tau.

18:17At least ada link

18:19ada link-nya yang menuju

18:21list lengkap dong, kalau misalnya itu

18:23OS update.

18:25Oh iya sih, kalau OS iya ya.

18:27Maksudnya harus ada technical

18:29reference.

18:31Di Play Store sih ya.

18:33Kalau di Play Store sih ya.

18:35Kalau Windows

18:37juga ada

18:39list-nya, KB apa

18:41KB apa gitu. Banyak banget

18:43list-nya itu.

18:45Bukan change log sih

18:49deskripsi update yang seriusnya

18:51sama kode-nya.

18:53Yang summary-nya ada di bagian

18:55update screen-nya, tapi begitu di click

18:57ada link-nya yang menuju

18:59list lengkapnya ada.

19:01Di website.

19:03Nah itu dikomen, kalau change log

19:07isinya pantun, itu kan yang kayak

19:09sebenarnya bukan change log sih, itu kan kayak

19:11deskripsi Play Store gitu kan, biasanya

19:13apa yang berubah. Cuma biasanya

19:15kan dibikin lucu-lucuan kan.

19:17Ya lucu-lucuan, bagi dari

19:19lucu-lucuan. Ini nggak tau nih,

19:21ini beneran atau

19:23becandaan?

19:25Nggak kelihatan nggak? Nggak kelihatan ya?

19:29Wah makin kecil.

19:31Ini mungkin

19:33open image, new type.

19:35Sengaja kali biar dibahas.

19:37Sengaja ya, biar viral ya.

19:39Highlight this please.

19:43ID only.

19:45ID only.

19:47As usual.

19:49Ini kan kayak brief-nya,

19:53copywriter-nya kan.

19:55Udah bukan technical lagi mulai.

19:57Ini change log,

19:59bukan kan sebenarnya kan,

20:01deskripsi aja kan.

20:03Kalau mau udah taruh change log juga

20:07terlalu teknis nggak sih?

20:09Kalau app store

20:11gitu kan buat umum kan.

20:13Iya, ini kan

20:15emang maksudnya nggak harus bullet point

20:17gitu juga nggak apa-apa kan.

20:19Sebenarnya mau paragraf atau apa.

20:21Kalau misalkan

20:23yang lagi heboh

20:25itu bang yang migrasi ke

20:27Eras kan, ditaro lah di sini.

20:29Peningkatan ke rumah 487 kali.

20:31Waduh, rame

20:37nanti.

20:39Rame nanti tuh.

20:41Itu yang bangnya ada

20:43gedung-gede-nya di Bintaro

20:45itu kan.

20:47Malas dilanjutin.

20:49Boleh sebut

20:51initial kalau nggak apa-apa?

20:55Apa lagi

20:57kalau pantunya ini

20:59buat lucu-lucuan ya.

21:01Buat menarik perhatian kali ya.

21:03Lebih ke buat menarik perhatian.

21:05Karena yang baca adalah end user

21:07dan apalagi kalau di Play Store

21:09aplikasinya kan closed source.

21:11Jadi yaudah lah.

21:13Yang paling enak itu isi

21:17upgrading,

21:19dokumentasi upgrading-nya.

21:23Banyak breaking change-nya, banyak list-nya.

21:25Itu initial-nya tuh.

21:27Namanya apa lah ini?

21:33Initial itu.

21:35Initial-nya emang namanya.

21:37Emang kepanjangannya apa?

21:41Gak tahu.

21:43Itu bukan initial, kependekan.

21:45Sudah pada tahu.

21:49Berarti pada ngikutin semua ya

21:51perkembangan.

21:53Perkembangan drama.

21:55Jadi salah satu tools yang udah kita

21:59lihat tadi ya, salah satunya adalah

22:01yang paling...

22:03yang paling banyak dipakai ya.

22:05Maksudnya paling

22:07bukan banyak dipakai sih.

22:09Paling go-to.

22:11Bukan nama perusahaan, tapi

22:13go-to

22:15documentation framework

22:17kali ya.

22:19Udah lama ada.

22:21Kalau ada yang mau bikin

22:23dokumentasi, yaudah pakai docusaurus aja.

22:25Betul. Karena satu,

22:27yang udah lama ada. Yang kedua, dia menggunakan

22:29React. Yang adalah userbase-nya

22:31cukup besar. Jadi yang paling banyak.

22:33Otomatis dipakai.

22:35Kalau misalkan di perusahaan kita pakai React, terus

22:37kita bikin dokumentasi, ya kita carinya

22:39yang React-based dong. Gitu kan.

22:41Jadi salah satunya adalah

22:43yang docusaurus ini.

22:49Kalau di Indonesia ada

22:51docusaurus tau gak sih?

22:53Apa itu?

22:57Dulu banget ada brand

22:59docusaurus yang jualan alat-alat itu.

23:01Alat-alat untuk

23:03happy birthday.

23:05Ketinggalan.

23:07Enggak, belum-belum. Kita baru ini

23:09bahas sedikit-sedikit.

23:11Baru mulai tools pertama, docusaurus.

23:13Saya taunya cuman

23:15swager. Oh iya, swager juga salah satu

23:17dokumentasi ya.

23:19Tapi kan itu cuman buat reference ya.

23:21Tadi kan ada

23:23codenya, ada bagannya.

23:25Itu cuman buat, mana itu?

23:27Yang kanan bawah.

23:29Reference, yes.

23:31Swager JSON.

23:33Kalau yang reference ini lagi

23:35itu si PHP doc.

23:37Iya, JS doc, PHP doc.

23:39Yang dia generate dari

23:41function-function atau

23:43metode-metode yang ada di kode kita

23:45kan ya. Swager.net

23:47Enggak.

23:49Swager itu umum ya. Generic ya.

23:51Buat semua bahasa kan ya.

23:53Bisa buat apa aja?

23:55Sambil dibuka aja. Swager.io.

23:57Ini untuk API documentation.

24:01Kalau kita bikin API

24:03kita bisa bikin

24:05API. Masih pernah lihat lah.

24:07Pasti pernah lihat bentuknya kayak gini nih.

24:09Udah umum banget.

24:11Tuh.

24:15Ya, mungkin

24:17di awal

24:19dari dulu kan ya. Gatau ya.

24:21Dulu kan ada PHP doc,

24:23ada JS doc, itu kan dulu dari

24:25Java ya. Java doc ya.

24:27Awalnya ya.

24:29Terus diadoptik

24:31ke bahasa-bahasa yang lain. Mungkin ini.

24:33Itu language agnostic kok.

24:35Deep Tools

24:37yang saya, ini adalah Sarata Tools

24:39yang saya pakai untuk mendamaikan

24:41antara front-end dan back-end.

24:43Tuh.

24:45Supaya tidak terjadi perang.

24:47Udah. Agree ya.

24:49Ini dokumentasinya ya.

24:51Agree ya. Ini kontrak ya.

24:53Saya terima parameternya ini.

24:55Integer.

24:57Deal.

24:59Gak, gue yang lain.

25:01Emang kayak gitu sih.

25:03Kalau di tim gue juga yang pertama

25:05dibahas. Itunya dulu.

25:07Sepakat dulu sama kontraknya.

25:09Nanti ya.

25:11Soalnya kan asing ya. Udah yang penting

25:13deal dulu. Ini pokoknya

25:15gak boleh pada bubar,

25:17gak boleh pada pergi sebelum

25:19setuju. Buat ngerjainnya

25:21nanti ya udah. Gue mau berenang dulu

25:23langsung karena pusing. Ada yang mau jemput

25:25anak dulu, ngapain sambil dikerjain?

25:27Aga nanti-nanti, gak apa-apa.

25:29Yang penting jangan ekstrim, ngilangnya.

25:31Boleh ngilang, tapi

25:33harus sepakat kontraknya dulu.

25:35Ya, kontrak.

25:37Harus sepakat kontraknya.

25:39Terus, ya.

25:41SPK, SPK, SPK.

25:43Apa tuh SPK?

25:45Surat pengambilan keputusan gitu.

25:47Surat, surat kan.

25:49Surat apa kendaraan gitu

25:51kalau deal untuk mau beli kendaraan.

25:53Ini suratnya lah, perjanjian kerja.

25:57Perjanjiannya, perjanjiannya.

25:59Karena kan kita kan tidak

26:01waterfall kan ya. Jadi gak

26:03nunggu orang baik yang selesai dulu.

26:05Nanti kalau misalnya

26:07gak cocok ya, tinggal salah-salahin aja.

26:09Salah-salahin siapapun yang bikinnya

26:11gak sesuai kesepakatan.

26:13Enaknya pakai Swagger ini bisa

26:15bisa generate dummy.

26:17Dummy, ya.

26:19Kalau skema nya udah jadi bisa generate dummy.

26:21Ada kemehnya otomatis kan.

26:23Iya.

26:25Ini menarik.

26:27Apa? Swagger adalah salah satu yang

26:29apa ya, yang kayak

26:31tools wajib kali ya.

26:33Iya, tools wajib kali.

26:35Kalau buat apa,

26:37udah ada tim front and back end,

26:39nah itu wajib. Kalo masih sendirian

26:41kayaknya belum ya.

26:43Kalo masih single fighter mah,

26:45ya,

26:47sepakat dengan diri sendiri aja.

26:49Sepakat dengan diri.

26:51Apakah bisa gak sepakat dengan diri sendiri?

26:53Ya kan ada peperangan

26:55batin.

27:03Oke, ini

27:05buat apa, ini adalah salah satu

27:07tools yang buat reference tadi ya.

27:09Jadi kalo misalkan API

27:11atau SDK

27:13documentation ya, ini

27:15pakai Swagger.

27:19Apa, open API

27:21specification ya.

27:23Terus tadi kita lagi bahas

27:25dokusaurus, nih

27:27dokusaurus. Oh ada yang baru tau juga ya.

27:29Padahal dokusaurus udah cukup lama ya.

27:31Ya kan

27:33walaupun udah sering liat, mungkin kan

27:35gak tau itu dibikinnya pake.

27:37Light mode dong, bosen banget sama

27:39dark mode.

27:41Wah.

27:43Kayak di belakang kuliah,

27:45apa kena sinar matahari.

27:47Gak ada gray mode gitu ya?

27:49Gak ada, setengah-setengah

27:51gak ada ya.

27:53Mendingan dark lah.

27:55Nah, cara installnya

27:57ya standar lah ya.

27:59Cara installnya, pake NPX Create

28:01dokusaurus, terus

28:03ada temp-tempnya juga loh dia.

28:05Inesquise TypeScript

28:07terus konfigurasinya.

28:09Nah, saya mau liatin project

28:11structure, jadi kalo misalkan

28:13aplikasi

28:15atau website-nya ini.

28:17Apa ini?

28:19Aplikasinya ini

28:21kita ada bloknya juga.

28:23Biasanya kan

28:25sebuah tools kayak React itu kan

28:27ada blog, ada documentation,

28:29ada apa lagi gitu ya?

28:31Ya, dua itulah ya biasanya ya.

28:33Nah, disini ada

28:35dipisahkan berdasarkan

28:37folder, jadi kalo ini untuk bloknya

28:39jadi si dokusaurus ini juga sebenernya bisa

28:41buat blok sih.

28:43Kayak ada section-sectionnya ya, bisa pakai section.

28:45Blok ini ya untuk

28:49markdown file yang isinya

28:51adalah

28:53article, kalo docs itu

28:55juga markdown.

28:57Tapi

28:59dia bisa

29:01ditampilkan di sidebar.

29:03Terus apalagi ada pages, ini

29:11standarnya

29:13SSR kali ya.

29:17Ada pages

29:19terus

29:21dia semua

29:23kayak ini kan, pakai static side

29:25generator bukan dia?

29:27Oh iya, SSG, betul-betul, dia SSG.

29:29Tapi bisa jalan langsung ya.

29:33Kalo gak dibuild, dia jalannya

29:35diserve langsung ya.

29:37Kalo dibuild, dia jadi

29:39static side, ada di folder

29:43build, nanti tinggal dipus

29:45aja ke GitHub pages, atau ke

29:47Vercell, atau Netlify, atau

29:49mau ke FTP, ya silahkan ya.

29:53Gitu.

29:55Jadi, kira-kira

29:57seperti itu. Dan ini juga sebenernya

29:59bisa digabungin sama

30:01aplikasi kita.

30:03Lu pakai Monorepo ya?

30:05Monorepo?

30:09Oh, ya itu tadi.

30:11Kayak dibahas

30:13tadi di awal, jadi satu

30:15repo sama kodenya sendiri.

30:17Sama kodenya kita, jadi

30:19supaya bisa lebih mudah

30:21track gitu. Jadi satu ya.

30:23Terus, selain dokusaurus, ini kan

30:29yang react-base ya, yang react ya.

30:31Ada apa lagi yang react-base?

30:33React-base, Astro.

30:39Oh Astro.

30:41Kalo Astro itu,

30:43kalo gak salah, ini dibuat dengan

30:45static. Gak, gak react sih, sebenernya gak

30:47bukan react. Bisa, bisa react, bisa.

30:49Bisa gak ya.

30:51Jadi, latar belakangnya

30:53si Starlight itu,

30:55Starlight itu yang sebenernya

30:57Astro sih.

30:59Dokumentasinya

31:01Astro itu kan, niat

31:03banget bikinnya. Jadi kayak

31:05niat dan community

31:07apa? Ya, sama kayak

31:09open source dan community

31:11run gitu. Ada maintainernya

31:13yang lead, tapi

31:15kontribusinya dari community

31:17dan di discord-nya tuh kayak ada

31:19satu channel sendiri

31:21buat

31:23kayak ngulik explore docs-nya,

31:25termasuk fitur-fiturnya, segala macem.

31:27Jadi, konon sih banyak yang nanyain

31:29apa?

31:31Nanyain sama nge-forging situs

31:33dokumentasinya Astro.

31:35Nah, dari situ dibikin kayak

31:37ini template. Ini sebenernya ya

31:39Astro site jadi kayak starter

31:41atau template untuk dokumentasi

31:43berdasarkan best practices yang

31:45dipakai di dokumentasinya

31:47Astro. Itu

31:49kan gue dulu sempet, apa,

31:51sering, karena lagi

31:53seneng-senengnya Astro, sering di discord-nya

31:55Astro. Jadi kayak sampai

31:57sidebar-nya kayak gimana yang

31:59tadinya sidebar-nya cuma satu, terus jadi

32:01ada sidebar di kiri, di kanan, itu aja

32:03kayak beneran dibahas banget

32:05per sidebar-an.

32:07Mirip-mirip ya, nggak jauh

32:11beda lah ya.

32:13Orang-orang yang familiar ya.

32:15Sama kayak multi-lingual.

32:17Ya, template multi-lingualnya tuh kayak

32:19ya apanya, udah well thought of.

32:21Oh, ada bahasa Indonesia.

32:23Wow.

32:25Ini yang pasti bikin

32:29ini nih, fans-nya Muse.

32:31Lagu Starlight ya.

32:35Gatau ya lagunya.

32:37Gatau.

32:41Enggak sih.

32:43Nggak, kan Astro kan temanya luar angkasa.

32:45Jadi dokumenkasi.

32:47Dokumenkasi

32:51namanya Starlight.

32:53Starlight.

32:55Oke, ini

32:57sebentar.

32:59Kok jadi bahasa Indonesia?

33:01Malah nggak enak ya. Karena nggak biasa sama

33:03kata-kata. Nggak biasa, nggak biasa.

33:05Nggak biasa sama terminal. Oh, dia pakai

33:07pages aja ya. Jadi ini adalah

33:09ini kan Astro. Ini AstroSight.

33:11Astro hanya Astro ya.

33:13Berbeda dengan ini kan. Ini agak beda

33:15strukturnya kan.

33:17Iya, karena Dokumenkasi kan

33:19kayak bikin framework sendiri.

33:21Tapi khusus untuk dokumentasi

33:23kalau Starlight itu

33:25nggak, maksudnya nggak bikin framework

33:27terpisah, cuma

33:29AstroSight dengan best practices

33:31dan kayak fitur, kayak komponen-komponen

33:33UI yang lazim dipakai

33:35buat situs dokumentasi.

33:39Yang buatan Anvoo.

33:41Ada nggak ya?

33:43Feedpress. Ini, Feedpress bukan?

33:45Oh, Feedpress.

33:47Buka-buka coba.

33:49Anvoo Universe.

33:51Anvoo Universe. Berarti ini

33:53sama ya modelnya ya. Di SRC

33:55Content Docs. Ada Markdown.

33:57Terus kalau kita bikin pages

33:59yang berbeda, pages

34:01gitu ya. Kalau mau block, berarti kita

34:03bikin content/block kali ya.

34:05Oh, gitu. Oh, iya, iya.

34:07Ya kan dia file-base

34:09router kan?

34:11Tapi itu kan content docs ya kan?

34:13Pages kan. Oh, pages berarti sendiri ya.

34:15Oh, iya.

34:17Pages itu special.

34:19Special ini.

34:21Special page.

34:23Nah, itu makanya ada custom.Astro.

34:25Custom page maksudnya.

34:27Oh, custom page.

34:29Nah, itu diarahinnya juga tetap

34:33balik ke AstroDocs lagi. Jadi kayak

34:35kelihatan yang nggak bikin sesuatu

34:37patternnya. Gak ada yang special gitu ya.

34:39Itu kata mas

34:41Josh Pring. Mas Yombing. Itu

34:43storybook buat dokumentas itu juga

34:45react-based itu storybook.

34:47Itu juga udah masukin tuh di Docs

34:49tadi.

34:51Storybook.

34:53Ini berhubung

34:55si Astro ini dia content

34:57apa ya? Framework yang fokus

34:59ke content kan. Jadi

35:01Markdown, Frontmatter,

35:03dan lain-lain itu udah pakai punya dia aja.

35:05Berbeda dengan React kan. React kan

35:07cuma komponen library.

35:09Jadi harus dibikin

35:11sebuah framework lagi.

35:13Iya, si DocuSaurus ini yang

35:15pakai MDX dia.

35:17MDX Markdown.

35:19Kalau disini dia

35:21pakai Markdown biasa.

35:23Ada MDX juga ya?

35:25Ada tadi boleh MDX.

35:27Bisa pakai MDX.

35:29Ya, ya, ya.

35:31Bisa, bisa.

35:33Terus

35:37satu lagi. Kita bahas satu lagi.

35:39Ada dulu saya pernah pakai

35:41yang dari SpellKit namanya

35:43Kit Docs.

35:45Kit Docs ini

35:49mirip-mirip juga kan.

35:51Ini SpellKit.

35:53Dari SpellKit.

35:55Jadi dia

35:57bikin...

35:59manual.

36:01Terus

36:03pakai Markdown juga.

36:05Ya, ini pakai SpellKit.

36:07Dia template-nya

36:09SpellKit sebenarnya.

36:11Kalau kita lihat disini kan.

36:13Yang ini.

36:15Enggak, nggak official.

36:17Ini

36:19buatan dari SpellKit.

36:21SpellKit itu kalau nggak salah, dia selain

36:23bikin Kit Docs, ada bikin apa lagi ya dia?

36:25Kalau cuma dua ini.

36:27Dua jester.

36:29Tapi sayangnya, Kit Docs ini

36:31udah setahun nggak update.

36:33Jadi nggak tau nih.

36:35Dia nggak ke-update ke Spell5 jadinya.

36:37Oh iya ya.

36:39Itu berarti salah satu

36:41pertimbangan juga ya. Makanya mungkin banyak

36:43orang yang pilih dokusurus aja ujung-ujungnya.

36:45Karena ya udahlah trusted

36:47kemungkinannya cukup besar bakal

36:49dimaintain terus.

36:51Starlight juga gitu.

36:53Kalau spell-nya sendiri,

36:55dokumentasi spell-nya sendiri pake apa?

36:57Ya pake spell.

36:59Dokus alurus.

37:01Oh kalau playground-nya, tutorial-nya

37:07baru pake tutorial Kit ya.

37:09Kalau dokumentasinya

37:11ini kayaknya bikin sendiri ya.

37:13Cari aja. Harusnya kan ada

37:15di GitHub kan. Cari aja.

37:17Oh untuk documentation site-nya.

37:19Pake JSON?

37:21Oh nggak bisa kelihatan disini ya.

37:23Di docs. Ada nggak?

37:25Folder docs atau apa gitu.

37:27Itu ada documentation tadi.

37:29Di spell.

37:31Spell def.

37:33Atas atas.

37:35Nah ya.

37:37Updated 2 jam yang lalu.

37:39Oh.

37:41Ini mah jangan kuatir.

37:43Nggak tahu dibawah.

37:47Itu kali ya. Di apps.

37:49Apps apps.

37:53Nah itu kit.

37:55Swell def.

37:57Swell.dev.

37:59Tadi apa?

38:01Tadi apa ya

38:03yang ininya?

38:05Docs.

38:09Swell.dev/docs

38:11Berarti beda ya.

38:13Beda ya.

38:15Itu tapi betul. Swell.dev.

38:17Itu berarti yang bawah. Swell.dev itu.

38:19Yang folder ke terakhir.

38:21Content.

38:23Docs.

38:25Iya ini dia.

38:27Spell.

38:29Coba index-nya apa isinya?

38:31Title.

38:33Docs.

38:35Iya. Markdown.

38:37Spell kan. Introduction.

38:39Overview.

38:41Markdown.

38:43Ada prometer juga.

38:45Tapi...

38:47Dependensinya.

38:51Kita lihat.

38:53Ya pakai Swell lah.

38:55Ya kali yang lain gitu.

38:57Nggak ada ya.

38:59Iya itu Swell.js.

39:01Blablabla.

39:03Namespace-nya.

39:05Dia bikin sendiri berarti ya.

39:07Dia bikin sendiri.

39:09Nggak seru ah.

39:11Bisa jadi drama.

39:13Bisa jadi drama.

39:15Ya.

39:17Nah coba buka feedpress deh.

39:19Ini kan universe-nya Swell.

39:21Feedpress itu ternyata yang buka.

39:23Yang bikin.

39:25Mas Evan Yu.

39:27Bukan.

39:29Anfu.

39:31Cuma Evan Yu.

39:33Universe.

39:35Evan Yu Brother.

39:37Oke.

39:39Terus.

39:41Ini.

39:43Documentation. Mana?

39:45Quick start.

39:47Sama juga.

39:49Ini kayaknya pakai...

39:51Semuanya rata-rata begini ya.

39:53Ini kayaknya pakai Astro.

39:55Nggak begini.

39:57Dokumentasi itu memang begini ya.

39:59Maksudnya best practice-nya.

40:01Harus menu di kiri.

40:03Terus di kanan itu apa?

40:05Content-nya.

40:07Ada section-section di halaman itu.

40:11Ya karena kalau bikin beda lagi.

40:13Nanti apa?

40:15Harus.

40:17Belajar lagi.

40:19Nah ini ada guide. Ada reference kan.

40:21Betul.

40:23Ada versi.

40:25Ada drop-down versinya juga.

40:27Drop-down?

40:29Oh ini.

40:31Cuma nggak bisa milih ya? Bisa nggak sih?

40:33Nggak ada.

40:35Dia cuma kasih tahu versi sekian.

40:37Ada multilingual.

40:39Ini ada light.

40:41Feedpress ya.

40:49Feedpress ini kan

40:51tapi bukan cuma buat

40:53dokumentasi kan.

40:55Dia lebih kayak

40:57Astro kan sebenarnya jatuhnya kan.

40:59Fast content centric websites.

41:01Cuma tadi di

41:03landing page-nya.

41:05Marketing copy text-nya.

41:07Tadi nyibut-nyebut

41:09documentation. Markdown to beautiful

41:11box in minutes.

41:13Walaupun nggak dipakai buat dokumentasi ya

41:15dia positioning-nya gitu.

41:17Ya Astro juga kan sebenarnya Starlight

41:19itu kan AstroSight.

41:21Jadi ya in a way Astro bisa

41:23dianggap sebagai tools

41:25buat bikin documentation site.

41:27Walaupun ya bukan cuma buat itu.

41:29Iya benar.

41:31Oke.

41:33Nah ini kalau

41:35kita mau lihat routing-nya

41:37gimana. Struktur folder-nya lah.

41:39File, structure,

41:41docks.

41:43Ini ya udah ada.

41:45Oh ya file structure ya.

41:47Sama di

41:49sebelah gini juga.

41:51Lebih simple ya, langsung di bawah docks dah.

41:53Semuanya di situ aja.

41:55Nggak ada SRC, content,

41:57something-something ya. Ini ada guide.

41:59Oh guide yang ini.

42:01Kalau mau bikin beda folder,

42:03bikin aja folder di dalamnya gitu.

42:05Nggak mesti docks gitu.

42:07Oh ada pattern-nya.

42:09Ini dia.

42:11Kalau

42:13dokumentasi dia slash docks

42:15gitu ya.

42:17Sudah goal belum?

42:19Udah, brace.

42:21Astro brace 2-0.

42:23Wah, huri.

42:252-0.

42:31Ini kita FOMO.

42:33Kita FOMO.

42:35Nonton satu babak doang.

42:37Bagus lagi mainnya.

42:39Lanjut, lanjut, lanjut.

42:41Wah, ini simple ya.

42:43Simple ya.

42:45Next-nya ada tools apa lagi?

42:47Itu tadi

42:49storybook.

42:51Oh, storybook, betul.

42:53Storybook.

42:55Kalau nggak salah,

42:57Spark juga bikin dia ya.

42:59Storybook ya?

43:01Storybook versi Spark.

43:03Ini Saudi Arabia yang ngalahin Argentina kan?

43:05Ya.

43:07Kita ngalahin.

43:09Eh, nggak boleh jengawa doang. Sejauh ini

43:11masih lagi

43:13ngalahin.

43:15Yang round pertama malah

43:17kita nahan imbang

43:19di sana kan, pas main tandang.

43:21Pas dilatih mancini lebih

43:23gokil. Anyway.

43:25Anyway.

43:27Fokus, fokus, fokus.

43:29Storybook ini

43:31sebetulnya agak beda dikit

43:33positioning-nya dibanding yang lain

43:35semua. Tadi kan ada Swagger tuh

43:37yang

43:39buat reference, tapi reference

43:41API-nya. Ini tuh

43:43bisa dibilang agak mirip

43:45kayak gitu, tapi buat UI component.

43:47Jadi sebenarnya dokumentasi untuk

43:51UI component, tapi dokumentasinya

43:53nggak se-holistic,

43:55nggak se-menyeluruh yang dibagian

43:57tadi. Karena ya udah, sebetulnya

43:59kalau by default, cuma

44:01ya cuma komponen-komponennya

44:03sama kayak variasi prop-nya,

44:05kombinasi-kombinasi

44:07prop-nya, prop dan state dari

44:09komponen itu sendiri.

44:11Tapi sebetulnya kalau mau

44:13dibuat dokumentasi yang lebih

44:15lengkap, itu ada

44:17fiturnya. Bentar mana ya?

44:19Bagus deh. Itu

44:21recommended banget. Tapi ini

44:23kayak

44:25fitur yang opsional sih.

44:27Wait.

44:29Apa tuh? Dari storybook?

44:31Iya.

44:33Wait, cari ini-nya dulu.

44:35Ah, kok lama sih?

44:37Kapan terakhir

44:39teman-teman pakai storybook?

44:41Baru ya?

44:43Masih pak. Masih maintain?

44:45Masih?

44:47Soalnya beberapa tahun

44:49yang lalu ya, nggak tahu sekarang, mudah-mudahan sih udah

44:51cepet ya. Berapa tahun yang lalu

44:53setup-nya itu lambat banget.

44:55Lambat banget. Masih lambat.

44:57Oh masih.

44:59Ya,

45:01tergantung kalau komponennya

45:03ratusan dan permutasi

45:05props-nya ratusan juga,

45:07mungkin lambat. Tapi kalau cuma buat

45:09yang simple-simple, ya

45:11puluhan lah.

45:13Udah jauh lebih cepet kok.

45:15By default, sekarang pakainya fit.

45:17By default, sekarang pakainya

45:19fit.

45:21Semua akan pindah ke fit pada waktunya.

45:25Refactor semua,

45:29refactor.

45:31Coba buka link yang

45:35autodocs deh.

45:37Autodocs.

45:39Ini bagian dari storybook

45:41juga ya berarti ya?

45:43Iya, fiturnya. Salah satu fiturnya.

45:49Nah, itu pakai MDX.

45:51Cuma kelebihan-nya adalah

45:53jadi storybook itu kan

45:55pakai namanya format

45:57.stories.tsx

45:59atau .jsx.

46:01Jadi dia ngambilnya,

46:03itu tuh ada contoh preview button-nya

46:05yang biru, itu preview-nya

46:07langsung ambil dari kode

46:09komponen kita sendiri. Jadi kayak

46:11dijadikan satu.

46:13Karena ini orientasinya UI ya,

46:15front-end. Jadi komponennya gimana,

46:17langsung dokumentasinya di situ.

46:19Props-nya itu ngambil,

46:21table props-nya itu ngambil dari

46:23TypeScript definition

46:25komponen itu sendiri.

46:29Nah, terus kita bisa nambahin sendiri

46:31pakai MDX.

46:33Nah, itu ponenya udah

46:35disediain komponen-komponennya,

46:37kita bisa nambahin sendiri pakai

46:39MDX.

46:47Cuma storybook itu

46:49karena saking banyak fiturnya,

46:51agak overwhelming. Kalo baru

46:53pakai tuh overwhelming banget.

46:55Banyak banget variannya

46:57kayak buat track, buat view, buat

46:59macem-macem. Jadi mungkin itu agak turn-off ya

47:01kalau misalnya belum pernah pakai.

47:03Terus ngeliat gitu kayak banyak banget.

47:05Tapi sebetulnya itu useful banget dan bagus

47:07kalo emang niat, kalo emang

47:09kita nyeniat pengen bikin dokumentasi yang

47:11lengkap itu bisa

47:13mendukung banget.

47:15Jadi bisa ada accessibility test-nya juga, kan?

47:17Bisa. Test-nya macem-macem.

47:19Visual test bisa,

47:21accessibility test bisa,

47:23jazz, enggak tau ya,

47:25kalo Vtest belum pernah coba

47:27jazz testing, dimasukin kesitu

47:29jadi satu tab juga bisa.

47:31Jadi kita nulis test route-nya

47:33saya biasa.

47:35Kita ngetik jazz biasa,

47:37cuma ada add-on-nya, ya kita bisa

47:39ngeliat di satu tempat aja, gitu.

47:43Bisa contohnya yang dari WordPress blog

47:45yang full misalnya

47:47yang sedang masih di-mainting untuk

47:49Gutenberg blog.

47:51Gutenberg?

47:53Ya, misalnya blog editor-nya

47:55si WordPress, seluruh

47:57komponen yang

47:59yang sah

48:01ada di sini, gitu.

48:03Bisa contohnya kalo misalnya

48:05langsung aja ke komponen deh

48:07yang di bawah, yang

48:09apa ya?

48:11Cuma nih sebelum ke komponen,

48:13ini juga bagus di storybook

48:15sebetulnya buat komponennya sendiri,

48:17tapi ini bisa dokumentasi

48:19yang tadi kan ada apa?

48:21Explanation ya, atau apapun yang jelasin

48:23pake kata-kata, gitu.

48:25Itu bisa kayak docs, introduction,

48:27itu pake MDX, kita ngetik aja,

48:29ngetik kata-kata biasa, jadi bisa jadi satu

48:31dengan relatif, gampang,

48:33mudeh.

48:35Nah, lanjut.

48:37Bisa turun ke, bawa ke komponen aja

48:39kayak contohnya kayak button, kayak apa

48:41yang ada.

48:43Bawa-bawa button group aja,

48:45itu coba, ada nggak

48:47button-nya? Button mungkin

48:49yang primary itu kan ada variation

48:51tuh. Button kalo di

48:53button kalo di

48:55drop-down lagi,

48:57di kiri, di kiri,

48:59karena ada variation tuh, primary,

49:01default, itu

49:03props-nya, jadi kalo misalnya pencet primary,

49:05tuh code is poetry itu

49:07primary-nya gitu, control-nya

49:09ada props-nya dia terima,

49:11itu semua,

49:13dan accessibility.

49:15Bisa diganti-ganti juga langsung, apa?

49:17Itu tuh props-nya kita

49:19bisa nyoba-nyoba, misalnya kalo

49:21itunya true, jadi

49:23kayak gimana.

49:25Terus accessibility,

49:27ke tab accessibility,

49:29nah, pass,

49:33terus bisa

49:35bisa dicek ya, kalo nggak

49:37pass, itu gimana.

49:39Kalo masih violation, WCAG

49:41pasal berapa yang kena?

49:43Pasal berapa.

49:45Terus kalo,

49:47batah component ini bisa

49:49menerima actions apa?

49:51Itu bisa di tab actions.

49:53Ada tab-nya tuh, actions

49:55kanan.

49:57Terus belanya accessibility?

49:59Nggak ada.

50:01Oh, kosong ya, kalo kosong-kosong.

50:03Itu buat men-stimulate

50:05apa? Kayak apalah

50:07input, kalo diklik jadi gimana,

50:09itu kayak ada simulasinya gitu.

50:11Buat interactive UI.

50:17Ini apakah

50:19si storybook ini

50:21berada di satu repo sama

50:23project kita atau terpisah?

50:25Satu repo. Jadi,

50:27semua, ya, jadi, waktu dia

50:29jadi kalo misalnya,

50:31jadi

50:33storybook ini satu repo.

50:35Jadi waktu si

50:37contohnya kayak actions button ini kan

50:39ada componentnya sendiri

50:41di package-package yang lain.

50:43Jadi waktu nge-generasi

50:45storybook ini langsung ngambil

50:47atau nge-import dari package

50:49yang itu dipake di dalam

50:51storybook ini.

50:53Jadi kalo disana update,

50:55kalo disana update, waktu kita nge-generasi

50:57storybook, auto-update semua.

50:59Tapi sebetulnya, ya,

51:01bebasi, meant to be, kayak

51:03dimaksudkan buat jadi satu repo.

51:05Karena, ya, biar co-locate aja.

51:07Kayak kita nulis, bikin UI

51:09component, bikin testing,

51:11bikin dokumentasi, ini disebutnya

51:13story kalo disini, itu kan kayak satu

51:15kesatuan ya, harusnya idealnya.

51:17Tapi prakteknya sebenernya misalnya

51:19kita publish component

51:21sebagai masing-masing.

51:23Misalnya setiap component jadi satu

51:25package, satu library gitu, misalnya

51:27kita nge-import

51:29di story-nya juga bisa-bisa aja sih.

51:31Maksudnya itu dengan gampang, nggak ribet.

51:33Jadi di file.stories.tsx itu

51:35kita nge-import

51:37UI component yang mau

51:39didokumentasiin. Jadi sebetulnya

51:41mau beneran literally dalam

51:43satu repo, atau pake

51:45monorepo system kayak apalah

51:47yarn workspaces atau

51:49PNPM atau semacamnya,

51:51atau literally kepisah, tapi

51:53kita nge-import UI componentnya

51:55dari PNPM itu

51:57tiga-tiganya bisa-bisa aja.

51:59Tapi kan

52:07pada saat kita ngejalanin ini kan lumayan

52:09berat kan ya. Itu apakah

52:11dijalani, nggak dijalani terus-menerus

52:13kan, pada saat proses

52:15development?

52:17Ya di CI/CD,

52:19jadi mungkin saat release, update

52:21sekalian.

52:23Sama bisa juga,

52:25ya itu kan tergantung juga misalnya

52:27kalau kita bikin component baru,

52:29nggak kita test development,

52:31si test runner-nya

52:33jalan terus, kita kayak sambil

52:35nge-save-nge-save, kita ngetik sampai

52:37itu benar. Nah kadang gue malah

52:39pake storybook ini karena males

52:41maksudnya misalnya bikin

52:43component react ya, daripada

52:45bikin kayak satu halaman,

52:47terus buat ngetest tampilan

52:49componentnya, ya bikin

52:51componentnya sambil nyalain storybook

52:53aja, terus sambil bikin button.

52:55Ya jadi apa, itu kita

52:57liat button yang kita bikin

52:59langsung di situ.

53:01Dan nggak tahu sih

53:03kalau yang baru nih,

53:05terutama begitu punya covid,

53:07nggak kerasa berat sih.

53:09Maksudnya

53:11kalau bisa ngejalanin kita sehari-hari

53:13pake apa gitu, Next.js, misalnya

53:15nge-develop pakenya Next.js

53:17atau semacamnya, itu

53:19pasti cukup mumpuni

53:21buat nyalain storybook.

53:23Jadi kayak

53:27sell storybook deh, dibayarkan ya.

53:29Ada alternatifnya nggak sih

53:31di storybook? Ada librarynya gratis.

53:33Ada banyak, tapi kayak

53:35nggak pernah ada yang take off deh.

53:37Di open source kan,

53:39cuma kalau mau pake

53:41cloud-nya dia aja bayar.

53:43Bayar, cuma kalau

53:45dihosting dia dan pake

53:47visual testing dari mereka.

53:49Jadi storybook itu project dari

53:51perusahaan yang namanya

53:53Chromatic. Nah yang commercial tuh

53:55Chromatic-nya. Storybook-nya itu

53:57project open source. Nah Chromatic-nya itu

53:59di visual testing. Chromatic-nya

54:01gampang banget.

54:03Sayangnya waktu saya udah coba

54:07udah suka gitu, terus

54:09client-nya nggak approve

54:11budget. Ya.

54:13Ya, nggak bisa main.

54:15Pindah deh

54:17ke persi.

54:19Sama aja.

54:21Persi ya masih

54:23bisa lah. Lebih masuk akal

54:25harganya, kata client-nya.

54:27Oke. Oh jadi

54:31untuk

54:33tools

54:35dokumentasi visualisasi

54:37seperti ini, itu

54:39si storybook masih

54:41paling populer ya. Belum ada

54:43yang masih de facto-nya lah.

54:45Masih go to-nya

54:47lah ya. Masih go to

54:49kalau misalnya mau bikin component

54:51library, ya

54:53go to-nya masih suka storybook sih.

54:55Kan dulu, pas masih...

54:57react doang.

54:59Kenapa?

55:01Components masih bisa

55:03react doang kan ya?

55:05Enggak. Enggak. Enggak. Enggak.

55:07Components.

55:09Asli gue pernah bikin buat custom

55:11elements.

55:13Bisa semua.

55:15So far gue coba

55:17masih react, jadi gue nggak tahu.

55:19Jadi ada yang unofficial

55:21bentar cari deh.

55:23Frameworks.

55:25Anfu nggak bikin Anfu?

55:27Coba cek dulu

55:29siapa tahu dia bikin.

55:31Atau dia dengerin

55:33podcast kita, ntar lagi jadi

55:35tuh. Tapi bukan Anfu

55:37sih. Nggak, maksudnya

55:39framework yang disupport

55:41oleh apa?

55:43Storybook

55:45officially adalah

55:47ini.

55:49Ada tadi kan

55:53di depannya?

55:55Betul. Ada.

55:57Storybook.

55:59Storybook.js.org

56:01slash docs slash

56:03get started.

56:05Ada semua. Ada 7.

56:07Ada 7 lagi nih?

56:09Iya. Ada listnya tuh dibuka di private chat

56:11nih.

56:13Nah, itu

56:21lengkap ada. Jadi apa?

56:23Dari bahasanya, yang atas ada react, view, angular,

56:25blablabla. Terus ada kayak

56:27variasi-variasinya. Ada

56:29react native.

56:31Wow.

56:33Spell, spell kit, web

56:35web, web, web, web, web, web.

56:37Tapi ini udah berubah jauh

56:39sih dari terakhir dicoba.

56:41Ya, apa? Drop down yang more. Itu deh.

56:43Diklik more. Atas

56:45more.

56:47Nah, tuh.

56:49Lengkapkan. HTML biasa aja bisa.

56:51Coba react quick solid. Ini yang baru ya.

57:05Oke.

57:07Dulu

57:09apa bedanya race.js dengan

57:11react ya?

57:13Nggak, ini kayak contoh jadi

57:15starter site-nya aja jadi

57:17gampang. Nggak usah nambah-nambahin sendiri.

57:19React, react polosan.

57:23Nggak pakai framework.

57:25Oke, oke.

57:27Nice.js ada nggak sih yang pakai

57:33spell?

57:35Siapa tahu?

57:37Siapa tahu mereka bikin

57:39framework agnostik gitu ya?

57:41Ya, yang framework agnostik ya ini doang nih.

57:45Nah, dulu ada nih namanya

57:47apa, kompetitornya

57:49storybook namanya

57:51Lado. Waktu

57:53storybook masih lelet, sempat

57:55cari-cari alternatifnya yang cepet kan.

57:57Nah, salah satu yang pernah dicoba

57:59Lado. Cuma nggak tahu nasibnya

58:01gimana akhirnya.

58:03Oke.

58:05Kayaknya pernah lihat juga.

58:072024.

58:13Masih aktif nggak?

58:15Last week masih-masih aktif.

58:17Masih itu?

58:19Iya, ada daftar.

58:21Tapi secara fitur, secara fitur

58:23kayaknya kurang ya.

58:25Makanya jarang.

58:27Ya, nggak se-extensive storybook.

58:29Tapi kalau emang pengen yang simple aja

58:31beneran literally cuma buat

58:33ngedokumentasiin dan nampilin daftar

58:35komponen, ya bisa sih.

58:37Cukup. Cuma abis

58:39storybook pindah ke feed dan

58:41jadi nggak lambat, gue ngerasa

58:43itu fast enough

58:45for my needs.

58:47Ya udah, akhirnya nggak pakai Lado lagi.

58:49Nggak sempat pakai, maksud saya.

58:51Terus sempat cari juga yang

58:53kayaknya Skotelinski deh yang bikin.

58:55Bukit namanya.

58:57Ya, bukit.

58:59Tapi sudah di archive.

59:01Jadi udah nggak

59:03dikembangin lagi. Ini aja baru coming soon

59:05tapi udah keburu di archive.

59:07Kayaknya nggak dilanjutin.

59:09Nah, iya sih, belum berkembang.

59:11Ya, malas dia.

59:13Kayaknya tadi nyari-nyari juga.

59:15Iya, mungkin karena itu juga tadi alasannya.

59:17Ya, mungkin akhirnya dia pakai storybook.

59:19Jangan-jangan storybook-nya udah cepet.

59:21Storybook-nya udah cepet-cepet.

59:23Akhirnya, ya udahlah, nggak usah lah, nggak pahin.

59:25Bukannya sekarang

59:27orang sudah mulai berali, daripada bikin

59:29sendiri, pakainya v0

59:31gitu.

59:33Jadi komponennya ambil yang sudah ada.

59:35Walaupun kodingannya dari v0 kan

59:37butuh ngedokumentasiin

59:39untuk usage-nya.

59:41Kasih dokumentasinya ke v0.

59:43Ini loh komponen

59:44Gombol dari sini.

59:45Baca aja, Nana.

59:47Tapi ini poin yang menarik juga.

59:51Baru ingat kemarin itu ada

59:53dibahas di podcast yang lain

59:55di JS Party, kalau nggak salah.

59:57Jadi, kalau dulu

59:59misalkan kita punya

1:00:01produk atau punya library

1:00:03framework dan lain-lain, itu kan

1:00:05kita bikin dokumentasinya.

1:00:07Untuk dibaca oleh pengguna kan.

1:00:09Orang.

1:00:11Nah, sekarang berhubung tools AI

1:00:13udah semakin banyak, kayak kursor

1:00:15udah bisa mengkonsumsi

1:00:17dokumentasi.

1:00:19Jadi, dokumentasi itu bukan hanya diperuntukkan untuk

1:00:21orang, tapi untuk AI juga.

1:00:23Tapi untuk LLM.

1:00:25Jadi, ada pemikiran kesana

1:00:27bahwa, ah, si dokumentasi ini

1:00:29nanti akan dikonsumsi oleh

1:00:31LLM atau co-pilot

1:00:33atau kursor atau apapun.

1:00:37Ada, ada, apa namanya, ada insight.

1:00:39Ada

1:00:41dimensi tambahan lah, gitu.

1:00:43Mungkin aja

1:00:45nggak perlu dibedain.

1:00:47Tapi juga mungkin struktur

1:00:49dan lain-lainnya harus diperhatikan juga, gitu kan.

1:00:51Kalau orang kan masih bisa nyari

1:00:53lompat-lompat, kan. Kalau misalkan si

1:00:55si AI kan, ya

1:00:57belum tentu, nggak tahu juga

1:00:59gimana cara kerjanya.

1:01:01Untuk, pada saat dia membaca

1:01:03dokumentasi itu kan, pakai RAG ya,

1:01:05salah ya.

1:01:07Kalau si kursor kan, ya.

1:01:09Jadi,

1:01:15semakin penting.

1:01:17Si dokumentasi ini semakin penting.

1:01:19Bukan cuma buat kita

1:01:21yang baca, tapi buat

1:01:23dikonsumsi oleh AI.

1:01:25Sama itu, berarti yang penting

1:01:27kita misalnya nulis di markdown kan, ya.

1:01:29Kalau, kadang kan

1:01:31orang nulis semantiknya kurang

1:01:33bagus ya, kurang rapih.

1:01:35Yang penting secara visual jelas.

1:01:37Cuma berarti, kalau untuk

1:01:39dikonsumsi AI, mungkin makin

1:01:41penting misalnya kayak header-nya,

1:01:43section-sectionnya itu harus pakai

1:01:45apalah, itu yang

1:01:47tepat. Terus

1:01:49heading-nya kayak heading level H1,

1:01:51H2, H3-nya, mesti betul.

1:01:53Harus lebih konsisten, ya.

1:01:55Harus lebih disiplin, gitu ya.

1:01:57Nggak boleh sembarangan level

1:01:59keberapa jadi ngaruh

1:02:01understanding-nya dia

1:02:03atau konteksnya dia jadi berubah,

1:02:05gitu mungkin ya.

1:02:07Nah, pengalaman

1:02:19teman-teman pakai

1:02:21udah pernah bikin

1:02:23dokumentasi dan pakai apa?

1:02:25Biasanya.

1:02:27Manual aja kah?

1:02:29Misalkan kayak tadi

1:02:31siapa spell tadi

1:02:33ya udah bikin aja, di sebelah kiri

1:02:35taro sidebar, terus dia

1:02:37akan for loop markdown

1:02:39yang ada, terus tampilin,

1:02:41gitu. Sederhananya kan

1:02:43gitu ya.

1:02:45Atau sudah pakai

1:02:47tadi banyak yang belum tahu juga ya, doku

1:02:49sorus banyak yang belum tahu,

1:02:51baru tahu sekarang.

1:02:53Teman saya ada

1:02:55bikin

1:02:57dokumentasi pakai

1:02:59elder.js.

1:03:01Elder, tapi bikin

1:03:03sendiri.

1:03:05Tapi ini buat

1:03:07altis

1:03:09situs yang kita pakai

1:03:11produk yang

1:03:13saya bekerja.

1:03:15Dia pakai

1:03:17elder.js,

1:03:19membaca

1:03:21semua dari beberapa repo,

1:03:23terus kemudian generate

1:03:25markdownnya,

1:03:27kasih times, jadi deh

1:03:29pakai elder.js.

1:03:31Oh, ada yang pakai Notion

1:03:33juga? Ya bisa aja sih,

1:03:35nggak ada masalah sebenarnya.

1:03:37WordPress juga banyak yang pakai.

1:03:39Iya, pakai WordPress.

1:03:41Cuma nggak enaknya kan kalau pakai

1:03:43WordPress kan?

1:03:45WordPress code block bisa nggak sih?

1:03:47Bisa, bisa aja. Biasanya pakai

1:03:49WordPress. Tetapi kan nggak enaknya

1:03:51kalau misalnya kayak

1:03:53kalau kita pakai

1:03:55misalnya

1:03:57untuk komponen kayak

1:03:59storybook atau tadi yang docu sorus,

1:04:01bisa jadi

1:04:03readme-readme-nya itu

1:04:05bisa kita susun, nggak mesti

1:04:07di folder docu sorus. Tapi readme-nya itu bisa

1:04:09berasal dari perkomponen

1:04:11yang kita. Masih-masing repo,

1:04:13masing-masing folder. Masing-masing package-nya

1:04:15kita lebih tepatnya. Misalnya plugin atau

1:04:17package-nya kita,

1:04:19kita ada readme-nya sendiri. Nanti dari

1:04:21waktu kita build,

1:04:23nge-source dari seluruh

1:04:25readme yang kita punya

1:04:27di dalam project

1:04:29dan ngebentuk sebuah aplikasi sendiri.

1:04:31Jadi, nulisnya

1:04:33cuma satu tempat. Kalau misalnya

1:04:35kalau misalnya kita pakainnya

1:04:39WordPress atau

1:04:41yang lain yang terpisah, ya

1:04:43aplikasi

1:04:45dokumentasinya sendiri

1:04:47untuk engineer, terus

1:04:49yang untuk

1:04:51publik,

1:04:53nulis lagi, gitu kan. Jadi

1:04:55double effort.

1:04:57Dua kali kerja.

1:04:59Itu

1:05:01kekurangannya

1:05:03kalau kita menggunakan

1:05:05entah itu repo atau web

1:05:07yang berbeda, atau

1:05:09pakai tools seperti Notion

1:05:11dan lain-lain.

1:05:13Karena ketika

1:05:15produk kita atau kode kita

1:05:17berubah, misalkan ada update,

1:05:19ada tambahan fitur, ada

1:05:21apa namanya, ada

1:05:23release yang baru,

1:05:25itu nggak ke-track.

1:05:27Nggak ke-track kalau dokumentasinya harus update

1:05:29juga. Terpisah.

1:05:31Terpisah. Jadi, semakin

1:05:33menyulitkan, kecuali

1:05:35kalau ada tim khusus

1:05:37yang

1:05:39handle, atau tetap

1:05:41aja sih. Tetap

1:05:43lebih disarankan secara best practice adalah

1:05:45dia berada di satu tempat supaya

1:05:47ketika ada update, ini dokumentasinya

1:05:49juga berasa butuh

1:05:51untuk di-update.

1:05:53Nah, ada satu lagi nih, dokumentasi

1:05:57yang totally different tuh, yang

1:05:59buatan Google.

1:06:01Tau? Tau? Tau?

1:06:03Google Code Lab.

1:06:05Google Code Lab.

1:06:07Oh iya, itu unik ya.

1:06:09Bisa dibilang,

1:06:11itu kan how-to.

1:06:13Oh iya, tutorial-nya.

1:06:15Kan bisa step-by-step.

1:06:17Iya, format Google Code Lab ini

1:06:21saya breakthrough lah, menarik.

1:06:23Bisa nulisnya pakai Google Doc

1:06:25lagi.

1:06:27Hah? Iya.

1:06:29Kalau

1:06:31ada formatnya ya dari Google Doc,

1:06:33terus itu tinggal jadi generic,

1:06:35jadi code lab.

1:06:37Ada tutorialnya code mana ya?

1:06:41Google Code Lab.

1:06:43Jadi yang khas itu kan

1:06:47format code lab itu adalah

1:06:49multi-step-nya ya. Sebetulnya

1:06:51sih, kalau overall kan

1:06:53nggak beda jauh dari

1:06:55tadi-tadi yang markdown

1:06:57base yang kita bahas kan.

1:06:59Cuma ini tuh kayak ada step-by-step

1:07:01nya gitu, sama ada indikator

1:07:03step-nya. Coba cari aja.

1:07:09Ini random example.

1:07:11Start.

1:07:13Ini, ini, ini.

1:07:15Ini tools untuk

1:07:17nge-generate code lab.

1:07:19Lo kok nggak jalan?

1:07:21Stora saya telat banget ya?

1:07:23Enggak.

1:07:25Enggak ya? Enggak.

1:07:27Saya putus-putus soalnya ini-nya.

1:07:29Ini tutorial, nggak

1:07:35step-by-step ini ya?

1:07:37Itu kok nggak kayak code lab

1:07:39pada umumnya?

1:07:41Bukan.

1:07:43Bukan.

1:07:45Cari yang web aja.

1:07:51Web semua. Ini kan udah

1:07:53kategori web nih.

1:07:55Oh iya.

1:07:57Paski, paski.

1:08:05Ada nggak paski?

1:08:07Enggak ada.

1:08:09Mana disini carinya?

1:08:13Itu

1:08:15filter webnya di close dulu coba.

1:08:17Oh ini, ini, ini.

1:08:21Ini ya?

1:08:27Sebelah kiri ya?

1:08:29Harusnya

1:08:31muncul tuh kan.

1:08:33Step-stepnya.

1:08:35Kalau ada teman-teman yang mau bikin

1:08:41begini.

1:08:43Ada yang mau bikin gini.

1:08:45Tools-nya ada tuh.

1:08:47Di chat ya.

1:08:49Bisa gen Anda sendiri.

1:08:51Oh, baru tahu Anda.

1:08:55Ada formattingnya.

1:08:57Dia pakai STL-80.

1:08:59Enggak pakai laptop ya?

1:09:01Google Doc.

1:09:03Oh, tetap ya harus ya?

1:09:05Iya.

1:09:07Enggak pakai Google Doc.

1:09:13Nulis seperti biasa. Semua orang bisa

1:09:15collaborate.

1:09:17Generate.

1:09:19Publication pakai zip ya.

1:09:23Nanti jadinya ini kok.

1:09:27Jadinya

1:09:29HTML kok.

1:09:31Bazel ini apa?

1:09:33Bazel kan tools,

1:09:35kayak tools monorepo-nya Google kan?

1:09:37Oh iya, iya, iya.

1:09:39Benar, benar, benar.

1:09:41Dan nggak tahu kenapa, kalau buat

1:09:47step-by-step itu, formatnya

1:09:49Codelapse itu

1:09:51secara mental,

1:09:53secara sikis kayak ngebantu banget buat

1:09:55bikin itu, terasa

1:09:57less overwhelming.

1:09:59Bahkan dengan, nggak tahu, apa, pendapat

1:10:01gue sih, bahkan dengan, maksudnya dengan

1:10:03konten yang sama nih, cuma pakai satu halaman

1:10:05kayak markdown yang ada

1:10:07section-sectionnya, ada

1:10:09apa, yang tadi yang sebelah kanan, sidebar kanan

1:10:11on this page, itu jadi kerasa

1:10:13wah, panjang, berat.

1:10:15Cuma kalau dipecah-pecah

1:10:17kayak formatnya Codelapse itu

1:10:19jadi kayak lebih

1:10:21misalnya kita mau ngasih workshop atau apa,

1:10:23itu kayak lebih user-friendly aja.

1:10:27Iya sih,

1:10:29benar.

1:10:31Dan ini contohnya, misalnya

1:10:35walaupun langkah-langkahnya banyak,

1:10:37itu kayak jadi lebih simple

1:10:39aja.

1:10:41Iya, karena kan satu langkah itu

1:10:43yaudah sih, ini aja gitu, jadi kita nggak

1:10:45wah, ini panjang banget

1:10:47gitu ya.

1:10:49Cuma mental

1:10:51ini aja.

1:10:53Ya, tadi kita ngomongin soal

1:10:55apa namanya,

1:10:57dokumentasi yang apa,

1:10:59mengomentari, ada yang

1:11:01menggunakan notion, ya itu bukan

1:11:03sesuatu yang salah, tapi

1:11:05kalau buat developer, ada

1:11:07artikel yang menarik, namanya

1:11:09Docs Ask Code, jadi

1:11:11sebisa mungkin dokumentasi

1:11:13di apa,

1:11:15di trade sebagai

1:11:17code juga.

1:11:19Kalau bisa dijadikan satu sama codenya.

1:11:21Jadi,

1:11:23ke track, ada question controlnya,

1:11:25terus formatnya ya

1:11:27markdown yang

1:11:29paling ini ya, paling

1:11:31sering digunakan,

1:11:33terus bisa di code review, dan bisa

1:11:35di test juga.

1:11:37Di test dalam artian, misalkan nih, kita punya tutorial

1:11:39atau punya dokumentasi yang

1:11:41menjalankan kode.

1:11:43Dan ketika

1:11:45sebuah API berubah,

1:11:47terus kodenya nggak jalan,

1:11:49itu gimana ngeceknya kalau di notion, bingung kan,

1:11:51harus copy paste manual, oh ini nggak jalan,

1:11:53ini ganti, gitu. Tapi kalau misalkan

1:11:55di, ya

1:11:57mungkin ada tools tambahan ya, pokoknya

1:11:59di kode, kita bisa

1:12:01bikin testnya untuk menjalani,

1:12:03untuk mengevaluasi

1:12:05code block, code block,

1:12:07apakah code blocknya masih jalan, sesuai

1:12:09dengan API yang

1:12:11baru atau nggak, kalau

1:12:13sesuai ya, nggak perlu

1:12:15di apa, nggak perlu di update,

1:12:17kalau nggak sesuai, mungkin CI-nya

1:12:19error, jadi harus di update juga.

1:12:21Itu kelebihannya sih

1:12:23di situ ya.

1:12:25Sama kalau ke pisah, kayak misalnya pakai notion,

1:12:27itu makin, kalau pas lagi baru

1:12:29dibikin, itu kan kita masih fresh

1:12:31bagian ini, misalnya apa,

1:12:33kode yang ini, dokumentasinya

1:12:35di sini, halaman ini atau

1:12:37section ini, kode yang itu,

1:12:39di section itu

1:12:41atau halaman itu, coba lihat

1:12:43kalau udah 6 bulan.

1:12:45Terus misalnya kita nambah fitur baru

1:12:47di kode, nah berarti kan

1:12:49abis itu kayak ada beban mental

1:12:51pas kita mau update docs kan,

1:12:53aduh ini mana yang diganti,

1:12:55nambahinnya di sebelah mana, kayak

1:12:57hal-hal yang dibilang

1:12:59teknis, itu kan belum masuk teknis ya, itu

1:13:01non-technis, nambahinnya di mana,

1:13:03halaman mana, section mana, itu kayak udah

1:13:05pikir malas duluan kan.

1:13:07Iya,

1:13:09betul. Itulah yang kadang-kadang

1:13:11yang sering kali membuat

1:13:13dokumentasi, project dokumentasi

1:13:15terbengkalai.

1:13:17Terbengkalai, gara-gara

1:13:19harus ke sana. Cepet urusin ya.

1:13:21Cepet ngurusin ya,

1:13:23jadi sebisa mungkin

1:13:25semakin dekat ke kode, semakin bagus.

1:13:27Gue memang

1:13:29code lab yang gue bikin, ada yang mau liat

1:13:31ini gak gue drive formatnya.

1:13:33Mau dong.

1:13:35Mampung

1:13:37nemuk nih, mampung nemuk.

1:13:39Waktu itu, gue juga

1:13:41sempet

1:13:43translate PWA ya, kalau gak salah.

1:13:45Itu pakai code lab juga gak ya?

1:13:47Jadi,

1:13:53gue bikinnya gini nih,

1:13:55pengenalan WordPress untuk

1:13:57pemula. Pernah

1:13:59ada di game Jakarta

1:14:01lah gitu, jadi gue cuma

1:14:03karena

1:14:05dia bilang, Mas

1:14:07Ivan ngadain workshop ya, pengenalan WordPress

1:14:09untuk pemula, tetapi

1:14:11satu hari ada 3 sesi

1:14:13workshop. Gue gimana

1:14:15ngajarin orang, 3 sesi

1:14:17workshop. Ya

1:14:19ujung-ujung gue bikin

1:14:21konsep, ya udah, gue bikin

1:14:23code lab-nya, gue sediain laptop-nya,

1:14:25terus gue suruh aja mereka

1:14:27ikutin satu-satu,

1:14:29dan gue jadi instruktor jalan-jalan

1:14:31bantuin satu-satu, gitu.

1:14:33Kasih kupon nanti, jadi

1:14:35tinggal ngikutin ini, sampe

1:14:37terakhir mereka sudah punya satu

1:14:39resepnya mereka sendiri, pulangnya,

1:14:41jadi

1:14:43workshopnya cuma kayak 1,5 jam,

1:14:45gitu, ikutin

1:14:47jadi kontennya

1:14:49sudah ada.

1:14:51Wait, ini kok malah jadi kayak agak nyambung sama

1:14:53topik minggu lalu gak sih?

1:14:55Apa? Mix dengan

1:14:57tools buat bikin

1:14:59slide atau presentasi. Kan sebenernya

1:15:01in a way, kalau buat pengguna use case yang ini,

1:15:03itu kayak overlap ya?

1:15:07Cuma, ini fokus ke

1:15:09protect. Maksudnya, itu langkah-langkahnya

1:15:11beneran bisa sambil diprotekin.

1:15:13Iya, betul.

1:15:17Google Docs-nya mana?

1:15:19Ini kan di GitHub ya,

1:15:21gue post ke GitHub,

1:15:23github.io, yang

1:15:25hasil akhirnya kan index.html

1:15:27doang nih begini.

1:15:29Hasil akhirnya.

1:15:31Setelah dibuild.

1:15:33Dan,

1:15:35tadaaa!

1:15:37Ini formatnya.

1:15:39Sebenernya dia sudah ngasih formatnya,

1:15:43gue tinggal clone template-nya.

1:15:45Hal-hal yang di sini tinggal diisi saja.

1:15:49Yang ini kan

1:15:51auto build ya,

1:15:53table of contents.

1:15:55Menarik ya.

1:15:57Tinggal ini, tinggal gue isip.

1:15:59Ini hal satu.

1:16:01Ini dia convert jadi HTML ya.

1:16:03Ini dia convert langsung jadi image loh,

1:16:05otomatis. Ini semua

1:16:07image-image yang ada di sini.

1:16:09Gue tinggal masukin file-file di sini.

1:16:11Pas kita build, dia masukin ke

1:16:13static assets atau

1:16:15jadi file-file.

1:16:17Kekurangannya nggak bisa video.

1:16:19Jadi kalau mau ada video, jadi GIF aja.

1:16:21Embed all.

1:16:23GIF, GIF.

1:16:25Jadi tinggal

1:16:27pen-time

1:16:29nulis di sini,

1:16:31dan bisa minta

1:16:33kan bisa masukin durasi

1:16:35juga nih, berapa lama kira-kira durasinya.

1:16:37Nanti dia counting itu durasinya.

1:16:39Ada durasi soalnya di atas.

1:16:41Oh, terus di total ya?

1:16:43Ya.

1:16:45Kalau di paling

1:16:47depan, kayak

1:16:49kok nggak ada lagi. Tadi ada sih di atas.

1:16:51Kalau misalnya di refresh itu ada di atas dia.

1:16:53Wow!

1:16:57Ya, tinggal

1:16:59nulis.

1:17:01Ya, ya.

1:17:03Ujung-ujungnya tinggal nulis sih.

1:17:05Tinggal mainin di konten

1:17:07aja. Jadi nggak usah

1:17:09maksudnya nggak usah mikir

1:17:11markdown, segala macam.

1:17:13Alternatif pakai code lab ini sebenarnya

1:17:15menarik juga sih kalau memang mau

1:17:17bagi

1:17:19untuk

1:17:21seorang yang kita mau

1:17:23ngasih untuk penulis kontennya itu

1:17:25less technical.

1:17:27Jadi nggak perlu tau

1:17:29markdown format.

1:17:31Biar nggak suruh gitcon, gitcon, blablabla.

1:17:33Ya.

1:17:35Berarti sama juga dong kasusnya

1:17:37kayak tadi ada

1:17:39yang pakai notion,

1:17:41kalau orang yang nulis dokumentasinya itu

1:17:43less technical.

1:17:45Ya, notionnya bisa dijadiin ini juga kan.

1:17:47Bisa dijadiin

1:17:49site juga kan, public site juga kan.

1:17:51Sama.

1:17:53Ya, bisa juga di import ke markdown juga bisa sih sebenarnya.

1:17:55Iya.

1:17:57Ya.

1:17:59Dan

1:18:01terus terangnya solusi ini

1:18:03jauh lebih mudah buat saya waktu

1:18:05saya kerjain ini kayak

1:18:07sistem kebut 2 malam

1:18:09istilahnya.

1:18:11Kayak 2 hari lagi mau event,

1:18:13baru saya mulai

1:18:15mau pakai tools apa ya, gitu loh.

1:18:17Lebih cepat ya, karena

1:18:21kita fokus ke kontennya,

1:18:23kontennya aja ya.

1:18:25Iya, kepikiran,

1:18:27udah mau pakai docusaurus, mau pakai ini,

1:18:29belum ada tutorial kelihatan, saya belum tau.

1:18:31Mau pakai docusaurus, atau mau pakai

1:18:33WordPress. Kalau WordPress, nyari

1:18:35themes-nya. Aduh, ribet ya.

1:18:37Pakai apa ya? Pakai apa? Terus

1:18:39Google Code Lab juga deh, karena udah

1:18:41pernah tau pakai Google Code Lab, pernah pakai.

1:18:43Ya udahlah, cepat aja

1:18:45yang penting konten kan, yang sampai

1:18:47saat tutup workshop itu

1:18:49sebenarnya peserta nggak peduli kita mau

1:18:51pakai. Yang penting mereka bisa

1:18:53next, next, next, next, jadi sebenarnya kan.

1:18:55Ya udah.

1:18:57Code Lab deh.

1:18:59Ini tutorial ala

1:19:03SwiftUI, yang mana ya?

1:19:05Boleh share

1:19:07URL-nya mungkin,

1:19:09tapi disamarkan URL-nya.

1:19:11Kalau langsung URL nggak bisa.

1:19:13Nah, ini menarik juga nih.

1:19:15Kalau

1:19:17buat collaborate antara

1:19:19front-end dan back-end, lebih cepat pakai

1:19:21tools kayak Notion nggak sih, dibandingkan

1:19:23kalau push

1:19:25atau commit dulu?

1:19:27Kalau front-end, back-end,

1:19:29developer sih.

1:19:31Kalau front-end, back-end, ya swagger tadi.

1:19:33Kalau dari pengalaman pribadi ya,

1:19:35maksudnya pengalaman kerja

1:19:37ya nggak apa-apa, maksudnya code-nya nanti

1:19:39push deploy belakangan kan nggak

1:19:41apa-apa sebetulnya.

1:19:43Kalau pengalaman, pertama

1:19:45bikin kontraknya dulu di swagger.

1:19:47Terus

1:19:49jaman dulu

1:19:51juga saya pernah pakai

1:19:53yang namanya Faker.

1:19:55Jadi ada satu

1:19:57dummy generator yang sudah

1:19:59bisa dibikin.

1:20:01Kita import skema-nya kita ke Faker

1:20:03itu, nanti

1:20:05si front-end itu tinggal

1:20:07pakai endpoint dari Faker.

1:20:09Jadi di REST API.

1:20:11Sembari kita build back-end.

1:20:13Dan kalau sudah jadi,

1:20:15saat nyambunginnya,

1:20:17mudah-mudahan yang terjadi adalah

1:20:19clog.

1:20:21Jadi tinggal mereka ganti

1:20:23REST API endpoint

1:20:25atau GraphQL endpoint-nya,

1:20:27idealnya

1:20:31nggak ada bug.

1:20:33Idealnya langsung connect idealnya.

1:20:35Meskipun yang

1:20:37terjadi adalah dari

1:20:39back-end,

1:20:41contohnya

1:20:43data kan kita nggak bisa

1:20:45selalu tebak. Kalau pakai Faker

1:20:47selalu ada data-nya.

1:20:49Meskipun dibilang string

1:20:51selalu ada.

1:20:53Jadi kalau pakai Faker itu

1:20:55misalnya string 150 karakter

1:20:57dia bakal random

1:20:59bisa antara 100 atau 150.

1:21:01Sedangkan saat

1:21:03kenyataannya

1:21:05bisa jadi kosong.

1:21:07Atau bisa jadi lebih.

1:21:09Jadi

1:21:11bug-nya itu

1:21:13banyak yang kenanya

1:21:15misalnya kayak data-nya nggak ada,

1:21:17kalau kosong jadinya.

1:21:19Ternyata kalau kosong alkohilnya

1:21:21nul atau apa yang beneran

1:21:23anis-rektif.

1:21:25Jadi nul, jadi kenapa kan error.

1:21:27Nah, itu back-end sih

1:21:29terus yang terjadi.

1:21:31Itu diware scope dokumentasi sih.

1:21:33Itu scope endpoint testing.

1:21:35Kalau itu kan

1:21:37konteksnya, ya, lanjut-lanjut.

1:21:39Ya, jadi masalahnya

1:21:41banyak di sana tuh

1:21:43setelah kena konten

1:21:45nyata, terjadilah

1:21:47bang.

1:21:49Nggak semuanya Faker bisa

1:21:51ditercaya.

1:21:53Betul. Konteksnya kan API

1:21:55documentation. Gimana kalau

1:21:57misalkan, ya tadi, tutorial

1:21:59documentation.

1:22:01Atau how-to atau apa. Tapi

1:22:03ada kolaborasi antara front-end sama

1:22:05back-end.

1:22:09Umumnya

1:22:11umumnya

1:22:15biasanya

1:22:17kolaborasinya tuh

1:22:19sering terjadi

1:22:21dari

1:22:23si front-end

1:22:25butuh data

1:22:27yang

1:22:29belum ada.

1:22:31Yang sering terjadi seperti itu.

1:22:33Contohnya

1:22:35telah dapat feedback

1:22:37dari klien, "Oh, di table ini

1:22:39kolom ini kayaknya salah

1:22:41sedikit. Lebih bagus kolom ini diganti

1:22:43data-end ini."

1:22:45Dan ternyata di rest API

1:22:47endpoint-nya belum ada data itu.

1:22:49Jadi

1:22:51harus minta back-end,

1:22:53merubah outputnya.

1:22:55Jadi biasanya

1:22:57sering seperti itu.

1:22:59Kalau untuk hubungan

1:23:01antar back-end dengan front-end.

1:23:03Kalau kolaborasi

1:23:05bikin dokumentasi

1:23:07antara back-end sama front-end.

1:23:09Belum pernah sih gua.

1:23:17Dokumentasi itu

1:23:19milik

1:23:21beda ini ya,

1:23:23beda divisinya.

1:23:25Biasanya defrel ya, defrel.

1:23:27Lead yang bikin.

1:23:29Oh, lead. Terus.

1:23:31Kalau gua malah

1:23:33belum punya pengalaman

1:23:35bikin apa pun bikin kode yang

1:23:37kita pakai orang banyak.

1:23:39Kerja di tim kecil, keuntungannya adalah

1:23:41ya karena

1:23:43yang kode literly cuma 3 orang.

1:23:45Ya, yang...

1:23:47Ya, baca aja tuh kode.

1:23:49Di awal ada kontraknya,

1:23:51habis itu

1:23:53mungkin yang

1:23:55head-to-head sama notion di komentar

1:23:57di pertanyaan awal tadi,

1:23:59karena konteksnya kerjaan,

1:24:01pakai tiket

1:24:03Gira.

1:24:05Pakai confluensi, ya nggak harus Gira.

1:24:07Jadi pakai apapun misalnya.

1:24:09Buat tracking ya.

1:24:11Masing-masing orang, front-end, back-end,

1:24:13ada tiketnya sendiri-sendiri.

1:24:15Apapun yang relevan

1:24:17sama kode spesifik kita,

1:24:19itu taruh di tiket

1:24:21yang bukan kode ya.

1:24:23Kalau kode, ya baca sendiri.

1:24:25Kalau misalnya

1:24:27props-nya apa aja,

1:24:29kalau misalnya UI, ya

1:24:31di JSDoc atau TypeScript Definition-nya

1:24:33aja. Lagi-lagi karena timnya kecil,

1:24:35silahkan baca sendiri. Tapi kalau konteks,

1:24:37ada sesuatu

1:24:39yang harus dijelasin,

1:24:41taruh aja di tiketnya.

1:24:43Terus terakhir, paling ujung banget,

1:24:45end-to-end testing doang.

1:24:47Jadi di awal ada kontrak,

1:24:49di akhir ada end-to-end testing,

1:24:51kalau ada notes

1:24:53tentang yang

1:24:55subjektif, masing-masing gimana kita

1:24:57develop atau mungkin ada sesuatu yang

1:24:59tricky atau apa,

1:25:01update komen-komenan di

1:25:03tiket JIRA, dan ya itu pokoknya

1:25:05antara kontrak di awal,

1:25:07end-to-end testing di akhir,

1:25:09di tengah-tengah antara tiket JIRA sama

1:25:11baca kode.

1:25:13Karena timnya kecil, run-end, back-end-nya

1:25:15ya baik-baik aja. Tapi belum tahu

1:25:17kalau 1, timnya besar banget,

1:25:19dan 2, bikin product

1:25:21yang dipakai,

1:25:23bikin library yang dipakai orang banyak.

1:25:25Nah, itu kan udah rumit lagi.

1:25:27Itu kan udah diluar

1:25:29pure perkara kolaborasi

1:25:31front-end, back-end juga kan, kalau dipakai

1:25:33orang banyak, use-case-nya banyak,

1:25:35nah itu baru lebih ribet.

1:25:37Kalau bikin product

1:25:39yang dipakai oleh end-user,

1:25:41terus

1:25:43pernah bikin dokumentasinya,

1:25:45ngalamin nggak?

1:25:47Oh, pernah sih,

1:25:49tapi dalam skala kecil banget.

1:25:51Ya, yang bisa di-install

1:25:53orang, gitu kan.

1:25:55Itu pas heketonan-heketonan astro

1:25:57yang menang setengah, apa?

1:25:59Menang setengah dia.

1:26:01Menang setengah dia.

1:26:03Itu bikinnya,

1:26:05ya bikinnya simple sih,

1:26:07cuma,

1:26:09tapi udah cukup memenuhi yang koden

1:26:11tadi, kayak sintaksinya apa aja,

1:26:13kenapa dibuat kayak gini,

1:26:15sama cara pakenya, kayak step-by-step

1:26:17tutorial, yang nggak ada cuma recipe,

1:26:19atau how-to. Tapi kan,

1:26:21kalau itu karena cukup simple,

1:26:23ya nggak ada kolaborasi

1:26:25kayak front-end, back-end, atau team-team

1:26:27yang beda, kan? Orang bikin,

1:26:29cuma bikin library simple,

1:26:31bikinnya juga sendiri, ya udah, cukup

1:26:33straightforward.

1:26:35Hmm, iya, iya, iya.

1:26:37Jadi intinya, supaya

1:26:39ke-track ada, misalkan ada

1:26:41sesuatu yang special case dan lain-lain,

1:26:43dokumentasinya ke-track itu, entar

1:26:45pakai jira, pokoknya

1:26:47di-track aja, entar pakai jira,

1:26:49atau tulisan serupa, misalkan

1:26:51GitHub issue juga bisa, kan?

1:26:53GitHub issue, itu bisa

1:26:55dijadikan dokumentasi juga,

1:26:57atau discussion, atau project.

1:26:59- Dan jajan lebih sering nggak terdokumentasi

1:27:01sih, kalau apa, konteks pribadi,

1:27:03ya apa, janjian

1:27:05meeting aja udah,

1:27:07ngobrol doang. - Di GitHub ada

1:27:09ada wiki soalnya.

1:27:11- Oh iya, di GitHub ada wiki.

1:27:13- Wiki ada. Kalau pakai jira,

1:27:15juga ada konfluensinya, kan, buat bikin

1:27:17doks, kalau... - Aduh, capek banget,

1:27:19pakai konfluensi. - Formatinya nggak enak,

1:27:21kalau bikin tabelnya, kayak...

1:27:23itu tabel, itu ekspektasinya, kan,

1:27:25kalau pakai arrow atau tap, itu pindah

1:27:27sel. Ini nggak pindah sel

1:27:29atau manualnya gitu.

1:27:31- Oh iya.

1:27:33Iya. Nah, ini ada

1:27:35apa, informasi dari Damar, sudah

1:27:37dilengkapi. Ini emang Apple

1:27:39gila sih, bagus banget sih,

1:27:41kalau ngeliat dokumentasinya.

1:27:43Mana dia? Duh, kok hilang? Ini.

1:27:45Nah, ini ya.

1:27:47Tunggu.

1:27:49Di bawah ini.

1:27:51Iya. - Wow.

1:27:53Apa flashnya

1:27:55secara visual,

1:27:57tuh kayak visueli peeling.

1:27:59- Ini tulisnya apa?

1:28:01Kita nggak bisa lihat ya, nggak open source ya.

1:28:03Ini closed source.

1:28:07Oh iya,

1:28:09kalau teman-teman, apa,

1:28:11punya... - Ini pakai swift buatnya,

1:28:13apa mas?

1:28:15- Swift web kali.

1:28:17- Wasm, wasm.

1:28:19- Ini beneran apa?

1:28:21- Nggak tahu.

1:28:23- Ini bener.

1:28:25Wasm, wasm.

1:28:27Refresh. Eh?

1:28:29Nggak ada wasm.

1:28:31- Nggak ada.

1:28:33Itu CSS doang kali.

1:28:35- Pakai view.

1:28:41- Buat tiko pasang, sungguh bisa.

1:28:43- Iya.

1:28:45Buat teman-teman yang punya, apa,

1:28:47perangkat Apple, yang

1:28:49Macbook, atau Mac mini, atau

1:28:51apa, yang

1:28:53desktop itu,

1:28:55kalau bingung ya, bingung mau

1:28:57belajar apa, teman-teman bisa

1:28:59belajar Swift, si Apple

1:29:01itu menyediakan namanya Playground.

1:29:03Ini seru banget.

1:29:05Kayak main game. Ini bagian dari

1:29:07tutorial juga kan ya.

1:29:09Jadi kita belajar kode, sambil

1:29:11main game, itu bisa di install, ada

1:29:13di App Store, tinggal download gratis kok.

1:29:15Di tablet juga ada.

1:29:17Jadi kalau mau belajar, bingung mau belajar

1:29:19bahasa apa, belajar Swift dari sini.

1:29:21- Maksudnya gue bisa kasih anak gue main ini dong.

1:29:23- Exactly.

1:29:25- Nanti tiba-tiba jadi developer Swift.

1:29:27- Nggak apa-apa.

1:29:29- Terus ngata-ngatain

1:29:31developer web.

1:29:33- Nggak apa-apa.

1:29:35- Dengan kakak sama bapaknya sendiri.

1:29:37- Oh, pakai view katanya.

1:29:39Yang tadi pakai view.

1:29:41Keren juga ya.

1:29:45Nah ini.

1:29:47Dan dia kayaknya

1:29:49target audience-nya itu

1:29:51anak-anak soalnya game kan.

1:29:53- Iya, mereka

1:29:55sedang berusaha mengubah

1:29:57generasi.

1:29:59- Iya.

1:30:01- Nanti dia disuruh jalan kesini

1:30:03dengan pakai kode

1:30:05gitu, pokoknya keren lah.

1:30:07- Niat banget ya. Ini kayak butuh

1:30:09skill tersendiri buat apa?

1:30:11- Lego, Lego kan ada juga kan?

1:30:13Lego begini.

1:30:15- Dan udah beyond yang tadi

1:30:17kadren dokumentasi kan, sebenarnya ini tutorial.

1:30:19Tapi kayak tutorial yang udah

1:30:21ekstra banget yang butuh skill tersendiri kan

1:30:23buat nge-breakdown

1:30:25Swift itu sendiri.

1:30:27Kan kalau tutorial basic Swift atau

1:30:29getting started with Swift

1:30:31itu pasti banyak. Tapi ini nge-breakdown

1:30:33dalam format game yang

1:30:35menarik buat banyak orang, termasuk

1:30:37anak-anak atau orang yang awam loading

1:30:39udah skill set tersendiri itu kayaknya.

1:30:41- Yang jelas ini yang bikin

1:30:43kontennya bukan developer sih.

1:30:45Ada kolaborasi sama

1:30:49- Technical writer.

1:30:51- Ada technical writer. - Atau kayak apa sih?

1:30:53Kayak human-centric design, blablabla.

1:30:55Itu loh yang punya yang jenis-jenis

1:30:57yang title-nya aneh-aneh.

1:30:59- Ada

1:31:01- Instructor something gitu.

1:31:03Instructor apa gitu. Ada itu istilahnya tuh.

1:31:05Jadi dia memang tugasnya untuk

1:31:09mendesain sebuah

1:31:11pembelajaran dari A sampai

1:31:13Z sampai Finis.

1:31:15Dari start sampai Finis bentuknya

1:31:17terus pasti aset-asetnya

1:31:19ini yang susah kan.

1:31:21Susah dibikin gitu.

1:31:23Terus jalan ceritanya

1:31:25dan lain-lain. Jadi ya

1:31:27memang ini

1:31:29udah di luar ranah kita.

1:31:31Tapi ya, patut dicoba.

1:31:33Karena tutorial juga bagian dari tutorial.

1:31:35-

1:31:39Gue tadi barusan ngomong soal Lego

1:31:41juga ada Lego education kan.

1:31:43Begitu liat harganya

1:31:45kok mahal.

1:31:47- Pendidikan itu

1:31:49investasi mahal.

1:31:51- Tidak. Lagipun kok sih. Apa tadi

1:31:53technical writer, blablabla.

1:31:55- Tapi nggak lima ribu dolar juga kan.

1:31:57Ada sih yang

1:31:59900an atau 200an dolar.

1:32:01Tapi lima ribu dolar.

1:32:03- Legonya sendiri ada costnya.

1:32:05Itu buat tadi yang kayak

1:32:07expertisnya

1:32:09blablablanya mahal.

1:32:11- Ini masalah wipe-nya tadi.

1:32:13Karena dia ada

1:32:15layout shift-nya banyak banget.

1:32:17Waktu gue buka di mobile.

1:32:19Yang muncul dulu itu

1:32:21yang lima ribu dolar.

1:32:23Ah, lima ribu dolar.

1:32:25Tapi setelah dibiarin, baru

1:32:27muncul yang lain-lain.

1:32:29- Yang 100 dolar. Nah itu

1:32:31CLS-nya bukan CLS karena kesalahan

1:32:33nggak ngerti. - Emang sengaja kali ya.

1:32:35- Orang

1:32:37by now.

1:32:39Segampang itu.

1:32:41- Iya. Ini juga salah satu

1:32:43problem ya. Kalau pakai notion

1:32:45atau apapun di luar kode yang dibuat

1:32:47back-end atau front-end

1:32:49atau apapun biasanya suka beda.

1:32:51Makanya semakin dekat kodenya

1:32:53dengan dokumentasi itu semakin bagus.

1:32:55Jadi dia menghindari hal-hal seperti itu.

1:32:57Oke.

1:32:59- Cukup.

1:33:01Cukup dan kita menang 2-0.

1:33:03- Iya.

1:33:05Tapi kartu merah satu.

1:33:07- Oh.

1:33:09Kartu merah tuh di hitungnya

1:33:11nggak boleh mainnya. Berapa kali sih?

1:33:13Satu kali atau dua kali ke depan?

1:33:15- Dua.

1:33:17Kartu kuning dua kali,

1:33:19satu kali.

1:33:21- Oke deh. Kalau gitu

1:33:23terima kasih buat semuanya

1:33:25yang sudah ikut Nimrung malam hari ini.

1:33:27Ada banyak

1:33:29tools yang bisa kita cobain

1:33:31untuk ke depannya. Apalagi

1:33:33kalau teman-teman yang butuh buat dokumentasi

1:33:35untuk internal ataupun untuk end user.

1:33:37Kita ketemu lagi minggu depan dengan

1:33:39topik yang berbeda. Selamat malam.

1:33:41Selamat istirahat. Sampai jumpa.

1:33:43- Bye bye.

Suka episode ini?

Langganan untuk update episode terbaru setiap Selasa malam!

Langganan Sekarang

Episode Terkait

Ngobrolin Manajemen Kode Sumber - Ngobrolin WEB
EP 61

13 Des 2023

Ngobrolin Manajemen Kode Sumber - Ngobrolin WEB

Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. ...

Ngobrolin Dokumentasi - Ngobrolin WEB
EP 143

10 Sep 2025

Ngobrolin Dokumentasi - Ngobrolin WEB

🗣️🕸️ Selasa malam waktunya #ngobrolinWEB! Mari membahas tentang berbagai alat untuk membuat dan menampilkan dokumentas...

Rahasia Dibalik Konfigurasi File: INI, XML, JSON, YAML, TOML - Mana yang Terbaik? - Ngobrolin WEB
EP 62

19 Des 2023

Rahasia Dibalik Konfigurasi File: INI, XML, JSON, YAML, TOML - Mana yang Terbaik? - Ngobrolin WEB

Video ini akan membawa Anda dalam petualangan menjelajahi berbagai format file konfigurasi yang populer di dunia teknolo...

Komentar