8 Program Python Sederhana

101 / 100

Pendahuluan

Program python sederhana. Dunia menuju pada zaman AI, ML, dan Data science yang merupakan teknologi dominan pada saat ini. Seluruh teknologi yang disebutkan itu bergantung pada bahasa pemrograman Python dalam beberapa hal. Oleh sebab itu, menjadi master pada pemrograman Python akan membuka kesempatan dalam berkarir dan mendapatkan banyak peluang terbaik di seluruh planet ini.

Harapannya, Anda sebagai pembaca di sini dapat mulai belajar menggunakan atau berlatih untuk menjadi ahli atau mungkin menantang keterampilan Anda dengan masalah yang lebih sulit untuk dikerjakan dengan Python. Tidak perlu khawatir posisi Anda pada saat ini dalam hal keterampilan menggunakan Python. Dengan cara mencoba untuk mengerjakan proyek Python, Anda sudah pasti akan meningkatkan keterampilan dan membangun profil terbaik untuk menghadapi dunia yang kompetitif di luar sana. Meskipun tutorial Python cukup membantu dan memberikan pengetahuan yang cukup rinci dalam proses pembelajaran Anda. Pada suatu saat, akan datang kemampuan Anda untuk membuat kode dan sesuatu yang bermanfaat secara mandiri.

Sebelum memulai pada ide-ide atau contoh program Python sederhana, mari kita baca terlebih dahulu bagaimana proyek ini dapat membantu Anda sebagai Python developer serta platform mana yang harus Anda pertimbangkan sebelum memulai segala macam proyek Python.

Bagaimana Proyek Program Python  Sederhana Dapat Membantu Anda?

Membangun proyek Python dapat membantu Anda dalam berbagai hal, beberapa di antaranya tercantum pada poin-poin di bawah ini:

Meningkatkan kepercayaan diri

Melakukan berbagai hal secara mandiri dengan cara Anda menggunakan alat dan teknologi akan membangun kepercayaan diri Anda. Jika Anda membuat konten pada platform youtube, maka, hal ini akan membantu youtube menilai keahlian Anda sebagai Python developer, sehingga pemeringkatan konten video Anda akan tampil lebih baik. 

Menjelajah dan bereksperimen

Proyek membuat sesuatu akan memberikan kesempatan untuk memperkenalkan diri Anda dengan alat dan teknologi yang sedang tren yang diperlukan untuk menyelesaikan suatu proyek. Anda dapat memilih keterampilan Anda dalam bidang server, database, konsep UI, dan masih banyak lagi.

Menguasai keterampilan mengoding

Proyek adalah nama lain untuk latihan, kita pun tahu bahwa latihan adalah resep untuk unggul dalam segala hal. Setelah Anda mahir dalam menulis kode dengan bahasa pemrograman Python serta mengetahui dependensi - dependensi lain yang dibutuhkan. Maka, Anda akan merasakan efisiensi pembelajaran Anda dalam menaiki anak tangga untuk mengerjakan proyek yang lebih menantang.

Mempelajari mengenai siklus pengembangan software

Langkah ini penting untuk dipelajari ketika Anda merasa sudah siap menuju industri dan Anda telah mampu melakukan proyek pada kehidupan nyata. Sehingga, Anda harus belajar mengembangkan proyek dengan cara yang optimal dan terorganisir sebagai paradigma SDLC (Software Development Life Cycle).

Proyek Apa Yang ingin Anda Kerjakan?

Setelah Anda siap dan termotivasi untuk mengerjakan suatu proyek, Anda harus memikirkan apa yang akan dibangun dan pada platform mana untuk membangun proyek Python tersebut. Anda harus memulai dari minat terlebih dahulu, terlepas dari apakah hal tersebut sedang ngetren atau tidak. Lalu, apakah membutuhkan tingkat keahlian ngoding yang sedikit atau masif. Akan sulit untuk bertahan pada suatu proyek atau bahkan menyelesaikannya jika Anda memulai dengan sesuatu yang tidak menarik menurut Anda.

