You are on page 1of 8

TUGAS AKHIR:

APLIKASI GRAFIK TRIGONOMETRI

Untuk memenuhi mata kuliah Dasar Komputer Dan Pemograman

Oleh
1. Fikri Yanuar Maulana (2107888)
2. Sendi Maramis Ardyansah (2107579)

PTOIR-1A

PROGRAM STUDI PENDIDIKAN TEKNIK OTOMASI INDUSTRI DAN ROBOTIKA


FAKULTAS PENDIDIKAN TEKNOLOGI DAN KEJURUAN
UNIVERSITAS PENDIDIKAN INDONESIA
2021
Diagram Alir

Matplotlib START
Tkinter

Root
Numpy

Canvas

Input Grafik
(A, B, C, Max, Min)

If If If
Sin Cos Tan

Frame Grafik

Frame Input
(Background)

Label

Input
(Entry, Max, Min)

Reset Enter
CODING
from tkinter import *
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import numpy as np

root = Tk()
root.title("Aplikasi Grafik Trigonometri")
root.resizable(width=False,height=False)

WIDTH = 1200
HEIGHT = 700
canvas = Canvas(root, width=WIDTH,height=HEIGHT, bg='#11ffa7')
canvas.pack()

def buatgrafik():
a = int(aInput.get())
b = int(bInput.get())
c = int(cInput.get())
xmin = int(xminInput.get())
xmax = int(xmaxInput.get())

x = np.linspace(np.pi*xmin,np.pi*xmax, 1000)

if yInput.get()==yvalues[0]:
y = c + a*(np.sin(x)**b)
ax.plot(x,y)
if yInput.get()==yvalues[1]:
y = c + a*(np.cos(x)**b)
ax.plot(x,y)

if yInput.get()==yvalues[2]:
y = c + a*(np.tan(x)**b)
ax.plot(x,y)
canvasgrafik.draw()

def resetgrafik():
global ax
ax.clear()
ax.set_title('GRAFIK TRIGONOMETRI')
ax.set_xlabel('x(rad)')
ax.set_ylabel('y')
ax.grid(True)
canvasgrafik.draw()

frameGrafik = Frame(root, bg='red')


frameGrafik.place(relx=1, rely=0.5, relwidth=0.7, relheight=1, anchor='e')

frameInput = Frame(root, bg='#05aff2')


frameInput.place(relx=0.025,rely=0.5,relwidth=0.25,relheight=0.7,anchor='w')

yvalues = ("c + a sin(x)^b",


"c + a cos(x)^b",
"c + a tan(x)^b")

ylabel = Label(frameInput, bg='#05aff2', text='y', fg='black')


ylabel.place(relx=0.1,rely=0,relwidth=0.2,relheight=0.125,anchor='n')
yInput = Spinbox(frameInput, values=yvalues)
yInput.place(relx=0.5,rely=0.025,relwidth=0.6,relheight=0.08,anchor='n')

alabel = Label(frameInput, bg='#05aff2', text='a', fg='black')


alabel.place(relx=0.1,rely=0.125,relwidth=0.2,relheight=0.125,anchor='n')
aInput = Entry(frameInput)
aInput.place(relx=0.5,rely=0.15,relwidth=0.6,relheight=0.08,anchor='n')
aInput.insert(0,1)

blabel = Label(frameInput, bg='#05aff2', text='b', fg='black')


blabel.place(relx=0.1,rely=0.25,relwidth=0.2,relheight=0.125,anchor='n')
bInput = Entry(frameInput)
bInput.place(relx=0.5,rely=0.275,relwidth=0.6,relheight=0.08,anchor='n')
bInput.insert(0,1)

clabel = Label(frameInput, bg='#05aff2', text='c', fg='black')


clabel.place(relx=0.1,rely=0.375,relwidth=0.2,relheight=0.125,anchor='n')
cInput = Entry(frameInput)
cInput.place(relx=0.5,rely=0.4,relwidth=0.6,relheight=0.08,anchor='n')
cInput.insert(0,0)

xlabel = Label(frameInput, bg='#05aff2', text='x', fg='black')


xlabel.place(relx=0.1,rely=0.5,relwidth=0.2,relheight=0.125,anchor='n')
xfromlabel = Label(frameInput,text='from',bg='#05aff2',fg='black')
xfromlabel.place(relx=0.2,rely=0.525,relwidth=0.1,relheight=0.08,anchor='n')
xminInput = Entry(frameInput)
xminInput.place(relx=0.35,rely=0.525,relwidth=0.15,relheight=0.08,anchor='n')
xminInput.insert(0,-2)

tolabel = Label(frameInput,text='pi to',bg='#05aff2',fg='black')


tolabel.place(relx=0.5,rely=0.525,relwidth=0.1,relheight=0.08,anchor='n')
xmaxInput = Entry(frameInput)
xmaxInput.place(relx=0.65,rely=0.525,relwidth=0.15,relheight=0.08,anchor='n')
xmaxInput.insert(0,2)
xpilabel = Label(frameInput,text='pi',bg='#05aff2',fg='black')
xpilabel.place(relx=0.8,rely=0.525,relwidth=0.1,relheight=0.08,anchor='n')

enter_button = Button(frameInput, text='Enter', command=buatgrafik)


enter_button.place(relx=0.5,rely=0.7,relwidth=0.3,relheight=0.1,anchor='n')

reset_button = Button(frameInput, text='RESET', command=resetgrafik)


reset_button.place(relx=0.5,rely=0.85,relwidth=0.3,relheight=0.1,anchor='n')

f = Figure()
ax = f.add_subplot(111)

ax.set_title('GRAFIK TRIGONOMETRI')
ax.set_xlabel('x(rad)')
ax.set_ylabel('y')
ax.grid(True)

canvasGrafik = FigureCanvasTkAgg(f,frameGrafik)
canvasGrafik.get_tk_widget().place(relheight=1,relwidth=1)
canvasGrafik.draw()
root.mainloop()
HASIL PROGRAM
LINK PRESENTASI PROGRAM

https://youtu.be/PEuyb1epvx0

You might also like