Jumat, 21 Desember 2018

Belajar yang mana dulu, R,Python atau SAS?


Belajar yang mana dulu, R, Python atau SAS?
Jika anda baru mengenal dunia Data Science (ilmu data) dan tidak berpengalaman dalam salah satu dari bahasa ini, masuk akal untuk tidak yakin apakah anda akan belajar R, Python, atau SAS.
Jangan khawatir, pada saat anda selesai membaca artikel ini, anda akan tahu tanpa ragu bahasa mana yang tepat untuk anda.


Overview
R - R identik dengan statistik dan matematik. R adalah bahasa pemrograman open source alias gratis yang digunakan untuk melakukan tugas analisis data tingkat advance, library yang melimpah, berkembang terus, didukung banyak komunitas yang berkontribusi memperkaya library.

Python – Python adalah bahasa pemrograman gratis dan open source yang telah menjadi sangat populer bagi programmer dan ilmu data, punya  komunitasnya yang aktif dan  data mining libraries yang memadai.

SAS - SAS menjadi pemimpin pasar terpakai dalam analitik perusahaan. SAS menawarkan berbagai fungsi statistik, memiliki GUI yang baik bagi orang untuk belajar dengan cepat dan memberikan dukungan teknis yang brilian.

Jika anda mencari untuk memulai karir di bidang Data Science atau untuk mendapatkan keterampilan untuk dapat beralih ke bidang ini di masa depan. Maka anda mungkin sedang melakukan penelitian yang mana dari tiga bahasa pemrograman ini anda harus belajar terlebih dahulu untuk memaksimalkan peluang anda mendapatkan pekerjaan impian anda. Haruskah anda fokus pada penguasaan R? Atau akan lebih baik untuk menjadikan SAS prioritas? Atau harus belajar Python?
Lihat  5 faktor ini sebagai titik awal anda untuk membantu anda memutuskan.
1.     Industri menggunakan tools ini
Burtch Works, Lembaga yang bergerak di bidang SDM, bertanya kepada lebih dari 1000 profesional  mana yang mereka sukai, SAS, R atau Python. Berikut adalah hasil survei:


SAS lebih disukai oleh perusahaan-perusahaan besar karena mereka mendapatkan layanan istimewa,  dimana biaya tidak masala bagi mereka.




R dan Python, di sisi lain, digunakan oleh Startups dan perusahaan menengah. Perusahaan Tech dan Telecom membutuhkan dengan volume besar data yang tidak terstruktur untuk dianalisa, dan karenanya para ilmuwan data menggunakan teknik Machine Learning(pembelajaran mesin), dimana hal tersebut lebih cocok untuk R dan Python.


2.     Biaya dan kemudahan belajar


SAS adalah perangkat lunak komersial yang mahal dan sebagian besar digunakan oleh perusahaan besar dengan anggaran besar.
Python dan R adalah perangkat gratis yang dapat diunduh oleh siapa saja.
Untuk menganalisis data dalam Python, anda akan menggunakan library  seperti Pandas, Numpy, dan Scipy.
Dengan kata lain, 
Anda tidak akan mendapatkan kode dalam bahasa Python asli saat menganalisis data.
Kode yanga anda tulis di library ini terlihat lebih mirip dengan kode yang anda tulis di dalam R.
Jadi, jangan pikirkan  R itu sulit, dan Python mudah dipelajari!
3. Data Science capabilities
SAS sangat efisien pada akses data sekuensial, dan akses database melalui SQL terintegrasi dengan baik. Antarmuka drag-and-drop memudahkan anda untuk membuat model statistik yang lebih baik dengan cepat. Ini memiliki kemampuan grafis fungsional yang layak, tetapi sulit untuk membuat plot grafis yang kompleks di SAS.

R dikenal untuk analitik dalam memori dan terutama digunakan ketika tugas analisis data memerlukan server mandiri. R adalah alat yang sangat baik untuk menjelajahi data. Saat ini, R memiliki lebih dari 5000 paket kontribusi komunitas CRAN

