Rabu, 23 Juli 2008

Main-main Sama WebCam Yuk...

Webcam emang bukan barang baru bagi para chatter. Buat yang sering pake Yahoo Messenger, MSN, Skype, dll pasti asyik kalo bisa ngobrol sekaligus tatap muka. Gak cuma ngetik doang lho. Capee deh... :) paling gampang sich tinggal pake aja webcam di warnet biasanya dah lengkap tuh ada kamera trus headset + mic nya. tinggal pake deh. Tapi kalo komputer rumahan??? jgn harap deh bakalan lengkap... Cuma yang serius pengen chatting aja yang biasanya lengkap.

Kepengen gak sich kira2 kamu tahu gimana tuh Messenger2 bisa nampilin gambar kamu di aplikasi mereka??? Apalagi kalo kita bisa video chat. Wah seru kali yeee. Tapi untuk pokok bahasan kali ini aku cuma kepengen fokus dulu sama gimana caranya gabungin webcam di aplikasi kamu. Ntar kali yee untuk video Chat aku bikin topik baru lagi... Oke Bos???

Pada topik kali ini kita akan berhubungan dengan yang namanya Programming Video For Windows. Sebelum kita memulai, pastikan komputer kamu sudah ada webcamnya. trus kalo bisa dah diinstall juga drivernya. pokoknya kamu bisa lihat wajah kamu sendiri. alias dah dicoba dulu gitu loh.. Cara nyobanya, buka windows explorer (Windows XP yaa). trus lanjutkan klik webcam kamu di bawah drive. kalo gak salah deket2 sama My Network Places deh.. Kalo emang dah bener install drivernya pasti gambar kamu muncul deh... hihihi... lanjut ya..
Aplikasi kita kali ini memanfaatkan Win32 API nya windows XP. Melalui Win32 API ini kita capture gambar video kamu trus dimasukkan ke window aplikasi kamu. Ada beberapa langkah yang harus dilakukan untuk proses capturing ini :
1. Buat window untuk nampung cap
Pada proses ini kita manfaatkan capCreateCaptureWindowA function.
Waktu fungsi ini dipanggil handlenya tuh window baru trus kamu bisa bagusin deh window kamu dengan mengubah-ubah style paramaternya.

lwndC = capCreateCaptureWindowA("My Capture Window", WS_CHILD Or WS_VISIBLE, 0, 0, 160, 120, Me.hwnd, 0)

Ini cuma contoh aja. definisi fungsi, parameter dan konstantanya dah aku buatin di modul VB6.

2. Nyambungin Window yang tadi dah dibuat ke video drivernya
iya dong... kan supaya aplikasi tahu yang mo dicapture tuh webcam yang mana.. tul gak??? Perintahnya adalah :
SendMessage lwnd, WM_CAP_DRIVER_CONNECT, 0, 0. Tapi aku dah modif jadi gampang :

capDriverConnect lwnd, 0
  • passing String ke SendMessage :
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long

Declare Function SendMessageS Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As String) As Long
  • Passing Struktur ke SendMessage :
Dengan menggunakan fungsi Built in VARPTR() bisa diketahui lokasi struktur yang dipassing di memori. Cara gampangnya untuk capture parameter kayak gini deh...

Dim CAP_PARAMS As CAPTUREPARMS
capCaptureGetSetup lwndC, VarPtr(CAP_PARAMS), Len(CAP_PARAMS)
  • Proses Gambar dari Video Stream :
Pertanyaannya adalah bagaimana cara ngambil / capture gambar dari video yang lagi muter / play atau streaming. ribet kan? Udah ada sih fungsinya... namanya Fungsi Call Back. Untuk proses frame2 ketika Mode Preview kamu pake aja capSetCallbackonFrame. Trus kalo pada saat mode Capturenya kamu pake capSetCallbackOnVideoStream. Contohnya

capSetCallbackOnFrame lwndC, AddressOf MyFrameCallback

MyFrameCallback, Itu fungsi yang setiap kali pasti dipanggil kalo ada frame baru yang diterima dari video drivernya. Trus kamu tangkep handlenya yang didefinisikan sebagai VIDEOHDR.
Type VIDEOHDR

lpData As Long '// address of video buffer
dwBufferLength As Long '// size, in bytes, of the Data buffer
dwBytesUsed As Long '// see below
dwTimeCaptured As Long '// see below
dwUser As Long '// user-specific data
dwFlags As Long '// see below
dwReserved(3) As Long '// reserved; do not use

End Type
dimana lpData adalah data aktual dari devicenya. Berikut ini contoh fungsinya yang dah siap dipake.
Function MyFrameCallback(ByVal lwnd As Long, ByVal lpVHdr As Long) As Long

Debug.Print "FrameCallBack"

Dim VideoHeader As VIDEOHDR
Dim VideoData() As Byte

'//Fill VideoHeader with data at lpVHdr
RtlMoveMemory VarPtr(VideoHeader), lpVHdr, Len(VideoHeader)

'// Make room for data
ReDim VideoData(VideoHeader.dwBytesUsed)

'//Copy data into the array
RtlMoveMemory VarPtr(VideoData(0)), VideoHeader.lpData, VideoHeader.dwBytesUsed

Debug.Print VideoHeader.dwBytesUsed
Debug.Print VideoData

End Function
RtlMoveMemory, itu juga harus dideklarasikan dulu lho... kayak gini nih contohnya :

Declare Sub RtlMoveMemory Lib "kernel32" (ByVal hpvDest As Long, ByVal hpvSource As Long, ByVal cbCopy As Long)

Udahan dulu yach... Aku punya source code lengkap untuk webcam sederhana ini... Jgn lupa kasih komentar yg bagus2 yach... Aku kan capek dah nulis lho! hihihi....

Download File :

>>Webcam-Simple
>>Webcam-Advanced
>>Password : sholat

Wass,

Arnie

OKE GAK SICH PUNYA SMS SERVER (1)

SMS Server??? iya, emang aku kepengen dan gregetan bikin sms server. Aku dah banyak nyoba yang gratisan. Softwarenya lho yang gratis (kayak bengkelprogram.com)... Sourcecodenya sich gak dikasih. ada juga yang kasih komponen activex / OCX (kayak www.softwarecave.com) nya tapi cuma khusus buat nokia. Gimana dong kalo pake HP yang lain, misalnya siemens, motorola atau GSM/GPRS modem atau CDMA modem??? kan report bikinnya kalo protokol atau bahasa komunikasinya beda2. tul gak???
Banyak orang yang bilang SMS Gateway yang bener, bukan SMS Server. tapi kalo aku lebih cocok pake SMS Server. soalnya aku kepingin bikin Server/Komputer buat nampung sms yang datang. sukur-sukur kalo aku bisa jawab otomatis ke si pengirimnya. Sedangkan kalo SMS Gateway...?? ya namanya juga gateway otomatis Servernya sebagai gatewaynya dari SMS dong. Link komunikasinya tidak hanya dengan modem/HP tapi juga pake yg namanya http/smpp, dll. lebih kompleks kan??? please deh.,..

Banyak temen2ku yang tanya apakah bisa server kirim dan terima sms nya beda jalur, misalnya kirim pake HP trus terimanya pake Modem GSM/CDMA. ide bagus tuh. aku bilang yaa bisa aja. malahan tidak terbatas jumlahnya. Pokoknya selama windows masih bisa ngenalin device kamu sebagai COM Port artinya gak masalah. Mau lewat serial kek atau USB kek terserah. Permasalahannya adalah gimana caranya Server bisa baca sms dan kirim sms melalui device?? Brarti kita harus tahu cara komunikasinya bagaimana... Hampir semua device yang ada di pasaran baik HP maupun GSM/CDMA Modem itu support AT Command. So, kita mulai blajar apa itu AT Command?? Untuk literatur AT Command ini kamu cari aja di internet yach... banyak kok.. Kalo dah dapet, kita langsung praktek...

Apa aja yang perlu disiapin dulu nih. So pasti kamu harus punya HP/Modem GSM/CDMA trus disambungin deh ke komputer kamu. Misalnya kamu pake Modem GSM Huawei punya. Kalo emang ada drivernya mbok ya diinstall dulu biar windows bisa baca modem kamu. Coba tes deh windows kamu dah ngebaca device kamu blom??? Caranya masuk (Control Panel) ke trus pilih (Phone&Modem Options). Trus kamu pilih tab (modem) (Kalo gak ada kamu isi dulu lokasi kamu dan kode wilayah kamu trus klik OK). Nah di dalamnya ada daftar device kamu deh. yang perlu kamu perhatikan adalah device kamu terdaftar di COM Brapa??? Kalo gak ada, please deh di trus detect deh device kamu. Kalo gak ada juga brarti kamu kudu install drivernya. Nah selanjutnya coba kamu buka Hyperterminal kamu di (Start)(All Programs)(Accessories)(Communications)(Hyperterminal)

Kamu isi deh misalnya huawei trus tekan OK.










Nah pas di sini kamu harus pilih device kamu di Com Barapa... Kalo emang dah bener muncul deh cursor kamu di Hyperterminal. Artinya Hyperterminal siap kirim AT Command kamu ke device. Coba deh ketik AT. harusnya keluar pesen OK. trus coba deh ketik AT+CGMI. kluar pesen apa hayo???

Coba kamu main di mode text. Caranya ketik AT+CMGF=1. hasilnya harus OK lho. kalo gak brarti device kamu gak support mode text. Udah itu coba kamu lanjutkan dengan :
1. Untuk baca SMS coba kamu ketik AT+CMGL="All". Tuh kan muncul semua daftar sms di device kamu. hihihi.
2. Untuk kirim SMS coba kamu ketik

AT
AT+CMGF=1
AT+CMGS=08xxxxxxx
> testing kirim

Setiap baris pada contoh perintah di atas diakhiri dengan penekanan tombol enter, kecuali untuk baris pengirisan pesan, yang diakhiri dengan CTRL + Z. AT command umumnya ditulis pake huruf besar, tetapi banyak modem GSM dan ponsel yang ngebolehin AT command dalam huruf besar maupun huruf kecil.

Setelah berhasil menjalankan AT command pada HyperTerminal, maka kamu dah siap untuk melangkah lebih lanjut, yaitu menuliskan kode program pada bahasa pemrograman favorit kamu untuk bikin sebuah SMS Server. Kalo aku pake VB6. Pokoknya kode program yang mo dibikin itu intinya menuliskan AT command di dalam aplikasi kamu, yaaa kayak yang kamu tulis tadi di HyperTerminal. OK!!!

Sampe sini dulu yach... Ntar lanjut lagi.. JGN Lupa kirim komentar dong... hihihi.

Selasa, 22 Juli 2008

Yuk Kita Bikin Billing Warnet Sendiri (1)

Banyak Lho warnet-warnet bertebaran di jakarta khususnya di sekitar kampus atau kos-kosan mahasiswa/i. di bandung apalagi. wuihhh buaaanyak banget deh... Blom lagi pada perang tarif 3000/jam. Kita sebagai pelanggan diuntungin banget deh... hehehe... maklum kantong aku gak tebel2 banget.. alias Tongpes.. Gak Punya duit. Ide bikin billing warnet itu begini nih,
Setiap warnet pasti membutuhkan sarana untuk mencatat transaksinya setiap hari yang tidak mungkin dilakukan secara manual. Blom lagi tangan2 jahil operator yang sering ngutilin uang si majikan warnet ditambah lagi pelanggan warnetnya yang pengennya pake lama tapi bayar maunya dikit. Kejadian deh pelanggan ngeboongin operator warnet. hehehe. Saat ini banyak bermunculan software-software billing warnet yang dapat mencatat semua transaksi warnet mulai dari jasa penggunaan internet, scan, print, atau bahkan hingga minuman ringan yang mendukung usaha warnet. Di samping itu, software tersebut juga memberikan fitur-fitur beraneka ragam mulai dari yang berhubungan dengan sistem operasinya, hingga laporan keuangan warnet itu sendiri. Namun harga software billing warnet yang ditawarkan begitu beragam dan cukup mahal.
Kita bisa juga kok bikin sendiri software billing warnet. Gampang kok... cieee... Kalo buat di satu komputer aja sich emang gampang... pake excel juga kelar (Yang excel ini juga boleh kok dijadikan pokok bahasan. Tapi gak di sini yach. Tunggu aja di postingan aku yang lain.. OKE!!!). Yang aku maksud di sini bikinnya untuk smua komputer. So, si operator bisa mengendalikan client, mengobok-obok client, trus ya ngeprint tagihan pemakaian internet si client juga dong...
Yang paling asyik dan menantang..... eng ing eng.... Gimana caranya client gak bisa ngakalin operatornya... seru kan... Makanya ayo kita bikin deh programnya. Orang-orang bilang sich program ini termasuk jenis Client-Server. Untuk memulainya apa aja yang kamu butuhkan???
1. Pengetahuan cara menggunakan Visual basic
2. Pengetahuan Tentang windows Registry
3. Pengetahuan tentang Winsock
4. Pengetahuan tentang Perhitungan waktu dan harga per jam

segitu dulu deh... aku capek hari ini...
Note :
kalo dah jadi kamu bisa jualan seperti situs Billing warnet yang cukup terkenal di http://www.billingexplorer.com.

Mari Membuat dan Mencetak Barcode

Wah ide apalagi nih. Barcode itu apaan sich? Kenapaaaaaa..... susah-susah harus dibahas. Emangnya penting banget gitu??
Sebelum kita jawab penting atau tidak penting barcode bagi kita ada baiknya kita lihat hewan seperti apa sich barcode itu... hihihi... Pernah lihat kode barang dagangan di swalayan, di warung, atau di toko pokoknya tanda deretan garis tebal dan tipis yang menempel pada barang dagangan. Seperti ini loh :







Ini dia yang namanya barcode. Tanda barcode di setiap barang dagangan tidak sama, sifatnya unik untuk setiap jenis barang. hanya barang-barang sejenis aja yang sama. Misalnya Indomie Goreng sama Indomie Ayam Bawang pasti beda tandanya. Simbol-simbol ini diatur oleh badan perdagangan. setiap produsen memiliki kode tersendiri. Bagaimana aturan simbol tersebut? yach coba cari sendiri deh. capek... hihihi. Yang perlu diinget itu bahwa Tanda barcode untuk setiap barang dagangan itu UNIK.
Cara baca kode ini juga gampang kok. Gak Perlu dipikirin. Udah banyak alatnya untuk baca tanda barcode namanya Scanner Barcode. Tinggal beli trus pasang di komputer trus bisa deh dipake baca tanda barcode. hasilnya adalah deretan kode angka yang muncul sesuai cursor kamu. kalo cursor kamu lagi di notepad dalam mode ketik.. yaa brarti kode angkanya akan muncul di notepad. begitu juga kalo cursor kamu diarahkan ke textbox maka deretan angka tanda barcode akan muncul di textbox setelah di scan pada barcode. Gampang kan....???
Bagaimana cara bikin Tanda Barcode??? Perlu gak sich bikin / cetak sendiri tanda barcode??? Sebenarnya di pasaran itu dah ada printer barcode yang handal cuma masalahnya kita kepengen punya layout barcode sendiri dan tentunya dengan biaya yang murah. Soalnya printer barcode tuh lumayan mahal lho...
Bikin kode dagang sendiri yuk! eh, ngapain bikin kode dagang sendiri...??? kan dah ada yang buatin. yang perlu kita buat itu kode kita sendiri yang berbeda dan tidak sesuai dengan aturan kode dagang. Tanda barcode itu banyak jenisnya. Kode Barcode dagang biasanya pake kode simbol EAN13. cuma bisa cetak angka dan terbatas hanya 13 digit. Karena kita pengen kode bebas cocoknya tuh pake kode simbol 128. kode ini bisa menampung angka dan huruf trus bisa banyak lagi digitnya... seru kan???
Untuk Literatur Simbol kode barcode EAN13 masuk aja ke http://www.easesoft.net/Upc-ean13.html. Kalo untuk simbol Kode Barcode 128 masuk aja ke http://www.easesoft.net/Code128-ean128.html.
Kamu baca-baca deh... kalo dah selesai aku dah buatin program untuk membuat dan mencetak barcode yang merupakan realisasi dari bacaan kamu itu.. So pasti yang kode 128 dong... hehehe
Kalo pengen kodenya kasih komentar dulu yach... trus imel ke aku... cieee... ntar aku kasih...

Download File :
>>Code128 Modul
>>Password : sholat

Wass,

Arnie

Mari Membuat Program Sistem Parkir (2)

Menyambung tulisan yang lalu, untuk merealisasikan sistem parkir dibutuhkan perangkat keras dan perangkat lunak. Apa aja sich...???

Perangkat Keras :

1. Komputer (So pasti dong... kalo gak ada, kamu mau pake apa kodingnya... hihihihi..)
2. Printer Struk
3. Kamera, pake webcam juga boleh... kan untuk latihan dulu...
4. Palang pintu otomatis... (untuk yang ini, gak ada juga gak apa2... mahal sich...)
5. Proximity Card + Reader / atau boleh juga pake kartu barcode (Ini dipake kalo gak pake struk...)

Perangkat Lunak :

1. Microsoft Windows XP
2. Microsoft Visual Basic 6
3. Microsoft Office

Gambarnya kira2 begini nih...


Lihat deh... Banyak juga yach yang harus disiapin.. Sambil nyiapin (kali aja kamu belanja dulu ke manggadua beli komputer dan lain2...) kita bahas dulu aja proses kerja sistem parkir itu gimana sich. Gini loh... cieee kayak yang pinter ajee.. gak kok aku cuma sharing doang. kalo salah dimaklumi yach. Prosesnya ada dua, yang pertama proses kendaraan masuk dan yang kedua proses kendaraan keluar.

Proses Kendaraan masuk : Proses Kendaraan Keluar :




















Data-data apa aja yang kita perlukan untuk disimpen??? trus tampilannya gimana?? ntar lanjut lagi yach.... Pokoknya blajar sampe bisa... Ayo maju pantang mundur.... Jangan lupa kasih komentar yach!!!

Mari Membuat Program Sistem Parkir (1)

Ide membuat sistem parkir bukanlah sebuah ide yang konyol ataupun ide yang sudah ketinggalan zaman. Ide ini masih tetap hangat di Indonesia. Buktinya pemain besar sistem perparkiran di Indonesia saat ini hanya 2. Yang paling lama bermain di bidang ini sebut saja Secure Parking. Beliau Sudah kurang lebih 25 tahun berkecimpung di bisnis parkir. Sedangkan saingannya adalah Sun Parking. Beliau ini walaupun terhitung baru di bisnis parkir tapi bisa disebut jagoan karena hampir menguasai 25% bisnis parkir Indonesia hanya dalam jangka waktu 5 tahun saja. Hebat kan!!!

Cerita awalnya sich dimulai dari beberapa gedung perkantoran atau mall / swalayan yang memiliki lahan parkir di halaman gedung mereka yang tidak tertata dengan baik. Mereka kepikiran apakah bisa lahan parkir disewakan seperti halnya menyewakan ruang2 kantor, ruang2 kios ataupun sewa gedung dan sebagainya. Kalo emang bisa pasti gak ada space yang terbuang dong. smua bisa jadi duit.. hihihi.. Pertanyaan selanjutnya adalah siapa yang mo nyewa nih lahan??? Trus bagaimana sistem pembayaran dan sebagainya.??? Misalnya nih... lahan parkirnya disewa oleh Sun parking bulanan tapi bisa juga tahunan sih.. hihihi.. sebulan 40 Juta per 1000 meter persegi. so, tinggal Sun Parking deh yang usaha gimana caranya ngatur motor dan mobil supaya parkir bayar trus nutupin biaya bulanannya tadi itu loh... Gimana caranya duit yang masuk gak dinakalin sama petugas parkir... dan lain-lain...


Brarti kan Butuh manajemen Parkir yang handal. yang diantaranya bisa mengatur :

1. Brapa tarif mobil / motor.
2. Dicatet gak identitas mobil / motor nya..
3. Kapan boleh masuk
4. Kapan boleh keluar.
5. Siapa Petugasnya.
6. Siapa aja yg kena tarif normal siapa aja yang kena tarif khusus atau gratis... kali ajee..
7. kalo bisa sich pake kamera supaya yakin mobil/motor yang masuk sama dengan yang keluar untuk identitas yang sama. jangan sampe identitas xxxxx masuk mobil mercy keluar jadi mobil kijang atau sebaliknya. hehehe...
8. pake kartu atau struk buat pegangan mobil/motor.
9. Pas masuk/keluar pake palang pintu gak?

Sekian dulu.... ntar lanjut apa aja yang perlu disiapkan supaya sistem perparkiran bisa direalisasikan

Note :

Perlu diperhatikan bahwa ada perda khususnya di DKI yang mengatur tentang perparkiran ini. salah satu bunyi klausulnya sich mereka tidak bertanggung jawab kalo ada kehilangan mobil/motor. alasannya karena mereka hanya menyewakan lahan parkir. bukan ngejagain.. gitu deh... tapi Secure parking kena batunya di pengadilan kalah dan harus membayar ganti rugi...

Peraturan & Tata tertib

Bismillahirrohmanirrohiim, Assalamu'alaikum wr. wb,

Sourcecode yang aku sharing di sini dijelaskan terlebih dahulu alurnya disertai pembahasannya dan sifatnya GRATIS dengan syarat :

1. Kamu-kamu smua kasih komentar
2. Setiap pembuatan program dengan sourcecode dari BLOG aku dan sifatnya komersil WAJIB dan KUDU menyertakan NAMA dan BLOG aku lho!
3. Kamu-kamu jangan lupa isi Polling blog aku yach...

NB :
Donasi :
Rek mandiri No. 117-0005202486.
Arniaty Arsyad
















Wassalam,

Arnie