Spaces:
No application file
No application file
# 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') | |