Study
Shiny

Tabel Interaktif dengan DT

Penjelasan

renderTable()/tableOutput() bawaan Shiny hanya menampilkan tabel statis. Untuk tabel interaktif — bisa di-sort per kolom, dicari, dan dipaginasi otomatis di browser — komunitas R umumnya pakai package DT (wrapper dari library JavaScript DataTables). Pasangannya adalah renderDataTable({...}) di server dan DTOutput("id") di UI (versi lama Shiny memakai dataTableOutput(), keduanya masih valid). DT juga mendukung berbagai opsi kustomisasi lewat parameter options, misalnya jumlah baris per halaman atau bahasa tabel.

Contoh Konsep

# install.packages("DT")
library(shiny)
library(DT)

ui <- fluidPage(
  DTOutput("tabel_mobil")
)

server <- function(input, output) {
  output$tabel_mobil <- renderDT({
    mtcars
  }, options = list(pageLength = 5))
}

shinyApp(ui = ui, server = server)

Praktikum

Lengkapi agar tabel hanya menampilkan baris mtcars dengan mpg lebih besar dari input 'mpg_min'.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Kalau tabelnya besar, gunakan opsi server = TRUE pada renderDT() supaya paginasi dan pencarian diproses di sisi R (server-side), bukan mengirim semua baris sekaligus ke browser.