Berbagai paket dan modul yang tersedia untuk statistik dan analisis data menjadikannya bahasa yang paling populer dan kuat dalam ilmu data. Model statistik dapat ditulis dalam beberapa baris kode.
Anda dapat menggambar grafik rumit dengan indah di R menggunakan paket seperti Ggplot2, kisi, rCharts, dll.
Pustaka python seperti Pandas, Numpy, Scipy dan Scikit-learn menjadikannya bahasa pemrograman paling populer kedua dalam ilmu data setelah R.

Anda juga dapat membuat bagan dan grafik yang indah menggunakan pustaka seperti Matlplotlib dan Seaborn.
Python secara aktif digunakan oleh komunitas pembelajaran mesin untuk memo dan menganalisis data yang tidak terstruktur dari web.
R lebih mudah dan intuitif untuk dipelajari dan digunakan untuk analisis dan manipulasi data.Umumnya hasil riset terbaru selalu diimplementasikan di bahasa pemrogramman R. R nyaris bisa digunakan untuk apa saja: mulai dari bisnis, membuat web sampai robotik, dan science tentunya.

Belajar R tidak perlu menggunakan atau mempelajari HTML, CSS dan javascript! Dengan menggunakan package Shiny, kita bisa membuat web hanya dengan menggunakan bahasa pemrograman R, baik untuk layoutsampai business logic. Anda bisa melihat contoh aplikasi web yang dibuat dengan shiny pada situs berikut.
“Tapi kan Shiny terbatas tampilannya cuman gitu-gitu doang, sedangkan kalau ngoding pakai python kita bisa bikin tampilan lebih dinamis…”
Dengan  OpenCPU and Plumber ,kita bisa membangun aplikasi web dengan memanfaatkan kemampuan R.
Dengan menggunakan Plumber kita bisa membuat RESTAPI.
Dengan bantuan ROS (Robotic Operating Systems), R dapat digunakan untuk melakukan pemrograman robotik.
Bahkan dengan R kita bisa membuat labirin untuk game Minecraft.
4.Community Support
SAS memiliki komunitas online aktif yang dimoderatori oleh manajer komunitas. Komunitas-komunitas ini telah berkembang dari forum peer to peer menjadi platform penerbitan untuk konten penting.

Anda dapat menanyakan pertanyaan terkait SAS, dan komunitas akan menjawabnya. Blog resmi SAS juga merupakan sumber penting untuk merujuk ketika anda membutuhkan bantuan dengan masalah tertentu.

R memiliki 125 grup pengguna aktif di seluruh dunia, dan jumlah pertemuan grup pengguna telah meningkat dengan jumlah yang signifikan pada tahun lalu. Python memiliki 1.657 grup pengguna, komunitasnya sangat fokus pada data, jauh lebih sedikit jika dibandingkan dengan R.

R dan Python memiliki dukungan komunitas online yang sangat besar dari aliran Stackover, milis, kode kontribusi pengguna dan dokumentasi.
SAS sama sekali tidak memiliki komunitas open source yang aktif.
5.Job Scenario
SAS memiliki lebih dari 80.000 pelanggan di seluruh dunia, dan kebanyakan dari mereka adalah korporasi dengan anggaran besar. Analis dalam organisasi ini menggunakan SAS untuk dengan cepat dan efisien menjalankan berbagai model statistik pada set data.

Di sisi lain, R dan Python digunakan oleh startup dan perusahaan teknologi. R lebih condong ke tugas-tugas yang berkaitan dengan statistik dan analisis data karena yang pekerjaannya terkait R menyebutkan seperti "Penambang data-Data Miner", " Statistician",  “Manager Data Analyst", "Data Scientist",dll.
Pelajari pemrograman R dari yang berpengalaman.

