tag:blogger.com,1999:blog-36130689219639787702024-03-12T17:58:09.890-07:00Belajar Python IndonesiaBlog ini khusus membahas pemrograman Python Fundamental dengan GUI.biggienovhttp://www.blogger.com/profile/18396810366166850239noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-3613068921963978770.post-27553846281526914792012-04-24T16:20:00.000-07:002012-04-24T16:24:07.405-07:00[INFO PENTING]: TEMPAT BELAJAR PYTHON - BAHASA INDONESIA1. Mohon maaf disampaikan kepada pengunjung blog ini...Untuk seterusnya, isi/content dari blog ini kami pindahkan ke blog <a href="http://www.klinikpython.wordpress.com/">KLINIK PYTHON INDONESIA</a>.<br />
<br />
2. Semua link download yang ada disini, tidak bisa diakses dikarenakan oleh Admin Ziddu dihapus...hehehe. Kebetulan file master yang saya punya juga hilang (HD rusak). Jadi harap maklum.<br />
<br />
3. Sekali lagi tetap SEMANGAT untuk BELAJAR PYTHON!<br />
<br />
Salam PythonMania!<br />
<br />
<br />
-- admin PythonDahsyat --<br />
<admin pythondahsyat=""></admin>biggienovhttp://www.blogger.com/profile/18396810366166850239noreply@blogger.com0tag:blogger.com,1999:blog-3613068921963978770.post-73756747198310871942011-10-14T13:04:00.000-07:002011-11-09T06:02:39.884-08:00[Dahsyatnya Tkinter]: Tips membuat table di Python<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-VEFn-KZQrSg/TqkSe91NylI/AAAAAAAAAJU/rIUZ1J3p_rk/s1600/grid_tix.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 278px;" src="http://4.bp.blogspot.com/-VEFn-KZQrSg/TqkSe91NylI/AAAAAAAAAJU/rIUZ1J3p_rk/s320/grid_tix.png" alt="" id="BLOGGER_PHOTO_ID_5668081929225620050" border="0" /></a><br />Ingin membuat <span style="font-weight:bold;">tabel dengan Tkinter</span>? Gunakan Tix.Grid, berikut ini Source Codenya.<br /><pre class="brush: python"><br /># file: gridKu.py<br /><br />from Tix import *<br /><br />class DemoGrid:<br /> def __init__(self, parent, title):<br /> self.parent = parent<br /> <br /> self.parent.title(title)<br /> #self.parent.geometry("300x200")<br /> self.parent.protocol("WM_DELETE_WINDOW", self.onClose)<br /> <br /> self.aturKomponen()<br /> <br /> def aturKomponen(self):<br /> mainFrame = Frame(self.parent, bd=10)<br /> mainFrame.pack()<br /> <br /> self.tableGrid = Grid(mainFrame, selectunit='cell',<br /> selectmode="multiple")<br /> self.tableGrid.pack(fill=BOTH)<br /> <br /> for i in range(5):<br /> for j in range(5):<br /> self.tableGrid.set(i, j, text=str((i, j)))<br /> <br /> def onClose(self, event=None):<br /> self.parent.destroy()<br /> <br />if __name__ == '__main__':<br /> root = Tk()<br /> <br /> aplikasi = DemoGrid(root, "Demo Grid of Tix")<br /> <br /> root.mainloop()<br /></pre>biggienovhttp://www.blogger.com/profile/18396810366166850239noreply@blogger.com3tag:blogger.com,1999:blog-3613068921963978770.post-37802869826031090792010-10-17T07:31:00.000-07:002011-10-01T21:23:38.099-07:00[SPESIAL Tkinter!!!] Program Pembelian dan Penjualan ... PyTKasir 0.01.0<span style="font-size:85%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: trebuchet ms;" href="http://2.bp.blogspot.com/_cODQfyZSQYM/TLsLz_HBUoI/AAAAAAAAAHg/ZI9SRxSqy-M/s1600/cover_pyTKasir.png"><img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_cODQfyZSQYM/TLsLz_HBUoI/AAAAAAAAAHg/ZI9SRxSqy-M/s320/cover_pyTKasir.png" alt="" id="BLOGGER_PHOTO_ID_5529025955269530242" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: trebuchet ms;" href="http://2.bp.blogspot.com/_cODQfyZSQYM/TLsLh4cp9qI/AAAAAAAAAHY/cB59rWPhF1A/s1600/transJual.png"><img style="cursor: pointer; width: 320px; height: 295px;" src="http://2.bp.blogspot.com/_cODQfyZSQYM/TLsLh4cp9qI/AAAAAAAAAHY/cB59rWPhF1A/s320/transJual.png" alt="" id="BLOGGER_PHOTO_ID_5529025644243580578" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: trebuchet ms;" href="http://4.bp.blogspot.com/_cODQfyZSQYM/TLsLbpw8_nI/AAAAAAAAAHQ/4J4VtIDBbqU/s1600/lapjua.png"><img style="cursor: pointer; width: 320px; height: 155px;" src="http://4.bp.blogspot.com/_cODQfyZSQYM/TLsLbpw8_nI/AAAAAAAAAHQ/4J4VtIDBbqU/s320/lapjua.png" alt="" id="BLOGGER_PHOTO_ID_5529025537222966898" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: trebuchet ms;" href="http://4.bp.blogspot.com/_cODQfyZSQYM/TLsLTTsd06I/AAAAAAAAAHI/8PhwqIeSxk4/s1600/about.png"><img style="cursor: pointer; width: 320px; height: 234px;" src="http://4.bp.blogspot.com/_cODQfyZSQYM/TLsLTTsd06I/AAAAAAAAAHI/8PhwqIeSxk4/s320/about.png" alt="" id="BLOGGER_PHOTO_ID_5529025393859613602" border="0" /></a><br /><br /></span><span style="font-family: trebuchet ms;font-size:85%;" > Alhamdulillah...Akhirnya selesai juga!!! Saya buat program Pembelian dan Penjualan menggunakan Tkinter. Masih sederhana sih, tapi sangat cocok buat belajar. Saya namakan program ini <span style="font-weight: bold; color: rgb(255, 0, 0);">pyTKasir 0.01.0</span>....tolong di koreksi juga, saya yakin masih banyak bug-nya.<br /><br />Free Download ::<br />1. <a href="http://www.ziddu.com/download/12117874/pyTKasir_dokumentasi.pdf.html">Manual Program</a><br />2. <a href="http://www.ziddu.com/download/12117844/pyTKasir_0.01.0.zip.html">Source Code</a><br /><br />Selamat belajar, semoga bermanfaat....SALAM PYTHON DAHSYAT!!!<br /> </span>biggienovhttp://www.blogger.com/profile/18396810366166850239noreply@blogger.com8tag:blogger.com,1999:blog-3613068921963978770.post-34567700326071661062010-10-12T12:05:00.000-07:002011-10-01T21:24:39.068-07:00[DAHSYATNYA Tkinter] :: Wow!...mudahnya bermain database dengan SQLite!!!<span style="font-family: trebuchet ms;font-family:arial;font-size:85%;" ><span style="font-weight: bold;">YES!...Ternyata sangat MUDAH!...</span><br />Ketika kita ingin belajar database yang pastinya via Python, terkadang ada sedikit perasaan 'ketakutan'. Hal ini wajar terjadi pada kita, yang ma</span><span style="font-family: trebuchet ms;font-family:arial;font-size:85%;" >sih (bisa dikatakan) pemula tentang database. Dulu pun, saya mengalami masa-masa 'kegelapan' itu...hehehe. Maksudnya, saya dulu bingung memilih..apa mau pakai MySQL, Postgresql, atau Oracle. Akhirnya ketemulah saya dengan SQLite, yang tak lain juga merupakan </span><span style="font-family: trebuchet ms;font-family:arial;font-size:85%;" >bawaan Python. SQL</span><span style="font-family: trebuchet ms;font-family:arial;font-size:85%;" >ite memang bena</span><span style="font-family: trebuchet ms;font-family:arial;font-size:85%;" >r-benar 'light' alias tipis (sangat sederhana). Khu</span><span style="font-family: trebuchet ms;font-family:arial;font-size:85%;" >sus Anda yang men</span><span style="font-family: trebuchet ms;font-family:arial;font-size:85%;" >ggunakan database untuk aplikasi client-server, jangan menggunakan SQLite..karena SQLite tidak mendukung client-server. OK! Tak usah lama-lama...saya share aja aplikasi berikut ini!!!</span><span style="font-family: trebuchet ms;font-size:85%;" ><br /><br /><br /></span><span style="font-family: trebuchet ms;font-family:arial;font-size:85%;" >Namanya: </span><span style="font-weight: bold; font-family: trebuchet ms;font-family:arial;font-size:85%;" >Database Mahasiswa</span><span style="font-family: trebuchet ms;font-size:85%;" ><br /></span><span style="font-family: trebuchet ms;font-family:arial;font-size:85%;" >Desain : terdiri dari 3 file (<span style="color: rgb(255, 0, 0); font-weight: bold;">menu.py, buatTable.py, isiTable.py</span>) plus file '<span style="color: rgb(0, 0, 153); font-weight: bold;">datamhs.db</span>'</span><span style="display: block; font-family: trebuchet ms;font-size:85%;" id="formatbar_Buttons" ><span onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="addImage();" onmousedown="CheckFormatting(event);;ButtonMouseDown(this);" class="on" style="display: block;" id="formatbar_Add_Image" title="Tambah Gambar"><img src="http://www.blogger.com/img/blank.gif" alt="Tambah Gambar" class="gl_photo" border="0" /></span></span><span style="font-family: trebuchet ms;font-family:arial;font-size:85%;" >Komponen : <span style="color: rgb(0, 102, 0); font-weight: bold;">Button, Listbox+Scroll, En</span></span><span style="font-family: trebuchet ms;font-family:arial;font-size:85%;" ><span style="color: rgb(0, 102, 0); font-weight: bold;">try</span>.</span><span style="font-family: trebuchet ms;font-size:85%;" ><br /><br /></span><span style="font-family: trebuchet ms;font-size:85%;" ><br />(1) Tampilan awal</span><span style="font-family: trebuchet ms;font-size:85%;" ><br />(2) Setelah tombol Buat Database di klik, akan muncul dialog informasi data te</span><span style="font-family: trebuchet ms;font-size:85%;" >lah dibuat.<br /></span><span style="font-family: trebuchet ms;font-size:85%;" >(3) </span><span style="font-family: trebuchet ms;font-size:85%;" >Masuk are</span><span style="font-family: trebuchet ms;font-size:85%;" >a Modifikasi Databas</span><span style="font-family: trebuchet ms;font-size:85%;" >e<br /><br />Setelah itu, silahkan Anda tambahkan sendiri dat</span><span style="font-family: trebuchet ms;font-size:85%;" >a mahasiswa, dengan menekan tombol Tambah, lalu klik Simpan. Untuk menghapus atau mengubah data, cukup di klik 2x pada data di Listbox.<br /><br />Kalau ada yang MUDAH, mengapa harus cari yang RIBET???.....SALAM PYTHON DAHSYAT!!!<br /><br />### download file <a href="http://www.ziddu.com/download/12054532/olahData.zip.html">disini</a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cODQfyZSQYM/TLS5vUFZ2aI/AAAAAAAAAGo/4XDM2UTAofE/s1600/Screenshot-Database+Mahasiswa.png"><img style="cursor: pointer; width: 320px; height: 89px;" src="http://1.bp.blogspot.com/_cODQfyZSQYM/TLS5vUFZ2aI/AAAAAAAAAGo/4XDM2UTAofE/s320/Screenshot-Database+Mahasiswa.png" alt="" id="BLOGGER_PHOTO_ID_5527246865186806178" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_cODQfyZSQYM/TLS5_0yGy7I/AAAAAAAAAGw/tuMZpyJAI8U/s1600/Screenshot-Form+Modifikasi+Data-1.png"><img style="cursor: pointer; width: 320px; height: 311px;" src="http://4.bp.blogspot.com/_cODQfyZSQYM/TLS5_0yGy7I/AAAAAAAAAGw/tuMZpyJAI8U/s320/Screenshot-Form+Modifikasi+Data-1.png" alt="" id="BLOGGER_PHOTO_ID_5527247148842142642" border="0" /></a><br /><br /></span><span style="font-family: trebuchet ms;font-size:85%;" ><br /><br /><br /></span>biggienovhttp://www.blogger.com/profile/18396810366166850239noreply@blogger.com4tag:blogger.com,1999:blog-3613068921963978770.post-47404980665141988952010-08-09T18:21:00.000-07:002011-10-27T10:59:53.412-07:00[DAHSYATNYA Tkinter] :: Mengambil Data dari Form Tambahan<span style="font-size:85%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: trebuchet ms;" href="http://1.bp.blogspot.com/_cODQfyZSQYM/TGCuVbyB7VI/AAAAAAAAAEg/3OSeQTXC08U/s1600/refernce"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 125px;" src="http://1.bp.blogspot.com/_cODQfyZSQYM/TGCuVbyB7VI/AAAAAAAAAEg/3OSeQTXC08U/s320/refernce" alt="" id="BLOGGER_PHOTO_ID_5503590427904830802" border="0" /></a><br /><span style="font-family: trebuchet ms;">Sebelum saya mulai latihan ini, saya ingin bertanya, Pernahkah Anda merasa bingung mencari teknik atau cara untuk mengambil data dari sebuah form lain? dan tentu saja ini terjadi ketika kita bermain di Python. Kalau ada yang pernah, saya ucapkan SELAMAT!!!....hehehe...cos sekarang kita senasib. Jujur, saya pun dulu juga pernah mengalaminya. Tetapi alhamdulillah, setelah melihat-lihat source code-nya IDLE, saya jadi tahu gaya-nya om Guido van Rossum...ternyata beliau menggunakan widget </span></span><span style="font-weight: bold; font-family: trebuchet ms;font-size:85%;" >Toplevel</span><span style="font-size:85%;"><span style="font-family: trebuchet ms;"> (saya dulu menggunakan Frame, dan ternyata lebih ribet). Dan contohnya seperti gambar di atas.</span><br /><br /><span style="font-family: trebuchet ms;">Ok, saya akan jelaskan sebentar tentang desain program ini.</span><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: trebuchet ms;" href="http://4.bp.blogspot.com/_cODQfyZSQYM/TGCu_TaIp2I/AAAAAAAAAE4/5yyYQEiNSl0/s1600/ref1.png"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 108px;" src="http://4.bp.blogspot.com/_cODQfyZSQYM/TGCu_TaIp2I/AAAAAAAAAE4/5yyYQEiNSl0/s320/ref1.png" alt="" id="BLOGGER_PHOTO_ID_5503591147211630434" border="0" /></a><span style="font-family: trebuchet ms;">(1) Terdapat 2 (dua) form. Yang satu form induk, dan lainnya form turunan. Form induk berisi widget Label, Entry, Button. Sedang form turunan terdiri dari Radiobutton dan Button.</span><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: trebuchet ms;" href="http://2.bp.blogspot.com/_cODQfyZSQYM/TGCvO808ZWI/AAAAAAAAAFA/d2ENDzoMEnA/s1600/ref2.png"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 77px;" src="http://2.bp.blogspot.com/_cODQfyZSQYM/TGCvO808ZWI/AAAAAAAAAFA/d2ENDzoMEnA/s320/ref2.png" alt="" id="BLOGGER_PHOTO_ID_5503591416027964770" border="0" /></a><span style="font-family: trebuchet ms;">(2) Jika kita klik tombol (...) pada form induk, maka akan muncul pilihan bidang studi pada form turunan. Setelah kita klik tombol OK, maka nama bidang studi yang kita pilih akan di munculkan pada Entry di form induk.</span><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: trebuchet ms;" href="http://1.bp.blogspot.com/_cODQfyZSQYM/TGCvexb3D7I/AAAAAAAAAFI/UCtRRolW3Fk/s1600/ref3.png"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 108px;" src="http://1.bp.blogspot.com/_cODQfyZSQYM/TGCvexb3D7I/AAAAAAAAAFI/UCtRRolW3Fk/s320/ref3.png" alt="" id="BLOGGER_PHOTO_ID_5503591687847874482" border="0" /></a><span style="font-family: trebuchet ms;">(3) Sekedar tambahan, saya menggunakan tkMessageBox untuk sedikit lebih </span></span><span style="font-style: italic; font-family: trebuchet ms;font-size:85%;" >user friendly</span><span style="font-size:85%;"><span style="font-family: trebuchet ms;">.</span><br /><span style="font-family: trebuchet ms;">(4) Program ini terdiri dari 2 file yaitu </span></span><span style="font-weight: bold; font-family: trebuchet ms;font-size:85%;" >Reference.py</span><span style="font-size:85%;"><span style="font-family: trebuchet ms;"> sebagai form induk, dan </span></span><span style="font-weight: bold; font-family: trebuchet ms;font-size:85%;" >bidStudi.py</span><span style="font-size:85%;"><span style="font-family: trebuchet ms;"> sebagai form turunan.</span><br /><br /><span style="font-family: trebuchet ms;">OK!!!! Selamat Menikmati.....SALAM PYTHON DAHSYAT!!!</span><br /></span><pre style="font-family: trebuchet ms;"><span style="font-size:85%;"><code><br /><pre class="brush: python"><br /># file : Reference.py<br /><br />from Tkinter import *<br />import bidStudi<br />import tkMessageBox<br /><br />class Reference(Frame):<br />def __init__(self, parent, title):<br /> Frame.__init__(self, parent, bd=10)<br /> self.pack(fill=BOTH, expand=YES)<br /><br /> self.master.title(title)<br /><br /> self.aturKomponen()<br /> self.parent = parent<br /><br />def aturKomponen(self):<br /> frame = Frame(self, bd=5)<br /> frame.pack(fill=BOTH, expand=YES)<br /><br /> Label(frame, text='Bidang Studi :').grid(row=0,<br /> column=0, sticky=W)<br /> Label(frame, text=' ').grid(row=0, column=1)<br /><br /> self.entryMapel = Entry(frame)<br /> self.entryMapel.grid(row=0, column=2)<br /><br /> self.butPilih = Button(frame, text="...",<br /> command=self.pilih)<br /> self.butPilih.grid(row=0, column=3)<br /><br /> Button(self, text="Simpan",<br /> command=self.simpan).pack(side=BOTTOM)<br /><br />def pilih(self):<br /> obj = bidStudi.BidStudi(self.parent, "Pilihan Pelajaran")<br /> mapel = obj.pilihan()<br /><br /> self.entryMapel.delete(0, END)<br /> self.entryMapel.insert(END, mapel)<br /><br />def simpan(self):<br /> if self.entryMapel.get() == "":<br /> tkMessageBox.showinfo("informasi",<br /> "Pilihan Bidang Studi masih kosong!")<br /> else:<br /> tkMessageBox.showinfo("informasi",<br /> "Pilihan Bidang Studi telah tersimpan!")<br /> self.master.destroy()<br /><br />if __name__ == '__main__':<br />root = Tk()<br /><br />Reference(root, "Latihan Reference")<br /><br />root.mainloop()<br /></pre><br /></code></span></pre><span style="font-size:85%;"><br /></span><pre style="font-family: trebuchet ms;"><span style="font-size:85%;"><code><br /><pre class="brush: python"># file: bidStudi.py<br />from Tkinter import *<br /><br />MAPEL = ["Matematika", "Fisika", "Kimia", "Biologi",<br />"Bhs Inggris"]<br /><br />class BidStudi(Toplevel):<br />def __init__(self, parent, title):<br /> Toplevel.__init__(self, parent)<br /> self.configure(borderwidth=10)<br /> self.title(title)<br /><br /> self.aturKomponen()<br /> self.transient(parent)<br /> self.grab_set()<br /> self.wait_window()<br /><br />def aturKomponen(self):<br /> frame = Frame(self)<br /> frame.pack(fill=BOTH, expand=YES)<br /><br /> self.var = StringVar()<br /> self.var.set('Matematika')<br /><br /> for mapel in MAPEL:<br /> radPilihan = Radiobutton(frame, text=mapel,<br /> variable=self.var, value=mapel)<br /> radPilihan.pack(side=LEFT)<br /> <br /> Button(self, text="OK", command=self.ok).pack(<br /> side=BOTTOM)<br /> <br />def pilihan(self):<br /> return self.var.get()<br /><br />def ok(self):<br /> self.destroy()<br /><br /># tes bidStudi.py<br />if __name__ == '__main__':<br />root = Tk()<br /><br />def run():<br /> import bidStudi<br /> obj = bidStudi.BidStudi(root, "Pilihan - Bidang Studi")<br /> print obj.pilihan()<br /><br />Button(root, text="TES", command=run, width=10).pack()<br /><br />root.mainloop()<br /></pre><br /></code></span></pre>biggienovhttp://www.blogger.com/profile/18396810366166850239noreply@blogger.com4tag:blogger.com,1999:blog-3613068921963978770.post-82887848691090555742010-08-01T19:23:00.000-07:002011-10-27T11:08:39.967-07:00[DAHSYATNYA TKINTER] Kemerdekaan RI ke-65<span style="font-size:85%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: trebuchet ms;" href="http://3.bp.blogspot.com/_cODQfyZSQYM/TFYtgi6Qk2I/AAAAAAAAAEI/UW4EODgR-lc/s1600/pancasila.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 261px;" src="http://3.bp.blogspot.com/_cODQfyZSQYM/TFYtgi6Qk2I/AAAAAAAAAEI/UW4EODgR-lc/s320/pancasila.png" alt="" id="BLOGGER_PHOTO_ID_5500634032029864802" border="0" /></a><span style="font-family: trebuchet ms;">Bulan ini mempunyai banyak hari yang bermakna. Sekilas kita ingat, kalo di bulan ini kita pasti memperingati hari Kemerdekaan RI yang ke-65. Disetiap sudut kampung, banyak sekali yang mengadakan lomba-lomba menyambut 17-an. Tak heran jika semua warga negara Indonesia selalu menyambut bulan Agustus dengan suka cita yang tinggi.</span><br /><br /><span style="font-family: trebuchet ms;">Pada catatan yang pertama ini, saya ingin menyampaikan atau, kalo lebih pas-nya mengingatkan sedikit tentang nilai-nilai kemerdekaan RI. Dulu, saya yakin setiap orang pasti pernah membaca teks Pancasila dan Pembukaan UUD 1945. Nah alangkah baiknya jika saat ini, sambil mengingat bacaan Pancasila dan Pembukaan UUD 1945, saya akan membuat sebuah program yang berhubungan dengan 17-an.</span><br /><br /><span style="font-family: trebuchet ms;">Desain Program ::</span><br /><span style="font-family: trebuchet ms;">1. Program ini menggunakan 4 widget dasar dari Tkinter, yaitu: Frame, Button, Text, Scrolbar.</span><br /><span style="font-family: trebuchet ms;">2. Program ini menggunakan file luar yaitu pancasila.txt dan pembukaanUUD.txt sebagai input pada Text.</span><br /><span style="font-family: trebuchet ms;">3. Sebagai tambahan, kita juga menggunakan tkMessageBox sebagai dialog. Untuk digunakan setelah tombol Help di klik.</span><br /><br /><span style="font-family: trebuchet ms;">Dan saatnya kita coba.....SALAM PYTHON DAHSYAT!!!</span><br /><br /></span><br /><pre class="brush: python"># menampilkan teks Pancasila<br /><br />from Tkinter import *<br />import sys<br />import tkMessageBox<br /><br />class Aplikasi(Frame):<br />def __init__(self, master=None):<br /> Frame.__init__(self, master)<br /> self.pack(fill=BOTH, expand=YES)<br /> self.config(padx=10, pady=10)<br /><br /> self.master.geometry("400x300")<br /> self.master.title("Pancasila dan Pembukaan UUD 1945")<br /> self.aturKomponen()<br /> self.aturKejadian()<br /><br />def aturKomponen(self):<br /> # program menggunakan 3 frame:<br /> # 1. frame induk<br /> # 2. frame atas (berisi beberapa Button)<br /> # 3. frame bawah (berisi Text dan Scrollbar)<br /><br /> frameAtas = Frame(self)<br /> frameAtas.pack(expand=YES, fill=BOTH)<br /> frameAtas.config(pady=5)<br /><br /> self.buttonPanca = Button(frameAtas, text='Pancasila')<br /> self.buttonPanca.pack(side=LEFT)<br /> self.buttonUUD = Button(frameAtas, text='Pembukan UUD 45')<br /> self.buttonUUD.pack(side=LEFT)<br /> self.buttonKeluar = Button(frameAtas, text='Keluar')<br /> self.buttonKeluar.pack(side=LEFT)<br /><br /> self.buttonHelp = Button(frameAtas, text='Help')<br /> self.buttonHelp.pack(side=RIGHT)<br /><br /> frameBawah = Frame(self)<br /> frameBawah.pack(expand=YES, fill=BOTH)<br /> frameBawah.config(pady=5)<br /><br /> self.scrollPanca = Scrollbar(frameBawah)<br /> self.textPanca = Text(frameBawah, relief=SUNKEN)<br /><br /> self.scrollPanca.config(command=self.textPanca.yview)<br /> self.textPanca.config(yscrollcommand=self.scrollPanca.set)<br /><br /> self.scrollPanca.pack(side=RIGHT, fill=Y)<br /> self.textPanca.pack(side=LEFT, expand=YES, fill=BOTH)<br /> <br />def aturKejadian(self):<br /> self.buttonPanca.bind('<button-1>', self.showPanca)<br /> self.buttonUUD.bind('<button-1>', self.showUUD)<br /> self.buttonKeluar.bind('<button-1>', self.keluar)<br /> self.buttonHelp.bind('<button-1>', self.bantuan)<br /><br />def tampilTeks(self, teks=''):<br /> self.textPanca.config(foreground='red')<br /> self.textPanca.delete('1.0', END)<br /> self.textPanca.insert('1.0', teks)<br /> #self.textPanca.mark_set(INSERT, '1.0')<br /><br />def showPanca(self, event):<br /> teks = open('pancasila.txt', 'r').read()<br /> self.tampilTeks(teks)<br /><br />def showUUD(self, event):<br /> teks = open('pembukaanUUD.txt', 'r').read()<br /> self.tampilTeks(teks)<br /><br />def keluar(self, event):<br /> sys.exit()<br /><br />def bantuan(self, event):<br /> tkMessageBox.showinfo("Informasi",<br /> 'Created By masbiggie\n@malang, 02 agustus 2010')<br /><br />def run(self):<br /> self.mainloop()<br /><br />if __name__ == '__main__':<br />app = Aplikasi()<br />app.run()<br /></pre>biggienovhttp://www.blogger.com/profile/18396810366166850239noreply@blogger.com3tag:blogger.com,1999:blog-3613068921963978770.post-75692524842562360752009-12-21T01:54:00.000-08:002011-10-27T11:13:04.514-07:00[DAHSYATNYA TKINTER] :: Program Grafik Sinus<span style="font-size:85%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: trebuchet ms;" href="http://3.bp.blogspot.com/_cODQfyZSQYM/Sy9GPRl8kBI/AAAAAAAAACw/hWEXppnCVw4/s1600-h/Screenshot-Program+Sinus.png"><img style="cursor: pointer; width: 320px; height: 250px;" src="http://3.bp.blogspot.com/_cODQfyZSQYM/Sy9GPRl8kBI/AAAAAAAAACw/hWEXppnCVw4/s320/Screenshot-Program+Sinus.png" alt="" id="BLOGGER_PHOTO_ID_5417626104984539154" border="0" /></a><br /><br /></span><div style="text-align: justify; font-family: trebuchet ms;"><span style="font-size:85%;">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 </span><span style="font-weight: bold; font-style: italic; color: rgb(0, 153, 0);font-size:85%;" >math</span><span style="font-size:85%;"> (<untuk style="color: rgb(204, 0, 0); font-style: italic;"><span style="font-weight: bold;">sinus</span> dan <span style="font-weight: bold; font-style: italic; color: rgb(204, 0, 0);">pi)</span><span style="color: rgb(0, 0, 0);"> dan </span><span style="font-weight: bold; font-style: italic; color: rgb(0, 153, 0);">sys</span> <untuk><span style="color: rgb(0, 0, 0);">...</span></untuk></untuk><untuk style="color: rgb(204, 0, 0);"><untuk><span style="color: rgb(0, 0, 0);">SALAM PYTHON DAHSYAT!</span></untuk></untuk><untuk style="color: rgb(204, 0, 0); font-style: italic;"><untuk></untuk></untuk><br /><untuk style="color: rgb(204, 0, 0); font-style: italic;"><untuk></untuk></untuk></span></div><span style="font-size:85%;"><br /><br /></span><pre style="font-family: trebuchet ms;"><span style="font-size:85%;"><code><br /><pre class="brush: python"># latihan:: sinus.py<br /># masbiggie@jakarta, 21 Des 2009<br /><br />from Tkinter import *<br />import sys<br />import math<br /><br />class ProgramSinus(Frame):<br />def __init__(self):<br /> Frame.__init__(self)<br /> self.pack(padx=5, pady=5, fill='both', expand='yes')<br /><br /> # judul + ukuran window<br /> self.master.title("Program Sinus")<br /> self.master.geometry("640x480")<br /><br /> self.aturKomponen() # fungsi menyusun komponen<br /> self.aturKejadian() # fungsi mengatur event<br /><br />def aturKomponen(self):<br /> # pasang widget canvas<br /> self.canvas = Canvas(self, bg='white')<br /> self.canvas.pack(side='top', fill='both', expand='yes')<br /><br /> # pasang panel (frame)<br /> self.frame1 = Frame(self)<br /> self.frame1.pack(side='bottom', pady=5)<br /><br /> # pasang tombol 'gambar' dan 'keluar'<br /> self.gambar = Button(self.frame1, text='Gambar')<br /> self.gambar.pack(side='left')<br /> self.keluar = Button(self.frame1, text='Keluar')<br /> self.keluar.pack(side='left')<br /> <br />def aturKejadian(self):<br /> self.gambar.bind('<button-1>', self.OnGambar)<br /> self.keluar.bind('<button-1>', self.OnKeluar)<br /><br />def OnGambar(self, event):<br /> x_awal = 0<br /> y_awal = 0<br /><br /> self.canvas.create_line(50, 200, 600, 200, fill='red', width=2)<br /><br /> while (x_awal < 550): <br /> x_baru = x_awal + 0.5 <br /> y_baru = 100 * math.sin(x_awal*math.pi/180) <br /> self.canvas.create_line(round(50+x_awal), round(200-y_awal), round(50+x_baru), round(200-y_baru), width=2) <br /> x_awal = x_baru y_awal = y_baru <br /><br />def OnKeluar(self, event): <br /> sys.exit() <br /><br />def run(self): <br /> self.mainloop() <br /><br />if __name__ == '__main__': <br /> app = ProgramSinus() <br /> app.run() <br /></pre></button-1></button-1></code></span></pre>biggienovhttp://www.blogger.com/profile/18396810366166850239noreply@blogger.com0tag:blogger.com,1999:blog-3613068921963978770.post-81703491547012707672009-12-19T00:19:00.000-08:002011-10-29T03:06:47.053-07:00[DAHSYATNYA PyGTK] :: Berpikir Enteng Cara PyGTK...<div style="text-align: left; font-family:trebuchet ms;"><span style="font-size:85%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_cODQfyZSQYM/SyyNVKrJgAI/AAAAAAAAABk/Hv6dfg0S0zI/s1600-h/Screenshot-Matematika+Sederhana.png"><img style="cursor: pointer; width: 260px; height: 263px;" src="http://4.bp.blogspot.com/_cODQfyZSQYM/SyyNVKrJgAI/AAAAAAAAABk/Hv6dfg0S0zI/s320/Screenshot-Matematika+Sederhana.png" alt="" id="BLOGGER_PHOTO_ID_5416859846601965570" border="0" /></a><br /></span></div><span style="font-size:85%;"><span style="font-family:trebuchet ms;">Gambar matematika.py</span><br /><br /><span style="font-family:trebuchet ms;">Sesuai dengan judul di atas, saya coba membuat program yang enteng-enteng aja. Yang jelas, saya menggunakan GUI pyGTK. OK!..gak usah lama-lama..ayo tancap gas!</span><br /><br /><span style="font-family:trebuchet ms;">Pada latihan ini, kita cukup menggunakan 4 widget(tool): Label, Button, Entry, dan HSeparator. Untuk pengaturan tata letak, kita gunakan VBox dan HBox. Untuk menjalankan program ini, kita harus memasukkan bilangan1 dan bilangan2 dulu, setelah itu kita bisa mengklik tombol '+', '-', 'x', '/'. Dan hasil operasi matematika akan dapat dilihat di kotak hasil. Jika ingin keluar, kita tinggal klik tombol keluar.</span><br /><br /><span style="font-family:trebuchet ms;">Saran: Menurut saya belajar program, lebih baik kita mulai dari mengetik listing kemudian kita pelajari apa yang dimaksud di listing tersebut..SALAM PYTHON DAHSYAT!</span><br /><br /></span><pre style="font-family:trebuchet ms;"><span style="font-size:85%;"><code><br /><pre class="brush: python"># latihan: matematika.py<br /># Program matematika untuk penjumlahan, pengurangan, perkalian, dan pembagian<br /># masbiggie@07/12/09<br /><br />import pygtk<br />pygtk.require('2.0')<br />import gtk<br /><br />class Matematika(gtk.Window):<br />def __init__(self):<br />gtk.Window.__init__(self)<br />self.set_title("Matematika Sederhana")<br />self.set_size_request(250, -1)<br />self.set_border_width(10)<br /><br />self.aturKomponen()<br />self.aturKejadian()<br /><br />self.hasil = 0.0<br /><br />self.show_all()<br /><br />def aturKomponen(self):<br />vbox = gtk.VBox(False, 5)<br />self.add(vbox)<br /><br />self.bil1 = gtk.Label("Bilangan 1:")<br />self.bil1.set_alignment(0.0, 0.5)<br />vbox.pack_start(self.bil1)<br />self.edit1 = gtk.Entry()<br />vbox.pack_start(self.edit1)<br />self.bil2 = gtk.Label("Bilangan 2:")<br /><span style="color: rgb(0, 0, 153);"> <span style="color: rgb(0, 0, 0);"> self.bil2.set_alignment(0.0, 0.5)</span></span><br /><span style="color: rgb(0, 0, 0);"> vbox.pack_start(self.bil2)</span><br /><span style="color: rgb(0, 0, 0);"> self.edit2 = gtk.Entry()</span><br /><span style="color: rgb(0, 0, 0);"> vbox.pack_start(self.edit2)</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> hbox = gtk.HBox()</span><br /><span style="color: rgb(0, 0, 0);"> vbox.pack_start(hbox)</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> self.tam = gtk.Button("+")</span><br /><span style="color: rgb(0, 0, 0);"> hbox.pack_start(self.tam)</span><br /><span style="color: rgb(0, 0, 0);"> self.kur = gtk.Button("-")</span><br /><span style="color: rgb(0, 0, 0);"> hbox.pack_start(self.kur)</span><br /><span style="color: rgb(0, 0, 0);"> self.kal = gtk.Button("x")</span><br /><span style="color: rgb(0, 0, 0);"> hbox.pack_start(self.kal)</span><br /><span style="color: rgb(0, 0, 0);"> self.bag = gtk.Button("/")</span><br /><span style="color: rgb(0, 0, 0);"> hbox.pack_start(self.bag)</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> self.hasil = gtk.Label("Hasil Operasi Matematika:")</span><br /><span style="color: rgb(0, 0, 0);"> vbox.pack_start(self.hasil)</span><br /><span style="color: rgb(0, 0, 0);"> self.edithasil = gtk.Entry()</span><br /><span style="color: rgb(0, 0, 0);"> vbox.pack_start(self.edithasil)</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> # tombol Keluar</span><br /><span style="color: rgb(0, 0, 0);"> self.sep = gtk.HSeparator()</span><br /><span style="color: rgb(0, 0, 0);"> vbox.pack_start(self.sep)</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> hbox2 = gtk.HBox()</span><br /><span style="color: rgb(0, 0, 0);"> vbox.pack_start(hbox2, False, False)</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> self.keluar = gtk.Button("Keluar")</span><br /><span style="color: rgb(0, 0, 0);"> self.keluar.set_size_request(75, -1)</span><br /><span style="color: rgb(0, 0, 0);"> hbox2.pack_end(self.keluar, False, False)</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> def aturKejadian(self):</span><br /><span style="color: rgb(0, 0, 0);"> self.connect("destroy", self.OnKeluar)</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> self.keluar.connect("clicked", self.OnKeluar)</span><br /><br /><span style="color: rgb(0, 0, 0);"> self.tam.connect("clicked", self.OnTambah)</span><br /><span style="color: rgb(0, 0, 0);"> self.kur.connect("clicked", self.OnKurang)</span><br /><span style="color: rgb(0, 0, 0);"> self.kal.connect("clicked", self.OnKali)</span><br /><span style="color: rgb(0, 0, 0);"> self.bag.connect("clicked", self.OnBagi)</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> def bacaData(self):</span><br /><span style="color: rgb(0, 0, 0);"> self.nilai1 = float(self.edit1.get_text())</span><br /><span style="color: rgb(0, 0, 0);"> self.nilai2 = float(self.edit2.get_text())</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> def OnTambah(self, event):</span><br /><span style="color: rgb(0, 0, 0);"> self.edithasil.set_text("")</span><br /><span style="color: rgb(0, 0, 0);"> self.bacaData()</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> self.hasil = self.nilai1 + self.nilai2</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> self.edithasil.set_text("%.2f + %.2f = %.2f" %(self.nilai1, self.nilai2, self.hasil))</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> def OnKurang(self, event):</span><br /><span style="color: rgb(0, 0, 0);"> self.edithasil.set_text("")</span><br /><span style="color: rgb(0, 0, 0);"> self.bacaData()</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> self.hasil = self.nilai1 - self.nilai2</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> self.edithasil.set_text("%.2f - %.2f = %.2f" %(self.nilai1, self.nilai2, self.hasil))</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> def OnKali(self, event):</span><br /><span style="color: rgb(0, 0, 0);"> self.edithasil.set_text("")</span><br /><span style="color: rgb(0, 0, 0);"> self.bacaData()</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> self.hasil = self.nilai1 * self.nilai2</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> self.edithasil.set_text("%.2f x %.2f = %.2f" %(self.nilai1, self.nilai2, self.hasil))</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> def OnBagi(self, event):</span><br /><span style="color: rgb(0, 0, 0);"> self.edithasil.set_text("")</span><br /><span style="color: rgb(0, 0, 0);"> self.bacaData()</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> if (self.nilai2 == 0.0):</span><br /><span style="color: rgb(0, 0, 0);"> self.edithasil.set_text("Terjadi Pembagian dengan Nol")</span><br /><span style="color: rgb(0, 0, 0);"> else:</span><br /><span style="color: rgb(0, 0, 0);"> self.hasil = self.nilai1 / self.nilai2</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> self.edithasil.set_text("%.2f / %.2f = %.2f" %(self.nilai1, self.nilai2, self.hasil))</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> def OnKeluar(self, event):</span><br /><span style="color: rgb(0, 0, 0);"> gtk.main_quit()</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);"> def run(self):</span><br /><span style="color: rgb(0, 0, 0);"> gtk.main()</span><br /><span style="color: rgb(0, 0, 0);"> </span><br /><span style="color: rgb(0, 0, 0);">if __name__ == '__main__':</span><br /><span style="color: rgb(0, 0, 0);"> aplikasi = Matematika()</span><br /><span style="color: rgb(0, 0, 0);"> aplikasi.run()</span><br /></pre></code></span></pre><span style="font-size:85%;"><br /><br /><br /><span style="font-family:trebuchet ms;">Download:: </span><a style="font-family: trebuchet ms;" href="http://fastfreeupload.com/download.php?file=899matematika.py">matematika.py</a></span>biggienovhttp://www.blogger.com/profile/18396810366166850239noreply@blogger.com1tag:blogger.com,1999:blog-3613068921963978770.post-17956095175695672352009-10-08T07:06:00.000-07:002011-10-29T04:21:17.962-07:00Duel GUI Python -- wxPython, pyGTK, Tkinter --<span style="font-size:85%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: trebuchet ms;" href="http://3.bp.blogspot.com/_cODQfyZSQYM/Ss3ySGqXNyI/AAAAAAAAABY/3tMsUUTKsI4/s1600-h/Screenshot-Program+GUI+dengan+wxPython.png"><img style="cursor: pointer; width: 310px; height: 127px;" src="http://3.bp.blogspot.com/_cODQfyZSQYM/Ss3ySGqXNyI/AAAAAAAAABY/3tMsUUTKsI4/s320/Screenshot-Program+GUI+dengan+wxPython.png" alt="" id="BLOGGER_PHOTO_ID_5390230721872213794" border="0" /></a><br /><span style="font-family:trebuchet ms;">-- wxPython --</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: trebuchet ms;" href="http://3.bp.blogspot.com/_cODQfyZSQYM/Ss3yR3MMwjI/AAAAAAAAABQ/FkoC9eshp3g/s1600-h/Screenshot-Program+GUI+dengan+pyGTK.png"><img style="cursor: pointer; width: 310px; height: 127px;" src="http://3.bp.blogspot.com/_cODQfyZSQYM/Ss3yR3MMwjI/AAAAAAAAABQ/FkoC9eshp3g/s320/Screenshot-Program+GUI+dengan+pyGTK.png" alt="" id="BLOGGER_PHOTO_ID_5390230717719167538" border="0" /></a><br /><span style="font-family:trebuchet ms;">-- pyGTK --</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: trebuchet ms;" href="http://4.bp.blogspot.com/_cODQfyZSQYM/Ss3yRVXTjzI/AAAAAAAAABI/QiJptpQJDL8/s1600-h/Screenshot-Program+GUI+dengan+Tkinter.png"><img style="cursor: pointer; width: 310px; height: 127px;" src="http://4.bp.blogspot.com/_cODQfyZSQYM/Ss3yRVXTjzI/AAAAAAAAABI/QiJptpQJDL8/s320/Screenshot-Program+GUI+dengan+Tkinter.png" alt="" id="BLOGGER_PHOTO_ID_5390230708638945074" border="0" /></a><br /><span style="font-family:trebuchet ms;">-- Tkinter --</span><br /><br /><pre class="brush: python"><br /># contoh program GUI sederhana dengan Tkinter<br /># <br /># masbiggie@malang, 5 Oktober 2009<br /><br />import Tkinter<br /><br />class PesanFrame(Tkinter.Frame):<br /> def __init__(self, parent=None):<br /> Tkinter.Frame.__init__(self, parent)<br /> self.pack(padx=10, pady=10, fill='both', expand='yes')<br /> self.master.title("Program GUI dengan Tkinter")<br /> self.master.geometry("300x100")<br /> <br /> self.aturKomponen()<br /> <br /> def aturKomponen(self):<br /> self.edit = Tkinter.Entry(self)<br /> self.edit.pack(side='top', fill='x')<br /> <br /> self.tombolBox = Tkinter.Frame(self)<br /> self.tombolBox.pack(side='top', pady=10, fill='x')<br /> <br /> self.klik = Tkinter.Button(self.tombolBox, text="Klik...",<br /> command=self.OnKlik)<br /> self.klik.pack(side='left', fill='x', expand='yes')<br /> self.keluar = Tkinter.Button(self.tombolBox, text="Keluar",<br /> command=self.OnKeluar)<br /> self.keluar.pack(side='left', fill='x', expand='yes')<br /> <br /> def OnKlik(self, event=None):<br /> self.edit.delete(0, 'end')<br /> self.edit.insert(0, "Inilah Tkinter...Mau?")<br /> <br /> def OnKeluar(self, event=None):<br /> self.quit()<br /> <br />if __name__ == '__main__':<br /> frame = PesanFrame()<br /> frame.mainloop()<br /></pre><br /><br /><pre class="brush: python"><br /># contoh program GUI sederhana dengan pyGTK<br /># <br /># masbiggie@malang, 5 Oktober 2009<br /><br />import gtk<br /><br />class PesanFrame:<br /> def __init__(self):<br /> self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)<br /> self.window.set_title("Program GUI dengan pyGTK")<br /> self.window.set_size_request(300, 100)<br /> self.window.set_border_width(10)<br /> <br /> self.aturKomponen()<br /> self.aturKejadian()<br /> <br /> def aturKomponen(self):<br /> vbox = gtk.VBox(False, 10)<br /> self.window.add(vbox)<br /> <br /> self.edit = gtk.Entry()<br /> vbox.pack_start(self.edit, True, True, 0)<br /> <br /> hbox = gtk.HBox(True, 0)<br /> vbox.pack_start(hbox, True, True, 0)<br /> <br /> self.klik = gtk.Button("Klik...")<br /> hbox.pack_start(self.klik, True, True, 0)<br /> self.keluar = gtk.Button("Keluar")<br /> hbox.pack_start(self.keluar, True, True, 0)<br /> <br /> self.window.show_all()<br /><br /> def aturKejadian(self):<br /> self.window.connect("destroy", gtk.main_quit)<br /><br /> self.klik.connect("clicked", self.OnKlik)<br /> self.keluar.connect_object("clicked", gtk.Widget.destroy,<br /> self.window)<br /> <br /> def OnKlik(self, widget):<br /> self.edit.set_text("")<br /> self.edit.set_text("Inilah pyGTK...Mau?")<br /> <br /> <br />if __name__ == '__main__':<br /> frame = PesanFrame()<br /> gtk.main()<br /></pre><br /><br /><pre class="brush: python"><br /># contoh program GUI sederhana dengan wxPython<br /># <br /># masbiggie@malang, 5 Oktober 2009<br /><br />import wx<br /><br />class PesanFrame(wx.Frame):<br /> def __init__(self, parent=None):<br /> wx.Frame.__init__(self, parent, -1, <br /> "Program GUI dengan wxPython",<br /> size=(300, 100))<br /> <br /> self.aturKomponen()<br /> self.aturKejadian()<br /> <br /> def aturKomponen(self):<br /> self.panel = wx.Panel(self, -1)<br /> <br /> self.edit = wx.TextCtrl(self.panel, -1, "")<br /> self.klik = wx.Button(self.panel, -1, "Klik...")<br /> self.keluar = wx.Button(self.panel, -1, "Keluar")<br /> <br /> tombolBox = wx.BoxSizer(wx.HORIZONTAL)<br /> tombolBox.Add(self.klik, 1, wx.EXPAND|wx.ALL)<br /> tombolBox.Add(self.keluar, 1, wx.EXPAND|wx.ALL)<br /> <br /> mainSizer = wx.BoxSizer(wx.VERTICAL)<br /> mainSizer.Add(self.edit, 0, wx.EXPAND|wx.ALL, 10)<br /> mainSizer.Add(tombolBox, 0, <br /> wx.EXPAND|wx.BOTTOM|wx.RIGHT|wx.LEFT, 10)<br /> <br /> self.panel.SetSizer(mainSizer)<br /> <br /> def aturKejadian(self):<br /> self.Bind(wx.EVT_BUTTON, self.OnKlik, self.klik)<br /> self.Bind(wx.EVT_BUTTON, self.OnKeluar, self.keluar)<br /> <br /> def OnKeluar(self, event):<br /> self.Close()<br /> <br /> def OnKlik(self, event):<br /> self.edit.SetValue("")<br /> self.edit.SetValue("Inilah wxPython..Mau?")<br /> <br />if __name__ == '__main__':<br /> app = wx.PySimpleApp()<br /> <br /> frame = PesanFrame()<br /> frame.Show()<br /> <br /> app.MainLoop()<br /></pre><br /><br /></span><pre style="font-family:trebuchet ms;"><span style="font-size:85%;"><code><span style="color: rgb(0, 0, 0);"></span></code></span><br /></pre><span style="font-size:85%;"><br /><span style="font-family:trebuchet ms;">OK..silahkan pilih..Anda suka mana?</span></span>biggienovhttp://www.blogger.com/profile/18396810366166850239noreply@blogger.com3