Siapa dari rekan-rekan di sini yang kerjanya membuat report?
✍️
Siapa yang hobinya menulis blog, artikel, jurnal penelitian, atau membuat website?
📊
Siapa yang kerjanya membuat dashboard Shiny di R?
Kabar baik buat kalian semua! 🎉
R + RStudio bisa mengerjakan SEMUA itu — dalam satu tools yang sama
📄
Report
PDF, Word, HTML — otomatis dari data terbaru, tanpa copy-paste manual
🌐
Website & Blog
Publish artikel dan analisis ke internet langsung dari RStudio
📊
Dashboard
Visualisasi interaktif dengan Shiny atau Observable JS
📽️
Presentasi
Slide deck modern dari kode R — seperti yang sedang kamu lihat ini!
📚
Buku
Multi-chapter, export ke PDF + EPUB sekaligus dalam satu project
Reproducible Reporting — Kenapa Harus Coding?
🍳 Analogi: Kode adalah resep masak. Bahan-bahan (data) boleh berganti setiap bulan, tapi proses dan hasilnya selalu konsisten — dan siapapun bisa mereplikasi laporan yang sama hanya dengan menjalankan kodenya. Tanpa resep, kamu memasak dari nol setiap hari.
📋 Cara Biasa — MS Office
✗
Copy-paste data baru ke Excel setiap periode
✗
Update chart dan tabel satu per satu secara manual
✗
Angka di narasi bisa tidak sinkron dengan tabel
✗
Data berubah? Ulang semua langkah dari awal
✗
Orang lain tidak bisa verifikasi tanpa bantuanmu
⚡ Cara Coding — Quarto + R
✓
Update data → semua output refresh otomatis
✓
Tidak ada copy-paste = tidak ada human error
✓
Satu template untuk puluhan laporan berbeda sekaligus
✓
Siapapun bisa menjalankan ulang dan memverifikasi
✓
Riwayat perubahan terlacak otomatis via git
Sejarah: R Markdown
2012
Package knitr lahir — dibuat oleh Yihui Xie dari RStudio. Fondasi ekosistem.
2014
Package rmarkdown dirilis resmi — knitr + pandoc dalam satu workflow
revealjs HTML interaktif beamer PDF via LaTeX pptx PowerPoint
Fitur RevealJS
Sub-slides vertikal • Speaker mode • Fullscreen • Search • Multiplex • Export ke PDF
💡 Presentasi ini sendiri dibuat menggunakan konsep yang sama dengan Quarto Presentation!
Quarto Presentation — Contoh Kode
presentasi.qmd
---title: "Analisis Data dengan R"author: "Ikang Fadhli"format:
revealjs:
theme: darkslide-number: truetransition: slideincremental: true# bullet muncul satu per satucode-line-numbers: true---## Slide Pertama
- Poin pertama
- Poin kedua (muncul setelah klik)
## Slide dengan Visualisasi```{r}plot(mtcars$mpg, mtcars$hp, col = "#4db6ff", pch = 19)
```## Slide dengan Speaker Notes
Konten yang dilihat audiens.
::: {.notes}
Catatan presenter — tekan S untuk speaker view.
:::
Quarto · 03
Dashboard
Visualisasi interaktif tanpa ngoding UI dari nol
Quarto Dashboard — Apa itu?
Buat dashboard interaktif menggunakan layout berbasis baris dan kolom — tanpa perlu belajar Shiny UI dari awal
✓
Layout grid otomatis: rows, columns, tabset
✓
Mode statik: plotly, DT, leaflet — deploy sebagai HTML biasa
✓
Mode Shiny: input/output reaktif penuh — butuh Shiny server
✓
Value box, gauge, card — komponen siap pakai
Pengganti dari...
Quarto Dashboard = versi modern dari flexdashboard di R Markdown, dengan fitur yang jauh lebih lengkap
Mode Statik
Tidak butuh reaktivitas real-time — cukup filter dengan plotly atau crosstalk. Deploy gratis di GitHub Pages!
Mode Shiny
Input user mempengaruhi komputasi R di server secara real-time — butuh Shiny Server atau shinyapps.io
Quarto Dashboard — Contoh Kode
dashboard.qmd
---title: "Dashboard Penjualan 2024"format: dashboard# server: shiny ← aktifkan jika pakai Shiny---## Row {height=35%}```{r}#| content: valuebox#| title: "Total Penjualan"list(icon = "bag-check", color = "primary",
value = "Rp 1.500.000")
```## Row {height=65%}### Column {width=60%}```{r}library(plotly)
plot_ly(df, x = ~bulan, y = ~penjualan, type = "bar")
```### Column {width=40%}```{r}library(DT)
datatable(df, options = list(pageLength = 8))
```
Quarto · 04
Website
Multi-halaman, deploy ke GitHub Pages dalam hitungan menit
Quarto Website
Buat website multi-halaman dari kumpulan file .qmd — navigasi, sidebar, dan search otomatis terbentuk dari konfigurasi YAML
📁 my-website/
├── _quarto.yml# konfigurasi utama
├── index.qmd# halaman home
├── about.qmd
├── analisis.qmd
└── styles.css
Deploy gratis: quarto publish gh-pages → langsung live di GitHub Pages!
💡 Blog post = cara terbaik mendokumentasikan analisis data + berbagi ilmu ke komunitas — persis seperti ikanx101.com!
posts/tutorial/index.qmd
---title: "Visualisasi Data dengan ggplot2"author: "Ikang Fadhli"date: "2024-06-01"categories: [R, ggplot2, visualisasi]
image: "thumbnail.png"description: "Panduan membuat chart yang informatif"---
Isi artikel di sini — kode R berjalan
langsung, output otomatis muncul di
halaman blog!
```{r}library(ggplot2)
ggplot(mtcars, aes(mpg, hp)) +
geom_point(color = "#4db6ff") +
theme_minimal()
```
Quarto · 06
Book
Buku digital multi-bab dengan referensi silang otomatis
Quarto Book
Tulis buku multi-bab yang bisa di-render menjadi website, PDF, dan EPUB dari satu project yang sama
📖
Cross-reference antar bab, gambar, dan tabel otomatis
🔍
Search built-in pada versi web
📥
Download button untuk PDF & EPUB tersedia otomatis
🌐
Deploy ke GitHub Pages atau Quarto Pub — gratis
💡 Contoh nyata: buku R for Data Science 2nd Ed (Hadley Wickham) dibuat dengan Quarto!
Quarto membuat nomor referensi otomatis untuk gambar, tabel, dan section — bisa dikutip di mana saja dalam dokumen
🖼️
Gambar: @fig-nama → "Gambar 1"
📋
Tabel: @tbl-nama → "Tabel 2"
🔢
Persamaan: @eq-nama → "Persamaan 3"
📑
Section: @sec-nama → "Bagian 1.2"
contoh cross-ref
```{r}#| label: fig-distribusi#| fig-cap: "Distribusi skor nilai"hist(rnorm(1000), col = "#4db6ff",
main = "Distribusi Normal")
```
Lihat @fig-distribusi untuk hasil
distribusi nilai yang dibangkitkan.
```{r}#| label: tbl-ringkasan#| tbl-cap: "Ringkasan statistik"knitr::kable(summary(mtcars[,1:3]))
```
Tabel @tbl-ringkasan menunjukkan
statistik deskriptif dataset mtcars.
Parameterized Report
Satu template.qmd bisa dirender berkali-kali dengan nilai berbeda — laporan per-region, per-produk, atau per-periode secara otomatis!
Semua yang tadi kita bahas bisa dimulai hari ini — gratis.
📚
Dokumentasi
quarto.org/docs
⭐
Awesome Quarto
github.com/mcanouil/ awesome-quarto
✍️
Blog Saya
ikanx101.com
Ingat: Reproducible reporting bukan sekadar soal tools — ini tentang kebiasaan mendokumentasikan pekerjaan kita dengan baik sehingga bisa diulang, diverifikasi, dan dibangun bersama.