Fakultas Ilmu Komputer UI

TPEkstra_2_1806196806.py 1.96 KB
Newer Older
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
import urllib.request

def get_data(situs):
    url_salah = True
    while url_salah:
        try:
            page = urllib.request.urlopen(situs)
            text = page.read().decode("utf8")
            url_salah = False
            return text
        except:
            return print("Terjadi eror")

def get_data_per_wilayah(nama_wilayah):
    text = get_data("https://pudyprima.github.io/covid19-jakarta").lower()
    mulai = text.find("<td>"+nama_wilayah.lower()+"</td>")
    if mulai == -1:
        return "Maaf, "+nama_wilayah+" tidak ada dalam daftar wilayah."
    else:
        awal = text.find('<td>',mulai+1)
        akhir = text.find('</td>',awal)
        return int(text[awal+len('<td>'):akhir])

def get_data_jakarta():
    text = get_data("https://pudyprima.github.io/covid19-jakarta").lower()
    mulai1 = 0
    jumlah_keseluruhan = 0
    indeks_jakarta_utara = text.find('jakarta utara')
    while mulai1 < indeks_jakarta_utara :
        mulai1 = text.find('</tr>',mulai1+1)
        mulai2 = text.find('<td>',mulai1+1)
        awal = text.find('<td>',mulai2+1)
        akhir = text.find('</td>',awal)
        jumlah_keseluruhan += int(text[awal+len('<td>'):akhir])
        mulai1 = akhir
    return jumlah_keseluruhan

38
39
40
41
42
43
44
45
46
def get_total_kasus_by_keyword(keyword):
    text = get_data("https://pudyprima.github.io/covid19-indonesia").lower()
    jumlah = 0
    mulai = text.find(keyword.lower())
    while text.find(keyword.lower(),mulai)!=-1:
        mulai = text.find(keyword.lower(),mulai+1)
        jumlah +=1
    return jumlah

47
48
49
50
51
52
53
def main():
    print(get_data_per_wilayah('Jakarta Barat'))
    print(get_data_per_wilayah('Jakarta Pusat'))
    print(get_data_per_wilayah('Jakarta Selatan'))
    print(get_data_per_wilayah('Jakarta Timur'))
    print(get_data_per_wilayah('Jakarta Utara'))
    print(get_data_jakarta())
54
55
56
    print(get_total_kasus_by_keyword('perempuan'))
    print(get_total_kasus_by_keyword('dalam perawatan'))
    print(get_total_kasus_by_keyword('jawa tengah'))
57
main()