Senin, 21 Desember 2009

[DAHSYATNYA TKINTER] :: Program Grafik Sinus



Inilah cara termudah untuk membuat grafik sinus di Python. Pada program ini kita menggunakan Tkinter (defaultnya Python) sebagai GUI-nya, widget-nya, kita gunakan Canvas, Frame, dan Button. Beberapa fungsi (modul) yang digunakan yaitu math (sinus dan pi) dan sys ...SALAM PYTHON DAHSYAT!



# latihan:: sinus.py
# masbiggie@jakarta, 21 Des 2009

from Tkinter import *
import sys
import math

class ProgramSinus(Frame):
def __init__(self):
Frame.__init__(self)
self.pack(padx=5, pady=5, fill='both', expand='yes')

# judul + ukuran window
self.master.title("Program Sinus")
self.master.geometry("640x480")

self.aturKomponen() # fungsi menyusun komponen
self.aturKejadian() # fungsi mengatur event

def aturKomponen(self):
# pasang widget canvas
self.canvas = Canvas(self, bg='white')
self.canvas.pack(side='top', fill='both', expand='yes')

# pasang panel (frame)
self.frame1 = Frame(self)
self.frame1.pack(side='bottom', pady=5)

# pasang tombol 'gambar' dan 'keluar'
self.gambar = Button(self.frame1, text='Gambar')
self.gambar.pack(side='left')
self.keluar = Button(self.frame1, text='Keluar')
self.keluar.pack(side='left')

def aturKejadian(self):
self.gambar.bind('', self.OnGambar)
self.keluar.bind('', self.OnKeluar)

def OnGambar(self, event):
x_awal = 0
y_awal = 0

self.canvas.create_line(50, 200, 600, 200, fill='red', width=2)

while (x_awal < 550):
x_baru = x_awal + 0.5
y_baru = 100 * math.sin(x_awal*math.pi/180)
self.canvas.create_line(round(50+x_awal), round(200-y_awal), round(50+x_baru), round(200-y_baru), width=2)
x_awal = x_baru y_awal = y_baru

def OnKeluar(self, event):
sys.exit()

def run(self):
self.mainloop()

if __name__ == '__main__':
app = ProgramSinus()
app.run()

Tidak ada komentar:

Posting Komentar