Saturday, June 9, 2018

JSON dengan Python


Mari kita coba-coba belajar Python untuk mengolah data JSON, sebelumnya mari kita pahami dulu apa itu JSON.

JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data (sumber : www.json.org)

Monday, November 17, 2014

Membuat ORM Dengan Python

Apa itu ORM ? Hasil googling di index pertama dengan 'keyword' yang sama dengan pertanyaan barusan menurut artikel di javan.co.id, ORM adalah sebagai berikut :
"ORM merupakan kependekan dari Object Relational Mapping, sebuah teknik pemrograman yang memetakan sebuah objek dengan database. ORM ini akan membantu menjadi ‘jembatan’ antara objek yang didefinisikan dalam kode program dengan database, bagaimana objek itu disimpan, diambil, dihapus dan sebagainya. Dengan ORM ini, programmer dibantu untuk melakukan aksi-aksi yang diperlukan terkait komunikasi objek ketika program dijalankan dengan database seperti menyimpan objek, mengambil data objek dari database kemudian ditampilkan, menghapus objek, mengubah objek dan sebagainya."
Wow, canggih ya ? saya juga jadi penasaran seperti apa sih ORM itu dan bagaimana membuatnya. Setelah membaca literatur ringan mengenai DOCTRINE (salah satu ORM berbasis PHP yang populer) dan mencoba beberapa ORM yang pernah saya gunakan dan pelajari contohnya adalah ORM yang digunakan Symfony, Django dan ORM yang digunakan oleh App Engine Google, saya mencoba membuat project ORM kecil sebagai percobaan hasil belajar saya tentang ORM yang saya tempatkan di GitHub dengan nama EasyORM. Bila Anda juga berminat untuk mempelajari dan berbagi pengetahuan Anda tentang ORM (dan Python) dengan saya silahkan berkontribusi disini.

Monday, October 20, 2014

MVC Sederhana Dengan Python

Pemrograman Python sudah mendukung pengembangan aplikasi berbasis MVC, beberapa aplikasi dan framework berbasis Python populer saat ini yang sudah mendukung MVC dengan Python antara lain wxPython, Django dan Web2py.

Terinspirasi dengan artikel wxPython yang mengulas teknik pembuatan aplikasi berbasis MVC, dengan tulisan ini saya bermaksud sedikit berbagi bagaimana menggunakan teknik MVC sederhana dalam pemrograman Python.

Tapi sebelum kita mulai tidak ada salahnya kita ulas sedikit apa itu yang dimaksud MVC.

Dikutip dari Wikipedia, Model-View-Controller atau MVC adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller). Dalam implementasinya kebanyakan framework dalam aplikasi website adalah berbasis arsitektur MVC. MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi web.

Friday, August 17, 2012

Koneksi MySQL Dengan Python dan CherryPy

Salah satu kelebihan Python adalah dukungannya terhadap database, Python sudah mendukung hampir semua database populer yang banyak digunakan saat ini bahkan Python sudah mendukung ADO dan ODBC.

Beberapa waktu yang lalu saya membaca sebuah pertanyaan pada salah satu thread milis ID-Python yang berkaitan dengan koneksi database dengan Python (terutama menggunakan web framework Django).

Sebenarnya sudah cukup lama saya berniat memposting tulisan yang berkaitan dengan koneksi database MySQL dengan Python. Untuk menghubungkan Python dengan MySQL dibutuhkan modul Python yang bernama MySQLdb (mysql-python) yang dapat diunduh di http://sourceforge.net/projects/mysql-python.

Bagi Anda pengguna Linux Slackware, untuk mempermudah proses installasi dapat menggunakan script SlackBuild yang bisa diunduh di http://slackbuilds.org/repository/13.37/development/MySQL-python/.

Python dan MySQL

Disini saya tidak akan menjelaskan cara penginstallasian modul MySQLdb dan MySQL server (silahkan membaca dokumentasi masing-masing item tersebut). Setelah modul MySQLdb terinstall, mari kita lakukan percobaan dengan menggunakan konsol Python.

Buka konsol Python, bila menggunakan windows silahkan gunakan IDLE (Python GUI) atau bila Anda menggunakan Linux ketik "python" pada konsol Linux hingga tampil konsol Python yang ditandai dengan prompt ">>>"

Wednesday, August 15, 2012