Ada tiga platform utama dimana Anda dapat memulai membangun proyek Anda. Blog ini akan memberikan gambaran umum mengenai tiga platform tersebut:

1. Web

Aplikasi web dapat berjalan di web maupun di perangkat apa pun tanpa perlu diunduh; satu-satunya persyaratan adalah harus ada akses internet. Aplikasi web memiliki frontend dan backend. Frontend bertanggung jawab untuk UI (User Interface) situs web. Sedangkan backend adalah dimana logika program, kode dan penyimpanan data terjadi.

Python developer berfokus pada kode backend. Oleh karena frontend pun merupakan hal yang penting. Maka, Python developer harus memiliki pengetahuan mengenai HTML, CSS, dan Javascript untuk membuat UI yang tampak sederhana. Dengan library tambahan, Python developer dapat menggunakan Python untuk backend dan frontend pada proyek Python tersebut. Django dan Flask adalah framework web populer untuk membangun aplikasi menggunakan Python.

2. UI Desktop

Membangun Aplikasi Desktop dengan Python adalah proyek yang bagus untuk pemula dan juga untuk pengguna menengah. Ada beberapa framework untuk membangun aplikasi desktop pada Python. PySimple GUI adalah framework Python yang user friendly, PyQt5 adalah framework GUI berbasis python tingkat lanjut. Aplikasi desktop yang dikembangkan pada nantinya dapat dibuat kompatibel dengan suluruh OS utama (Linux, Windows, atau macOS).

3. Command Line

Dalam aplikasi command line, interaksi user sepenuhnya bergantung pada terminal & shell. Aplikasi ini hanya berfungsi pada Windows Console, tidak memiliki bentuk grafik serta tidak adanya user interface visual. Python developer harus memasukkan perintah tertentu, sementara itu, pengguna memberikan input kepada aplikasi dengan menggunakan karakter ASCII, lalu aplikasi pun memberikan output berupa ASCII.

Aplikasi command line ini robust dan powerfull tetapi tidak user friendly. Sekarang saatnya untuk mencoba program Python sederhana sebagaimana dijabarkan pada bagian selanjutnya.

Ide proyek program python sederhana

Ini adalah list untuk proyek pemrograman python sederhana yang cocok untuk pemula ataupun menengah.

Menebak Angka

Proyek ini adalah permainan yang cukup menyenangkan untuk pemula. Program ini memberikan nomor acak dari 1 hingga 10, 1 hingga 100 atau rentang apa pun yang telah ditentukan. Lalu, pengguna harus menebak nomor tersebut setelah mengikuti petunjuk dari komputer. Setiap kali tebakan salah, maka, pengguna akan diminta untuk memilih apakah membutuhkan lebih banyak petunjuk agar memudahkan dalam menebak angka dengan mengorbankan pengurangan skor. Simbol matematika pun seperti kelipatan, habis dibagi, lebih besar atau lebih kecil, atau kombinasi semuanya dapat dijadikan sebagai petunjuk. 

Program ini pun membutuhkan fungsi untuk memeriksa apakah angka sebenarnya dimasukkan oleh pengguna atau tidak, lalu digunakan untuk membandingkan angka yang dimasukkan dengan angka sebenarnya, untuk mencari selisih antara kedua angka tersebut. 

Kode:

""" Program python sederhana - Menebak angka
----------------------------------------
"""
import random
attempts_list = []
def show_score():
    if len(attempts_list) <= 0:
        print("Saat ini belum ada skor tertinggi, kesempatan Anda untuk mengambilnya!")
    else:
        print("Skor tertinggi saat ini adalah {} percobaan".format(min(attempts_list)))
