Minggu, 27 Maret 2011

Opsi Komponen Python Class

Lagi utak-atik kode pemrograman Python, kali ini mengenai cara membuat tombol yang letaknya disebelah counter. Source code nya adalah sebagai berikut:

import Tkinter
root = Tkinter.Tk()
import Pmw
Pmw.initialise(root)

# membuat tombol bertuliskan kata Hello di sebelah kiri counter

counter8 = Pmw.Counter(labelpos = 'se', label_text = 'Hello', label_pyclass = Tkinter.Button) #labelpos untuk menentukan letak tombol dengan counter. ada pilihan e,w,s,n e(east) = kanan, w(west) = sebelah kiri, s(south) = bawah, n(north) = atas ; label_text merupakan tulisan diatas tombol ; label_pyclass = Tkinter.Button merupakan kode untuk membuat tombol yang akan muncul di sebelah counter.


counter8.pack(padx = 10, pady = 10)
#counter8.setentry()

root.mainloop()

Hal yang baru disini adalah “labelpos” yang ternyata variabel nya tidak hanya dipakai untuk menentukan posisi tombol dalam kasus ini saja, tapi juga dalam banyak kasus yang lain. Di kasus yang lain, ada yang huruf nya di tulis dalam huruf besar.


Berikut ini contoh source code yang lainnya:

import Tkinter
root = Tkinter.Tk()
import Pmw
Pmw.initialise(root)


# modifikasi kode dari kode counter8.py

counter9 = Pmw.Counter(hull_relief = 'raised', hull_borderwidth = 5, orient = 'vertical', datatype = 'time', increment = 60, labelpos = 'es', label_text = 'Hello', label_pyclass = Tkinter.Button)

counter9.setentry('00:00:00')
counter9.pack(padx = 10, pady = 10)
counter9.configure(downarrow_background = 'blue', uparrow_background = 'yellow', entry_background = 'pink')

root.mainloop()

Jumat, 25 Maret 2011

Merubah Warna Tanda Panah Pada Counter

Warna tanda panah pada counter dapat diubah dengan menerapkan kode di bawah ini:


import Tkinter
root = Tkinter.Tk()
import Pmw
Pmw.initialise(root)

counter5 = Pmw.Counter(increment=2)
counter5.pack(padx = 10, pady = 10)
counter5.setentry(50)
counter5.configure(downarrow_background = 'green', uparrow_background = 'red') # Berguna untuk mengubah warna anak panah ke atas menjadi warna merah, anak panah ke bawah menjadi warna hijau)

root.mainloop()




Screen Shoot kode diatas ketika dijalankan:


Component Option – The Hull

Berikut ini adalah contoh source code Python Megawidgets yang menerapkan komponen The Hull pada counter. Penerapannya membuat tampilan counter menjadi berbeda:


import Tkinter
root = Tkinter.Tk()
import Pmw
Pmw.initialise(root)

counter6 = Pmw.Counter(hull_relief = 'sunken', hull_borderwidth = 5, orient = 'vertical', datatype = 'time', increment = 60)
counter6.setentry('00:00:00')
counter6.pack(padx = 10, pady = 10)
counter6.configure(downarrow_background = 'blue', uparrow_background = 'yellow')

root.mainloop()





Screen shoot kode tersebut ketika di jalankan:

Selasa, 22 Maret 2011

Counter Orient Vertical – Python

Berikut ini kode Python untuk membuat letak tanda panah di counter menjadi vertikal :

import Tkinter
root = Tkinter.Tk()
import Pmw
Pmw.initialise(root)

counter3 = Pmw.Counter(orient = 'vertical', increment = 2) # orient berguna untuk menentukan format tanda panah, apakah vertical atau horizontal

counter3.pack(padx = 10, pady = 10)
counter3.setentry(50)

root.mainloop()

Screen shoot kode tersebut ketika di jalankan:

Time Counter – Python

Berikut ini kode pemrograman Python dengan memanfaatkan Python Megawidgets untuk membuat Time Counter:


root = Tkinter.Tk()
import Pmw
Pmw.initialise(root)

counter2 = Pmw.Counter(datatype = 'time', increment = 60)
counter2.configure(increment = 60*10) # Berguna untuk menambahan/mengurangi nilai menit sebanyak 10 menit
counter2.setentry('00:00:00')
counter2.pack(padx = 10, pady = 10)

root.mainloop()


Di bawah ini screen shoot tampilan GUI dari kode diatas setelah di eksekusi:

PostgreSQL dan pgAdmin 3

Saya saat ini sedang mempelajari tentang PostgeSQL, database server selain MySQL. Melihat dari alamat situsnya yg .org sepertinya mengesankan bahwa proyek database server yang ini tidak bersifat komersial seperti halnya situs MySQL yang berakhiran .com . Setelah saya amati lebih cermat, ternyata di PostgreSQL ini memang tidak ada download versi Enterprise yang sifatnya berbayar seperti di MySQL.

Sehingga menurut saya di PostgreSQL tidak ada fitur yang dihilangkan seperti halnya MySQL versi komunitas. Pernah juga baca-baca di Internet bahwa sebenarnya fitur-fitur di PostgreSQL ini lebih lengkap ketimbang MySQL. Kalau MySQL hanya menang di sisi kecepatannya saja. Sehingga saya lebih tertarik menggunakan PostgreSQL untuk disandingkan dengan kode-kode Python & C/C++ yang ingin saya pelajari.

Di situsnya pun dikatakan bahwa PostgreSQL ini memang cocok bila disandingkan dengan kode-kode pemrograman Python, C/C++ . Kemampuannya untuk diinstal di berbagai platform Operating System juga membuatnya cukup menarik. Di PostgreSQL juga terdapat User Interface untuk administrasi server seperti halnya di MySQL (yaitu SQLyog) . Jika di PostgreSQL, nama UI nya adalah pgAdmin 3.

Keberadaan pgAdmin 3 menurut saya membuat kita sebagai pengguna PostgreSQL bisa lebih mudah melakukan konfigurasi & administrasi server di Linux dengan tampilan berbasis GUI.

OpenOffice Macro


Saya mencoba untuk memasukan python sebagai kode pemrograman untuk 
Macro di OpenOffice, ternyata untuk bisa membuat/mengedit macro di 
OpenOffice ini diperlukan Java Runtime Environment. JRE ini tidak otomatis 
terinstal di Ubuntu 10.10 . Sehingga kita perlu mendownload & menginstal 
nya melalui Synaptic Package Manager.
  
Di internet dikatakan bahwa untuk dapat menampilkan pilihan JRE mana 
yang akan dipakai di OpenOffice 
( yaitu di bagian Tools → Options → OpenOffice.org → Java) 
maka kita perlu menginstal java package-common . Ternyata paket common 
ini sudah termasuk didalam package sun JRE yang independent. Jika 
menginstal package sun JRE yang independent, maka kita juga otomatis 
akan menginstal paket sun JRE yang dependent.
 Sehingga keseluruhan ukuran file yang akan didownload & diinstal adalah 
105 MB. Suatu ukuran yang cukup besar & lama jika didownload 
menggunakan telkom speedy, apalagi untuk akses ke server arsip ubuntu ID 
yang mungkin berada di luar negeri. Akhirnya saya tunda dulu kegiatan 
download & instal sun JRE, untuk sementara fokus mempelajari coding 
python tanpa perlu menyimpan data inputnya di file OpenOffice.

 

Minggu, 20 Maret 2011

Pelajaran Python Megawidgets – Membuat Counter


Setelah mencoba latihan Tkinter yang terdapat di buku John E. Grayson, yang judulnya Python and Tkinter Programming, yaitu aplikasi Calculator. Ternyata aplikasi ini menggunakan Python Megawidgets. Pada awalnya Python Megawidgets ini tidak langsung terinstal di Python 2.6 yang terdapat di OS Ubuntu 10.10 . Jadi mesti di instal dulu melalui synaptic package manager. Setelah terinstal ternyata ada bagian di latihan membuat aplikasi kalkulator itu yang belum lengkap. Oleh karena saya belum faham mengenai Python Megawidgets, jadinya aplikasi kalkulator itu belum dilengkapi baris-baris kode nya.