Templating CherryPy Dengan Jinja2

Bila ditulisan sebelumnya membahas tentang setting web server dan installasi CherryPy, sekarang saatnya membahas penggunaan template pada CherryPy dengan menggunakan Jinja2. Saya menggunakan Jinja karena formatnya sangat familiar dengan format template pada Django dan templating system pada Appengine.

Sebenarnya saya juga pernah menulis tentang penggunaan templating system pada CherryPy hanya saja ditulisan tersebut saya melakukan percobaan menggunakan fasilitas Google Appengine dengan contoh menggunakan templating system default milik Appengine.

Dengan keterbukaan framework CherryPy sebenarnya kita bisa menggunakan templating system yang lain selain Jinja, antara lain ZPT, Cheetah, Genshi dan lain-lain coba cek dokumentasi CherryPy yang berkaitan dengan templating pada CherryPy.

Installasi Jinja2

Silahkan unduh Jinja2 di http://pypi.python.org/pypi/Jinja2/. Sebelum Anda melakukan installasi Jinja pastikan di server Anda sudah terinstall setuptools, bila belum silahkan unduh di http://pypi.python.org/pypi/setuptools/. Berhubung saya menggunakan Slackware, untuk mempermudah proses instalasi saya menggunakan script SlackBuild yang bisa diunduh di http://slackbuilds.org/repository/13.37/python/pysetuptools/.

Install Jinja dengan perintah berikut :

# python setup.py install

Untuk mengetahui cara installasi, setting dan penggunaan API Jinja selengkapnya silahkan baca dokumentasinya di http://jinja.pocoo.org/docs/

Sunday, August 12, 2012

Setting mod_wsgi dan CherryPy Dengan Apache

Apa itu mod_wsgi ? menurut para pengembangnya, mod_wsgi adalah sebuah modul sederhana yang diimplemetasikan sebagai modul Apache web server yang berfungsi untuk menangani aplikasi web berbasis Python yang mendukung antarmuka Python WSGI.

Apa itu CherryPy ? CherryPy adalah HTTP framework Python yang berorientasi object, dengan CherryPy kita dapat membuat berbagai aplikasi web berbasis Python bahkan dengan CherryPy kita juga dapat mengembangkan web framework berbasis Python. Salah satu contoh web framework Python populer yang dikembangkan menggunakan CherryPy adalah TurboGears.
  
Installasi  CherryPy

Unduh CherryPy (versi terbaru saat tulisan ini dibuat adalah versi 3.2.2) di http://download.cherrypy.org/cherrypy/3.2.2/, kemudian ekstrak dan masuklah ke folder tempat kita mengekstrak CherryPy tersebut kemudian berikan perintah berikut untuk menginstall CherryPy yang sudah kita unduh. 

# python setup.py install 

Installasi mod_wsgi

Disini saya menggunakan web server Apache berbasis Slackware 13.37. Untuk dapat menggunakan mod_wsgi kita harus terlebih dahulu menginstall modul ini yang source-nya bisa diunduh di http://code.google.com/p/modwsgi/.

Monday, August 6, 2012

Mail Server Postfix, Dovecot dan SSL Berbasis Slackware

Beberapa hari terakhir ini sebenarnya cukup melelahkan juga, dapat project membangun mail server hingga memaksa saya sibuk Googling sana-sini hanya untuk mencari artikel dan forum yang berkaitan dengan mail server berbasis slackware dengan Postfix, Dovecot dengan autentifikasi SSL.

Cukup sulit juga, apalagi bila saya perhatikan sangat sedikit sekali artikel yang membahas mail server Slackware yang saya temui karena sebagian besar artikel dan forum yang ada kebanyakan membahas masalah mail server berbasis Debian, Ubuntu dan Redhat.

Terlebih lagi, berdasarkan beberapa artikel yang saya baca Slackware tidak mendukung PAM. Jadi untuk menggunakan SSL pada mail server yang akan kita buat harus menginstall Cyrus terlebih dahulu.

Akhirnya setelah oprek sana-sini dengan arahan artikel dan dokumentasi berikut :

https://www.zulius.com/how-to/set-up-postfix-with-a-remote-smtp-relay-host/
http://www.postfix.org/SASL_README.html
http://wiki.dovecot.org/HowTo/PostfixAndDovecotSASL
http://wiki1.dovecot.org/HowTo/DovecotLDAPostfixAdminMySQL
http://library.linode.com/email/postfix/dovecot-mysql-debian-6-squeeze 