def start_game():
    random_number = int(random.randint(1, 10))
    print("Halo petualang! Selamat datang pada permainan tebak-tebakan angka!")
    player_name = input("Siapa nama Anda? ")
    wanna_play = input("Hi, {}, apakah Anda ingin bermain tebak angka? (Tulis Ya/Tidak) ".format(player_name))
    
    attempts = 0
    show_score()
    while wanna_play.lower() == "ya":
        try:
            guess = input("Pilih angka antara 1 dan 10: ")
            if int(guess) < 1 or int(guess) > 10:
                raise ValueError("Silahkan tebak angka di antara nya")
            if int(guess) == random_number:
                print("Selamat! Anda benar!")
                attempts += 1
                attempts_list.append(attempts)
                print("Anda melakukannya dengan {} percobaan".format(attempts))
                play_again = input("Apakah Anda ingin bermain lagi? (Tulis Ya/Tidak) ")
                attempts = 0
                show_score()
                random_number = int(random.randint(1, 10))
                if play_again.lower() == "tidak":
                    print("Terima kasih, sampai jumpa kembali!")
                    break
            elif int(guess) > random_number:
                print("Angkanya lebih kecil")
                attempts += 1
            elif int(guess) < random_number:
                print("Angkanya lebih besar")
                attempts += 1
        except ValueError as err:
            print("Oh tidak!, ini nilai yang salah. Silahkan mencoba lagi...")
            print("({})".format(err))
    else:
        print("Selamat, telah bermain game ini!")
if __name__ == '__main__':
    start_game()

Gunting batu kertas

Program atau mini-game ini dirancang saat Anda tidak memiliki kawan untuk bermain atau Anda sedang sendirian, lebih tepat nya untuk jomblo yang merana, hehe. Ada sejumlah fungsi yang dibutuhkan untuk membuat program ini, oleh karena itu mari kita lihat gambaran umumnya.

  • Fungsi acak: untuk menghasilkan batu, kertas, atau gunting. 
  • Fungsi valid: untuk memeriksa validitas perpindahan.
  • Fungsi hasil: untuk mengumumkan pemenang.
  • Pencatat skor: untuk menghitung skor.

Program ini mengharuskan pengguna untuk melakukan langkah pertama sebelum membuat satu gerakan. Setelah langkah validasi, input akan dievaluasi.  Input yang dimasukkan bisa berupa string atau alfabet. Setelah mengevaluasi input string, pemenang ditentukan oleh fungsi hasil. Lalu,  skor babak akan diperbarui oleh fungsi pencatat skor. 

Program Python Sederhana - Gunting, batu ,kertas
Program Python Sederhana - Gunting, batu ,kertas

Kode:

# -*- coding: utf-8 -*-
"""
Program python sederhana - Gunting batu kertas
"""


from random import randint

#create a list of play options
t = ["Batu", "Kertas", "Gunting"]

#assign a random play to the computer
computer = t[randint(0,2)]

#set player to False
player = False

while player == False:
#set player to True
    player = input("Batu, Gunting, Kertas?")
    if player == computer:
        print("Seri!")
    elif player == "Batu":
        if computer == "Kertas":
            print("Anda Kalah!", computer, "menutup", player)
        else:
            print("Anda Menang!", player, "memukul", computer)
    elif player == "Kertas":
        if computer == "Gunting":
            print("Anda Kalah!", computer, "memotong", player)
        else:
            print("Anda Menang!", player, "menutup", computer)
    elif player == "Gunting":
        if computer == "Batu":
            print("Anda Kalah...", computer, "memukul", player)
        else:
            print("Anda Menang!", player, "memotong", computer)
    else:
        print("Input tidak valid. Perhatikan penulisan Anda!")
    #player was set to True, but we want it to be False so the loop continues
    player = False
    computer = t[randint(0,2)]

Pemblokir situs web

Kita semua tahu bahwa saat browsing di internet banyak situs yang tidak diinginkan muncul yang dapat mengalihkan perhatian kita. Program ini dapat membantu kita dalam situasi tersebut. Program python sederhana ini dibangun untuk memblokir situs web tertentu agar tidak dapat dibuka. Program ini bermanfaat bagi orang-orang yang perhatiannya mudah teralihkan ke situs media sosial saat melakukan suatu pekerjaan yang serius. 

