Jumat, 25 Februari 2011

Python S60

Python untuk S60 adalah
bahasa pemrograman tingkat
tinggi turunan dari Bahasa
Python. Dengan adanya bahasa
pemrograman Python untuk
s60, kita dimungkinkan untuk membuat
Script sederhana
atau bahkan sebuah program
yang kompleks. Jadi dengan
Python untuk S60, kita bisa
membuat program langsung
melalui ponsel berbasis Symbian dimanapun
dan kapanpun. Python diciptakan oleh Guido
Van Rossumpada tahun 1989 di Amsterdam
Belanda. Bahasa ini
menyediakan banyak sekali
module yang dapat digunakan
untuk berbagai macam
kebutuhan seperti aplikasi
desktop, network, dan server. Namun
bahasa pemrograman
ini memiliki respon atau proses
yang sedikit lebih lambat dari
bahasa pemrograman C/Java. Sebelumnya,
bahasa ini adalah
bahasa pemrograman yang
hannya dapat dijalankan
melalui PC. Namun sekarang
telah dapat langsung
dijalankan pada perangkat mobile yang
berbasiskan
Windows Mobile,Palm dan
Symbian. Jadi, dengan keadaan
seperti ini kita sangat
dimungkinkan untuk melakukan
pemrograman dimanapun dan kapanpun
tanpa harus
membawa PC[monitor+CPU+Aki]
atau LapTop kemana-mana. Tentu saja,
dibalik kemudahan
ini, ada sedikit perbedaan yang
terdapat pada bahasa
pemrograman untuk PC dan
Mobile. Perbedaan yang sangat
terasa adalah, adanya beberapa perintah
yang tidak
sama dikarenakan penyesuaian
terhadap arsitektur
perangkat mobile yang sangat
berbeda dengan arsitektur PC.
Dan kelengkapan module yang tidak
semuanya dibawakan
pada paket instalasi Python
untuk perangkat mobile
dikarenakan kapasitas memori
yang terbatas. Walaupun
module yang dibawakan tidak selengkap
pada paket untuk
PC, kita masih tetap dapat
menggunakan semua fasilitas
yang disebutkan diatas,
seperti membuat aplikasi
desktop atau aplikasi untuk mengakses
jaringan. Untuk
server mobile sepertinya masih
dalam pengembangan. Dan kita
juga dimungkinkan untuk
membuat module kita sendiri
atau menambahkan module dari PC. Untuk
penambahan
module dari paket PC, ada
kemungkinan tidak semuanya
bisa digunakan karena
perbedaan arsitektur system
operasi. Gaya Penulisan Script, Python
memiliki sedikit perbedaan
pada cara penulisan program
dengan bahasa pemrograman
yang lain seperti C/Java. Kalau
pada C/Java menggunakan tanda kurung
sebagai pemisah
blok program, di Python kita
hannya menggunakan spasi
sebagai pemisah blok program
yang biasa disebut sebagai
Indentasi Karena Python menjalankan
perintah secara
berurutan, maka kita harus
pintar-pintar menyusun
perintah agar mendapatkan
hasil seperti yang kita
inginkan. Sebagai contoh: def variabel():
fungsi_pertama
fungsi_kedua
fungsi_ketiga Namun penggunaan spasi
haruslah tetap konsisten atau
akan terjadi kesalahan pada
program. Maksudnya, kalo kita
memberikan empat spasi pada
baris pertama blok program, maka baris
kedua sampai
terakhir haruslah sama yaitu
empat spasi. Contoh: def variabel():
fungsi_pertama fungsi_dua fungsi_tiga
Untuk penulisan pada sub
fungsi, contohnya kira-kira
seperti ini def variable(): fungsi_satu
fungsi_dua sub_fungsi_dua_satu
sub_fungsi_dua_dua fungsi_tiga
sub_fungsi_tiga_satu Untuk blok perintah
yang
hannya terdiri dari dua baris,
kita juga bisa menuliskannya
seperti ini def variable():perintah_tunggal
Input dan Output pada bahasa
pemrograman digunakan untuk
berinteraksi dengan pengguna.
Misal untuk meminta masukan
nama, alamat, password dan
lainya, Untuk menangani input dan output
pada Pys60 kita
bisa menggunakan module
yang bernama appuifw. Sebuah
module kecil yang dibuat untuk
menangani UI ( User Interface )
pada aplikasi.
Untuk permintaan input, kita
akan menggunakan fungsi
yang bernama query. Dan
untuk output nya kita akan
menggunakan fungsi
note.Sebelum memulai pastikan dulu kalau
kita sudah me-load
atau memuat module appuifw
dengan perintah import pada
konsole >>> import appuifw Penanganan
masukan/ input
dengan fungsi query: Perintah dasar fungsi
ini
adalah appuifw.query([mode],
[type]) Contoh: >>> appuifw.query(u"Nama
Anda:","text")Setelah ditekan
[enter], segera akan muncul... sebuah input
box yang
meminta masukan nama dari
pengguna. Misal nama yang
dimasukan adalah mumum,
maka setelah ditakan [enter]
input tersebut akan dicetak langsung di
layar. >>> appuifw.query(u"Nama
Anda:","text") u'mumum' Kita juga
dimungkinkan untuk
mengisikan kata pada input
box sebagai default masukan.
Misal kita ingin menampilkan
kata "Tulis nama Anda disini"
pada input box, kita bisa menggunakan
perintah seperti
berikut. >>> appuifw.query(u"Nama
Anda:","text",u"Tulis nama Anda
disini") Pada fungsi query, terdapat
beberapa type yang dapat
kita gunakan seperti: text: type ini menerima
masukan dari pengguna
berupa plain text atau berupa
string. Walaupun user
memasukan nomor pada
isian,hasil dari masukan user akan tetap di-
konverensi
kedalam type string.
Contohnya seperti di atas tadi. number: type
ini meminta
masukan berupa nomor atau
type data integer dari user.
Perintah penggunaanya sama
seperti perintah diatas, hanya
saja pada type (text) kita ganti menjadi
number. code: type ini digunakan untuk
menangani pemasukan
password. Jadi, input yang
dimasukan oleh user akan
langsung diformat menjadi
karakter asterik atau tanda bintang (*)
untuk menghindari
pencurian password dari mata-
mata yang "sedikit" jalalatan. query: type
yang satu ini
hanya meminta jawaban dari
user yang menyatakan benar
(True) atau salah (False). Type
ini biasanya digunakan untuk
menanyakan kepada user tentang benar
atau salahnya
informasi yang akan di
proses.Untuk mencoba type-
type pada fungsi query, kita
bisa menuliskan perintah
sederhana dibawah ini pada sebuah file lalu
meng-eksekusi-
nya menggunakan console
python s60 import appuifw appuifw.query
(u"Nama
Anda:","text") appuifw.query(u"Nomor
telepon:","number") appuifw.query
(u"Nomor
rekening:","code") appuifw.query(u"Apakah
semua
data diatas sudah
benar..???","query") Penanganan keluaran/
output
dengan fungsi note: Fungsi note cara
penggunaanya sama denga
fungsi query di atas. Yaitu
dengan perintah appuifw.note
([mode],[type]). Karena cara
penulisan perintah pada fungsi note sama
saja dengan fungsi
query, maka disini aku hanya
menuliskan type nya saja
Beberapa type yang bisa
digunakan untuk memformat
keluaran diantaranya adalah: info: untuk
menampilkan popup
informasi kepada user.type ini
adalah type default yang
digunakan oleh Python S60
untuk popup informasi. Jadi
khusus untuk type ini kita bisa menyingkat
penulisan
perintahnya seperti
ini.appuifw.note(u"tidak untuk
penyalah gunaan...!!") conf: Sesuai
namanya,type ini
digunakan untuk menampilkan
popup konfirmasi. Secara
singkat penggunaanya adalah
seperti dibawah ini. appuifw.note(u"sedang
membaca file,harap
tunggu.","conf") error: type terakhir yang
digunakan untuk menampilkan
pesan kesalahan.
Penggunaanya juga sama
seperti di atas appuifw.note(u"Password
yang
anda masukan salah..!!!","error")
Tulisan berikut adalah lanjutan
dari subjek 'pemrograman
python s60'. Dalam bahasan
sebelumnya, kita telah
membahas input dan output
serta cara import eksekusi penulisan skrip.
Seperti yang
kita ketahui, skrip python
bahkan bisa ditulis
menggunakan menu pesan
atau catatan pada ponsel,
yang kemudian di copy paste untuk dapat
kita gunakan
sebagai default.py atau
eksekusi utama.Langkah awal,
kita harus punya py s60
require atau intrepenter nya
(kalau bisa yang terbaru).Selanjutnya, apps
pendukung pemrograman
python seperti : > Ped - untuk menulis
skrip,apps ini cuma
pelengkap.Bila tidak punya pun
bukan suatu kendala. > py2app/Linkapper -
sebagai
py apps creator. > py2pyc - untuk
melindungi
dan mencoding atau
mengcompile skrip yang telah
kita buat. > py2sis - sebagai standalone,
dengan apps ini kita dapat
mengconvert apps pys60
menjadi apps symbian standar
atau tanpa membutuhkan
python intrepenter. > aifmbm tool - sebagai
*mbm
dan *aif creator. > sisboom - untuk
mengepack
apps yang telah kita buat. Untuk resource
atau contoh
skrip sebagai tahap
pembelajaran silahkan
download pys60.rar. Saya jelaskan sedikit
cara
yang paling gampang dalam
pembuatan py apps. Pertama, buatlah skrip
atau
jika belum paham silahkan ambil
dari skrip yang sudah ada.
Buat subjek dengan nama
yang kita suka, buka py2app.
>create new app: pilih target skrip. >star file
with : normal opening. >enter name of
program:
'masukan nama app yang akan
kita buat'. >choice of a disk: pilih drive C
atau E. >Enter UID(or don't touch):
tinggalkan dengan UID yang
sudah ada saja. >choice of type: 'pilih jenis
app
yang akan kita buat',misal:skrip
kita adalah app video,pilih
video.Form ini sebenarnya
untuk membuat ikon app.
Tahap pembuatan app selesai,tapi
selanjutnya
lakukan instruksi berikut: > buka default.py
dari folder
app yang telah kita
buat,kemudian akan ada
tulisan seperti ini. def ru(x):return x.decode
('utf-8')
import appuifw
appuifw.Content_handler
().open_standalone(ru("E:\
\Test.py")) appuifw.app.set_exit() itu adalah
app Test yang saya
simpan ke drive E. Nah,jika kita
tetap biarkan seperti itu app
tak akan berjalan.Jadi,ubah isi
skrip default.py nya(seperti di
atas), ke bentuk seperti di bawah ini.
import Test (nama app/hapus
semua skrip kecuali import
+nama app). > selanjutnya, ambil kembali
skrip utama app yang telah
dibuat.Saya sarankan copy
saja,lalu pastekan ke folder
tempat app dibuat,Selesai. Perlu diingat,
dengan python
kita tidak dibatasi pada
konsep-konsep skrip atau
source yang ada.Kita dituntut
untuk lebih kreatif,bahkan
menyebar luaskan.Dengan catatan etika
copy
paste,apabila app yang kita
buat adalah rewriten atau
yang didapat dari
opensource,sertakan kembali
nama author nya (atau bentuk lain dari
sebuah
dedikasi).Dengan python,
keterbatas pada device yang
kita miliki bukan suatu
aib.Bahkan,python berpeforma
optimal dijalankan pada NOKIA jadul
N70.Walaupun sebenarnya
juga baik digunakan pada
NOKIA 7610 atau versi lebih
rendah,tapi masih jadi kendala
pada Operasi System(OS) yaitu
s60 v2 OS 7, yang berarti mempunyai
kapasitas RAM dan
ROM lebih kecil dari s60 v2 OS
8 atau pada NOKIA N70 dan
sejenisnya.Kendala yang
sangat berarti terjadi pada
packing py app yang sudah di standalone,
split mbm atau
skin, dan decompile.Karena
prosesnya membutuhkan
kapasitatas RAM yang
besar,bisa-bisa HP akan hang
atau OFF jika telah mencapai batas Quote.
Tetapi, cukup
lumayan dari pada HP s60 v3
atau versi lebih tinggi dan
terbaru,yang punya lebih
banyak keterbatasan. Aneh,lucu,dan
binggung juga
jika kita sadari.Hanya dengan
menulis skrip konyol dan
bertentangan dengan
matematika kita dapat
membuat app,memerintahkan system,atau
menguasai sebuah
protokol.Tapi,disini lah keunikan
python,yang dapat
memanipulasi Operasi
System.Jika saja ponsel
mempunyai memory yang setara dan
pengoperasian se-
optimal komputer, bisa saja
komputer tidak akan
laku.Mungkin 'mereka' yang
mempunyai komputer atau PC
bisa bangga telah memilikinya,padahal
aplikasi
yang digunakan didapat dari
instant atau copy paste,dan
tertawa sombong 'kasian, gak
punya PC', seharusnya
sebaliknya,kita yang tertawa ! System dan
protokol ada di
kedua jempol kita(..^_^..), walau
dalam konsep tertentu dan
terbatas.
Selanjutnya, app pendukung
dan tambahan yang lebih detil akan kita
bahas jika kita telah
memahami pembuatan app
dulu.
seharusnya sebaliknya,kita
yang tertawa ! System dan
protokol ada di kedua jempol
kita(..^_^..), walau dalam konsep
tertentu dan terbatas.
Selanjutnya, app pendukung dan tambahan
yang lebih detil
akan kita bahas jika kita tela memahami
pembuatan app dl.