XCH Steven's Journal

Have Dream Will Travel~

Unknown Hardware Device in DeviceManager? NO MORE LoL :D

Biasanya saat kita memasang sebuah hardware computer, dan melakukan instalasi OS baru biasanya pada beberapa PC umunya sih memang seringkali terjadi pada laptop. Dimana pada Device manager kita bisa melihat simbol kuning tanda seru pada sebuah hardware dengan nama unknown device. Hal ini tentunya menyebabkan kita kebingunan mencari driver apa dan bagaimanakah cara mengatasinya. Ternyata ada suatu metode yang dapat digunakan baik pada Windows XP maupun Vista, Bahkan Seven dimana pada control panel kita masuk terlebih dahulu ke Device Manager kemudian klik kanan properties-nya dan pada TAB detail, pilih Device Instance Id dari dropdown menu yang ada lalu kita dapat melihat nilai yang mirip seperti ini
HDAUDIO\FUNC_02&VEN_14F1&DEV_2C06&SUBSYS_104D1700&REV_1000 
Sebenarnya value 14F1 adalah Id vendornya, dan value 2C06 adalah id device tersebut, dengam berbekal informasi tersebut kita dapat melakukan tracing ke http://pcidatabase.com untuk mencari model device tersebut beserta vendornya dan kemudian kita dapat mencari drivernya di website official vendor tersebut atau di beberapa website berikut ini :
http://www.driverfiles.net/ 
http://driverzone.com/ 
http://www.driverguide.com/
Dengan demikian, masalah unknown device dapat teratasi dengan sempurna :D Stay Tune XD~

Network Programming Primary Concept

Berbicara tentang suatu aplikasi yang dapat dipakai multi-user pada saat yang bersamaan, mungkin kita sering memakainya namun bagaimana dengan cara membuatnya? Nah di sini saya akan mencoba membahas beberapa konsep cupu dasar yang pernah saya terapkan sendiri dalam pembuatan aplikasi yang pernah saya buat dengan menggunakan VB.NET 2008 seperti biasa :D.

Konsep yang pertama yang mungkin kita terapkan adalah membuat sebuah fake-network-over-database-server... binatang apaan tu?? ok itu cuman judul yang saia buat untuk keren-keren-an aja dimana jika kita terjemahkan artinya mencakup penjelasan network programming dengan konsep ini, yaitu membuat sebuah aplikasi yang terhubung dengan suatu database server (baik letaknya di internet maupun di suatu komputer) dan pada connection stringnya kita arahkan ke 1 sumber (pada bagian sourcenya) saja yang diharapkan selalu tersedia saat aplikasi digunakan disini dikonsepkan sourcenya sebagai "fake-server" mengapa saya katakan demikian? Sesungguhnya sebuah server dengan konsep ini tidak menciptakan sebuah server melainkan memanfaatkan fasilitas database server yang bersangkutan (baik mySQL, msSQL, db2, oracle, maupun yang sejenisnya). Kelebihan yang kita peroleh dari pembuatan jenis ini adalah cukup mudah untuk diimplementasikan, namun bukan berarti tanpa kelemahan yang berarti, kelemahan paling vital yang ditemui pada konsep seperti ini umumnya muncul jika aplikasi yang digunakan berskala besar sehingga membuat server menerima berbagai SQL COMMAND dengan tujuan yang berbeda - beda yang sangat rentan terhadap Integritas data itu sendiri, sebagai contoh coba bayangkan jika ada sebuah game multiplayer online yang memanfaatkan fitur ini dan setiap player memiliki buffer table untuk mencatat pergerakan mereka dan aktivitas mereka sendiri, berapa jumlah buffer table yang akan kita butuhkan? tentunya akan memberatkan sistem. Nah melihat hal ini tentunya tidak efektif lagi jika suatu database di exploitasi secara berlebihan, yang seharusnya sebuah database hanya berinteraksi mencatat informasi - informasi yang statis saja pada suatu saat tertentu dan bukan mencatat data secara realtime.

Konsep kedua yang saya kerenkan dengan nama Direct-IP-server-console, nah sebenarnya inilah yang merupakan dasar dari sebuah client-server application yang realtimepun tidak ada masalah, konsep ini memang lebih rumit untuk diimplementasikan karena pada VB.NET 2008 sendiri selain kita harus mengimport library System.net selain itu kita perlu mengerti konsep direct IP itu sendiri. Saya akan jelaskan mengenai hal ini, pertama kita perlu untuk melakukan pembuatan suatu aplikasi dari 2 sudut yang berbeda, dimana 1sudut membuat client application dan 1 lagi membuat server application. Server application yang paling mudah adalah menggunakan console (layar hitam putih) dimana bertugas untuk menyediakan banyak "tangan" untuk disalami oleh para client yang ingin berinteraksi dengan server ini dan menampilkan command yang berupa string perbaris baik dari client maupun untuk client. Client dapat berupa aplikasi GUI yang dibuat cukup menarik sesuai dengan tujuan dari aplikasi tersebut dimana semua data yang melibatkan interaksi dengan client lain-nya dikirimkan berupa paket data ke server dan di server ada suatu mekanisme menerima paket data kemudian menuliskan command pada console untuk di-terima kembali oleh client lainnya, jadi fungsi dari sebuah client adalah mampu mengirim dan menerima data secara simultan. Pada aplikasi berskala besar seperti game online contohnya banyak yang menggunakan konsep ini, yang pernah saya coba dan obrak abrik adalah game Ragnarok Online dimana server di sini bertugas melakukan tracking data dari client game itu sendiri dan server yang berupa console window menerima tracking data yang bersangkutan, dan jika dari suatu data itu memerlukan update ke database (seperti mendapaat loot barang dari monster, mengubah senjata, membuat karakter dan lain - lain) maka console server ini yang langsung berhubungan dengan database untuk melakukan query sesuati dengan paket data yang diterima.

Selain konsep - konsep di atas, perlu diteliti lebih lanjut mengenai metode pencarian hostname, melakukan listing terhadap client yang connect ke server, dan metode transfer paket data yang lebih inovatif. Nah untuk penerapannya, tentu saja akan saya bahas di lain waktu :D Stay tune n Enjoy XD