Dan beruntung, saat ini Dovecot sudah mendukung SSL hingga saya tidak perlu lagi menggunakan Cyrus untuk dapat membuat mail server Slackware dengan SSL.

Saturday, April 21, 2012

Pemburu Sinyal

Judul di atas terdengar lebay bukan, hehehe.... maklum saja sejak pindahan rumah dua minggu terakhir ini saya memang lagi kesulitan bandwith untuk koneksi internet saya. Maklum saja saat ini saya pindah ke daerah pinggirian kota Jakarta yang jaraknya cukup jauh, bagi sebagian orang daerah tempat tinggal saya ini disebut tempat jin buang anak atau lebih lucu lagi ada kelakar salah seorang rekan bilang ' kalo ke rumah elo sepertinya harus bawa topi, sebab kalo gak nanti kepala ke patok ular' (tempat saya tinggal memang masih banyak lahan-lahan kosong dan masih rimbun beda dengan Jakarta).

Bicara mengenai 'kesulitan bandwith' di atas, saat ini saya lagi semangat-semangatnya mencari provider wireless dengan sinyal mumpuni. Tapi setelah tanya tetangga kiri-kanan, ternyata hampir semua sinyal telekomunikasi baik GSM maupun CDMA di daerah perumahan saya ini diterima sangat lemah. Salah satu penyebabnya adalah lokasi geografis perumahan tempat tinggal saya yang berada di cekungan (letak perumahan lebih rendah dari perumahan penduduk perkampungan sekitar dan jalan raya diluar komplek), kasarnya seperti tinggal di dalam baskom hehehe...

Saya sudah mencoba menggunakan GSM modem menggunakan XL bahkan Flash yang katanya memiliki jaringan 3G terbaik masih tidak dapat diterima dengan baik disana (meskipun masih bisa menerima satu bar sinyal 3G) hingga koneksi putus nyambung terus.

Dari hasil Googling, katanya untuk daerah 'remote' seperti tempat saya tinggal paling cocok menggunakan koneksi CDMA. Tapi setelah 'bela-belain' membeli modem AHA dengan Evdonya ternyata juga masih lemot, memang sih dibandingkan menggunakan GSM koneksi CDMA ini jauh lebih stabil karena durasi DC-nya jauh lebih lama hehehehe....

Ada juga yang menganjurkan menggunakan antenna penguat sinyal, mulai dari lilitan kabel tembaga, menggunakan sendok sampai menggunakan antenna beneran seperti Yagi (bisa beli atau bikin sendiri). Tapi sepertinya ribet juga, dari pada kelamaan jalur terakhir adalah menggunakan koneksi Speedy Telkom.

Meskipun sebenarnya saya juga ga terlalu percaya dengan koneksi yang satu ini tapi gapapalah, dari pada gak ada koneksi sama sekali. Terus terang saya sangat membutuhkan koneksi internet untuk mendukung rutinitas sehari-hari.

Saturday, December 31, 2011

Akibat 'Kebanjiran Order'

Praktis selama tahun ini, buat saya benar-benar tahun paceklik tulisan seputar pemrograman. Bila sebelumnya setiap hari saya masih sempat ngacak-acak kode alias coding entah itu Python atau PHP (dengan Drupal) dan lain-lain,tapi saat ini sepertinya sudah gak sempat lagi.

Maklum, saat ini saja masih ada beberapa antrian project internal dikantor yang masih menunggu untuk didevelop, ditambah beberapa project modul yang masih masih menunggu proses trial karena masih menunggu sarana pendukung yang belum lengkap dan ketersediaan SDM yang akan menggunakan tools ini yang masih kurang karena masalah birokrasi perusahaan yang agak 'lemot'.

Selain itu, saat ini kantor saya ada rencana melakukan 'pemugaran' system, yang tadinya selama ini menggunakan aplikasi dari pihak ketiga tapi kini setelah saya ada mereka bermaksud melakukan melakukan perubahan system informasi secara menyeluruh.

