September 7, 2007

Instant Messenger With jYMSG

Iseng-iseng pengen bikin YM client untuk mobile (HP) ama maya sambil belajar J2ME. setelah muter-muter sama si mbah akhirnya nemu API untuk YM client jYMSG. tapi jYMSG ini berbasis J2SE sedang kan yang mau di buat J2ME, klo diliat dari size API jYMSG ini akan susah ato butuh effort yang lumayan gede untuk di convert ke J2ME…

akhirnya agar jYMSG ga berubah banyak, dibuatlah arsitektur client server untuk YM client ini dengan jYMSG disisi Server,nah permasalahannya muncul lagi apakah API jYMSG mendukung multi login…?karena Server harus bisa login untuk banyak client…
ternyata jYMSG menyimpan session pada saat melakukan autentifikasi dengan server Yahoo :D berarti tinggal dibuat thread object session-nya jYMSG bisa melakukan multi login :p

agar biaya GPRS murah, tinggal buat protokol yang sangat sederhana :p ini screenshot-nya lumayan lah buat pemula :p aplikasi untuk client banyak dikerjakan maya klo saya mah lebih banyak diservernya.

login view
ini tampilan loginnya, cuma pake form males bikin pake canvas :p
list view
ini tampilan list friend nya… friend yang online sama yang offline emoticon-nya beda
chat view
ini tampilan pas chat nya…tabbing :p
menu view
ini fitur yang di sediain :
> Send SMS : untuk fasilitas ini donlod disini
> Add Friend
> RemoveFriend
> Hide/show offline friend
menu view
menu pada saat jendela chat
sign
tab-nya nyala klo ada pesen baru masuk sama ada suara :D lumayan lah jadi user ngga bingung klo ada pesen baru yang masuk

sebenernya hampir semua fasilitas yang disediakan yahoo messenger, tapi klo semua di implementasiin pasti size untuk aplikasi ini akan gede dan yang paling utama pusing bikin client-nya :p. Tadinya pengen ngasi donlod aplikasinya buat tes, tapi sayang ngga punya hosting untuk nyimpen servernya :p jadi cuma bisa ngasi screenshot aja…

oh iya lupa karena untuk komunikasi datanya pake socket…jadi hanya HP yang dukung midp20 yang bisa :p untuk midp10 clientnya belum bisa tapi untuk server sudah dukung…

February 10, 2007

My First J2ME

Awalnya dari Operasi Bayar Utang, dikasi kerjaan untuk membuat aplikasi J2ME, sebenernya belum pernah bikin aplikasi J2ME, apalagi sampai implementasi di HP yang mungkin harus memikirkan kompatibilitasnya.

awalnya develop menggunakan WTK-nya Sun karena baru pertama, jadi ngga ngeh-klo untuk aplikasi J2ME itu ada 2 jenis untuk sekarang MIDP 1.0 dan MIDP 2.0, karena donlod WTK 2.2 jadi defaultnya menggunakan MIDP 2.0 dan CLDC 1.1,
aplikasi bisa jalan lancar di emulator