Kode:

""" Program python sederhana - Website Blocker
----------------------------------------
"""
import time
from datetime import datetime as dt

#r adalah raw untuk string
hosts_path = r"C://Windows//System32//drivers//etc"   
hosts_temp = "hosts"
redirect = "127.0.0.1"
#User dapat memilih website yang akan di blok
web_sites_list = ["www.facebook.com", "facebook.com"]    
while True:
   if dt(dt.now().year, dt.now().month, dt.now().day, 9) < dt.now() < dt(dt.now().year, dt.now().month, dt.now().day,22):
       print("Waktu kerja")
       with open(hosts_path, "r+") as file:
           content = file.read()
           for website in web_sites_list:
               if website in content:
                   pass
               else:
                   file.write(redirect+" "+website+"\n")
   else:
       print("Fun time")
       with open(hosts_path, "r+") as file:
           content = file.readlines()
           file.seek(0)   # reset pointer ke bagian atas file text
           for line in content:
            # overwrite seluruh file
               if not any(website in line for website in web_sites_list):
                   file.write(line)
               
           file.truncate() # Baris ini di gunakan untuk menghapus baris (termasuk DNS)
   time.sleep(5)

Algoritma pencarian bilangan biner

Nama tersebut cukup jelas untuk memberikan gambaran umum tentang program tersebut. Program ini mengharuskan Anda untuk membuat daftar angka antara 0 hingga rentang apa pun yang Anda inginkan, dengan setiap angka berikutnya memiliki selisih 2 di antaranya. 

Ketika pengguna memasukkan nomor acak yang akan dicari, program memulai pencariannya dengan membagi daftar angka menjadi dua bagian. Bagian pertama akan mencari nomor yang dibutuhkan, lalu, jika ditemukan separuh lainnya akan ditolak, begitupun sebaliknya. Pencarian berlanjut hingga nomor tersebut ditemukan atau ukuran subarray nya menjadi nol. Ide pembuatan program Python sederhana ini pun dapat membantu Anda untuk mencari elemen dalam suatu daftar. 

Kode:

""" Program python sederhana - Algoritma pencari bilangan biner
----------------------------------------
"""
# implementasi pencarian bilangan biner secara iteratif pada Python
def binary_search(a_list, item):
    # """Melakukan bilangan biner secara iteratif untuk menemukan posisi dari integer pada list yg terurut
    # a_list -- list dari integer yang terurut
    # item -- integer yang anda cari pada posisi tertentu integer 
    first = 0
    last = len(a_list) - 1
    while first <= last:
        i = (first + last) / 2
        if a_list[i] == item:
            return ' ditemukan pada posisi '.format(item=item, i=i)
        elif a_list[i] > item:
            last = i - 1
        elif a_list[i] < item:
            first = i + 1
        else:
            return ' tidak di temukan di dalam list'.format(item=item)
# Implementasi pencarian bilangan biner secara recursive pada Python
def binary_search_recursive(a_list, item):
    # """Melakukan pencarian bilangan biner secara recursive dari integer pada list yang berurutan.
    # a_list -- list dari integer yang terurut
    # item -- integer yang anda cari pada posisi tertentu integer 
    first = 0
    last = len(a_list) - 1
    if len(a_list) == 0:
        return ' tidak di temukan di dalam list'.format(item=item)
    else:
        i = (first + last) // 2
        if item == a_list[i]:
            return ' ditemukan'.format(item=item)
        else:
            if a_list[i] < item:
                return binary_search_recursive(a_list[i+1:], item)
            else:
                return binary_search_recursive(a_list[:i], item)

Program python sederhana untuk Kalkulator

Dalam membuat program ini, Anda akan belajar mendesain UI grafis dan membuat Anda terbiasa dengan library seperti Tkinter. Library ini memungkinkan Anda untuk membuat tombol yang dapat melakukan operasi berbeda serta menampilkan hasilnya pada layar. 

