Python untuk menerima input dari user berbasis CLI

By | January 14, 2021
1,424 Views

Membuat aplikasi menggunakan Python untuk menerima input dari user / interaksi dari user ada banyak cara koq, kalau kalian baca buku Buku Belajar Mudah Python dengan Package Open Source, sudah dibahas koq untuk menggunakan perintah input, namun disini saya akan bahas lagi sedikit, selain menggunakan perintah input ada 2 cara lagi yaitu argument parser (CLI-command line interface) serta GUI. Untuk mempermudah pembahasan postingan ini, kita akan membuat contoh sebuah script untuk memvisualisasikan plot grafik sinus. Kebutuhan package yaitu matplotlib dan numpy. Secara mudah gambarannya sebagai berikut

Kode awal

Kode bila kita run di python hanya terdiri dari 2 variabel a dan b.

import numpy as np
from matplotlib import pyplot as plt

a = 1
b = 360
x = np.arange(a,b,1)
y = np.sin(np.radians(x)) #ubah derajat ke radian
plt.figure
plt.plot(y)
plt.xlabel('derajat')
plt.ylabel('sinus')
plt.title('Grafik Sinus')
plt.show()

Gunakan perintah input

Python juga menerima input dari keyboard dengan perintah function, opsi ini banyak digunakan karena mudah penerapannya karena user akan dipandu untuk mengisi satu-persatu, kalian baca saja buku tersebut.

Gunakan perintah argument parser

Jenis ini disebut dengan CLI (command line interface) karena menggunakan terminal untuk menjalankannya. Untuk perintah argument parser malah lebih simple, bahkan kita bisa berikan nilai default, untuk eksekusinya pun jauh lebih mudah. Contoh ketika user akan memberikan argument a dan b

I:\python-CLI>python latihan2.py -a 1 -b 180

Ataupun ketika user tidak memberikan argument apapun karena nilai defaultnya sudah ada

I:\python-CLI>python latihan2.py

Perhatikan kode berikut

import numpy as np
from matplotlib import pyplot as plt
import argparse

ap = argparse.ArgumentParser()
ap.add_argument("-a", "--start", type=int,default=1,help='angka awal')
ap.add_argument("-b", "--stop", type=int, default=360,help='angka akhir')
args = vars(ap.parse_args())
x = np.arange(args['start'],args['stop'],1) 
y = np.sin(np.radians(x)) 
plt.figure
plt.plot(y)
plt.xlabel('derajat')
plt.ylabel('sinus')
plt.title('Grafik Sinus')
plt.show()

Kode –a dan –b digunakan untuk mengatur argument opsi sedangkan –start dan –stop digunakan untuk menerima variabel oleh user. Namun jenis ini harus menjalankan terminal terlebih dahulu untuk eksekusi kodenya.

Gunakan GUI

Untuk membuat aplikasi berbasis GUI, sudah pernah dibahas koq, kalian tinggal baca saja

https://softscients.com/2020/03/28/buku-pemrograman-python-aplikasi-gui-python-merge-file-pdf/