Kamis, 02 Mei 2013

Parallel Computing Review



    Hasil dan Pembahasan

Pada bagian ini peneliti mencoba melakukan analisa   terhadap   program   perkalian   matriks sebagai   kasus.   Percobaan   dilakukan   dengan variasi besar ukuran matriks sehingga mencapai ukuran maksimum. Variasi ukuran berupa variasi dimensi grid, block, dan thread. Pada percobaan ini peneliti juga memanfaatkan shared memory di GPU. Selain melihat akibat dari variasi dimensi grid, block, dan thread, peneliti juga akan melihat perbandingan waktu komputasi dan error diantara setiap  jenis  prosesor,  yaitu  CPU,  GPU  non- shared, dan GPU dengan shared memory.

Untuk melihat dampak dari variasi ukuran digunakan program perkalian matriks yang menghasilkan output berupa waktu yang dibutuhkan oleh GPU dengan shared-memory, GPU dengan non-shared memory, dan CPU biasa dalam mengalikan matriks dengan ukuran yang berbeda-beda. Selain itu program ini juga memberikan  output  berupa  error  yang  terjadi pada penghitungan matriks menggunakan GPU, baik dengan shared memory maupun dengan non- shared memory. Program akan meminta input dari user terlebih dahulu (input 1 untuk menghitung waktu eksekusi matriks, dan input 2 untuk mengecek  selisih  error,  dan  3  adalah  untuk melihat nilai variasi dari perubahan ukuran thread dan block).



Di bawah ini adalah grafik hasil output program, garis merah menandakan error pada penggunaan non-shared memory dan garis hijau menandakan error pada penggunaan shared memory.
Berdasarkan grafik pada gambar 4, error yang   terjadi   pada   perhitungan   menggunakan GPU, baik menggunakan shared memory maupun non shared, tidak terlalu signifikan. Pertumbuhan fungsi error juga dapat ditoleransi sebab bersifat linier. Hal ini membuktikan bahwa akurasi hasil perhitungan   menggunakan   GPU   cukup   baik dengan tingkat error yang rendah serta pertumbuhan fungsi yang linear. Selain melakukan perhitugan matriks dengan GPU dan CPU peneliti juga melakukan uji coba dalam variasi jumlah thread yang digunakan pada penghitungan perkalian matriks. Gambar 5 menunjukkan tampilan grafik pada output di atas, garis merah menandakan error yang terjadi pada eksekusi yang menggunakan non-shared memory dan garis hijau menandakan error yang terjadi pada  eksekusi  yang  menggunakan  shared memory.




Dari data di atas tampak bahwa running time GPU jauh lebih cepat dibandingkan dengan running time CPU. Hal ini terjadi karena iterasi kedua, iterasi untuk mencari nilai callValue pada node   sampai   root,   dikerjakan   secara   paralel dengan memanfaatkan fitur-fitur seperti shared memory yang pengaksesan datanya lebih cepat dibandingkan dengan global memori. Shared memory ini juga dimanfaatkan untuk melakukan reduksi pada proses penghitungan callValue pada setiap node sehingga mengurangi jumlah memori yang dipakai. Reduksi digunakan pada banyak algoritma paralel untuk meningkatkan paralelisme program. Pada program ini, jika reduksi tidak dilakukan maka kemungkinan besar penghitungan callValue akan dilakukan pada CPU. Hal ini tidak efisien  karena  iterasi  yang  paling  banyak dilakukan ada pada bagian yang harus direduksi ini. Oleh sebab itu, dengan memparalelkan iterasi kedua maka program akan berjalan jauh lebih cepat.

Untuk mencari kompleksitas algoritma ini, perlu dicari kompleksitas iterasi yang paling dominan. Iterasi yang paling dominan terdapat pada  iterasi  kedua  yang  melakukan iterasi  dari baris NUM_STEPS-1 sampai root. Iterasi ini berupa  nested  loop  dengan  jumlah  inner  loop sebanyak 1.
Secara umum jumlah iterasi dapat diperkirakan dengan cara seperti persamaan 1 berikut:



Sehingga    kompleksitas    algoritma    yang diperoleh adalah O(N2).