Saya tidak menginstal dokumentasi Python Megawidgets, karena saya lihat di situs web nya sudah ada dokumentasi nya. Jadi menurut saya, saya baca saja dokumentasi dari situs webnya ketimbang memenuhi hardisk saya dengan menginstal dokumentasi Python Megawidgets.


Mulailah saat ini proses saya dalam mempelajari/ memahami Python Megawidgets. Dokumentasi yang ada di situs web nya sudah saya copy paste ke OpenOffice Writer. Yang pertama saya coba adalah membuat counter.


Kode-kode inisialisasi Python Megawidgets yang harus ditulis dibagian awal/paling atas dari baris-baris kode Python Megawidgets ini adalah:


import Tkinter
root = Tkinter.Tk()
import Pmw
Pmw.initialise(root)
 

Sementara kode inti dari si Counter ini adalah:

counter1 = Pmw.Counter()
counter1.pack(padx = 10, pady = 10)
 

kalau kedua bagian kode diatas dijalankan melalui Terminal, maka tidak akan muncul 
jendela counter nya (soalnya cuma 2 bagian kode itu aja yg tertulis di dokumentasi 
Python Megawidgets) . Akhirnya coba nyari-nyari baris kode dari file latihan .py lainnya 
supaya si jendela counter bisa tetap tampil.
Kemudian ketemu baris kode ini:

root.mainloop()
 

maka baris kode nya yg lengkap adalah:

import Tkinter
root = Tkinter.Tk()
import Pmw
Pmw.initialise(root)
 
counter1 = Pmw.Counter()
counter1.pack(padx = 10, pady = 10)
root.mainloop()
 

Dan tampilan jendela counter nya adalah :
 

coba klik pada bagian tengah jendela itu, dan ketikan angka, misal nya 50, kemudian coba 
klik tanda panah sebelah kanan untuk menaikan nilainya menjadi 51, 52, 53, …..dst . 
Atau coba klik tanda panah disebelah kiri untuk menurunkan nilainya menjadi 
49, 48, 47,.....dst . Kemudian ada latihan selanjutnya, yaitu langsung menuliskan 
angka/nilai didalam counter itu melalui kode python. Jadi langsung kita tentukan nilai 
berapa yang langsung muncul di counter itu ketika counter itu di eksekusi. Baris kode yang
 perlu ditambahkan adalah:

counter1.setentry()
 

Untuk menambahkan nilainya, tinggal diisikan saja di dalam tanda kurung, contohnya jika 
ingin menaruh angka 50 sebagai angka awalnya maka baris kode nya menjadi:

counter1.setentry(50)
 
Baris kode lengkapnya adalah:
import Tkinter
  root = Tkinter.Tk()
  import Pmw
  Pmw.initialise(root)
  counter1 = Pmw.Counter()
  counter1.pack(padx = 10, pady = 10)
  counter1.setentry(50)
  root.mainloop()
cobalah eksekusi script python yang sudah di tambahkan kode itu.
Kemudian ada lagi variasi lainnya, bagaimana kalau angka yang muncul jika 
kita mengklik tanda panah adalah bertambah 2 angka atau berkurang sejumlah
 2 angka. Maka caranya adalah sebagai berikut:

 counter1 = Pmw.Counter(increment = 2)
maka setelah di tambahkan “increment =2” didalam tanda kurung diatas, jika 
kita mengklik tanda panah, maka angka yang muncul di counter akan di 
tambahkan 2 angka atau berkurang 2 angka. Contoh jika angka yg muncul 50,
 jika mengklik panah disebelah kanan maka akan muncul 52, 54, 56, 58,...dst .
 Jika mengklik panah disebelah kiri, maka angka akan berkurang sebanyak 
2 angka, yaitu 48, 46, 44, 42, ...dst.