Sementara itu, mengingat booming dalam Big Data - yang diproyeksikan oleh Ovum akan tumbuh 50 persen pada beberapa tahun mendatang  - Anda dapat mengharapkan peningkatan jumlah analist bisnis dan program er lainnya untuk mempersenjatai diri dengan bahasa R juga.

Sedangkan, Python digunakan oleh programmer yang ingin mempelajari analisa data atau menerapkan teknik statistik, dan oleh developer yang beralih ke Data Science. Pekerjaan yang berhubungan dengan Python memiliki sebutan  seperti "Machine Learning Engineer", "Data Engineer", "Big Data Architek", dll.

Kesimpulan
Jika tujuan anda adalah menjadi seorang profesional analitik bisnis dan anda berencana untuk bergabung dengan startup, maka anda harus belajar R terlebih dahulu.

Di sisi lain, jika anda ingin bergabung dengan bank atau perusahaan farmasi, Anda harus mulai dengan SAS dan kemudian belajar R setelah anda merasa nyaman dengan SAS.

Jika anda ingin menjadi profesional Big Data, maka anda perlu mempelajari R atau Python.
Ini tergantung pada latar belakang anda juga. 

Jika anda berasal dari latar belakang statistik / matematika maka anda harus belajar R, Jika anda memiliki latar belakang pemrograman, maka anda harus belajar Python.

Jika anda belum punya dasar apapun tentang computer, tapi punya niat yang kuat untuk bersaing dimasa depan, R programming  tidak salah pilihannya. Semua orang yang pernah bersekolah, tentu pernah mendapat pelajaran Matematika dan Statistik.

Referensi:
Bahan dirangkum dan diterjemahkan dari berbagai sumber.

Selasa, 20 November 2018

Login dalam aplikasi shiny


Apa itu Shiny dashboard? Bagaimana membuat login di Aplikasi Shiny?


Login Page

Salah satu keunggulan yang dimiliki R adalah Shiny(Python tidak memiliki). Shiny adalah paket R yang membuatnya mudah untuk membangun aplikasi web interaktif langsung dari R. Dasbor sangat populer karena  bagus  dalam membantu bisnis menampilkan  insights out (wawasan), dari data yang ada.

require(shiny)
require(shinydashboard)

header <- dashboardHeader(title = "my heading")
sidebar <- dashboardSidebar(uiOutput("sidebarpanel"))
body <- dashboardBody(uiOutput("body"))

server <- function(input, output, session) {
  # To logout back to login page
  login.page = paste(
    isolate(session$clientData$url_protocol),
    "//",
    isolate(session$clientData$url_hostname),
    ":",
    isolate(session$clientData$url_port),
    sep = ""
  )
  histdata <- rnorm(500)
  USER <- reactiveValues(Logged = F)
  observe({
    if (USER$Logged == FALSE) {
      if (!is.null(input$Login)) {
        if (input$Login > 0) {
          Username <- isolate(input$userName)
          Password <- isolate(input$passwd)
          Id.username <- which(login_details$user %in% Username)
          Id.password <- which(login_details$pswd %in% Password)
          if (length(Id.username) > 0 & length(Id.password) > 0){
            if (Id.username == Id.password) {
              USER$Logged <- TRUE
            }
          }
        }
      }
    }
  })
  output$sidebarpanel <- renderUI({
    if (USER$Logged == TRUE) {
      div(
        sidebarUserPanel(
          isolate(input$userName),
          subtitle = a(icon("usr"), "Logout", href = login.page)
        ),
        selectInput(
          "in_var",
          "myvar",
          multiple = FALSE,
          choices = c("option 1", "option 2")
        ),
        sidebarMenu(
          menuItem(
            "Item 1",
            tabName = "t_item1",
            icon = icon("line-chart")
          ),
          menuItem("Item 2",
                   tabName = "t_item2",
                   icon = icon("dollar"))
        )
      )
    }
  })

  output$body <- renderUI({
    if (USER$Logged == TRUE) {
      tabItems(
        # First tab content
        tabItem(tabName = "t_item1",
                fluidRow(
                  output$plot1 <- renderPlot({
                    data <- histdata[seq_len(input$slider)]
                    hist(data)
                  }, height = 300, width = 300) ,
                  box(
                    title = "Controls",
                    sliderInput("slider", "observations:", 1, 100, 50)
                  )
                )),

        # Second tab content
        tabItem(
          tabName = "t_item2",
          fluidRow(
            output$table1 <- renderDataTable({
              iris
            }),
            box(
              title = "Controls",
              sliderInput("slider", "observations:", 1, 100, 50)
            )
          )
        )
      )
    } else {
      login
    }
  })
}