Dari data di atas dapat dilihat bahwa setiap input bernilai dua kali input sebelumnya. Selain itu, perbandingan output CPU dengan output CPU sebelumnya rata-rata bernilai 4. Maka,


Selanjutnya   diperoleh   a   =   2   sehingga kompleksitas menjadi O(N2). Kompleksitas yang diperoleh ini cocok dengan kompleksitas yang diperkirakan   sebelumnya.   Jadi,   secara   umum kompleksitas  algoritma  Binomial  Tree  Option adalah O(N2).


     Kesimpulan

Penggunaan GPU dapat meningkatkan efisiensi perhitungan pada suatu permasalahan yang melibatkan kalkulasi secara berulang-ulang. Hal  ini  dikarenakan  tingkat  homogenitas  pada data tersebut cukup tinggi sehingga perhitungan ini sangat cocok dilakukan oleh GPU yang dapat mengeksekusi  data  secara  paralel  pada  waktu yang bersamaan.


Rabu, 19 Desember 2012

[Pengantar Bisnis informatika]: H2C, Huru-Hara Komputer













Kamis, 18 Oktober 2012

FORENSIK JARINGAN [Part 1]




   
2.1.            Definisi Forensik Jaringan


Forensik jaringan (Network forensic) merupakan proses menangkap, mencatat dan menganalisa aktivitas jaringan guna menemukan bukti digital (digital evidence) dari suatu serangan atau  kejahatan  yang  dilakukan  terhadap  ,  atau  dijalankan  menggunakan,  jaringan  komputer sehingga pelaku kejahatan dapat dituntut sesuai hukum yang berlaku.
Network Forensic diperlukan untuk mengantisipasi   kian maraknya cyber criminal, namun masih terdapat banyak kelemahan dalam teknik maupun toolnya, yang sering dimanfaatkan oleh   para   penjahat   cyber   yang   kian   pintar.   Dengan   demikian   diperlukan   riset   untuk mengembangkan teknik dan tool forensik jaringan, di mana dalam hal ini berlomba dengan penjahat dunia maya tersebut. Kekalahan dalam perlombaan ini akan menimbulkan kerugian besar dan ancaman yang serius karena saat ini dan mendatang jaringan komputer merupakan inti dari hampir semua kegiatan.
Bukti digital dapat diidentifikasi dari pola serangan yang dikenali, penyimpangan dari perilaku normal jaringan ataupun penyimpangan dari kebijakan keamanan yang diterapkan pada jaringan.
Volume data yang diperoleh pada proses forensik tersebut sangatlah besar sehingga diperlukan ekstraksi ciri-ciri yang signifikan untuk meningkatkan ketelitian dan menghemat waktu analisa. Teknik intelligensia buatan dapat digunakan untuk melakukan otomatisasi ekstraksi ciri signifikan pada analisa forensik jaringan.
Salah satu teknik dan tool yang perlu dikembangkan adalah otomatisasi ekstraksi ciri signifikan  pada  analisa  forensik  jaringan  untuk  meningkatkan  accuracy  dan  mempercepat prosesnya.


2.2.            Sistem Offline vs Online

Sistem offline merupakan sistem yang telah diisolasi dari jaringan, sedangkan sistem online merupakan sistem yang masih terhubung ke jaringan Analisa pada sistem offline tersebut relatif lebih sederhana dibandingkan analisa pada sistem online karena hard disk dapat dijaga read only dan copy/salinan bit-stream dapat dibuat bersamaan dengan cryptographic hash dari sistem aslinya. Hash tersebut kemudian dapat dibandingkan dengan hash dari salinan bit stream untuk menunjukkan integritas salinannya.
Namun demikian pada beberapa keadaan, susah bahkan tidak mungkin untuk mengisolasi sistem dari jaringan, sehingga analisa harus dilakukan pada sistem online. Kesukaran terjadi karena sistem online masih terhubung ke jaringan, sehingga sistem terus berubah walaupun tanpa intervensi analis forensik sekalipun.

part 2 
part 3
part 4
part 5 


Kamis, 05 Juli 2012

Review: Lady Samurai HD



