# Mebgimpor library import streamlit as st # Membuat judul st.title('Tampilan Aplikasi Saya') import urllib.request from PIL import Image # Mengambil gambar (dari link url) urllib.request.urlretrieve('https://www.megabagus.id/wp-content/uploads/2024/07/data-science.jpg', "gambar.jpg") # Menambah subheader st.subheader('Selamat datang di Data Science Deployment') image = Image.open('gambar.jpg') st.image(image, use_column_width=True) # Menulis text (ukuran kecil) st.write('menulis sebuah teks di sini') # Membuat markdown st.markdown('Ini adalah markdown cell seperti di jupyter notebook') # Membuat keterangan sukses st.success('Selamat Anda berhasil') # Memberikan informasi st.info('Ini adalah informasi untukmu') # Memunculkan warning st.warning('Ini adalah warning') # Memunculkan error st.error('Ini keterangan error') # Memunculkan keterangan help st.help(range) st.text('---'*100) # Mengimpor library import numpy as np import pandas as pd datanp = np.random.rand(10,20) # Memunculkan dataframe dari datanp st.text('Berikut adalah dataframe dari Numpy') st.dataframe(datanp) st.text('---'*100) # Memunculkan dataframe dari dataframe Pandas df = pd.DataFrame(np.random.rand(10,20), columns=['col ' + str(i) for i in range(20)]) st.text('Berikut adalah dataframe dari Pandas') st.dataframe(df.style.highlight_max(axis=1)) st.text('---'*100) # Menampilkan grafik st.text('Tampilan grafik') grafik = pd.DataFrame(np.random.randn(20,3), columns=['a', 'b', 'c']) st.line_chart(grafik) st.text('---'*100) # Menampilkan area chart st.text('Tampilan Area Chart') st.area_chart(grafik) st.text('---'*100) # Menampilkan bar chart st.text('Tampilan Bar Chart') grafik2 = pd.DataFrame(np.random.randn(50,3), columns=['a', 'b', 'c']) st.bar_chart(grafik2) st.text('---'*100) # Menampilkan plot dari matplotlib import matplotlib.pyplot as plt arr = np.random.normal(1,1,size=100) plt.hist(arr, bins=20) st.set_option('deprecation.showPyplotGlobalUse', False) # untuk menghilangkan warning st.pyplot() st.text('---'*100) # Menampilkan plot dari plotly import plotly import plotly.figure_factory as ff # menambah Distribution Plot x1 = np.random.randn(200) - 2 x2 = np.random.randn(200) x3 = np.random.randn(200) + 2 hist_data = [x1,x2,x3] group_labels = ['Group1', 'Group2', 'Group3'] st.text('Tampilan grafik Plotly (bisa diatur secara live)') fig = ff.create_distplot(hist_data, group_labels, bin_size=[.2, .25, .5]) st.plotly_chart(fig, use_container_width=True) st.text('---'*100) # Menampilkan peta df2 = pd.DataFrame(np.random.randn(100,2)/[50,50]+[10.76,47.4], columns=['lat', 'lon']) st.map(df2) st.text('---'*100) # Menambah tombol if st.button('Pencet Halo'): st.write('Anda sudah berhasil pencet tombol Halo') else: st.write('Anda belum menekan Halo, silakan pencet tombol di atas') st.text('---'*100) # Menambah radio hobi = st.radio('Apa hobimu?', ('membaca', 'nonton film', 'tidur')) if hobi=='membaca': st.write('Ternyata kamu suka membaca ya') elif hobi=='nonton film': st.write('Suka nonton film juga ternyata') else: st.write('pasti kamu sukanya tidur') st.text('---'*100) # Membuat tombol pilihan pilih = st.selectbox('Bagaimana meeting tadi malam', ('semua lancar', 'agak nervous', 'tidak jelas')) st.write('Jawaban : ',pilih) st.text('---'*100) # Membuat tombol pilihan (multiple choice) pilih = st.multiselect('Bagaimana meeting tadi malam (bisa pilih lebih dari satu)', ('semua lancar', 'agak nervous', 'tidak jelas')) st.write('Jawaban : ',pilih) st.text('---'*100) # Menambah slider usia = st.slider('Berapa usiamu?', 0,100,30) #(min, max, default) st.write('Usia = ', usia) st.text('---'*100) # Membuat slider dengan range nilai = st.slider('Masukkan nilai', 0,200,(15,80)) #(min, max, default) st.write('Nilai = ', nilai) st.text('---'*100) # Memasukkan nilai angka = st.number_input('Masukkan angka',min_value=0.0, step=0.0) st.write('Nilai Anda = ', angka) st.text('---'*100) # Mengupload file upload_file = st.file_uploader('Pilih file csv', type='csv') if upload_file is not None: data = pd.read_csv(upload_file) st.write(data) st.success('File berhasil diupload') else: #st.error('File yang diupload kosong, silakan pilih file yang valid') st.markdown('File yang diupload kosong, silakan pilih file yang valid') st.text('---'*100) # Memilih warna warna = st.color_picker('Pilih warna :','#00f900') st.write('Warna pilihan Anda = ', warna) st.text('---'*100) # Menambah sidebar add_sidebar = st.sidebar.selectbox('Choose your analysis', ('EDA', 'model', 'prediction')) # Memberikan progress bar import time with st.spinner('please wait...'): time.sleep(5) st.success('All files have been successfully processed')