File size: 4,940 Bytes
54281e5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
# 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')