Kebanjiran order, kalo aja saya saya ini pemilik usaha software house... kondisi seperti ini justru bikin saya jadi tambah kaya hehehe. Yang tadinya mau lebih dekat ke Python ternyata karena situasi dan kondisi terpaksa berusaha akrab dengan Free Pascal karena cuma Pascal yang cocok digunakan di kantor tempat saya bekerja ini.

Apa boleh buat, saya tinggalkan dulu ego 'Pythonista' saya demi untuk sesuap nasi dan segenggam berlian (Wali buaanngeet hehehe). Saya prediksikan mungkin dalam empat bulan diawal tahun 2012 ini merupakan periode sibuk dan setelah itu, Insyaallah bisa melanjutkan lagi ber-Python ria sampe puas....

Thursday, November 17, 2011

Ini Python Blog ?

Karena tergila-gila dengan salah satu distro Linux, seorang rekan menggunakan blognya untuk menampung semua tulisannya dan info-info yang berkaitan dengan distro kesayangannya tersebut hingga bisa dengan bangga melabeli blognya misalnya 'Debian Blog', 'Ubuntu Blog' dan lain-lain.

Ada juga blog yang berkaitan dengan otomotif karena si mpunya blog gandrung dengan hal-hal yang berkaitan dengan otomotif.

Lantas, blog saya ini blog apa ya ? Python blog ? karena sebagian besar berisi tulisan yang berkaitan Python ? hmmm saya ga berani, sebab bila saya melabeli Blog ini dengan sebutan 'Python Blog' konsekuensinya saya harus meraih 'predikat master' lebih dahulu dalam pemrograman Python.

Tapi, selama ikut nimbrung dalam group milis ID-Python dan mengetahui bahwa perkembangan Python 'dimarih' masih belum sepopuler Ruby (terutama dalam pengaplikasiannya di web programming, hingga sudah banyak hosting dalam negeri menjual jasanya yang sudah mendukung Ruby dengan harga terjangkau)... ini sedikit memicu semangat untuk belajar lebih banyak dan 'mengajari' lebih banyak bahasa pemrograman yang 'Seksi' ini dan bermimpi bisa membuat Python sepopuler Ruby bahkan kalo bisa mengalahkan PHP dalam ranah pemrograman web (hehehe.. mimpi ?)

Sarana ampuh untuk menyebarkan paham 'Pythonista' ini adalah Blog dan bagi saya untuk membuat blog yang berlabel 'Python Blog' mending ntar-ntar dulu ajah, takut dianggap sebagai 'master gagal' karena kemampuan yang masih seujung kuku sebab bila menilik isi tulisan-tulisan dan 'snippet-snippet' yang saya buat di sini cuma seputaran 'kulit-kulitnya' Python saja.

Tapi bagaimanapun saya tetap butuh satu 'wadah' yang memang saya khususkan untuk menampung tulisan-tulisan saya seputar Python. Nah, setelah kenalan sama Google Appengine akhirnya saya putuskan untuk membuat satu website 'Python-based' yang tujuannya untuk menampung tulisan saya dalam format PDF dan snippet yang saya kompres dalam format ZIP.

Perkembangan yang menggembirakan juga datang dari komunitas ID-Python karena saat ini website komunitasnya  'python.or.id' sudah mulai aktif 'bergairah' ditambah dengan akun-akun di Twitter, Facebook dan lain-lain dan yang paling penting milisnya juga sudah mulai aktif memenuhi inbox saya setiap harinya dengan berbagai topik (hehehe, meskipun selama ini saya masih jadi 'pemantau' saja).

Hayyoooo, kita sama-sama membumikan Python.....

Saturday, August 27, 2011

Mapping URL dengan CherryPy


Salah satu alasan yang membuat saya tertarik menggunakan CherryPy adalah kesederhanaannya, sederhana yang saya maksud di sini adalah CherryPy tidak memerlukan terlalu banyak file konfigurasi baik untuk mapping url maupun dalam penggunaan databasenya karena hanya menggunakan satu file konfigurasi dengan ekstensi '*.conf' yang kita letakan pada root directory.

Tulisan ini hanya akan menjelaskan sedikit tentang 'mapping url' saat kita menggunakan 'nested link' url pada aplikasi web yang kita buat. Dengan Django, saat kita membuat atau menentukan url atau link untuk tiap halaman aplikasi yang kita buat harus didefinisikan terlebih dahulu pada file konfigurasi 'urls.py'.

