library(shiny)
ui <- fluidPage(titlePanel("Jumlahan dua bilangan bulat"),
#membuat kolom input pengisian
sidebarLayout(
sidebarPanel(
textInput("satu", "bilangan bulat pertama"),
textInput("dua", "bilangan bulat kedua"),
actionButton("add","Tambah")
),
#tunjukkan hasilnya
mainPanel(
textOutput("sum")
)
)
)
server <- function(input, output, session) {
#jika tanda Tambah diklik maka jalankan reaktif
observeEvent( input$add,{
x<-as.numeric(input$satu)
y<-as.numeric(input$dua)
#reactive expression
n<-x+y
output$sum<-renderPrint(n)
}
)
}
# Run the application
shinyApp(ui = ui, server = server)R Shiny
Apa Itu R Shiny?
Shiny adalah framework dari bahasa pemrograman R yang digunakan untuk membuat aplikasi web interaktif. Dengan Shiny, pengguna R dapat:
- Membuat dashboard interaktif tanpa perlu menguasai HTML, CSS, atau JavaScript.
- Menyusun antarmuka pengguna (UI) dan logika pemrosesan (server) secara terpisah.
- Mengubah analisis data menjadi aplikasi web interaktif.
Shiny dikembangkan oleh RStudio (sekarang Posit) dan sangat cocok untuk:
- Visualisasi data
- Simulasi statistik interaktif
- Aplikasi prediksi (regresi, klasifikasi)
- Dashboard monitoring
Struktur Dasar Aplikasi R Shiny
Sebelumnya mari kita pahami terlebih dahulu struktur dari aplikasi dengan R Shiny ini. Shiny terdiri dari 3 komponen, yaitu
- UI (User Interface): bagaimana tampilan aplikasi dan input/output disusun.
- Server: logika pemrosesan di balik tampilan, termasuk reaktivitas.
- ShinyApp: fungsi dari aplikasi yang memanggil UI dan Server untuk menjalankan aplikasi
ShinyApp merupakan fungsi dari aplikasi yang memanggil UI dan Server untuk menjalankan aplikasi.

Memulai R Shiny
Pertama kita buka terlebih dahulu R Studio, kemudian klik File, New File, pilih Shiny Web App.

kemudian akan muncul seperti berikut, sebelumnya buatlah folder di C:/cobashiny, untuk saat ini kita klik “Single File (app.R)” terlebih dahulu

kemudian klik “Create” sehingga layar RStudio akan memberikan tampilan seperti berikut:

jika dicermati berikut gambaran umumnya

Jika kita klik “Run App” maka koding tersebut akan segera diproses dengan hasil seperti berikut

klik “Save selected” dan terlihat sebuah file “app.R” (koding yang disimpan dalam file sebaiknya diberi nama “app.R”) telah terbentuk, kemudian nampak gambar seperti berikut

maka nampaklah histogram yang interaktif, dari sini nampak bahwa tugas dari “UI” adalah tampilan depan aplikasi (website) sebagai user interface dan tugas dari “server” adalah dapur belakang pemrosesan dan pemodelan.
Jika kita ingin lanjutkan sampai di publish maka klik publish pada pojok kanan, akan muncul sebagai berikut

Pada materi ini kita mencoba membuat aplikasi sederhana yang baru, sehingga kita kembali lagi pada jendela yang sebelumnya

kemudian kita hilangkan semuanya sehingga nampak seperti berikut

kemudian pada bagian ui dan server kita berikan koding seperti berikut
kemudian kita juga bisa dari menu “open in browser”, maka dari web browsing akan muncul seperti berikut

Jika akan kita kembangkan lagi dengan menambahkan perhitungan rata-rata, maka dapat gunakan perintah seperti berikut:
library(shiny)
ui <- fluidPage(titlePanel("Jumlahan dua bilangan bulat"),
#membuat kolom input pengisian
sidebarLayout(
sidebarPanel(
textInput("satu", "bilangan bulat pertama"),
textInput("dua", "bilangan bulat kedua"),
actionButton("hitung","Hitung")
),
#tunjukkan hasilnya
mainPanel(
tags$h5('jumlahnya adalah:'),
verbatimTextOutput("sum"),
tags$h5("reratanya adalah:"),
verbatimTextOutput("mean")
)
)
)
server <- function(input, output, session) {
#jika tanda Tambah diklik maka jalankan reaktif
observeEvent( input$hitung,{
x<-as.numeric(input$satu)
y<-as.numeric(input$dua)
#reactive expression
n<-x+y
m<-n/2
output$sum<-renderPrint(n)
output$mean<-renderPrint(m)
}
)
}
# Run the application
shinyApp(ui = ui, server = server)