Selasa, 24 April 2012

[INFO PENTING]: TEMPAT BELAJAR PYTHON - BAHASA INDONESIA

1. Mohon maaf disampaikan kepada pengunjung blog ini...Untuk seterusnya, isi/content dari blog ini kami pindahkan ke blog KLINIK PYTHON INDONESIA.

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.

3. Sekali lagi tetap SEMANGAT untuk BELAJAR PYTHON!

Salam PythonMania!


-- admin PythonDahsyat --

Jumat, 14 Oktober 2011

[Dahsyatnya Tkinter]: Tips membuat table di Python


Ingin membuat tabel dengan Tkinter? Gunakan Tix.Grid, berikut ini Source Codenya.

# file: gridKu.py

from Tix import *

class DemoGrid:
def __init__(self, parent, title):
self.parent = parent

self.parent.title(title)
#self.parent.geometry("300x200")
self.parent.protocol("WM_DELETE_WINDOW", self.onClose)

self.aturKomponen()

def aturKomponen(self):
mainFrame = Frame(self.parent, bd=10)
mainFrame.pack()

self.tableGrid = Grid(mainFrame, selectunit='cell',
selectmode="multiple")
self.tableGrid.pack(fill=BOTH)

for i in range(5):
for j in range(5):
self.tableGrid.set(i, j, text=str((i, j)))

def onClose(self, event=None):
self.parent.destroy()

if __name__ == '__main__':
root = Tk()

aplikasi = DemoGrid(root, "Demo Grid of Tix")

root.mainloop()

Minggu, 17 Oktober 2010

[SPESIAL Tkinter!!!] Program Pembelian dan Penjualan ... PyTKasir 0.01.0






Alhamdulillah...Akhirnya selesai juga!!! Saya buat program Pembelian dan Penjualan menggunakan Tkinter. Masih sederhana sih, tapi sangat cocok buat belajar. Saya namakan program ini pyTKasir 0.01.0....tolong di koreksi juga, saya yakin masih banyak bug-nya.

Free Download ::
1. Manual Program
2. Source Code

Selamat belajar, semoga bermanfaat....SALAM PYTHON DAHSYAT!!!

Selasa, 12 Oktober 2010

[DAHSYATNYA Tkinter] :: Wow!...mudahnya bermain database dengan SQLite!!!

YES!...Ternyata sangat MUDAH!...
Ketika kita ingin belajar database yang pastinya via Python, terkadang ada sedikit perasaan 'ketakutan'. Hal ini wajar terjadi pada kita, yang ma
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 bawaan Python. SQLite memang benar-benar 'light' alias tipis (sangat sederhana). Khusus Anda yang menggunakan 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!!!


Namanya: Database Mahasiswa
Desain : terdiri dari 3 file (menu.py, buatTable.py, isiTable.py) plus file 'datamhs.db'Tambah GambarKomponen : Button, Listbox+Scroll, Entry.


(1) Tampilan awal

(2) Setelah tombol Buat Database di klik, akan muncul dialog informasi data te
lah dibuat.
(3) Masuk area Modifikasi Database

Setelah itu, silahkan Anda tambahkan sendiri dat
a mahasiswa, dengan menekan tombol Tambah, lalu klik Simpan. Untuk menghapus atau mengubah data, cukup di klik 2x pada data di Listbox.

Kalau ada yang MUDAH, mengapa harus cari yang RIBET???.....SALAM PYTHON DAHSYAT!!!

### download file disini






Senin, 09 Agustus 2010

[DAHSYATNYA Tkinter] :: Mengambil Data dari Form Tambahan


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
Toplevel (saya dulu menggunakan Frame, dan ternyata lebih ribet). Dan contohnya seperti gambar di atas.

Ok, saya akan jelaskan sebentar tentang desain program ini.
(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.
(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.
(3) Sekedar tambahan, saya menggunakan tkMessageBox untuk sedikit lebih
user friendly.
(4) Program ini terdiri dari 2 file yaitu
Reference.py sebagai form induk, dan bidStudi.py sebagai form turunan.

OK!!!! Selamat Menikmati.....SALAM PYTHON DAHSYAT!!!


# file : Reference.py

from Tkinter import *
import bidStudi
import tkMessageBox

class Reference(Frame):
def __init__(self, parent, title):
Frame.__init__(self, parent, bd=10)
self.pack(fill=BOTH, expand=YES)

self.master.title(title)

self.aturKomponen()
self.parent = parent

def aturKomponen(self):
frame = Frame(self, bd=5)
frame.pack(fill=BOTH, expand=YES)

Label(frame, text='Bidang Studi :').grid(row=0,
column=0, sticky=W)
Label(frame, text=' ').grid(row=0, column=1)

self.entryMapel = Entry(frame)
self.entryMapel.grid(row=0, column=2)

self.butPilih = Button(frame, text="...",
command=self.pilih)
self.butPilih.grid(row=0, column=3)

Button(self, text="Simpan",
command=self.simpan).pack(side=BOTTOM)

def pilih(self):
obj = bidStudi.BidStudi(self.parent, "Pilihan Pelajaran")
mapel = obj.pilihan()

self.entryMapel.delete(0, END)
self.entryMapel.insert(END, mapel)

def simpan(self):
if self.entryMapel.get() == "":
tkMessageBox.showinfo("informasi",
"Pilihan Bidang Studi masih kosong!")
else:
tkMessageBox.showinfo("informasi",
"Pilihan Bidang Studi telah tersimpan!")
self.master.destroy()

if __name__ == '__main__':
root = Tk()

Reference(root, "Latihan Reference")

root.mainloop()



# file: bidStudi.py
from Tkinter import *

MAPEL = ["Matematika", "Fisika", "Kimia", "Biologi",
"Bhs Inggris"]

class BidStudi(Toplevel):
def __init__(self, parent, title):
Toplevel.__init__(self, parent)
self.configure(borderwidth=10)
self.title(title)

self.aturKomponen()
self.transient(parent)
self.grab_set()
self.wait_window()

def aturKomponen(self):
frame = Frame(self)
frame.pack(fill=BOTH, expand=YES)

self.var = StringVar()
self.var.set('Matematika')

for mapel in MAPEL:
radPilihan = Radiobutton(frame, text=mapel,
variable=self.var, value=mapel)
radPilihan.pack(side=LEFT)

Button(self, text="OK", command=self.ok).pack(
side=BOTTOM)

def pilihan(self):
return self.var.get()

def ok(self):
self.destroy()

# tes bidStudi.py
if __name__ == '__main__':
root = Tk()

def run():
import bidStudi
obj = bidStudi.BidStudi(root, "Pilihan - Bidang Studi")
print obj.pilihan()

Button(root, text="TES", command=run, width=10).pack()

root.mainloop()