Dengan CherryPy, mapping url diberikan langsung pada source code aplikasi yang kita buat hanya dengan mendefinisikan object dari kelas-kelas yang akan digunakan, contohnya seperti berikut :

root = HomePage()

Dari baris di atas, kita mendefinisikan variabel 'root' menjadi object dari kelas 'HomePage' yang akan kita tetapkan sebagai root url dan akan menghasilkan url 'http://localhost/'

Tuesday, August 9, 2011

CherryPy Dengan Datastore dan Templating Appengine


Ini adalah tulisan yang masih berhubungan dengan tulisan sebelumnya yang berkaitan dengan penggunaan framework CherryPy di Appengine yang berjudul CherryPy dan Appengine, bisa dibilang ini adalah tulisan pelengkap dari tulisan yang pertama sekaligus saya berikan contoh pengaplikasian sederhana CherryPy di Appengine.

Tulisan sebelumnya saya telah menguraikan 'sedikit' bagaimana memulai menggunakan CherryPy di Appengine yang sebenarnya cukup mudah yaitu cukup memasukan folder yang berisi paket/modul CherryPy kedalam folder project yang kita buat. Yang perlu diperhatikan adalah, untuk saat ini tampaknya Appengine hanya mendukung CherryPy versi 3.1.1 karena setelah saya mencoba menggunakan versi dibawahnya dan versi yang terbaru ( versi 3.2.0) CherryPy tidak dapat digunakan, bila Anda hobi 'ngoprek' silahkan Anda coba dengan membuat patch sendiri seperti yang dibuat oleh salah seorang developer penulis artikel ini.

Thursday, August 4, 2011

Python-id, Maju Teruuuusss

Judul tulisan ini cukup lebay khan ? hehehe, terus terang sebenarnya saya udah memasuki deadline untuk menulis tulisan seputar pemrograman Python yang biasa saya buat disini, tutorial kecil-kecilan termasuk sample 'kecilnya' tapi berhubung belum ada ide mau buat apa akhirnya cuma buat tulisan ini.


Bila para master Python-ID sudah memperdebatkan dan ngobrolin masalah penggunaan framework dan aplikasi-aplikasi kelas enterprise, disini saya mungkin masih cuap-cuap masalah kode Python dasar yang bisa digunakan untuk keperluan 'sehari-hari', maklumlah saya sendiri masih programer 'cupu'.

Tapi bagaimanapun, semangat untuk berbagi pengetahuan dan pengalaman tetap harus diutamakan. Sama seperti para Master Python-id, saya juga memiliki harapan agar Python dapat lebih memasyarakat lagi dan lebih berkembang ditanah air. Gak perlu mimpi dapat menyaingi penggunaan Visual Basic, Delphi atau VC++ di desktop tapi lebih condong dengan memasyarakatkan penggunaan Python dalam pengembangan website itu harapan saya...

Sebab bosan juga kalo lihat website kalo gak pake PHP ya ASP jadi kepengin lihat suatu saat nanti, banyak website pribadi yang menggunakan Python, entah menggunakan Django, CherryPy atau framework lainnya atau seperti saya yang menggunakan kode Python 'tok' yang menggunakan fasilitas gratisan Google Appengine hehehe....

Saat ini website Python-id sudah mulai aktif, yang lebih menggembirakan sekarang forum diskusinya tidak hanya di milis tapi juga ada di Convore dan Twitter.

Goodluck buat Python-ID...... Maju terus...

Thursday, July 14, 2011

Setting Wireless di Slackware

Setelah 'gagal' dan tidak berhasil menginstall Slackware 13.37 di netbook Axioo, akhirnya saya harus puas hanya bisa menginstall Slackware di laptop Acer saya. Pada 'running' pertama dan mencoba untuk koneksi ke jaringan LAN ternyata tidak berhasil karena LAN card Atheros di laptop ini tidak terdeteksi dan info dari hasil 'googling' salah satu pemecahan adalah dengan melakukan upgrade kernel,untuk opsi ini sepertinya tidak bisa saya lakukan karena keterbatasan waktu untuk ngoprek dan laptop ini harus 'kerja' he he he...

Hanya ini hasil cek yang di dapat dari perintah 'ifconfig' :

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:400 (400.0 b)  TX bytes:400 (400.0 b)