Gempuran mobile games saat ini sudah tidak dapat dibendung lagi. Gamers sekarang mungkin akan menjadi semakin sulit untuk menentukan bermain game di platform apa, dan juga memainkan genre apa. Namun jangan bingung sampai akhirnya malah membuat kalian malas bermain games, apapun platform-nya dan apapun genre-nya, yang terpenting adalah kalian bisa menikmati dan senang memainkan games tersebut.

Games yang akan kru KotGa review kali ini mungkin sedikit berbeda dari games yang biasa KotGa review sebelumnya, karena kali ini kru KotGa akan me-review game dari platform iOS. Platform iOS banyak sekali mendapatkan games baru setiap harinya, dan KotGa akan membahas satu judul games yang dikembangkan oleh Singing Cicada berjudul Lady Samurai HD. Game bergenre action-rhythm yang cukup menyenangkan untuk menghabiskan waktu di perangkat iPhone, iPod Touch dan iPad ini dirilis pada tanggal 30 Mei 2012, dan bisa kalian tebus di App Store seharga USD 1,99. Ukuran filenya yang tidak begitu besar dan tidak begitu kecil (112 MB) tidak membuat game ini melupakan aspek grafis. Grafis Lady Samurai HD memang benar-benar terlihat mulus di layar iPad, dan suara yang ada di dalam game ini juga terdengar merdu, karena aspek suara memang merupakan bagian penting dalam sebuah game bergenre rhythm.



Game ini bercerita tentang seorang samurai muda bernama Lady yang memiliki misi untuk membalas dendam atas kematian ayahnya. Lady mendapatkan kekuatan misterius yang sangat mematikan dari arwah samurai tua. Kekuatan yang diberikan oleh arwah penasaran ini terlalu kuat sampai akhirnya Lady tidak sadarkan diri. Setelah sadar dari pingsan, Lady berada di tempat yang sangat ingin ia datangi selama ini, tempat dimana dia dapat membalaskan dendamnya.

Lady Samurai HD adalah game campuran antara rhythm dan action dimana kalian harus menghajar musuh yang ada dengan cara menggesek dan menekan layar perangkat iOS kalian. Sedikit berbeda dengan game rhythm pada umumnya yang biasanya kurang memperhatikan irama soundtrack, Lady Samurai HD mengkombinasikan aspek action dan rhythm untuk menciptakan pengalaman bermain yang benar-benar baru dan juga seru.


Lady Samurai HD menghadirkan soundtrack original perpaduan dari irama techno yang unik dan instrument musik Timur, 9 level dan berbagai mode game berbeda, serta tingkat kesulitan yang beragam mulai dari Normal, Expert, Master dengan keunikan tersendiri di tiap tingkatnya.


Saat ini level yang ada masih terbilang sedikit, tapi sang pengembang menjanjikan akan ada banyak konten menarik yang saat ini sedang mereka siapkan dan rencananya akan diluncurkan dalam update selanjutnya. Lady Samurai HD adalah salah satu game yang wajib ada di daftar koleksi mobile games Kotakers. Grafisnya yang cantik dan gameplay-nya yang sederhana namun menarik, sepertinya akan membuat game ini mudah disukai oleh gamers dari segala umur.

Sabtu, 23 Juni 2012

[Pengantar Teknologi Game]: Bersembunyi Dan Menutupi Diri


Kadang2 kami membutuhkan suatu kecerdasan buatan untuk menutupi atau agar tidak diketahui oleh pemain. Contohnya, mungkin mereka ingin menangkap pemain lainn secara tiba2 atau mungkin si ai sedang mengendalikan pasukan dalam suatu peperangan. Apapun kasusnnya, mengetahui alasan (atau tempat) untuk mencari penutup akan selalu menjadi giliran yang menarik bagi si ai. Beberapa permainan meninjau kembali keunggulan aturan main yang sangat diperhitungkan, dan pemain menikmati dalam menyaksikan dalam aksinnya karena menawarkan tantangan lebih.

Menutupi biasanya menjadi masalah dari 2 performa aksi yang berurutan. Pertama, tempat penyembunyian yg baik harus terrletak dalam tingkatan permainan. Kedua, kami harus bergerak secara cepat. Bagian kedua ini tidak terlalu berpengaruh, tapi penggunaan aturan ini mirip dengan yang dijelaskan sebelumnya pada bagian ini; jadi kami akan fokus terhadap pencarian tempat persembunyian yang baik. Kedepannnya, kami membutuhkan 3 buah data:
- Posisi dan pedoman pemain
- Posisi dan pedoman kami
- Tingkatan geometri 