Program Python Sederhana - Calculator
Program Python Sederhana - Calculator

Kode:

""" Program python sederhana - Calculator
----------------------------------------
"""
def addition ():
    print("Penambahan")
    n = float(input("Silahkan masukkan angka: "))
    t = 0 
    ans = 0
    while n != 0:
        ans = ans + n
        t+=1
        n = float(input("Silahkan masukkan angka lain (masukkan 0 untuk menghitung): "))
    return [ans,t]
def subtraction ():
    print("Pengurangan")
    n = float(input("Silahkan masukkan angka: "))
    t = 0 
    ans = 0
    while n != 0:
        ans = ans - n
        t+=1
        n = float(input("Silahkan masukkan angka lain (masukkan 0 untuk menghitung): "))
    return [ans,t]
def multiplication ():
    print("Perkalian")
    n = float(input("Silahkan masukkan angka: "))
    t = 0 #Total number enter
    ans = 1
    while n != 0:
        ans = ans * n
        t+=1
        n = float(input("Silahkan masukkan angka lain (masukkan 0 untuk menghitung): "))
    return [ans,t]
def average():
    an = []
    an = addition()
    t = an[1]
    a = an[0]
    ans = a / t
    return [ans,t]

while True:
    list = []
    print(" Program Python pertamaku!")
    print(" Tulis 'a' untuk penambahan")
    print(" Tulis 's' untuk pengurangan")
    print(" Tulis 'm' untuk perkalian")
    print(" Tulis 'v' untuk average")
    print(" Tulis 'q' untuk keluar")
    c = input(" ")
    if c != 'q':
        if c == 'a':
            list = addition()
            print("Jawaban = ", list[0], " total inputs ",list[1])
        elif c == 's':
            list = subtraction()
            print("Jawaban = ", list[0], " total inputs ",list[1])
        elif c == 'm':
            list = multiplication()
            print("Jawaban = ", list[0], " total inputs ",list[1])
        elif c == 'v':
            list = average()
            print("Jawaban = ", list[0], " total inputs ",list[1])
        else:
            print ("Maaf, karakter tidak valid")
    else:
        break

Alarm Jam

Ini adalah aplikasi Python Command Line Interface (CLI) yang menarik untuk developer tingkat menengah dalam membuat program python sederhana. Orang-orang di seluruh dunia menggunakan fitur jam alarm pada perangkat mereka. Akan tetapi, program ini dapat diubah dengan cara yang sedikit berbeda. Beberapa link YouTube tertentu dapat ditambahkan ke dalam teks file. Lalu, program ditulis sedemikian rupa sehingga ketika pengguna menyetel alarm, maka kode akan memilih link secara acak, lalu, akan mulai memutar link YouTube tersebut.

Kode:

""" Program python sederhana - Alarm Clock
----------------------------------------
"""
import datetime
import os
import time
import random
import webbrowser
# Jika video URL tidak ada, maka buatlah yang baru dengan script di bawah ini
if not os.path.isfile("youtube_alarm_videos.txt"):
    print('Creating "youtube_alarm_videos.txt"...')
    with open("youtube_alarm_videos.txt", "w") as alarm_file:
        alarm_file.write("https://www.youtube.com/watch?v=HQaCF2F_MRo")
def check_alarm_input(alarm_time):
    """Memeriksa apakah user telah memasukkan waktu alarm yang valid"""
    if len(alarm_time) == 1: # [Hour] Format
        if alarm_time[0] < 24 and alarm_time[0] >= 0:
            return True
    if len(alarm_time) == 2: # [Hour:Minute] Format
        if alarm_time[0] < 24 and alarm_time[0] >= 0 and \
           alarm_time[1] < 60 and alarm_time[1] >= 0:
            return True
    elif len(alarm_time) == 3: # [Hour:Minute:Second] Format
        if alarm_time[0] < 24 and alarm_time[0] >= 0 and \
           alarm_time[1] < 60 and alarm_time[1] >= 0 and \
           alarm_time[2] < 60 and alarm_time[2] >= 0:
            return True
    return False