Tadinya saya sempat berfikir kemungkinan Slackware di laptop ini tidak akan bisa digunakan bekerja tapi untungnya di kantor saya sudah ada fasilitas jaringan wireless.

Saturday, July 9, 2011

Pascal, Tidak Bisa Dihindari

Sekian lama saya bergelut dan mempelajari bahasa pemrograman komputer, ada salah satu bahasa pemrograman populer yang sebenarnya sangat saya hindari. Bahasa pemrograman itu  adalah Pascal termasuk variannya.



Mungkin ada pertanyaan, kenapa saya berusaha menghindari menggunakan Pascal ? Saya memiliki alasan pribadi yang mungkin bagi sebagian orang tidak relevan atau bodoh. Dari sekian banyak bahasa dan script pemrograman komputer populer yang saya kenal seperti C/C​​++, Java, Basic/Visual Basic, Python, Ruby, PHP, ASP, JavaScript dan VBScript (tidak termasuk COBOL, Prolog dan Dbase karena saya anggap pemrograman ini tidak sepopuler bahasa pemrograman yang saya sebutkan barusan)  hanya Pascal yang saya anggap 'ANEH' dan menyebalkan. Hmmm... Aneh dan menyebalkan ?

Saturday, May 21, 2011

Akhirnya Linux Bisa Masuk

Setelah selama hampir semingguan 'stagnan' karena netbook Axioo Pico PJM yang saya gunakan hanya bisa menggunakan Windows 7, akhirnya hari ini bisa terinstal linux. Sangat disayangkan, sebenarnya saya bermaksud menginstall Slackware agar bisa saya gunakan di netbook ini.

Sebenarnya saya sudah mencoba untuk menginstal Slackware ke dalam netbook saya ini dengan menggunakan DVD eksternal tapi entah kenapa setelah memasuki proses instalasi, Slackware ternyata tidak mengenali keyboard netbook ini dan sejujurnya saya belum mencoba install Slackware via USB dan Live CD seperti 'arahan' artikel yang banyak saya temukan dari hasil Googling karena gak punya USB dan DVD RW - untuk bikin live CD Slackware versi terbaru hehehe.

Gagal mencoba Slackware, saya mencoba instal Debian tapi nasibnya tetap sama bila Slackware tidak mengenali keyboard, Debian saya tidak mengenali hardisk (mungkin karena versi Debian yang saya gunakan versi lawas).

Coba-coba Googling ternyata kebanyakan versi Debian terbaru sudah mendukung Netbook tapi sayang filenya 'gede' banget (mencapai 1 Gb, maklum miskin bandwith), karena masih penasaran sama Slackware setelah Googling ternyata ada sebuah distro linux ringan yang banyak digunakan untuk Live CD dan USB yang berbasis Slackware yang bernama 'Slax' tapi tetap gak cocok karena Slax tidak bisa mendeteksi LAN card (padahal ini yang paling penting karena untuk digunakan download gratisan dikantor hehehe)

Akhirnya, pilihan sementara jatuh di Ubuntu 11.04 yang saya unduh dan diinstal menggunakan USB kapasitas 1 Gb (ISO-nya hanya sekitar 600 Mb) dan unetbootin, mengingat saya gak mau netbook saya 'kosong' dari Linux. Hmmm, sepertinya bila saya tetap ingin menginstal Slackware yang pertama harus dipersiapkan adalah USB dengan minimal kapasitas 8 Gb atau DVD kosong (plus DVD RW eksternal pinjaman untuk 'ngeburn' ISO Slackware terbaru hehehe)

Wish me luck.... :)

Friday, April 22, 2011

Akhirnya Online Juga

Setelah beberapa waktu terakhir ini utak-atik dan Googling kesana kemari, akhirnya komputer saya yang menggunakan Slackware akhirnya bisa online kembali. Bila dulu saya lebih banyak menggunakan modem via ponsel, sekarang akhirnya bisa online dengan menggunakan USB Modem.

Memang membutuhkan sedikit kerja keras untuk melakukan setting USB Modem ini, apalagi merek yang saya gunakan terbilang belum banyak dikenal oleh Linux yaitu ZTE Mobinil MF 180.