Tingkatan geometri harus diletakkan demikian caranya yang mengizinkan kedekatan permintaan dari objek yang bisa menjadi letak persembunyian sebenarnya. Sebuah susunan yang baik, contoh, memiliki pembatas dunia kedalam bidang data dengan lapisan objek paling atas. Kemudian, objek harus dilapisi quadtrees*), indeks ruang, atau  teknik yang lainnya, sehingga dengan cepat kami dapat menghitung dimana kesalahan objek paling dekat dengan peta lokasi yang pasti.

Algoritma yang benar adalah dengan melibatkan  penemuan objek terdekat terhadap lokasi si ai dan memperhitungkan posisi persembunyian  untuk objek tersebut. Algoritma bekerja sebagaimana mestinya. Kami memulai dengan menggunakan  gambaran adegan untuk memilih objek terdekat terhadap si ai. Langkah ini sangat tergantung dengan cara dunia yang tertata. Sekali kami telah memilih objek, kami menembak satu sinar dari posisi pemain terhadap gravitasi objek. Kami menyebarkan sinar melintasi titik tersebut, menghitung sebuah titik sepanjang sinar yang sebenarnya dibelakang objek (dari sudut pandang pemain). Seperti yang ditunjukkan pada gambar 7.6 yaang merupakan letak persembunyian yang baik. Mengingat bahwa bersembunyi di  suatu tempat dapat dipercepat jika kami dapat menjamin tempat persembunyian yang  baik.

 
Gambar 7.6. Geometri permainan petak umpat terhadap pemain.

AI  mencerminkan perilakku dapat dengan mudah ditingkatkan untuk bekerja dengan dengan sudutt pandang pemain. Ini sangat berguna bagi penembak. Sebagai penembak, kami tetap tersembunyi selama sudut pandang tersebut difokuskann terhadap kami.   Segera pemain sedang melihat  ke tempat lain, kami tahu kami bisa meninggalkan tempat persembunyian dan menyerangnya. Permaainan seperti 'medal of honor' dirancang dengan penggunaan yg baik teknik ini, dengan pasukan jerman tetap tertutup sampai kesempatan yang baik muncul.



*)quadtrees adalah pengembangan dari struktur data raster, dimana ukuran pixel dapat berubah-ubah didasarkan pada pembagian kuadran secara berturut-turut.

Senin, 23 April 2012

Game Engine Source


Source engine
Source engine logo
Non-photorealistic rendering in Team Fortress 2. Photorealistic rendering in Half-Life 2: Episode Two.
Pengembang
Valve Corporation
Rilis stabil
Build 3933 / 14 Augustus 2009
Bahasa pemrograman
C++
Platform
Microsoft Windows, Playstation 3, Xbox, Xbox 360
Lisensi
Proprietary
Situs web
http://source.valvesoftware.com/
Mesin Source adalah mesin permainan 3D dikembangkan oleh Valve Corporation. Mesin supports Microsoft Windows (32-bit dan 64-bit), Xbox, Xbox 360, dan PlayStation 3.

 

Teknologi terkenal

  • Direct3D rendering pada PC Windows Microsoft, Xbox dan Xbox 360.
  • OpenGL rendering pada Mac OS X dan PlayStation 3.
  • High Dynamic Range(HDR): diperkenalkan dengan Half-Life 2: Lost Coast dan penggunaan pertama dari modularitas Source.
  • Kompensasi lag jaringan.
  • Jaringan-diaktifkan dan bandwidth-efisien mesin fisika Source menggunakan mesin fisika Havok yang telah di tweak.
  • Sistem animasa wajah: Berbagai gerakan wajah penuh manusia dan non-manusia. Ia bekerja secara erat dengan lip-sync, yang otomatis dihasilkan dan dilokalisasi. Animasi Wajah telah memiliki dua upgrade sejak rilis Half-Life 2.

Mesin permainan Source


