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.