Kode script lengkap nya adalah sebagai berikut:


 import Tkinter

 root = Tkinter.Tk()

 import Pmw

 Pmw.initialise(root)



 counter1 = Pmw.Counter(increment = 2)

 counter1.pack(padx = 10, pady = 10)

 counter1.setentry(50)



 root.mainloop()

Belajar Python 3


Pembelajaran pemrograman menggunakan bahasa Python 2.6 dan Ubuntu 10.10 masih berjalan dengan lancar. Tools yang digunakan adalah Gedit sebagai teks editor & Terminal untuk mengeksekusi file script dan mendebug kode-kode script tersebut. Untuk buku panduan belajar membuat GUI python menggunakan Tkinter saya membaca buku yg berjudul Python and Tkinter Programming yang ditulis oleh John E. Grayson . Juga terdapat contoh-contoh source code di buku tersebut, yang bisa didownload di Internet.


Saya mulai belajar membaca hasil debugging yang tampil di Terminal, mencoba memahami pesan Error yang muncul dan mencoba memperbaiki nya di source code. Untuk kemudian kembali mengeksekusinya melalui Terminal. Ternyata bahasa python ini juga bisa berkerjasama dengan bahasa C untuk menambah kemampuannya. Sehingga nanti jikalau saya ingin membuat aplikasi yang lebih besar atau memerlukan kemampuan yang lebih besar maka saya bisa menggabungkannya dengan C/C++ .

Jumat, 18 Maret 2011

Video di VLC Ubuntu 10.10


Belum juga berhasil menampilkan video di Linux Ubuntu 10.10 yg terinstal di Laptop Axioo alias Clevo. Padahal sudah download medibuntu repository, tapi belum juga berhasil menampilkan gambar video dilayar VLC player. Yang tampil cuma layar kosong berwarna hitam, padahal di bagian statistik nya sudah terlihat bahwa bahwa video nya sudah diproses dengan codec. 

Tampilan layar VLC media player yg hanya menampilkan layar gelap


Gambar statistik proses decoding file berformat .avi



Masih bingung saya bagian mana lagi yang perlu dirubah untuk bisa menampilkan gambar video di video player, semacam VLC. Maklum soalnya kan saya baru belajar menggunakan Linux Ubuntu. Jadi belum terlalu memahami sistem operasi ini & berbagai macam settingan aplikasinya.


Gambar hasil Snap Shoot menggunakan VLC Media Player
 
Berarti kan di balik layar berwarna hitam itu sebenarnya file videonya sudah dapat dimainkan, hanya saja mengapa tidak tampil gambar video nya di layar?

Selasa, 15 Maret 2011

Wget


Proses mendownload file di Ubuntu 10.10 menjadi sangat mudah dikarenakan adanya download manager bernama Wget. Wget dapat dijalankan melalui Terminal. Untuk mendownload file kita tinggal mengetikan perintah:

wget [URL file yang akan didownload]

kemudian menekan tombol Enter , maka proses download segera dimulai. Jika ingin melakukan Pause terhadap proses download yang sedang berlangsung, kita tinggal menekan tombol berikut ini secara bersamaan:

Ctrl + c

dan untuk melanjutkan proses download file yang telah di Pause, kita tinggal mengetikan perintah:

wget -c [URL file yang proses downloadnya di Pause]


maka wget akan melanjutkan proses download dari bagian terakhir file tersebut terdownload. Kecepatan transfer data yang terdapat di wget sangat lah cepat. Dibandingkan dengan software Flashget yang di jalankan di Windows, wget bisa mencapai kecepatan download yang lebih tinggi dibandingkan Flashget.

Sabtu, 12 Maret 2011

Python dan PDF di Linux


Setelah mencari-cari bahasa dan tools pemrograman apa yang sekiranya cocok dipakai untuk menulis kode program di Linux, akhirnya diputuskanlah untuk menggunakan Python, dengan IDLE sebagai IDE nya. Sebelumnya sempat melihat-lihat bahasa C++ dengan Geany & Anjuta sebagai IDE nya. Kemudian juga melihat-lihat bahasa C# dengan MonoDevelop sebagai IDE nya.