Valve
Serial Half-Life
Half-Life 2 · Half-Life 2: Deathmatch · Half-Life Deathmatch: Source · Half-Life: Source · Half-Life 2: Lost Coast · Half-Life 2: Episode One · Half-Life 2: Episode Two · Half-Life 2: Episode Three


Lain
Counter-Strike: Source · Day of Defeat: Source · Left 4 Dead · Left 4 Dead 2 · Portal · Team Fortress 2


Kuma
The DinoHunters · Dogfights: The Game · The History Channel's ShootOut! The Game · The Kill Point: Game · Kuma\War 2


Lain
The Crossing · Dark Messiah of Might and Magic · E.Y.E. · Garry's Mod · Mabinogi Heroes · Nuclear Dawn · Postal III · Salvation · SiN Episodes · Sting: The Secret Operations · The Ship · They Hunger: Lost Souls · Vampire: The Masquerade – Bloodlines · VR Worlds 2 · Zeno Clash

Minggu, 04 Maret 2012

Teknologi dalam Pembuatan Game





Untuk membuat game dapat menggunakan SDK (Software Development Kit) dari DirectX dengan memanfaatkan fungsi-fungsi DirectX yang disediakan. Pada dasarnya, game itu sendiri merupakan sebuah aplikasi komputer yang ditulis dengan script atau bahasa pemrograman, di balik sebuah game yang menghadirkan kesenangan dan kenyamanan bermain, terdapat ribuan bahkan jutaan kode program yang membentuknya. Game dapat ditulis dengan bahasa pemrograman yang umum dan telah dikenal seperti Visual Basic, C, Java, Delphi, Phyton, dan lain sebagainya. Umumnya para developer game menggunakan tools atau paket library, seperti OpenGL Utility Toolkit atau modul lainnya. Beberapa development tools juga dikembangkan untuk memudahkan pembuatan game, misalnya RPG Maker dari Jepang yang memungkinkan kita menciptakan game dengan genre Role Playing Game.

Lalu RPG Maker dikembangkan menjadi RPG Maker 2000 atau biasa disingkat RM2k, kemudian menjadi RPG Maker 2003 (RM2k3), RPG Maker XP (RMXP), hingga saat ini RPG Maker VX, yang tentu saja semakin menawarkan fitur-fitur yang memudahkan pembuatan game yang semakin baik. Bagaimana dengan genre game selain RPG? Tentunya juga tersedia development tools untuk itu, seperti Fighter Maker yang dari namanya sudah dapat ditebak merupakan tools untuk menciptakan game fighting.

AGS adalah program yang khusus untuk membuat game bertipe “point and click”. Mungkin sebagian dari anda ada yang tidak mengetahui apa yang dimaksud dengan “point and click”. Point and click adalah jenis game yang umumnya bertipe adventure atau puzzle. Game bertipe ini dimainkan dengan menggunakan mouse sebagai penentu arah bagi karakter, game bertipe ini sendiri sempat meledak dan mengalahkan game console “Atari”, ketika awal kebangkitan game PC.

Contoh-contoh game bertipe point and click adalah Clock Tower (PlayStation 1), Broken Sword, Monkey Island, Day of the Tentacle. Jadi bagi anda yang penasaran atau hobi membuat cerita petualangan atau fiksi ilmiah dan ingin membuat cerita tersebut menjadi game, anda bisa menggunakan program ini.

Macromedia Flash adalah program yang biasanya digunakan untuk membuat banner pada web tetapi sekarang sudah mulai banyak digunakan untuk membuat game secara online maupun offline.

3D Game Studio adalah program ditujukan untuk membuat game-game bertipe 3D ataupun 2D. Namun program ini lebih dikhususkan untuk membuat game bertipe 3D. Tapi untuk tambahan, program ini bisa dikatakan cukup sulit digunakan bagi anda yang belum memiliki pemahaman dasar tentang 3D maupun tentang membuat game. Kelebihan dari program ini adalah anda dapat membuat game sekelas dengan “Medal of Honor”, “Onimusha” , “ Prince of Persia”, “Ghost Recon”, ”Grand Theft Auto”, dll . Jadi bila anda sudah mengerti tentang dasar dari membuat game, mungkin anda dapat mencoba program ini.