Membuat Aplikasi Web Sains Data dengan Mudah Menggunakan Streamlit

Streamlit!

Di dalam dunia sains data, terkadang kita merasa sedikit kerepotan ketika harus membangun aplikasi web dari model machine learning kita. Perlu upaya yang ekstra untuk mengimplementasikan aplikasi berbasis web jika kita menggunakan framework seperti Flask, Django, atau yang sejenisnya. Untungnya, saat ini telah ada sebuah framework berbasis web yang disebut dengan Streamlit.

Streamlit adalah sebuah framework berbasis Python dan bersifat open-source yang dibuat untuk memudahkan dalam membangun apikasi web di bidang sains data dan machine learning yang interaktif . Salah satu hal menarik dari framework ini adalah kita tidak perlu mengetahui banyak hal tentang teknologi web development. Kita tidak perlu dipusingkan tentang bagaiamana mengatur tampilan website dengan CSS, HTML, atau Javascript. Untuk menggunakan Streamlit, kita cukup memiliki modal dasar mengetahui bahasa Python saja.

Setelah ini, akan dijelaskan mengenai langkah-langkah instalasi dan fitur apa saja yang ada di dalam Streamlit.

Langkah Instalasi

  1. Pastikan bahwa anda sudah meng-install Python 3.6 atau versi yang setelahnya di komputer anda.
  1. Buka terminal dan install Streamlit menggunakan Pip.
    pip install streamlit 
  2. Coba cek hasil instalasi anda menjalankan ‘hello world’ app.
    streamlit hello 

    Setelah itu, anda akan melihat hasilnya pada tab baru di browser seperti terlihat pada gambar:

    Melalui halaman di atas, kita dapat melihat beberapa contoh demo dari aplikasi Streamlit. Untuk melihat demo, kita cukup memilih salah satu demo aplikasi dari fitur di bagian kiri “Choose a demo”. Di sana, ada beberapa contoh demo beserta source code yang disediakan seperti animasi, plotting, mapping, dan dataframe. Berikut adalah contoh demo untuk melakukan plotting data.

Secara umum, Streamlit memiliki beberapa fitur yang cukup lengkap. Fitur-fitur tersebut dapat digunakan untuk melakukan kontrol terhadap aplikasi web kita seperti slider, text input, checkbox, selectbox, dan sebagainya. Fitur-fitur tersebut dibuat dalam bentuk “API Reference” yang dapat diakses di sini.

Membuat Aplikasi Web Sederhana dengan Streamlit

  1. Buat sebuah file baru dengan nama my_streamlit.py.
  1. Pertama-tama kita akan meng-import beberapa library yang akan digunakan.
    import streamlit as st
    import pandas as pd
    import numpy as np
  1. Pada langkah ini, kita akan menambahkan selectbox widget pada bagian sidebar. Kita akan membuat tiga pilihan pada sidebar, ‘home’,’dataframe’, dan ‘chart’.
    option = st.sidebar.selectbox(
        'Silakan pilih:',
        ('Home','Dataframe','Chart')
    )
  1. Langkah berikutnya kita akan menampilkan halaman berdasarkan pilihan tersebut. Ketikkan perintah berikut ini:
    if option == 'Home' or option == '':
        st.write("""# Halaman Utama""") #menampilkan halaman utama
    elif option == 'Dataframe':
        st.write("""## Dataframe""") #menampilkan judul halaman dataframe
    
        #membuat dataframe dengan pandas yang terdiri dari 2 kolom dan 4 baris data
        df = pd.DataFrame({
            'Column 1':[1,2,3,4],
            'Column 2':[10,12,14,16]
        })
        df #menampilkan dataframe
    elif option == 'Chart':
        st.write("""## Draw Charts""") #menampilkan judul halaman 
    
        #membuat variabel chart data yang berisi data dari dataframe
        #data berupa angka acak yang di-generate menggunakan numpy
        #data terdiri dari 2 kolom dan 20 baris
        chart_data = pd.DataFrame(
            np.random.randn(20,2), 
            columns=['a','b']
        )
        #menampilkan data dalam bentuk chart
        st.line_chart(chart_data)
        #data dalam bentuk tabel
        chart_data

    Source code di atas menjelaskan tentang apa yang akan ditampilkan di halaman web untuk setiap pilihan pada selectbox.

  2. Jalankan file anda dengan menuliskan perintah berikut pada terminal:

streamlit run my_streamlit.py

Hasilnya dapat langsung dilihat pada tab baru browser anda.

  • Halaman Utama
    Halaman Judul
  • Halaman Dataframe
  • Halaman Chart
    Halaman Chart

    Sekian tutorial ini dibuat, anda dapat mengunduh source code dari tutorial ini melalui tautan berikut https://github.com/fathanick/simple-streamlit.git.

    Terima kasih!

    Referensi

    Penulis: AHMAD FATHAN HIDAYATULLAH, S.T., M.CS.