Sebelumnya saya coba menggunakan perintah standard untuk mengaktifkan modul usbserial agar USB dikenali oleh Slackware dengan perintah 'modprobe', tapi setelah saya lakukan dengan perintah 'dmesg' USB ini dikenali sebagai CDROM dengan ID 19d2:2000 padahal pada saat pertama saya lakukan pengecekan dengan perintah 'lsusb' USB sempat dikenali dengan ID 19d2:2003.

Monday, April 18, 2011

Ternyata Masalahnya Ada di Kernel

Menggunakan sistim operasi Linux memang memberikan pengalaman dan sensasi yang unik (lebay khan ? hehehe), maksudnya disini bila kita terbiasa menggunakan sistim operasi yang 'siap saji' macam Windows mungkin kita hanya merasa biasa-biasa aja karena kita hanya tinggal pakai.

Saat ini lagi penasaran berat untuk bisa pake USB Modem ZTE yang saya punya supaya bisa digunakan di Slackware 12.2. Setelah mencoba dengan menggunakan cara standard dengan perintah modprobe untuk meload modul usbserial tapi untuk modem yang satu ini ternyata tetap tidak bisa.

Setelah berdiskusi di milis slackware-id ternyata kita membutuhkan paket tambahan agar dapat mendeteksi USB ini menjadi usbserial. Paket tambahan yang bernama usb_modeswitch ini bisa di download gratis disini. Setelah berhasil saya install ternyata USB Modem ini masih tetap tidak dapat digunakan.

Makin penasaran, setelah Googling saya mendapatkan sedikit petunjuk di blog ini yang menyiasati masalah ini dengan melakukan upgrade kernel. Solusi ini ternyata benar, berdasarkan dokumentasi usb_modeswitch library ini masih belum dapat digunakan untuk merk USB Modem ZTE karena paket ini memiliki masalah dalam menangani hardware dengan device ID 19d2:2000 dalam kernel 2.6.26 dan 2.6.28.

Kebetulan versi Slackware saya masih menggunakan kernel di atas dan device ID USB ZTE juga memiliki id yang sama dengan di atas, jalan satu-satunya adalah dengan melakukan upgrade kernel. Hal ini yang akan saya lakukan dan upgrade kernel ini adalah tantangan baru buat saya karena sebelumnya saya sempat mencoba dan selalu gagal :)

Sunday, April 17, 2011

USB dan Slackware

Saya lagi merasa seperti anak kecil yang baru dapat mainan baru, maklum kemarin baru aja membeli USB Modem ZTE Mobinil.

Waktu coba di Windows semuanya berjalan lancar meskipun untuk 'connect' ke jaringan agak sedikit membutuhkan waktu (mungkin karena faktor sinyal).

Yang agak ribet adalah untuk setting modem tersebut agar terbaca oleh Slackware sebagai USB Serial. Saya sudah mendapatkan beberapa 'pencerahan lewat googling'.

Penasaran juga sih, karena terus terang saya belum coba oprek sesuai 'petunjuk' yang sudah saya dapat karena dapatnya dah lewat tengah malam dan keburu ngantuk duluan :)

Yah terpaksa, belum bisa 'berselancar' pake Slackware karena saya sebelumnya menggunakan modem dengan ponsel.

----------
Sent from my Nokia phone

Thursday, April 7, 2011

Menampilkan HTML Statis dengan Django

Beberapa hari yang lalu saya sedikit mengalami kesulitan dalam menampilkan halaman statis dengan Django dan menampilkannya lewat template yang saya buat. Pada tulisan saya sebelumnya, setelah dapat arahan dari milis komunitas 'id-python' dan utak-atik dokumentasi Django yang berkaitan dengan penggunaan file statis serta penggunaan modul untuk menampilkan halaman HTML statis, ternyata ada beberapa 'teknik' yang dapat digunakan untuk menampilkan file statis (termasuk file HTML statis), mulai dari penggunaan tag 'include' pada template, menggunakan modul 'staticfiles' hingga dengan menggunakan 'generic views'.

Banyaknya teknik untuk menampilkan halaman statis ini ternyata semakin membuat saya bingung apalagi saya menggunakan Django di Appengine yang tidak mendukung semua modul Django standar. Masih tetap penasaran, bagaimana caranya ya ? Setalah putar otak sedikit sambil  buka dokumentasi lagi akhirnya ketemu cara menampilkan halaman html statis yang saya inginkan tanpa perlu menggunakan tag {{% include %}}.