Dasbor R Shiny canggih membutuhkan otentikasi pengguna. Saya ingin berbagi dengan Anda bagaimana kami menerapkan manajemen pengguna - akun pengguna, proses otorisasi dan mengumpulkan statistik penggunaan untuk memiliki pemahaman yang lebih baik tentang bagaimana penggunaan aplikasi R Shiny.



require(shiny)
require(shinydashboard)

ui <- dashboardPage(header, sidebar, body)
#server.r

login_details <- data.frame(user = c("sam", "pam", "ron", "jon", "cyn"),
                            pswd = c("111", "222", "333", "444", "555"))
login <- box(
  title = "Login",
  textInput("userName", "Username"),
  passwordInput("passwd", "Password"),
  br(),
  actionButton("Login", "Log in")
)


Ini adalah demo sederhana dengan pengguna yang ditentukan dalam daftar. Dalam skenario dunia nyata, Anda akan menyimpan kredensial pengguna di database atau mengotentikasi pengguna dengan API eksternal. Ini juga tercakup dalam pengguna Shiny application.

Referensi:
Shiny R Studio
Stack overflow


Rabu, 01 Agustus 2018

Grafik dalam hitungan detik


Hanya dalam hitungan detik , dengan coding R programming  dibawah ini :

library(ggplot2)

ggplot(diamonds, aes(x=carat, y=price, color=cut)) + geom_point() + geom_smooth()
Grafik ggplot

Anda langsung bisa melihat hasilnya. Dengan begitu anda bisa mengambil kesimpulan, apa yang harus anda/manajemen/owner lakukan
Ini yang disebut belajar data science dengan R Programming.

Deskripsi data
Dataset berisi 54.000 daftar harga berlian
diamonds dataset

Dim(diamonds) terdiri dari 53940 baris dan 10 variabel/kolom

Variable:
Price  :harga dalam dolar AS (\ $ 326 - \ $ 18.823)
Carat  :berat berlian (0,2-5,01)
Cut     :kualitas potongan (Fair/wajar, Good, SVery Good, Premium, Ideal)
Color  :warna berlian, dari J (terburuk) ke D (terbaik)
clarity:berlian jernih adalah ukuran



Jumat, 23 Februari 2018

Transaksi mie instant meningkat menjelang tanggal tua.


Transaksi mie instant  meningkat menjelang tanggal tua.
Tampilan dashboard shiny


Teringat masa kuliah, ketika menjelang tanggal tua uang saku menipis kira kira menu apa yang akan kita santap untuk mengisi perut. Sudah menjadi rahasia umum bagi mahasiswa perantauan saat itu, ya apalagi kalau bukan mie instant. Kebiasaan ini ternyata masih berlanjut, padahal kebanyakan makan mi instan itu kan tidak sehat.  Simpel saja sih alasannya daripada perut lapar kan tidak bisa belajar.
Fenomena tersebut yang mengusik pikiran saya untuk meyakinkan apakah benar pada tanggal tua transaksi mie instan meningkat. Untuk menjawab  hal tersebut saya mencoba menganalisa data transaksi dari sebuah minimarket di sekitar kampus.

Kapan Puncak Covid19 di Indonesia ?

Prediksi Covid19, kapan mencapai puncaknya? Selamat Idhul Fitri from Home, menjawab pertanyaan kapan covid19 mencapai puncaknya? ...