# User input untuk waktu alarm
print("Set waktu alarm (Contoh 06:30 or 18:30:00)")
while True:
    alarm_input = input(">> ")
    try:
        alarm_time = [int(n) for n in alarm_input.split(":")]
        if check_alarm_input(alarm_time):
            break
        else:
            raise ValueError
    except ValueError:
        print("ERROR: Masukkan format waktu dengan HH:MM atau HH:MM:SS")
# Konversi waktu alarm dari [H:M] atau [H:M:S] ke dalam detik
seconds_hms = [3600, 60, 1] # Jumlah detik dalam jam, menit dan detik
alarm_seconds = sum([a*b for a,b in zip(seconds_hms[:len(alarm_time)], alarm_time)])
#Waktu hari ini dalam detik
now = datetime.datetime.now()
current_time_seconds = sum([a*b for a,b in zip(seconds_hms, [now.hour, now.minute, now.second])])
# Hitung jumlah detik hingga alarm berhenti
time_diff_seconds = alarm_seconds - current_time_seconds
# Jika perbedaan waktunya adalah negatif, set alarm untuk hari selanjutnya
if time_diff_seconds < 0:
    time_diff_seconds += 86400 # jumlah detik dalam satu hari
# Tampilkan jumlah waktu hingga alarm berbunyi
print("Alarm akan berbunyi dalam %s" % datetime.timedelta(seconds=time_diff_seconds))
# Sleep mode hingga alarm berbunyi
time.sleep(time_diff_seconds)
# Waktu alarm berbunyi
print("Ayo bangun!")
# Load daftar video URL
with open("youtube_alarm_videos.txt", "r") as alarm_file:
    videos = alarm_file.readlines()
# Buka random video dari list
webbrowser.open(random.choice(videos))

Tic-Tac-Toe

Game ini sangat populer di antara kita semua dan bahkan menyenangkan untuk dibuat sebagai program Python. 

Ini adalah permainan antara dua pemain yang terdiri dari sembilan kotak. Setiap pemain memilih gerakan mereka dengan O atau X dan menandai kotak mereka di setiap kesempatan. Pemain yang berhasil membuat tanda dalam satu baris, baik secara diagonal, horizontal, atau vertikal akan menang. Tantangan bagi pemain lain adalah memblokir permainan lawannya dan juga untuk membuat rantai. 

Program Python Sederhana - tic tac toe

Untuk membuat program ini dengan Python, maka, kita dapat menggunakan library Pygame yang telah dimuat dengan grafik dan suara komputer. 

Kode:

""" Program python sederhana - Tic Tac Toe
----------------------------------------
"""
import random
import sys
board=[i for i in range(0,9)]
player, computer = '',''
# Pojok, tengah dan lokasi lainnya, berturut-turut
moves=((1,7,3,9),(5,),(2,4,6,8))
# Kombinasi pemenang
winners=((0,1,2),(3,4,5),(6,7,8),(0,3,6),(1,4,7),(2,5,8),(0,4,8),(2,4,6))
# Tabel
tab=range(1,10)
def print_board():
    x=1
    for i in board:
        end = ' | '
        if x%3 == 0:
            end = ' \n'
            if i != 1: end+='---------\n';
        char=' '
        if i in ('X','O'): char=i;
        x+=1
        print(char,end=end)
def select_char():
    chars=('X','O')
    if random.randint(0,1) == 0:
        return chars[::-1]
    return chars
def can_move(brd, player, move):
    if move in tab and brd[move-1] == move-1:
        return True
    return False
def can_win(brd, player, move):
    places=[]
    x=0
    for i in brd:
        if i == player: places.append(x);
        x+=1
    win=True
    for tup in winners:
        win=True
        for ix in tup:
            if brd[ix] != player:
                win=False
                break
        if win == True:
            break
    return win
