Langsung ke konten utama

Postingan

Menampilkan postingan dengan label python

Menghitung Pi

Wah, lama tidak menggunakan Python, otak terasa buntu. Soal yang perlu dipecahkan sederhana: hitunglah Pi menggunakan Wallis Formula : setelah 1 jam mencoba, maka saya menemukan potongan kode yang saya rasa betul: In [50]: pi = 2 * reduce(lambda x,y: x*y, [(4.0*i**2)/(4.0*i**2-1) for i in xrange(1,1000)]) In [51]: pi Out[51]: 3.1408069608284657 Wah, ternyata lebih ribet dari yang saya kira pada awalnya. Namun cool ... kita dapat menghitung Pi hanya dengan satu baris kode yang melibatkan fungsi built-in reduce , lambda , serta list comprehension . Yang baru saya pelajari dan gunakan adalah fungsi reduce . Potongan penjelasan mengenai fungsi reduce dari help Python: reduce ( function ,  iterable [ ,  initializer ] ) Apply   function   of two arguments cumulatively to the items of   iterable , from left to right, so as to reduce the iterable to a single value. For example, reduce(lambda   x,   y:   x+y,   [1,   2,   ...

Instalasi Python 3, Pygame, dan IPython di Windows 7

Termotivasi oleh video Jessica McKellar ini , tahun ini saya membangun kembali ketertarikan saya akan pemrograman Python. Saya sudah cukup lama mengenai Python, bahkan dulu sempat mengandalkan Python untuk menghasilkan aplikasi keuangan dan gudang. Sayangnya, sejak saya menjadi "pegawai", saya tidak punya banyak kesempatan untuk menggunakan Python. Namun, Python tetap menjadi hobi. Mulai dari mana? Saya memutuskan untuk mulai dengan mempelajari kembali Python, khususnya yang berhubungan dengan membuat game dengan Pygame dan Python 3. Python 3.  Blog ini merupakan catatan saya saat menginstalasi Python 3 di laptop. Laptop saya bersistemoperasikan Windows 7. Python 2.7 sudah terinstall dalam laptop dan menjadi "default" aplikasi untuk membuka script Python. Dengan kata lain, saya ingin ada 2 versi Python di laptop ini.  Mula-mula, saya menentukan Python 3 versi berapa yang akan saya install. Pilihan saya jatuh pada Python 3.2. Alasannya semata-mata karena P...

Masa Depan Pemrograman Python oleh Jessica McKellar

Presentasi menarik dari Jessica McKellar mengenai masa depan pemrograman Python sangat dipengaruhi oleh popularitas Python khususnya dalam pemrograman di Windows,  game, mobile apps,  dan scientific programming:   Khusus untuk Indonesia saya pikir perlu ditambahkan: pemrograman web

Belajar: List Method

Sekedar mengulang mengenai 'list method ': method (atau ada yang menyebug fungsi) bawaan untuk objek 'list'. List Method: append : menambahkan item ke dalam list count : menghitung berapa banyak item ada dalam list extend : menambahkan item dari list lain ke dalam list index : memberitahukan index/posisi dari sebuah item dalam list pop : mengeluarkan sebuah item dari list; mengembalikan item tersebut sebagai 'return value'.  Jika tidak ditentukan index item yang akan dikeluarkan, fungsi akan mengeluarkan item terakhir dalam list remove : menghapus item tertentu dari list reverse : mengurutkan list secara terbalik (dari item besar ke kecil) sort : mengurutkan list (dari item kecil ke besar) Beberapa contoh: >>> my_list = ['chopsticks', 'dark soy sauce', 'wasabi', 'fugu', 'sake', 'ramen', 'shiitake mushrooms'] >>> my_list.sort() >>> my_list ['chopsticks', ...

Video: Google Python Class Day 1 Part 2

Lanjutan Video Google Python Class Day 1 Part 2

Video: Google Python Class Day 1

Video menarik yang ingin belajar pemrograman Python: Google Python Class Day 1 Part 1: Introduction dan Strings

Comiker, the comic maker

Menyenangkan melihat bagaimana Python digunakan untuk menghasilkan webbsite yang 'lucu' seperti Comiker, the comic maker ini. Comiker adalah situs yang dirancang bagi orang yang ingin dapat membuat komik pendek walaupun tidak dapat menggambar. Pembuat situs menyediakan beberapa karakter yang dapat dipilih. Tugas pembuat komik hanyalah menciptakan dialog yang 'menggelitik'. Comiker dibangun menggunakan Flask , salah satuwebframework yang menggunakan bahasa pemrograman Python.

Portable Python : Python dalam Flash disk

Kasus: perusahaan saya tidak mengijinkan saya untuk melakukan instalasi aplikasi lain ke dalam laptop perusahaan selain yang telah diinstall oleh departemen IT perusahaan. Padahal saya ingin belajar pemrograman python. Distribusi standar python untuk Windows dari python.org merupakan installer yang memerlukan hak administrator sehingga tidak diijinkan untuk diinstall ke dalam laptop perusahaan. Lalu? Ada solusinya. Ada distribusi python yang tidak berbentuk installer, yang didistribusikan dalam bentuk zip. Jika ingin digunakan unzip saja filenya misalnya dalam hardisk eksternal atau flash disk. Maka kini kita siap untuk membuat program dengan python. Salah satu distribusi python dalam bentuk zip : Portable Python . Portable Python FREE untuk digunakan dan dapat dijalankan di Windows 98, Windows XP, juga WIndows 7.   Screenshot Portable Python: Sisi plus Portable Python: telah memaketkan juga IDE: Pyscripter dan SPE Shell: IPython Django Pygame Python Imaging Library (PIL) ...

Kembalinya python.or.id

Setelah lama tidak aktif, akhirnya sejak 28 Juni 2011 domain dan website python.or.id kembali aktif. Bermula dari diskusi yang hangat di milis id-python ( id-python@yahoogroups.com ) maka beberapa anggota milis bernisiatif untuk mengaktifkan kembali website python.or.id. Ditunjuklah Edwin Nathaniel ( edwin.ugroups@yahoo.com ) sebagai koordinator/Project Manager. Pertama-tama didaftarkan anggota milis yang bersedia menjadi kontributor baik sebagai admin, coder ataupun untuk mengisi content/isi dari website. Maka terbentuklah tim kecil terdiri dari 6 orang yang dalam waktu beberapa hari saja sudah menjadi 9 orang sukarelawan. Selanjutnya, pendaftaran ulang domain python.or.id ke PANDI ( http://www.pandi.or.id ). Tantangan pertama adalah PANDI meminta persetujuan dari PSF (Python Software Foundation) sebagai prasayarat pendaftaran domain python.or.id. Pendekatan dan negosiasi ke PANDI dan PSF pun dilakukan, dan akhirnya pada 28 Juni 2011, domain python.or.id pun terdaftar kembali. Tamb...

Solusi dengan Python, Cepat Mudah Membuat CSV: modul CSV

Salah satu kelebihkan python yang sangat saya sukai adalah python memiliki koleksi modul yang lengkap dan mencakup berbagai jenis tugas sehingga saya dapat dengan cepat mencari solusi dari  permasalahan yang ada. Contohnya kemarin akuntan kantor bingung karena dia diminta oleh bank untuk mensubmit file csv yang berisikan data-data untuk transfer payroll/gaji karyawan. Bank mengirimkan template berkas csv yang dapat diimpor oleh sistem bank. Maka dia menerima file csv yang berisikan 41 field, sebagian harus diisi dan sebagian opsional. Setiap field dipisahkan oleh koma (,). Dia mengeluh karena format yang harus dia masukkan bagi dia terasa tidak 'user friendly'. Sudah coba impor dan ekspor file csv menggunakan Excel namun tetap kurang 'nyaman'. Akhirnya tadi malam berbekalkan modul csv serta PyQt4, saya buatkan antar muka untuk memasukkan data payroll yang kemudian disimpan dalam format csv.  Sekali lagi, python membantu saya cepat menemukan solusi bagi problem di k...

Rilis Terbaru Python: 2.7.1 dan 3.1.3

Ini sebetulnya berita yang sudah ketinggalan :) secara sudah lama nggak update blog ini. Python versi stabil yang terakhir dirilis: Python 2.7.1 Python 3.1.3 Sedangkan, Python versi Beta yang terakhir dirilis: Python 3.2 beta release 2

Learning Python di Google Books

Salah satu buku untuk belajar Python yang menurut saya terbaik adalah " Learning Python" oleh Mark Lutz. Dan kabar baiknya: Learning Python edisi ketiga kini dapat dibaca bebas di Google Books: http://books.google.com/books?id=nEJ-jcYF2fMC&lpg=PP1&pg=PR4#v=onepage&q&f=false Selamat membaca dan belajar python!

Beberapa Blog: Why Python?

Masih berkaitan dengan posting sebelumnya: Mengapa (Bukan) Python? , ini hasil Googling atas term pencarian: 'Why Python'? Why Python ? | Linux Journal 30 Apr 2000 ... Article by Eric Raymond where he explains reasons that led him to switch from Perl to Python . www.linuxjournal.com/article/3882   Python Success Stories 17 Jan 2003 ... My first look at Python was an accident, and I didn't much like what I saw at the time. It was early 1997, and Mark Lutz's book Programming ... www. python .org/about/success/esr/   What is Python and Why Python 30 Jul 2007 ... Python is an agile programming language. ... that either have negative connotations or don't really get across why Python is so great. ... python card.sourceforge.net/what_is_ python .html   Philip Guo - Why Python is a great language for teaching beginners ... 18 May 2007 ... I think that Python is superior to many other languages for teaching introductory programming because it allows the s...

Mengapa (Bukan) Python?

Sebagai seorang yang sering menganjurkan Python sebagai bahasa pemrograman pertama/bahasa dalam mempelajari pemrograman, saya seringkali ditanya: Mengapa Python? Biasanya saya akan langsung menjawab mengenai fitur-fitur dan kelebihan bahasa Python . Namun jika ditanyakan kembali kepada saya, saya akan menjawab: Mengapa tidak ? Sebagai seorang yang senang mempelajari  bahasa pemrograman baru, hal yang saya inginkan (dan saya pikir diinginkan sebagian besar newbie ) adalah bahasa pemrograman yang: Sederhana Mudah dipelajari Dapat menghasilkan program yang berguna dalam waktu singkat Dan itu semua saya dapatkan saat mempelajari bahasa Python. Sederhana Bahasa pemrograman Python adalah bahasa pemrograman yang termasuk paling sederhana khususnya dalam hal syntax : variabel tidak perlu dideklarasikan tipe datanya,  tidak ada kurung untuk menandai blok kode program tidak ada keharusan titik koma di akhir statement , tidak memaksakan newbie  untuk mengerti konse...

Aplikasi: Ping Me!

Saya sering mengalami koneksi internet dengan Speedy kurang stabil, sering putus. Browsing di internet banyak yang menuliskan bahwa koneksi internet dapat dibuat lebih stabil dengan melakukan ping terus-menerus ke server tertentu yang stabil. Caranya misalnya dituliskan di blog Ariawijaya . Tapi, saya orang yang malas untuk mengetikkan perintah di command prompt. Akhirnya saya buat saja antar muka grafis untuk perintah 'ping namaserver -t' ini dan saya panggil aplikasi ini Ping Me . Aplikasi ini sangat sederhana (kode intinya < 60 LOC) dibuat dengan PyQt4. Kode sumber dapat dilihat di GitHub . Tampilannya: Self-executable files (sehingga dapat dijalankan langsung tanpa install Python) dapat diunduh di Indowebster: Ping Me

Showmedo.com - Video Tutorial untuk belajar Python

Saya termasuk orang yang menyukai cara belajar multimedia, karena itu belajar menggunakan tutorial video lebih menyenangkan bagi saya dibandingkan belajar dari hanya membaca buku. Salah satu situs yang menurut saya terbaik untuk mempelajari Python adalah: showmedo.com . Banyak sekali tutorial untuk belajar Python di sini: mulai dari level pemula, menengah, hingga mahir. Silakan browsing ke http://showmedo.com/videotutorials/python .  Kita juga dapat bergabung dengan Club . Club adalah kelompok pengguna yang membayar biaya keanggotaan. Saat ini biayanya USD 39 (sekali bayar saja!). Anggota Club dapat mengakses seluruh koleksi video (beberapa video hanya bisa diakses oleh anggota Club dan tidak bisa diakses oleh non-anggota Club). Selamat belajar Python!

Berkenalan dengan PyQt4: Widget dan Signal-Slot

Widget Nah, sekarang kita belajar untuk menambahkan komponen tambahan ke dalam jendela utama aplikasi kita. Komponen ini dalam Qt dikenal sebagai widgets. Sebagai contoh saya akan menambahkan satu buah widget ke dalam jendela utama. Oh ya, sebelumnya saya belum bilang ya, aplikasi apa yang mau dibuat? Saya ingin membuat aplikasi sederhana untuk menampilkan halaman twitter saya. Alasannya sih: untuk belajar PyQt, juga karena saya malas install twitter client yang umumnya berbasis Adebe AIR. Canggih sih Adobe AIR cuma instalasinya gede. Selain itu karena di komputer saya memang sudah ada python dan PyQt4. Saya akan menambahkan satu buah widget: QWebView yaitu widget untuk menampilkan halaman web, sebuah widget dasar untuk membuat browser web. Kodenya: Catatan: saya membuat fungsi tersediri untuk membuat menu, sehingga kode intinya nggak terlalu 'ramai'. Kode untuk menambahkan widgetnya sih sebetulnya cuma: Nah, hasilnya seperti ini: Hehehe, lumayan.... punya Twi...

Berkenalan dengan PyQt4: QMainWindow

Saya berharap pada postingan sebelumnya rekan-rekan sudah mendapat gambaran mengenai pemrograman dengan PyQt4. Nah, saya akan lanjutkan perkenalan kita dengan PyQt4. Ya, perkenalan kita karena sambil menulis blog ini saya pun sedang belajar. Selanjutnya kita berkenalan dengan QMainWindow. Pada aplikasi berbasis grafis umumnya kita memiliki satu jendela/window yang menjadi jendela utama, kerennya dalam bahasa Inggris, Main Window. Dari Main Window ini bila kita klik menu atau tombol maka kemudian muncul akan jendela-jendela dialog. Contohnya jendela utama MS Word: Dan apabila klik tombol bergambar disket yang berarti kita ingin menyimpan aplikasi maka akan muncul jendela dialog 'Save As' berikut: Nah, dalam Qt/PyQt, kelas untuk menghasilkan jendela utama didefinisikan dalam kelas QMainWindow. Baik, saya akan mulai untuk menggunakan QMainWindow untuk menghasilkan jendela utama yang kosong saja, tanpa aksesoris apapun. Kodenya sebagai berikut: Apabilan dijalankan maka ak...

Berkenalan dengan PyQt4

Belajar pemrograman python memang menyenangkan. Banyak persoalan pemrograman yang bisa diselesaikan dengan cepat bila menggunakan python. Di awal-awal mempelajari python, pemrograman berbasis teks lama-kelamaan terasa kurang 'keren'. Apalagi sekarang ini di Indonesia pemrograman visual sangat-sangat populer. Dan yang paling populer tentu saja: Visual Basic . Ditambah dengan dilepasnya Visual Studio Express Edition secara gratis, makin populer deh si VB itu! Di tengah gempuran newbie-newbie pemrogram yang dengan cepat menampilkan tampilan  'Hello world' berbasis grafis, 'Hello world' berbasis teks nampak kurang 'keren'. Kabar baiknya, tersedia modul-modul python yang dapat membantu pemrogram python untuk menghasilkan tampilan grafis dengan cepat. Ada beberapa modul sih sebetulnya. Namun yang populer, ada 4 jagoan: tkinter (ini bawaan dalam setiap instalasi python), wxPython , PyGTK , dan PyQt4 . Tulisan ini akan fokus kepada salah satu jagoan saya: PyQ...