Study
← Semua Kategori

Shiny

Pengenalan Shiny

Apa itu Shiny, cara instalasi, dan struktur dasar ui, server, serta shinyApp().

Struktur UI: fluidPage & sidebarLayout

Menyusun tata letak halaman memakai fluidPage dan sidebarLayout.

Input Widgets Dasar

Mengenal widget input interaktif seperti sliderInput, textInput, dan selectInput.

Output Functions & Placeholder UI

Menampilkan hasil dari server ke UI lewat pasangan render*() dan *Output().

Reactivity Fundamentals

Memahami bagaimana input$x dan output$y saling terhubung lewat reactive graph Shiny.

Reactive Expressions dengan reactive()

Menghindari komputasi berulang dengan menyimpan hasil ke dalam reactive expression.

observeEvent & eventReactive

Memicu aksi atau komputasi hanya saat event tertentu terjadi, bukan setiap input berubah.

Reactive Values: reactiveVal & reactiveValues

Menyimpan dan mengubah state internal aplikasi yang bukan berasal langsung dari input widget.

Validasi Input dengan req() dan validate()

Mencegah error berantakan saat input kosong atau tidak valid.

Render Plot dengan ggplot2

Menampilkan grafik interaktif dengan menggabungkan renderPlot() dan ggplot2.

Tabel Interaktif dengan DT

Menampilkan data frame sebagai tabel interaktif (sortable, searchable) memakai package DT.

Layout Lanjutan: tabsetPanel & navbarPage

Menyusun aplikasi multi-halaman dengan tab dan navbar.

UI Dinamis: conditionalPanel & renderUI

Menampilkan atau menyembunyikan elemen UI secara dinamis berdasar kondisi.

Theming dengan bslib

Mengubah tampilan visual aplikasi Shiny memakai tema Bootstrap lewat package bslib.

Modules: Komponen Shiny yang Reusable

Memecah aplikasi besar menjadi komponen UI+server yang bisa dipakai ulang tanpa bentrok ID.

File Upload dengan fileInput

Menerima file dari pengguna (misalnya CSV) dan langsung memprosesnya di server.

Download Handler

Menyediakan tombol download agar user bisa mengunduh hasil olahan data dari aplikasi.

Konsep Deployment: shinyapps.io & Shiny Server

Gambaran umum cara mempublikasikan aplikasi Shiny agar bisa diakses lewat internet.

Tugas Akhir

Menggabungkan input, reactivity, plot, dan tabel menjadi satu dashboard interaktif kecil.