Sabtu, 02 Januari 2010

Aplikasi Identifikasi Anggota Tim Sukses JK-Wiranto

Kemarin waktu rame-ramenya kampanye pilpres, saya diminta membuat software identifikasi anggota tim sukses nasional yang akan bertemu dengan pak Jusuf Kalla, jadi semua orang yang akan bertemu dengan Pak JK harus melewati software identifikasi untuk mengetahui apakah orang tersebut bisa bertemu pak JK pada saat ini.
Software ini dibuat dengan menggunakan VB.NET, dan memakai simcard sebagai media identifikasinya. Semua orang yang akan bertamu ke kediaman pak JK harus menggunakan id card khusus yang mengandung simcard, untuk selanjutnya melakukan verifikasi. Software ini dibuat untuk mencegah adanya tamu-tamu yang tidak diinginkan, walau kadang dengan leluasa keluar masuk karena kedekatan dengan keluarga JK.
Software ini memiliki 2 buah modul, yaitu modul management id card dan modul verifikasi.
Modul management berisi data2 yang ditulis di simcard, status id card, dan verifikasi kunjungan pemakai ID Card. Dalam modul ini berupa entrian data2 yang diperlukan dan pembuatan laporan siapa saja yang berkunjung hari itu, selain itu software ini jg bisa membuat ID card dan mencetaknya di printer id card, dan tentu saja penulisan data ke dalam id card dilakukan melalui software ini. Data-data antara lain pemegang kartu, kartu2 yang sudah di terbitkan dan data2 penunjang lain di manipulasi melalui modul ini.
Modul verifikasi berupa tampilan untuk melakukan verifikasi pemegang kartu dan berfungsi sebagai buku tamu jika ada tamu yang ingin berkunjung tidak memiliki kartu. Software ini bersifat semi online, semua data di download secara manual dari server dalam interval tertentu melalui modem gprs. Data yang dikirimkan berupa xml, sehingga mudah dalam hal pengiriman dan ekstraksi data. Modul ini hanya memiliki satu buah tampilan yang bisa berfungsi sebagai verifikasi dan buku tamu. Verifikasi digunakan saat akan ada rapat atau pertemuan di kediaman, dan buku tamu untuk kunjungan tamu biasa diluar jadwal rapat atau pertemuan, baik kunjungan oleh pemegang id card atau pihak yang tidak memegang kartu. Selain mencatat data pribadi pihak luar yang tidak memiliki id card, wajah pengunjung juga di rekam melalui kamera digital.
Software ini diletakkan di kediaman wapres di jalan diponegoro selama pilpres berlangsung, sebenarnya software ini akan mengikuti kemanapun pak JK pergi, karena kondisi dan situasi yang tidak memungkin kan, akhirnya software ini hanya diletakkan di kediaman pak JK.

Rabu, 30 Desember 2009

Mengirim SMS dengan SerialComm di .net

.net, paradigma pemrograman yang ditawarkan oleh microsoft dan banyak yang bilang merupakan tandingan JAVA, menyediakan banyak fitur2 dalam framework nya yang bisa dipakai secara mudah dan sederhana.
Disini kita mencoba mengirimkan sebuah sms melalui sebuah aplikasi sederhana dari .net melalui gprs modem. Di .net framework disediakan fasilitas serial comm untuk melakukan komunikasi data antara pc dan gprs modem. pada gprs modem, karena melawati comm, maka perintah2 yang dikirimkan harus diawali "AT", sehingga dikenal dengan AT Command. untuk command sendiri, biasanya bersifat spesifik untuk masing2 hardware, dan biasanya pihak manufaktur akan meluncurkan manual untuk memudahkan dalam pemrograman hardware lebih lanjut.
  • pertama, kita harus mendeklarasikan variabel serialcomm yang akan dipakai dalam pengiriman sms
private System.IO.Ports.SerialPort Comm1;
  • selanjutnya kita lakukan pengiriman perintah AT command untuk merubah mode command menjadi mode text, dengan menggunakan AT+CMGF=1, jika melakukan melalui hyperterminal, akan keluar OK jika perintah AT command sukses, tapi karena dilakukan dengan .net result nya tidak ada, kecuali kita membuat handler sendiri untuk mengetahui sukses dan tidaknya AT command.
Comm1.Write("AT+CMGF=1" + Convert.ToChar(13).ToString());
System.Threading.Thread.Sleep(100);
  • setelah itu, kita menggunakan AT+CMGS, untuk memberitahukan pada GPRS modem untuk mempersiapkan pengiriman sms ke no yang dituju.
Comm1.Write("AT+CMGS=\"" + MobNumber + "\"" + Convert.ToChar(13).ToString());

System.Threading.Thread.Sleep(100);
  • Lalu gunakan perintah Comm1.Write untuk menuliskan sms yang akan dikirimkan, pada akhir text sisipkan char(26), atau ctrl+ z kalau melalui hyper therminal.
Comm1.Write(MsgText + Convert.ToChar(26).ToString());

Disetiap AT command disisipkan perintah threading sleep(100), agar AT command berikutnya dikirimkan setelah 100 ms, respon dari GPRS modem butuh waktu dan tidak keluar error. Dibawah ini bentuk tampilan softwarenya.


Membaca ICCID

Dalam setiap simcard, ada satu tanda identifikasi khusus yang membedakan antar simcard, hal ini agar tidak terjadi dobel kartu, kalau hal ini terjadi, akan menyebabkan kekacauan dalam sistem billing GSM. selain menggunakan no telp, misalnya awal 0813 untuk simpati, 0856 untuk im3, ada identifikasi khusus yang unik yaitu ICCID, integrated circuit card ID, jika nomer nomer tadi bersifat nasional maka ICCID bersifat internasional dan permanent. No telpon mungkin bisa diganti, tapi ICCID akan tetap sama dan tidak bisa diganti.
Untuk membaca no ICCID, tiap vendor memiliki kunci khusus untuk membacanya, hal ini tentunya karena alasan keamanan. Dalam simcard, ICCID ini disimpan dalam file khusus yaitu file "2FE2", penamaan file dalam simcard menggunaan hexa.
Jadi untuk membaca no ICCID menggunakan apdu command berupa "A0A4000000022FE2", maka respond dari simcard akan berupa no ICCID berbentuk hexa, sehingga diperlukan konversi dari hexa ke decimal untuk mengetahui berapa no sebenarnya. Tapi sebelum melakukan command select file tersebut, diperlukan otorisasi dengan mengirimkan apdu command untuk otorisasi membaca file, kalo tidak akan keluar respon 9700 alias access denied atau akses ditolak.
untuk verifikasi membaca, apdu command nya "a0b20104" dan diikuti no verifikasi pembacaan ICCID, berupa 4 byte hexa.

Tune Up PC

Komputer yang kita pakai, tidak selamanya akan menunjukkan performa yang maksimal, dalam jangka waktu tertentu akan mengalami penurunan kemampuan. Hal ini bisa terlihat dari beberapa hal antara pemrosesan suatu dokumen tertentu berlangsung lebih lama dari biasanya, booting dan shutdown berlangsung lambat.
Jika performa komputer mulai menurun, hal ini perlu dilakukan sendikit perhatian agar performanya naik seperti sebelumnya. Biasanya untuk mendongkrak performa yang menurun, dilakukan upgrade hardware, misalnya menambah memori, mengganti prosesor atau mengganti vga on board dengan vga card. Menambah memori akan sedikit mendorong peningkatan performa, apa lagi vga on board diganti dengan vga card, performa makin meningkat. Penambahan memori akan menambah kemampuan pc dalam melakukan penyimpanan proses yang terjadi di sistem operasi. Penggantian VGA on board akan mengurangi beban cpu dalam pemrosesan grafis. Semua proses yang berhubungan dengan grafis akan dilakukan di vga card.
Tapi dalam jangka panjang dipastikan performa akan menurun lagi, hal ini tidak terlepas dari perilaku sistem operasi itu sendiri, proses baca tulis dalam hardisk oleh sistem operasi dilakukan secara acak dan tidak terurut, selama ada space, OS akan menulis data disitu, tidak perduli dengan urutan data yang akan ditulis. Misalnya secara virtual dokumen akan kelihatan terurut di layar monitor, tetapi secara hardware, byte byte data yang tertulis terpencar dimana2, sehingga membutuhkan waktu bagi hd untuk melakukan read write data. Selain perilaku menulis byte dimana saja tanpa peduli urutan dalam file, OS membuat file temporer untuk operasi pemrosesan data, sehingga timbul file2 temporer yang makin menumpuk dan membebani sistem.
Ada beberapa langkah yang perlu dilakukan agar performa komputer menjadi baik, dalam hal ini komputer dengan os windows xp :
  1. Melakukan disk clean up untuk membersihkan file2 yang tidak diperlukan, bisa diakses dari menu properties pada masing2 drive.
  2. melakukan defragmentasi data di hardisk dengan melalui defragment, bisa diakses melalui menu properties pada drive di windows.
  3. mengurangi opsi opsi yang akan dijalankan waktu startup windows dengan mengedit opsi-opsi yang ada melalui msconfig.
  4. menggunakan tools dari luar untuk melakukan perawatan pc, misal nya tuneup utilities, advance system total care dari iobit

Sabtu, 26 Desember 2009

XML

XML singkatan dari extensible markup language, adalah suatu paradigma baru dalam markup language, yang bersifat multiplatform dan independent. XML pada mulanya dikenal pada pemrograman berbasis web, digunakan untuk mengatur tampilan dan layout halaman di web. Tidak hanya digunakan untuk mengatur tampilan, XML juga digunakan untuk representasi data di halaman web. XML bisa digabungkan dengan HTML dan menghasilkan desain kreasi web yang dulu waktu hanya menggunakan HTML hampir mustahil dilakukan.
XML sangat disarankan oleh W3C atau world wide web consorsium dalam melakukan representasi data. XML memiliki markup markup seperti halnya HTML, tetapi tentunya dengan cakupan yang lebih luas. XML tidak hanya berkutat diseputar web programing tapi sudah merambah ke ranah pemrograman yang lain. Java dan .Net platform sangat mendukung XML, dan menyediakan bermacam fitur yang bisa dipakai dalam pemrograman xml.
XML bisa merepresentasikan table berbasis text secara sederhana, hampir semua jenis data didukung oleh XML, antara lain string, bool, integer, double sampai byte[] yang biasanya dipakai untuk menyimpan data biner. Dengan menggunakan XML, portabilitas data antar platform dapat terpenuhi dengan mudah, cukup dengan mendeskripsikan struktur table, dipastikan bisa digunakan di semua platform. Selain itu, XML jg mendukung relasi antar table dalam xml, tentunya dalam skala yang terbatas dan sederhana, tapi sudah lebih dari cukup untuk database sederhana.
Di .net untuk membuat suatu xml yang mengandung suatu data tertentu cukup dengan menggunakan method savexml pada object dataset, begitu pula sebaliknya jika ingin mengambil data yang ada pada xml, bisa dilakukan dengan method loadxml. Tidak ada rutin yang ribet, cukup dengan sintax sederhana. Hal ini karena XML sudah termasuk dalam fitur .net.

Minggu, 20 Desember 2009

Simcard

Simcard, setiap kali mendengar kata ini, dibenak saya pasti menuju bayangan ke kartu perdana milik telkomsel, xl atau indosat yang di jual bebas di toko-toko HP. Simcard sendiri digunakan sebagai salah satu bagian dari HP untuk melakukan komunikasi dengan jaringan selular yang ada. Tanpa adanya simcard, sebuah HP secanggih apapun fiturnya, serasa tidak berarti, karena fungsi dasar Hp itu sendiri untuk komunikasi. Simcard merupakan modul tersendiri dan terpisah dari HP, bisa dikatakan merupakan CPU yang berdiri sendiri. Didalam simcard terdapat OS, yang berfungsi dalam menjembatani komunikasi antara simcard dengan HP atau media lainnya. Selain OS, terdapat pula aplikasi-aplikasi kecil yang menunjang operasional sebuah simcard.
Simcard memiliki struktur file yang hampir sama dengan komputer biasa, ada OS, ada Folder dan ada File. Secara umum penulisannya menggunakan APDU, Aplication Protocol Data Unit dan menggunakan standard GSM. Jadi APDU yang berlaku pada satu macam simcard akan berlaku pula pada simcard yang lain.
Data-data yang tersimpan pada simcard berupa hexa, jadi apapun yang akan ditulis akan dikonversi dulu dalam bentuk hexa. Begitupula data yang dibaca dari dalam simcard. Operasi baca - tulis simcard memiliki 2 macam otorisasi, PIN untuk membaca data dan PIN untuk menulis data. Untuk membaca hanya memerlukan PIN baca, untuk menulis membutuh kan PIN baca dan PIN tulis. Kedua PIN tersebut terdefinisi saat melakukan perso data. Perso sendiri adalah proses yang hampir sama dengan format pada Hardisk. Penulisan OS, pembuatan Folder dan File yang diperlukan oleh Simcard untuk berkomunikasi dengan HP atau device lainnya.

Selasa, 24 November 2009

Smart Card untuk Sertifikat Nilai

[Tulisan ini berbeda dengan tulisan-tulisan bertemakan multipurpose smart card. Di sini, smart card hanya digunakan sebagai media sertifikat pendidikan, dan karena fungsinya tersebut, tidak disarankan untuk diintegrasikan dengan suatu multipurpose smart card.]

Sertifikat nilai UAN dari DepDikNas atau STTB dari sekolah, saat ini masih menggunakan bahan dasar kertas, dan bahkan ada yang datanya ditulis secara manual dengan tangan. Hal ini menyebabkan sertifikat tersebut rentan rusak secara fisik dan mudah dipalsukan atau diubah isinya, karena tidak ada perlindungan keautentikan sama sekali selain cap dan tandatangan pejabat yang berwenang, yang tentunya mudah juga untuk dipalsukan. Padahal, informasi yang ada pada sertifikat tersebut sangat penting, karena seringkali menjadi bagian dari persyaratan melanjutkan ke tingkat pendidikan yang lebih tinggi, mendapatkan beasiswa, atau juga mungkin untuk mendapatkan pekerjaan.

Oleh karena itu, bagaimana kalau smart card digunakan dalam pembuatan sertifikat tersebut. Foto & resume data/nilai dapat dicetak di bagian luar (seperti KTP atau SIM), sedangkan detailnya disimpan terenkripsi di dalam smart card.

Keuntungan yang didapat :

  1. Pencetakan & pengisian data dilakukan secara elektronik di Card Center lembaga resmi pemerintah. Lembaga ini satu-satunya yang mengetahui key maupun prosedur autentikasi untuk pengubahan data. Ini menutup peluang untuk melakukan manipulasi data ijazah.

  2. Secara fisik, sertifikat berbentuk smart card ini akan lebih kuat, mudah disimpan maupun dibawa.

  3. Karena pengisian dilakukan secara elektronik, bisa diintegrasikan dengan proses yang lain. Misalnya, dalam pembuatan sertifikat UAN, diintegrasikan dengan alat pemeriksa jawaban ujian, sehingga dapat mengurangi resiko kesalahan penulisan data.

  4. Pembacaan dan penyalinan data dapat dilakukan dengan smart card reader yang disediakan di sekolah atau lembaga-lembaga yang memerlukannya. Mudah, murah & akurat. Proses penyalinan data dan verifikasi nilai, misalnya pada seleksi penerimaan siswa baru yang berdasarkan nilai UAN, akan menjadi lebih cepat dan lebih sedikit peluang terjadinya kesalahan.

  5. Tidak diperlukan lagi legalisir ijazah, karena cukup dengan membawa foto copy smart card, kemudian datanya dicocokkan dengan yang tersimpan dalam smart card itu sendiri.

Tulisan ini saya kopi paste dari : http://www.creativesolutionsaward.com/ideaview.php?id=1341, tentunya dengan rekomendasi dari sang penulis, dan sang penulis adalah teman saya sendiri. Dia punya ide tentang sertifikat nilai dengan menggunakan smartcard, tidak jauh dari background dia sebagai seorang developer smartcard, spesialisasi di os development untuk smartcard. Mungkin secara praktisnya hal ini bisa mengurangi pemakaian kertas ijazah, ngk secara signifikan mungkin awalnya. Dan mungkin hal ini bisa menimbulkan efek domino ke bidang2 yang lain. Cukup dengan smartcard semua bisa terakomodasi.