Juga sempat cari-cari referensi soal GTK, GTK+ , GTK#, dan QT untuk membuat GUI program aplikasi di Linux. Geany katanya sangat cocok untuk pemula yang mau belajar bahasa C/C++ . karena sangat ringan & sederhana programnya. Anjuta dinilai terlalu berlebihan sebagai IDE bagi pemula yang ingin belajar bahasa C/C++.


Sementara MonoDevelop katanya sangat bagus untuk membuat aplikasi berbasis C# . Namun sempat lihat situs resminya, katanya Linux Ubuntu belum didukung secara resmi oleh perusahaan pengembangnya, masih berupa dukungan komunitas untuk paket MonoDevelop yang tersedia bagi Linux Ubuntu. Distro linux yang didukung secara resmi oleh perusahaan pengembangnya adalah Linux Suse.



Saya tahu bahasa yang sepertinya native di Linux, ialah Bahasa C dan Python. Jadi ingin belajar kedua bahasa ini. Mudah-mudahan kalau bisa menguasai kedua bahasa ini, bisa membuat program mulai dari level Linux Desktop hingga Linux Server, dan mampu melakukan pemrograman Jaringan Linux.


Sempat juga terlihat Java telah tersedia di Ubuntu Software Center, untuk IDE nya tersedia Eclipse & Netbeans. Saya sangat berminat terhadap pemrograman OOP (Object Oriented Programming). Jadi untuk di Linux akan memilih bahasa C++ dan Python sebagai bahasa pemrograman yang dipakai.


Setelah melihat-lihat di forum-forum Linux dan mencoba mengeksplorasi Ubuntu Software Center dan Synaptic Package Manager. Saya melihat bahwa Interpreter Python versi 2.6 sudah terinstal di Ubuntu 10.10 . Kebetulan Python versi 2.6 ini juga saya instal di komputer yang menggunakan OS Windows, untuk belajar pemrograman Python di OS Windows.



Berarti menurut saya, hanya perlu menginstal IDLE (Python IDE) untuk melengkapi interpreter yang sudah duluan terinstal. Ternyata saya menemukan bahwa aplikasi teks editor, yaitu Gedit juga telah memiliki fitur Highlight Mode untuk bahasa Python. Kemudian Calculator di Ubuntu 10.10 ini juga telah memiliki Mode untuk pemrograman.


Jadi kesimpulan saya, Linux Ubuntu 10.10 ini memberikan dukungan yang lebih besar terhadap hobi pemrograman ketimbang OS Windows. Di Windows kita harus mendownload dan menginstal paket Python sendiri, kemudian Notepad bawaannya tidak mendukung fitur syntax highlight, Kalkulator nya juga tidak ada mode pemrogramannya.


Bahkan untuk bisa menjalankan Python melalui Command Prompt di Windows kita harus mengedit Variabel Enviroment dan Ext Environment terlebih dahulu. Sementara di Linux kita tidak perlu melakukan kedua hal itu, di Linux Ubuntu 10.10, kita cukup mengetikan kata python di terminal, dan otomatis, python shell pun langsung berjalan di terminal.


Saya lebih duluan belajar Python di Windows daripada di Linux. Dan hingga saat ini ternyata cara untuk melakukan pemrograman menggunakan bahasa Python baik di Windows maupun Linux tidak berbeda. Hal ini mempermudah kita yang sedang belajar, untuk coding dan menjalankan script yang kita buat baik di Windows maupun Linux. Dan ternyata script yang saya buat di Windows pun mampu di jalankan di Linux.


Saya sudah mencoba membuat GUI menggunakan Tkinter, ternyata dengan Tkinter kita bisa membuat GUI dengan python tanpa perlu menginstal program tambahan. Sebelumnya saya mengira harus belajar Gnome atau GTK dulu untuk membuat GUI program yg saya buat dengan bahasa Python di Linux Ubuntu 10.10 .


