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.