def make_move(brd, player, move, undo=False):
    if can_move(brd, player, move):
        brd[move-1] = player
        win=can_win(brd, player, move)
        if undo:
            brd[move-1] = move-1
        return (True, win)
    return (False, False)

# Komputer AI menggunakan function di bawah ini
def computer_move():
    move=-1
    # Jika saya menang, yang lain tidak dihiraukan.
    for i in range(1,10):
        if make_move(board, computer, i, True)[1]:
            move=i
            break
    if move == -1:
       # Jika player menang, lakukan penghadangan.
        for i in range(1,10):
            if make_move(board, player, i, True)[1]:
                move=i
                break
    if move == -1:
        # Mencoba mengambil posisi yang di inginkan.
        for tup in moves:
            for mv in tup:
                if move == -1 and can_move(board, computer, mv):
                    move=mv
                    break
    return make_move(board, computer, move)
def space_exist():
    return board.count('X') + board.count('O') != 9
player, computer = select_char()
print('Player adalah [%s] dan komputer adalah [%s]' % (player, computer))
result='%%% Seri ! %%%'


while space_exist():
    print_board()
    print('#Silahkan memulai duluan ! [1-9] : ', end='')
    move = int(input())
    moved, won = make_move(board, player, move)
    if not moved:
        print(' >> Input tidak valid ! Coba lagi !')
        continue
    
    if won:
        result='*** Selamat ! Anda memenangkannya ! ***'
        break
    elif computer_move()[1]:
        result='=== Maaf Anda kalah! Silahkan mencoba lagi di lain kesempatan ! =='
        break;
print_board()
print(result)

Konversi Mata Uang

Ini adalah program langsung dengan GUI sederhana. Nama tersebut cukup jelas menggambarkan peran program ini untuk mengubah mata uang dari satu unit ke unit lainnya. Misalnya, mengkonversi rupiah ke USD atau euro. 

Tkinter, merupakan interface standar Python yang dapat digunakan untuk merancang dan mengembangkan aplikasi ini. 

Kode:

""" Program python sederhana - Currency Converter
----------------------------------------
"""
import urllib.request
import json
def currency_converter(currency_from, currency_to, currency_input):
    # Yahoo sudah tidak membuka api currency converter.
    yql_base_url = "https://query.yahooapis.com/v1/public/yql"
    yql_query = 'select%20*%20from%20yahoo.finance.xchange%20where%20pair' \
                '%20in%20("'+currency_from+currency_to+'")'
    yql_query_url = yql_base_url + "?q=" + yql_query + "&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys"
    try:
        yql_response = urllib.request.urlopen(yql_query_url)
        try:
            json_string = str(yql_response.read())
            json_string = json_string[2:]
            json_string = json_string[:-1]
            print(json_string)
            yql_json = json.loads(json_string)
            last_rate = yql_json['query']['results']['rate']['Rate']
            currency_output = currency_input * float(last_rate)
            return currency_output
        except (ValueError, KeyError, TypeError):
            print(yql_query_url)
            return "JSON format error"
    except IOError as e:
        print(str(e))
currency_input = 1
currency_from = "USD"
currency_to = "IDR"
rate = currency_converter(currency_from, currency_to, currency_input)
print(rate)

Kesimpulan

Itulah contoh-contoh program python sederhana yang dapat Anda coba untuk meningkatkan pemahaman dalam menggunakan bahasa pemrograman Python. Semoga latihan membuat program tersebut dapat membantu Anda dalam menyelesaikan masalah-masalah yang sedang di hadapi.

Artikel lain mengenai Python:
Visualisasi Data
Tensorflow Object Detection

Muhammad Zacky Asy'ari
Saya seorang Engineer dan Tech Entrepreneur. Memiliki ketertarikan dalam bidang Internet of Things, data acquisition, data analytics dan visualization, machine learning, software testing, serta web design dan development.
Silahkan telusuri blog ini dengan senang hati :).

Terbaru

Copyright since @ 2020
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram