Awal permasalahan
Sebelumnya situs web ini dibangun menggunakan generator situs statis dengan framework Hugo, tetapi setelah lima tahun berjalan semenjak 2019 mengalami kendala dalam penulisan yang spesifik. Misalnya membutuhkan fitur latex untuk penulisan formula matematika, fitur dokumentasi yang mana harus mencari lagi tema hugo yang sesuai selayaknya tata-letak (layout) dokumentasi, belum lagi gonta-ganti mencari templat yang cocok untuk blog dan salindia (slide). Semua itu memiliki templat yang berbeda-beda. Juga perlu melakukan pengaturan sub-domain akibat kebutuhan yang berbeda.
Lebih dikenal sebagai SSG, kepanjangan dari Static Site Generator. Umumnya mengubah dari template web dan markdown (.md) menjadi HTML, CSS, dan JS yang siap diunggah ke layanan penyimpanan hosting. Contohnya SSG yaitu seperti Hugo, Jekyll, Gatsby, NextJS, Zola, dan lain-lain.
Lantas dalam benak, apakah tidak ada generator yang mengatur semua kebutuhan?. Kalau bisa yang masih menggunakan markdown karena selama itu menulis menggunakan markdown dan ketika migrasi agar dimudahkan tidak banyak pengaturan yang harus dilakukan. Setelah melakukan beberapa pencarian di situs Jamstack yang berisi informasi kumpulan SSG, masih belum menemukan yang cocok. Akhirnya mau tidak mau memisahkan per proyek situs web sesuai kebutuhan.
Jamstack terdapat informasi kumpulan generator situs statis. Anda bisa mengunjungi di situs jamstack.org.
Tetapi sebelum terjadi keinginan untuk melakukan memigrasikan semua situs web yang dimiliki, secara tidak sengaja menemukan proyek RMarkdown yang mana tetap mencari-cari alternatif lain. Disana menemukan lebih banyak fitur dalam tata-letaknya dan penulisannya. Lebih dari sekedar generator situs web sebelumnya yang mana RMarkdown dapat mengekspor ke dalam bentuk PDF, Salindia, MS Word, Dasbor dan sebagainya. Menarik dan tertarik ingin mencobanya.
Ketika mencari tahu bagaimana dokumentasi RMarkdown, mencari perbandingan alternatif lain. Akhirnya menemukan referensi tentang Quarto. Takjubnya dengan proyek ini ialah dapat menyelesaikan masalah penulis sebelumnya. Yaitu dapat membuat blog, salindia dan presentasi dalam satu situs web. Akhirnya menemukan sebuah solusi. Situs web ini pun juga dibangun dengan Quarto.
Merupakan pustaka dari bahasa R yang memungkinkan untuk membuat situs web. Anda bisa mengunjungi situs ini https://rmarkdown.rstudio.com
Perkenalan Quarto
Quarto yang merupakan perangkat lunak terbuka (Open Source) sebagai sistem publikasi dan memanajemen antara teks dan kode dalam satu dokumen, yang mana mendukung bahasa pemrograman Python, R, Julia dan OJS. Sebelumnya Quarto juga merupakan proyek pengembangan dari Rmarkdown (Cotton 2023).
Dari permasalahan diatas, Quarto dipilih oleh penulis sebagai generator situs web ini karena dapat menggabungkan kebutuhan situs web antara blog, dokumentasi dan presentasi menjadi satu proyek saja. Secara garis besar Quarto bersifat all-in-one yang bisa mencukupi kebutuhan ilmiah.
Di bawah ini penulis hanya memberikan beberapa kelebihan secara singkat, jika ingin tahu fitur Quarto secara lengkap disarankan untuk mengunjungi halaman situsnya secara langsung di https://quarto.org agar memahami dokumentasi dan fiturnya secara lengkap.
Rendering berbagai macam format
Quarto dapat merendering berbagai macam format, seperti pdf, docx dan html. Hal ini memudahkan dalam pembuatan kesimpulan statistik jika menginginkan ke dalam format tertentu.
Terminal
quarto render document.qmd # semua format
quarto render document.qmd --to pdf # ke pdf
quarto render document.qmd --to docx
quarto render document.qmd --to html
quarto render document.qmd --to docx,pdf
Selain itu Quarto dapat merender dokumen jupyter notebook ipynb
. Quarto pada dasarnya tidak mengeksekusi kode di dalamnya secara langsung, Anda diharuskan menambahkan parameter --execute
.
Terminal
quarto render dokumen.ipynb
Serta dapat melihat hasil dokumen jupyter secara langsung dengan preview
.
Terminal
quarto preview dokumen.ipynb
Konten dinamis
Quarto mendukung konten dinamis dengan bahasa pemrograman Python, R, Julia, dan OJS (Observable JS). Serta dapat memasukkan koding (embed) ke dalam dokumen quarto yang berupa .qmd
secara langsung. Tidak hanya embed code, tetapi juga bisa memvisualisasikan koding setelah pustaka yang dibutuhkan sudah terpasang.
Quarto menggunakan markdown kode blok khusus yang mana bisa mengeksekusi program Python, R, Julia, OJS, secara langsung. Misalnya python menggunakan kode blok ```{python}
dan R menggunakan ```{r}
untuk mengeksekusi kode.
Anda dapat memasukkan berbagai macam variasi kode blok termasuk plot dan tabular dari data frame atau teks polosan dari suatu keluaran program. Kurang lebih contoh hasilnya terlihat seperti dibawah ini dengan bahasa pemrograman python dan R.
import matplotlib.pyplot as plt
= plt.subplots()
fig, ax
= ['apel', 'blueberry', 'cherry', 'jeruk']
fruits = [40, 100, 30, 55]
counts = ['merah', 'biru', 'pink', 'oranye']
bar_labels = ['tab:red', 'tab:blue', 'tab:pink', 'tab:orange']
bar_colors
=bar_labels, color=bar_colors)
ax.bar(fruits, counts, label
'Permintaan buah')
ax.set_ylabel('Pasokan buah berdasarkan jenis dan warna')
ax.set_title(='Warna buah')
ax.legend(title
plt.show()
library(ggplot2)
ggplot(airquality, aes(Temp, Ozone)) +
geom_point() +
geom_smooth(method = "loess")
Terintegrasi dengan RStudio
Quarto terintegrasi dengan Rstudio sebagai IDE yang berfokus dengan bahasa pemrograman R dan Python. Sehingga dengan RStudio memudahkan untuk melakukan proses penulisan, publikasi, eksekusi koding dan lain-lain di dalam IDE tersebut dengan Quarto. Rstudio juga mendukung syntax highlight, plotting, debugging, dan manajemen workspace dalam satu perangkat lunak (Bates 2020).
Menyiapkan proyek Quarto. Pengguna dapat memilih proyek untuk situs, blog dan buku.
Merender halaman blog Quarto dengan menambahkan kunci dan nilai di front matter dokumen .qmd
.
Quarto Markdown yang banyak fitur
Membuat dokumen dengan Quarto yang berisikan kode jadi lebih mudah. Seperti pembuatan laporan tesis yang dapat dilakukan dengan Quarto. Pembuatan manuskrip atau tesis secara manual dengan aplikasi perkantoran komersil kadang kala menemukan kode yang tidak akurat atau ditemukannya galat, dengan Quarto dapat memberikan efisiensi kode dalam pembuatan tesis (J Telford 2023).
Hal ini karena adanya dukungan pemformatan Quarto Markdown atau .qmd
. Quarto markdown memiliki fitur yang tidak dimiliki markdown biasa .md
. Seperti dukungan formula matematika dengan latex, pembuatan tabel tingkat lanjut, panel tab, bibliografi dan sebagainya.
Di bawah ini contoh penulisan formula matematika.
$$
Y = X_1 + X_2
$$
$$
a^2 + b^2 = c^2
$$
$$
Pr(\theta | y) = \frac{Pr(y | \theta) Pr(\theta)}{Pr(y)}
$$
$$
Pr(\theta | y) \propto Pr(y | \theta) Pr(\theta)
$$
$$
Y \sim X\beta_0 + X\beta_1 + \epsilon
$$
$$
\epsilon \sim N(0,\sigma^2)
$$
Selain bermanfaat untuk pembuatan dokumen tesis. Quarto juga dapat menghasilkan proyek buku untuk kalangan profesional.
Proyek yang kuat dan terjaga
Quarto dibuat dan didukung oleh perusahaan Posit yang sebelumnya RStudio sebagai pengelola RStudio editor dan proyek lainnya (Machlis 2022). Biasanya proyek Open Source dengan dukungan perusahaan atau yayasan akan lebih terjaga dan terawat (sustainable) untuk kedepannya, sedangkan proyek individu tanpa lembaga atau yayasan kurang kuat dalam perkembangan proyeknya. Hal ini tidak akan membuat khawatir bagi sebagian pengguna Quarto jika proyeknya diarsipkan atau terhenti.
Bahkan proyek Shiny sebagai dasbor dengan bahasa perograman R & Python juga didukung oleh perusahaan Posit. Banyak juga proyek Open Source yang didukung oleh Posit seperti Tydyverse ggplot2, dplyr dan tdyr.
Jika Quarto didukung oleh perusahaan/lembaga atau setidaknya ada yang mengatur bagian keuangan dan infrastruktur, penulis yakin Quarto menjadi proyek yang memiliki kemampuan untuk berlanjut secara terus-menerus dengan jangka waktu yang relatif lama.
Tidak harus memahami pemrograman web
Dikarenakan Quarto identik dengan proyek pembuatan situs web, apakah pengguna perlu memahami juga bahasa pemrograman web seperti HTML, CSS, dan JS? Tidak harus, pemrograman web hanya sebagai opsional saja. Tetapi setidaknya Anda harus memahami bagaimana teknik penulisan dengan Markdown dan cara mempublikasikan suatu proyek jika diperlukan.
Quarto sendiri menginginkan penggunanya fokus untuk pembuatan konten saja, baik artikel, jurnal, buku, presentasi. Penataan tata-letak tampilannya sudah cukup memenuhi kebutuhan.
Kesimpulan dari penulis
Quarto bermanfaat sebagai pengganti Jupyter Notebook dengan fitur lebih yaitu dapat dipublikasikan secara daring melalui Quarto Pub, Netlify, Github Pages dan layanan deploy lainnya. Jika proyek bidang data sudah siap, Anda dapat mempublikasikan melalui proses Deployment dengan Quarto di bagian publikasi. Dengan demikian Quarto dapat dijadikan sebagai perkakas untuk mengirim artifak deploy dari hasil portfolio dalam bidang data, baik ilmuan data dan penganalisis data.
Sekian dari penulis. Jika Anda mempunyai pertanyaan, saran, dan kritikan silahkan kirim ke email, telegram atau instagram. Semoga tulisan ini bermanfaat untuk pembaca semuanya.
References
Reuse
Citation
@online{qurrotul ainur2024,
author = {Qurrotul Ainur, Hervy},
title = {Manfaat {Quarto} Sebagai {Portfolio} {Web} {Data} {Analyst}},
date = {2024-03-13},
url = {https://hervyqa.dev/blog/manfaat-quarto-sebagai-portfolio-web-data-analyst},
langid = {en}
}