Sebelumnya juga sempat bingung bagaimana caranya menampilkan file berformat PDF di Ubuntu. Kalau di windows kan bisa menggunakan Adobe Reader atau Foxit Reader . Ternyata kalau di Ubuntu sudah terinstal software Document Viewer, sempat bingung karena Document Viewer nya tidak muncul di menu start Ubuntu. Ternyata kita bisa mengaksesnya dengan mengklik kanan di file PDF di Window Explorer nya Ubuntu. Saya mengetahui bahwa Document Viewer sudah terinstal, dengan melihat di Ubuntu Software Center.


Semakin asyik saja menggunakan Linux ini dan jadi semakin bertambah yakin bahwa Linux bisa menggantikan Windows yang selama ini saya pergunakan untuk melakukan pekerjaan dengan komputer setiap hari.

Rabu, 09 Maret 2011

Media Player Di Ubuntu 10.10


Hal pertama yang cukup membingungkan setelah penginstalan ubuntu adalah
media player yg tersedia di ubuntu. Tidak seperti di windows, yg setelah diinstal kita bisa langsung menikmati video atau musik dengan format yg didukung windows. Di laptop axioo saya, baik VLC maupun Movie Player hanya bisa menampilkan audio dari film tersebut, namun video nya tidak nampak. Hal ini lah yang masih saya cari pemecahan masalahnya.


Mau coba instal restricted package dari ubuntu. Jadi untuk sementara, menurut saya kalau untuk hiburan, sebaiknya menggunakan windows aja dulu. Sambil berusaha memahami Linux. Katanya hardware juga berpengaruh dalam hal ini. Karena Axioo memakai chipset Grafis dari Sis yg katanya agak rewel dengan urusan multimedia di Linux, juga chipset Via yg katanya ada juga bermasalah dengan Linux.


Apa mungkin karena laptop nya berharga murah ya, jadi cuma support Windows? Tapi saya nggak menyerah untuk belajar Linux. Masa sih hanya windows satu-satu nya operating system yang bisa melakukan segalanya di dunia ini?


Untuk masalah grafis itu, nanti saya akan mencoba komputer dengan motherboard yang memiliki chipset Intel. Semoga hasilnya akan berbeda.

Awal Berkenalan Dengan Linux


Setelah sekian lama ingin menginstal Linux, akhirnya terinstal juga nih Linux Ubuntu 10.10 di Laptop Axioo. Diambil tindakan radikal, dengan memformat keseluruhan hardisk yang sebelumnya didiami oleh Windows XP Professional yang original.


Karena bingung kalau mau instal Linux bersebelahan dengan Windows, lagipula hardisknya cuma 40 GB. Hebat nih sih Ubuntu Maverick, dari live cd yang dijalankan, dia bisa memformat keseluruhan hardisk yang berisi windows XP professional dan seluruh software dan driver-driver nya. Untuk kemudian menginstalkan dirinya diatas hardisk itu.


Sebelumnya saya belum pernah bisa menginstal sistem operasi sendiri. Dulu juga tidak bisa menginstal windows. Jadi linux ubuntu 10.10 ini merupakan sistem operasi pertama kali yang saya instal sendiri. Ternyata proses instalasi Linux ini sangatlah mudah. Si Linux bisa jalan sendiri, yang penting sudah dikoneksikan dengan internet.


Cuma yang agak mengesalkan adalah saat mendownload Language Package & Packages yang waktu download nya sangat lama, kecepatan downloadnya juga tidak menentu, seolah-olah proses downloadnya tanpa akhir.


Akhirnya karena khawatir tagihan Telkom Speedy membengkak maka saya matikan modem Speedy nya dan proses download package tidak sampai selesai. Akhirnya sepertinya si Ubuntu cuma menginstal package yg berhasil di download aja. Sampai disini cukup bingung juga dengan proses download saat menginstal itu, tidak pernah saya alami hal itu pada saat menginstal windows.

Jadi dalam anggapan saya yang masih awam soal Linux ini, file instalasi ubuntu sebesar 700 MB yg saya download dulu ternyata masih kurang untuk menginstal sebuah Ubuntu.