[hari pertama]
me : bos dah dikirim, coba diliat ada yang kurang ngga?
. . . .
bos : "waduh ukurannya kegedean neh... 185kb".
me : memangnya harusnya berapa?idealnya?
bos : bagusnya kurang dari 80kb untuk aplikasi kaya gini
me : :(
bos : terus lambat neh aplikasi-nya
me : hiks hiks

pelajaran pertama, untuk aplikasi HP ternyata berpengaruh, klo ukurannya kegedean mungkin nanti ngga akan bisa jalan di HP-nya dan format output setiap HP berbeda-beda, setelah di test di HP soni erikson hasil outputnya beda dengan di emulator, dengan output tulisan soni errikson yang relatif lebih besar :p

[hari kedua]
me : bos sudah, dengan perbaikan sebelumnya, ukurannya bisa dapet 78kb
. . . .
bos : ini pake MIDP berapa . . . ?ini harus bisa jalan di MIDP 1.0 dan CLDC 1.0
me : ini MIDP 2.0
. . . .
me : bos ngga bisa pake MIDP 1.0, ngga dukung tipe data float :(
bos : sama interfacenya diganti juga ya, menu nya jangan pake command tapi
menunya dilayar, kaya menu buat game

pelajaran kedua, ternyata perbedaan antara MIDP 1.0 dan 2.0 cukup besar salah satunya tipe data float, sekarang bingung gimana caranya biar bisa menghitung tipe data float . . . setelah googling sana sini, akhirnya ada orang yang baik hati yang buat class untuk handling tipe Float Nikolay Klimchuk

[hari ketiga]
me : sudah bos, UI beres menu beres, float bisa, cuma ukuran aga gede 85kb
. . . .
bos : ngga usah pake Float, diakalin aja, biar size ngga gede.
bos : ok, untuk yang MIDP 1.0 nya size kurang dari 65kb ya?
. . . .
me : ok, cek email lagi bos dah di kirim lagi
bos : ok.

mudah-mudahan ngga ada lanjutannya lagi :p
*terimakasihbossayabelajarsesuatuyangbaru*

February 5, 2007

New Project Brainstorming (computer vision)

ide awal dari project ini adalah bagaimana cara membuat robot bisa bergerak secara otomatis, lebih spesifiknya disini bagaimana sebuah robot itu bisa melihat jadi mungkin di project ini akan ada gabungan antara robot dan computer vision.

pada project ini robot akan mengikuti sebuah lane/line yang telah di tentukan, dan kemudian robot akan mengikuti lane/line tersebut
ini mungkin workflow yang akan terjadi pada prject ini

			webcam
			  |
	      +-------------------------+
	      | gambar yang didapat ka  |
	      | dari webcam akan diolah/|
	      | dianalisis              |
	      +-------------------------+
			  |
		   image procesing
			  |
	      +-------------------------+
      	      | proses gambar		|
	      | analisis gambar         |
	      +-------------------------+
			  |
		        robot
			  |
	      +-------------------------+
      	      | menggerakan motor sesuai|
	      | dengan hasil analisis   |
	      | gambar                  |
	      +-------------------------+

untuk project ini mungkin ada beberapa yang harus dipelajari
- JMF
  digunakan untuk interface dengan webcam
- Image Processing
  - Grayscale
  - Threshold
  - Houg Hough Transform
- Fuzzy
  digunakan untuk menentukan arah
- COM (serial communication)
- Microcontroller (8051)

*mudahmudahanlancar*

link :
- Desktop Line Following Robot
- Sweet Line Following Robot
- Line Following Robot

January 5, 2007

Steganografi pada plains text

Akhirnya program stego ini selesai juga :D
tampilan Aplikasi



click untuk memperbesar gambar

sebelum penyembunyian pesan terlebih dahulu harus menentukan file carrier yang akan digunakan, setelah itu baru pesan yang akan disembunyikan dipilih, input pesan dapat dilakukan dengan dua cara, pertama menggunkan file teks dan kedua menggunakan inputbox yang tersedia. setelah itu apakah penyembunyian pesan akan menggunakan enkripsi apabila mengunakan enkripsi maka metode enkripsi harus dipilih.




untuk steganography pada teks yang menggunakan whitespace ada beberapa metode penyisipan, pada aplikasi ini di sediakan tiga metode penyisipan, setiap metode akan memiliki output yang berbeda dari besar filesize -nya






click untuk memperbesar gambar


jendela sebelah kiri merupakan file asli carrier, sedangkan pada jendela sebelah kiri merupakan file yang telah mengandung pesan.


click untuk memperbesar gambar


ini merupakan jendela untuk melakukan pembacaan pesan pada file yang telah mengandung pesan.
aplikasi ini akan membaca header pada file yang mengandung pesan, dan kemudian mencari informasi seperti, jenis penyisipan yang digunakan, apakah menggunakan enkripsi pada pesan, dan juga panjang pesan yang disimpan. apabila pesan menggunakan enkripsi maka pilihan untuk memilih metode enkripsi akan muncul secara otomatis, apabila tidak menggunakan enkripsi maka pilihan metode enkripsi tidak akan ditampilkan


click untuk memperbesar gambar


Hasil pembacaan pesan



*my 2nd C#*

December 26, 2006

My First C#

Akhirnya selesai juga aplikasi sederhan pertama menggunakan C#, gara-gara tugas kuliah Manajemen Proyek :D . Aplikasi ini berfungsi untuk menghitung estimasi biaya yang di perlukan dalam suatu proyek, akan tetapi dikarenakan metode perhitungan yang digunakan menggunakan COCOMO II sehingga jenis proyek hanya dibatasi proyek yang berbasis Line Code.

aplikasi ini sangat sederhana, pertama Project Manager (PM) untuk menghitung estimasi biaya harus memasukan Task apa saja yang akan ada pada project tersebut, beserta dengan perkiraan line code-nya, dengan perbandingan semakin besar line code semakin besar project yang akan di kerjakan.



setelah memasukan task yang akan di kerjakan PM harus memasukan Cost Driver, pada COCOMO II terdapat Cost Driver. cost driver merupakan faktor-faktor di luar line code yang akan mempengaruhi estimasi biaya, biasanya cost driver ini akan mempengaruhi lamanya pengerjaan, sehingga dengan semakin lama pengerjaan akan semakin besar biaya yang diperlukan. Cost Driver terdiri dari beberapa group :

  • Personnel
  • Product
  • Project
  • Platform



selain memasukan Cost Driver PM harus memasukan Scale Factor mungkin ini fungsinya sama dengan Cost Driver tapi gw juga kurang ngerti soal Scale Factor ini :p



Setelah semua diisikan, kahirnya etimasi biaya akan dihasilkan :D selain itu di hasilkan juga
perkiraan lama pengerjaan dan jumlah pekerja yang di perlukan.