Powered By Blogger

Rabu, 19 Juni 2013

Back Propagation Neural Network

      Seperti kita ketahui bahwa perkembangan komputer sangatlah pesat. Di berbagai bidang, komputerlah yang perkembangannya sangat cepat. Maka dari itu komputer sekarang diharapkan memiliki kemampuan untuk mengerjakan segala hal yang dikerjakan oleh manusia. Untuk itu, agar komputer dapat mengerjakan tugas manusia maka diperlukan beberapa metode untuk membekali komputer agar menjadi suatu mesin yang pintar. salah satunya dengan membekali komputer dengan mengimplementasikan Neural Network (NN) pada komputer tersebut.
     Neural Network (NN) sebenarnya mengadopsi dari kemampuan otak manusia yang mampu memberikan stimulasi/rangsangan, melakukan proses, dan memberikan output. Output diperoleh dari variasi stimulasi dan proses yang terjadi di dalam otak manusia. Dalam NN terdapat banyak metode, salah satunya yaitu pelatihan terbimbing (supervised learning). Dalam pelatihan terbimbing diperlukan masukkan dan target yang berfungsi untuk melatih jaringan hingga memperoleh bobot yang diinginkan.
    Sedangkan untuk Algoritma Back Propagation (BP) umumnya diterapkan pada perceptron berlapis banyak. Perceptron ini biasanya terdiri atas bagian input, bagian output dan bagian yang terdapat diantara bagian input dan output. Bagian yang terdapat diantara bagian input dan output ini biasanya disebut sebagai bagian yang tersembunyi atau biasa disebut hidden layers. Biasanya hidden layers paling banyak adalah 3 lapisan.
     Dalam beberapa kasus metode Neural Network sering digabungkan dengan struktur Back Propagation, maka dari itu terdapat istilah Back Propagation Neural Network. BPNN (Back Propagation Neural Network) merupakan suatu algoritma pelatihan terbimbing yang menggunakan error output untuk mengubah nilai bobot-bobotnya dalam arah mundur. Tetapi untuk mendapatkan error tahap maju yang harus dikerjakan terlebih dahulu. Terdapat 3 fase dalam pelatihan BPNN, pertama fase maju, fase mundur dan fase modifikasi bobot.
     Pada fase maju, pola masukkan dihitung mulai dari inputan hingga mencapai lapisan output. Kemudian dalam fase back propagation, unit output dari fase pertama menerima pola yang berhubungan dengan fase pertama yang akan dihitung nilai kesalahannya, maka kesalahan tersebut yang akan dijadikan fase mundur. Sedangkan untuk fase modifikasi bobot digunakan untuk memodifikasi kesalahan yang muncul sehingga mendapatkan kesalahan yang paling minimum. Kemudian ketiga fase tersebut diulang secara terus menerus hingga kondisi pemberhentian terpenuhi.

Sumber:
1. http://ejournal.undip.ac.id/index.php/jmasif/article/download/74/521

2. http://journal.uii.ac.id/index.php/Snati/article/viewFile/2191/2017

Senin, 29 April 2013

Perkembangan Komputasi Modern (Grid Computing)


1.        Pengertian Komputasi Modern
Komputasi modern adalah sebuah konsep sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memory, memory disini bisa juga dari memory komputer. Konsep ini pertama kali digagasi oleh John Von Neumann (1903-1957). Beliau adalah ilmuan yang meletakkan dasar-dasar komputer modern. Von Neumann telah menjadi ilmuwan besar abad 21. Von Neumann memberikan berbagai sumbangsih dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer yang di salurkan melalui karya-karyanya. Beliau juga merupakan salah satu ilmuwan yang terkait dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu. Kegeniusannya dalam matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya. Dalam kerjanya komputasi modern menghitung dan mencari solusi dari masalah yang ada, dan perhitungan yang dilakukan itu meliputi:
·      Akurasi (bit, floating point)
·      Kecepatan (dalam satuan Hz)
·      Problem volume besar (paralel)
·      Modeling (NN dan GA)
·      Kompleksitas (menggunakan Teori Big O)

Karakteristik Komputasi Modern
Karakteristik komputasi modern ada 3 macam, yaitu :
1.    Komputer-komputer penyedia sumber daya bersifat heterogenous karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang.
2.    Komputer-komputer terhubung ke jaringan yang luas dengan kapasitas bandwidth yang beragam.
3.    Komputer maupun jaringan tidak terdedikasi, bisa hidup atau mati sewaktu-waktu tanpa jadwal yang jelas.

Jenis-Jenis Komputasi Modern
Jenis-jenis komputasi modern ada 3 macam, yaitu :
1.    Mobile Computing atau Komputasi Bergerak
2.    Grid Computing
3.    Cloud Computing atau Komputasi Awan

2.        Grid Computing
Grid computing adalah arsitektur TI baru yang menghasilkan sistem informasi perusahaan yang berbiaya rendah dan lebih adaptif terhadap dinamika bisnis. Dengan grid computing, sejumlah komponen hardware dan software yang modular dan independen akan dapat dikoneksikan dan disatukan untuk memenuhi tuntutan kebutuhan bisnis. Lebih jauh, dari sisi ekonomi, implementasi grid computing berarti membangun pusat komputasi data yang tangguh dengan struktur biaya variatif yang bisa disesuaikan dengan kebutuhan. Grid computing adalah solusi dari masalah-masalah umum yang dihadapi perusahaan IT, antara lain: permasalahan pada aplikasi yang menyebabkan hardware tidak berfungsi maksimal; kasus monolitik, yaitu sistem sulit digunakan karena mahalnya ongkos pengelolaan dan sulitnya dilakukan perubahan terhadap sistem; juga masalah informasi yang terpisah-pisah dan tidak bisa dimanfaatkan secara maksimal.
Dalam mengadopsi grid computing, perusahaan tidak perlu mengambil langkah secara revolusioner, karena aplikasi yang sebelumnya telah dijalankan akan tetap bekerja seperti sebelumnya. Dan dimungkinkan pula untuk mengadopsi teknologi grid computing pada aplikasi yang telah dijalankan, bahkan tanpa memerlukan banyak penulisan ulang konfigurasi sistem. Popularitas grid computing tumbuh sangat cepat. Hasil riset Forrester Research melaporkan bahwa 37% perusahaan telah mulai mempelajari, menjajagi bahkan mengimplementasikan sebagian bentuk grid computing.

Evolusi Grid Computing
Teknologi grid computing merupakan teknologi yang telah dikembangkan dalam waktu yang panjang. Secara evolusi kita melihat pengembangan teknologi sejenis mulai dari Condor, kemudian diikuti oleh PVM (Parallel Virtual Machine) dan MPI (Message Passing Interface), sampai dengan Globus Toolkit. Sejak awal, para peneliti di bidang komputasi berkinerja tinggi telah menggunakan dua pendekatan, (1) supercomputer, membangun sebuah komputer dengan teknologi perangkat keras berkinerja tinggi, dan (2) multicomputer, membangun sebuah sistem komputer dengan teknologi jaringan interkoneksi dan perangkat lunak. Pendekatan pertama umumnya menghasilkan sebuah komputer yang berkinerja tinggi, tetapi berharga amat mahal sehingga hanya dapat dimiliki oleh segelintir pihak saja. Pendekatan kedua menghasilkan suatu sistem komputer yang kinerjanya bervariasi sesuai jumlah komputer yang tergabung dan konfigurasi perangkat lunak yang digunakan.
Walaupun harga suatu sistem komputer berkinerja tinggi yang dibangun dengan pendekatan multicomputer lebih terjangkau dibandingkan dengan supercomputer, pemakaiannya masih terbatas. Sistem komputer berbasis jaringan tersebut umumnya diterapkan pada komputer-komputer yang terhubung dalam suatu jaringan lokal (LAN). Salah satu penyebabnya adalah masalah keamanan jaringan yang belum tertangani dengan baik. Selain itu, sistem perangkat lunak pendukung yang memungkinkan komputer-komputer tersebut bekerja sebagai satu kesatuan umumnya memiliki konfigurasi yang kompleks sehingga penggunanya harus memiliki keahlian tersendiri sebelum dapat memanfaatkan sistem komputer tersebut.

Konsep Grid Computing
Secara singkat, grid computing berarti menyatukan seluruh sumberdaya TI ke dalam sekumpulan layanan yang bisa digunakan secara bersama-sama untuk memenuhi kebutuhan komputing perusahaan. Infrastruktur grid computing secara kontinyu menganalisa permintaan terhadap sumberdaya dan mengatur suplai untuk disesuaikan terhadap permintaan tersebut. Dimana data disimpan atau komputer mana yang memproses permintaan tidak perlu dipikirkan. Sebagaimana arus listrik untuk memanfaatkannya, tempat pembangkit atau bagaimana pengabelan jaringan listrik tidak perlu diketahui.
Dalam menyelesaikan masalah sistem monolitik dan sumberdaya yang terfragmentasi, grid computing bertujuan menciptakan keseimbangan antara pengaturan suplai sumberdaya dan kontrol yang fleksibel. Sumberdaya TI yang dikelola dalam grid mencakup:
a.         Sumberdaya Infrastruktur
Mencakup hardware seperti penyimpan, prosesor, memori, dan jaringan; juga software yang didisain untuk mengelola hardware ini, seperti database, manajemen penyimpan, manajemen sistem, server aplikasi dan sistem operasi. 
b.         Sumberdaya Aplikasi
Adalah perwujudan logika bisnis dan arus proses dalam software aplikasi. Sumberdaya yang dimaksud bisa berupa aplikasi paket atau aplikasi buatan, ditulis dalam bahasa pemrograman, dan merefleksikan tingkat kompleksitas. Sebagai contoh, software yang mengambil pesanan dari seorang pelanggan dan mengirimkan balasan, proses yang mencetak slip gaji, dan logika yang menghubungkan telepon dari pelanggan tertentu kepada pihak tertentu pula.
c.         Sumberdaya Informasi
Saat ini, informasi cenderung terfragmentasi dalam perusahaan, sehingga sulit untuk memandang bisnis sebagai satu kesatuan. Sebaliknya, grid computing menganggap informasi adalah sumberdaya, mencakup keseluruhan data pada perusahaan dan metadata yang menjadikan data bisa bermakna. Data bisa berbentuk terstruktur, semi-terstruktur, atau tidak terstruktur, tersimpan di lokasi manapun, seperti dalam database, sistem file lokal atau server email, dan dibuat oleh aplikasi apapun.

Prinsip Kerja Grid Computing
Dua prinsip kerja utama grid computing yang membedakannya dari arsitektur komputasi yang lain, semisal mainframe, klien-server, atau multi-tier: virtualisasi dan provisioning.
a.         Virtualisasi
Setiap sumberdaya (semisal komputer, disk, komponen aplikasi dan sumber informasi) dikumpulkan bersama-sama menurut jenisnya, lalu disediakan bagi konsumen (semisal orang atau program software). Virtualisasi berarti meniadakan koneksi secara fisik antara penyedia dan konsumen sumberdaya, dan menyiapkan sumberdaya untuk memenuhi kebutuhan tanpa konsumen mengetahui bagaimana permintaannya bisa terlayani.
b.         Provisioning
Ketika konsumen meminta sumberdaya melalui layer virtualisasi, sumberdaya tertentu di belakang layer didefinisikan untuk memenuhi permintaan tersebut, dan kemudian dialokasikan ke konsumen. Provisioning sebagai bagian dari grid computing berarti bahwa sistem menentukan bagaimana cara memenuhi kebutuhan konsumen seiring dengan mengoptimasi jalannya sistem secara keseluruhan.


Sumber:
2.        grid.te.ugm.ac.id/docs/wp-content/ri-grid.pdf
3.        journal.uii.ac.id/index.php/Snati/article/view/1411/1191

Kamis, 03 Januari 2013

Power Point Proposal Pengadaan & Servis Komputer

Untuk mendownload power point proposal pengadaan & servis komputer silahkan klik disini

Rabu, 17 Oktober 2012

Freezing The Scene Part 5


8.    Standar Metodologi  Komputer Forensik
Kebutuhan akan ahli komputer forensik menjadi penting pada departemen penegakan hukum, pemerintahan, dan perusahaan dunia. Dewasa ini tidak ada suatu metodologi tunggal untuk melakukan analisis dan penyelidikan forensik, karena terdapat terlalu banyak variabel. Misalkan sistem operasi, program aplikasi, algoritma kriptografi, dan platform hardware. Di luar itu adalah aspek hukum, batas-batas internasional, dan publisitas. Karena manusia tidak luput dari kesalahan maka harus ada metode yang pasti untuk melakukan penyelidikan dan standar yang dikembangkan. David Morrow menyatakan ”Seperti halnya anda tidak memulai perjalanan jauh ke daerah asing tanpa peta jalan, jangan memulai penyelidikan tanpa memperhatikan rencana”.
Sains adalah metode, serta tindakan yang direncanakan untuk memperoleh dan menganalisa barang bukti, sedangkan teknologi (dalam kasus komputer)  adalah program yang memenuhi kebutuhan tertentu untuk memperoleh dan menganalisa barang bukti. Mengikuti metode standar merupakan hal yang penting demi kesuksesan dan keefektifan komputer forensik, seperti halnya programmer mempergunakan metode pemrograman standar. Perancangan dan implementasi software merupakan hal yang mirip satu sama lain. Konsep ini dapat diterapkan pula pada komputer forensik. Bukti komputer bisa muncul dalam bermacam bentuk dan versi. Penyelidik yang memiliki pengetahuan mengenai banyak teknik dan metode penyimpanan bisa dengan cepat mengidentifikasikan tempat untuk mencari tanda-tanda barang bukti. Suatu metode standar akan memungkinkan perlindungan barang bukti.

Ada beberapa panduan keprofesian yang diterima secara luas:
· Pengujian forensik harus dilakukan secara menyeluruh. Pekerjaan ini menganalisa media dan melaporkan temuan tanpa adanya prasangka atau asumsi awal.
·    Media yang dipergunakan pada pengujian forensik harus disterilisasi sebelum setiap penggunaan.
·    Image bit dari media asli harus dibuat dan dipergunakan untuk analisa. 
·    Integritas dari media asli harus dipelihara selama keseluruhan penyelidikan.

Dalam kaitan ini terdapat akronim PPAD pada komputer forensik:
1.   Preserve the data to ensure the data is not changed (Pelihara data  untuk menjamin data tidak berubah)
2.  Protect the evidence to ensure no one else has access to the evidence (Lindungi data untuk menjamin tidak ada yang mengakses barang bukti)
3.  Analyze the data using forensically sound techniques (Lakukan analisis data mempergunakan teknik forensik)
4.    Document everything (Dokumentasikan semuanya)

Di sini integritas proses merupakan hal yang sepenting integritas data. Karena itu, tahapan khusus diperlukan untuk melindungi barang bukti.  Sedikit organisasi yang memiliki tool atau ahli forensik sendiri untuk menangani insiden yang serius. Ahli keamanan sendiri jarang dilatih komputer forensik sehingga kurang memiliki pengetahuan prosedur tertentu yang diperlukan untuk persidangan. The International Association of Computer Investigative Specialists (IACIS) memberikan tiga syarat untuk pengujian forensik:
1.    Penggunaan media forensik yang steril.
2.    Pengujian harus mempertahankan integritas media asli.
3.    Printout dan copy data hasil pengujian harus ditandai, dikenali dan disertakan.

Semua peralatan dan keahlian yang ada tidak akan berguna jika tidak disinkronisasikan dengan penegak hukum. Mungkin diperlukan dokumentasi yang lebih baik dan rangkaian penanganan barang bukti. Perlu dipelajari apa yang diperlukan oleh aparat hukum dan menyesuaikan metodologi dengannya. Karena terdapat cukup banyak variabel pada kasus forensik, ada dua hal yang diperlukan:
1.    Definisikan metodologi, baik aturan dan  panduan.
2.    Kerjakan sesuai metodologi itu.

Pemikirannya di sini jika tidak bisa berargumen bagaimana anda bekerja dan mengapa melakukannya seperti itu, hal tersebut akan dipertanyakan, “Mengapa setiap kasus ditangani secara berbeda?” Panduan harus diikuti sebagai titik referensi setiap tahap penyelidikan. Meski tidak bisa persis karena tak ada dua kasus yang identik. Misalkan saja mobil Ferrari dan Honda memiliki mekanisme dasar yang sama tetapi anda mengendarainya secara berbeda.
Hal terpenting lainnya adalah dokumentasi rangkaian barang bukti. Misalkan saja forensik dilakukan oleh beberapa orang, yang harus saling mengetahui tahapan dan pekerjaan masing-masing. Perlu dicatat pula waktu dan nama yang terkait serta langkah yang diambil. Dengan dokumentasi yang lengkap bisa mematahkan argumen salah prosedur, jika kita mengikuti metodologi yang telah ditentukan. Dokumentasi juga bisa membantu ahli forensik bila kasus ditangani dalam waktu lama dan beban kerjanya tinggi.

Beberapa aspek yang bisa dipelajari untuk meningkatkan kemampuan penyelidikan:
1.    Lakukan pemeriksaan ulang dengan tool yang berbeda sehingga cukup memberikan keyakinan.
2.    Salah satu hal yang tersulit adalah berusaha tetap obyektif selama penyelidikan. Berhentilah sebentar dan periksalah kenyataan yang ada untuk meyakinkan anda cukup beralasan. Perlu diingat pekerjaan ini berkaitan dengan mengumpulkan semua bukti yang tersedia bukan hanya bukti yang mendukung penuntutan.
3.    Yakinkan langkah-langkah anda disetujui oleh pihak manajemen dan staf hukum.
4.    Kaitkan barang bukti dengan hardware tertentu.
5.  Buatlah log tertulis untuk menjamin penyelidikan mengikuti langkah-langkah yang logis dan mampu menulis laporan yang akurat nantinya.
6.    Gunakan capture full screen.
7.    Backup barang bukti.
8.    Kumpulkan juga barang bukti pada tempat terpisah.


9.    Analisis Unknown Program
Untuk mempelajari perilaku suatu program yang tidak kita ketahui sumber dan kegunaannya terdapat beberapa cara:
1.  Analisis statik: Mempelajari program tanpa benar-benar mengeksekusinya. Tool yang dipergunakan adalah dissasembler, decompiler, tool analisis kode sumber, dan tool dasar semacam grep. Dalam kenyataannya bisa memberikan suatu gambaran pendekatan mengenai program.
2.  Analisis dinamik: Mempelajari program saat dieksekusi. Tool yang dipergunakan adalah debugger, tracer, emulator mesin, analisis logika dan terkadang sniffer jaringan. Keuntungan dari analisis dinamik adalah cepat dan akurat. Kasus khusus dari analisis dinamik adalah analisis kotak hitam (black box), yaitu analisis dinamik tanpa mengakses internal program. Dalam kasus ini, pengamatan dilakukan pada input dan output eksternal, serta karakteristik pewaktuannya.
3. Analisis postmortem: Mempelajari perilaku perangkat lunak dengan mengamati dampak setelah eksekusi program. Bisa jadi ini merupakan satu-satunya alat yang tersedia setelah penyusupan sistem.

Analisis dinamik harus dilakukan sehingga tidak menimbulkan kerusakan yang berbahaya, sehingga eksekusi program bisa dijalankan pada:
1.    Mesin “percobaan” tanpa koneksi jaringan.
2.    Mesin dengan sandbox Virtual Machine.

Untuk memantau kemajuan (progress) suatu program, pengamatan bisa dilakukan dengan cara:
1.    Pengamatan pada level instruksi mesin.
2.    Pengamatan system call yang dipergunakan.

Suatu mesin yang mengalami compromise tidak akan bisa dipercaya, dan semua informasi yang berasal dari mesin tersebut perlu diragukan. Perubahan pada suatu program aplikasi dan file data  mudah dideteksi jika diketahui file mana yang mengalami perubahan. Perubahan pada proses yang berjalan lebih susah dideteksi, begitu pula dengan perubahan pada level kernel sistem operasi, atau bahkan perubahan pada tingkat di bawah level kernel.

Ada beberapa faktor yang mempengaruhi hasil dokumentasi dan laporan, seperti:
1.    Alternative Explanations (Penjelasan Alternatif)
Berbagai penjelasan yang akurat seharusnya dapat menjadi sebuah pertimbangan untuk diteruskan dalam proses reporting. Seorang analis seharusnya mampu menggunakan sebuah pendekatan berupa metode yang menyetujui atau menolak setiap penjelasan sebuah perkara yang diajukan.

2.    Audience Consideration (Pertimbangan Penilik)
Menghadirkan data atau informasi keseluruh audience sangat berguna. Kasus yang melibatkan sejumlah aturan sangat membutuhkan laporan secara spesifik berkenaan dengan informasi yang dikumpulkan. Selain itu, dibutuhkan­ pula copy dari setiap fakta (evidentiary data) yang diperoleh. Hal ini dapat menjadi sebuah pertimbangan yang sangat ber­alasan. Contohnya, jika seorang Administrator Sistem sebuah jaringan sangat memungkinkan untuk mendapatkan dan melihat­ lebih dalam sebuah network traffic dengan informasi yang lebih detail.

3.    Actionable Information
Proses dokumentasi dan laporan mencakup pula tentang identifikasi actionable information yang didapat dari kumpulan­ sejumlah data terdahulu. Dengan­ bantuan data-data tersebut, Anda juga bisa mendapatkan dan meng­ambil berbagai informasi terbaru.

Dunia teknologi informasi yang berkembang sedemikian cepat sungguh diluar dugaan, tetapi perkembangan ini diikuti pula dengan kejahatan teknologi informasi. Dan karena kejahatan ini pula menyebabkan banyak orang harus membayar mahal untuk mencegahnya dan menaati hukum yang ada.


Ahmad Zumena Part 1
Arwan Saputro Part 2
Faisal Akbar Purnama Putra Part 3
Iwan Setyawan Part 4

Senin, 25 Juni 2012

POLA DESAIN


Bab 4. Pola Desain

"Selalu merancang sesuatu dengan mempertimbangkan konteks berikutnya yang lebih besar seperti, kursi di sebuah ruangan, ruangan di sebuah rumah, sebuah rumah di sebuah lingkungan, lingkungan dalam rencana kota."

Pemrograman berorientasi obyek (OOP) merupakan sebuah kemajuan yang signifikan atas struktur coding klasik. Program yang lebih besar dapat diatasi karena penyusunan kode yang sangat meningkat hasilnya. Tapi program terus berkembang, menjadi terlalu rumit dan sulit untuk dikelola. Seperti pemrograman terstruktur sebelumnya, dengan OOP lebih cepat diatasi.

Serangkaian teknik baru telah diusulkan untuk meningkatkan lagi kompleksitas dari project dan program agar tetap terorganisir. Perlengkapan seperti Standard Template Library (STL) telah menjadi suatu lompatan besar, karena programmer sekarang dapat percaya serangkaian komponen untuk melakukan bagian dari pekerjaannya. Komponen ini adalah konteks sensitif dan dapat digunakan pada apa pun dari spreadsheet untuk permainan 3D. Dengan demikian, tim coding dapat berkonsentrasi pada bagian dari kode yang benar-benar mendefinisikan fungsionalitas aplikasi dengan menggunakan STL sebagai pembuatan blok.

Dalam beberapa tahun terakhir, serangkaian teknik baru telah muncul, yang sama dengan STL dalam arti bahwa hal itu memungkinkan Anda untuk menggunakan komponen yang telah ditetapkan. Tapi cakupan dan ambisinya jauh lebih luas. Lengkapi bagian dari program anda, jangan hanya kelas dasar, tetapi dapat digantikan dengan komponen yang telah ada, sehingga menghemat banyak jam kerja.


Pola Desain yang Ditetapkan

Desain pola (DP) adalah solusi yang terbukti dan tidak bisa dipungkiri dari permasalahan rekayasa perangkat lunak. Sebagai ilmu komputer yang telah berkembang, beberapa masalah telah menjadi klasik dan cenderung sering muncul dalam konteks yang berbeda. Seperti tahun-tahun yang lalu, solusi yang berbeda telah diajukan, dan beberapa dari mereka akhirnya sudah diterima sebagai solusi yang optimal dalam hal efisiensi, keluwesan, dan ketahanan.

DP merupakan salah satu solusi. Secara khusus, DP adalah deskripsi lengkap dari masalah dan solusi masing-masing baik dari segi desain tingkat makro dan implementasi, sehingga programmer dapat membaca pola dan memecahkan masalah dengan menggunakan solusi optimal. Jelas, banyak waktu yang dapat disimpan dengan cara ini. Tetapi lebih banyak memilih DP daripada coding yang cepat. Dengan menggunakan DP, bagian lengkap dari kode aplikasi (sering terdiri dari banyak kelas) diganti dengan pelaksanaan yang disarankan dari pola, sehingga menjadi kotak hitam yang bisa kita percaya, dan sampai  batas tertentu.

Jadi, DP adalah entitas abstraksi lebih tinggi dari kelas sederhana atau bahkan STL. Mereka adalah subsistem lengkap, kadang-kadang terdiri dari beberapa kelas siap dan tuned untuk penggunaan tertentu. Inti dari semuanya untuk memiliki mata untuk mendeteksi masalah-masalah klasik dalam kode Anda dan mampu menyelesaikannya sesuai.

DP sering disajikan dalam daftar, sehingga analis aplikasi dapat menjelajah dan mencari pola untuk melihat mana masalah yang mungkin ia hadapi. Beberapa pola penggunaan yang sangat umum, sedangkan yang lain lebih membatasi. Beberapa dari mereka bahkan dirancang untuk masalah umum tentang coding komputer game, dan ini adalah yang akan kita tekankan untuk sisa bab ini. Namun, jangan lupa bahwa Permainan ini hanya aplikasi perangkat lunak, dan kadang-kadang mereka tidak begitu berbeda dari aplikasi lain seperti spreadsheet atau program menggambar.

Ada banyak jenis DP. Dua yang paling berguna untuk pengembang pemrograman game pola, yang menggambarkan masalah coding spesifik dan solusi standar mereka, dan pola kegunaan, yang berhubungan dengan desain interface, interaksi manusia-komputer, dan konsep terkait. Sekarang kita akan meninjau beberapa pola yang paling populer di kedua kelas, sehingga Anda dapat mengambil keuntungan dari mereka ketika coding game.


Diterjemahkan dari buku Core Techniquos and Algorithm In Game Programming


Selasa, 17 April 2012

Review Need for Speed Underground 2



Game balapan Need for Speed Underground 2 ini dirilis akhir tahun 2004, walupun agak jadul tapi gameplay nya sangat keren. Dalam game ini kita bisa merasakan sensasi kebut-kebutan di jalanan. Need for Speed Underground 2 ini juga menantang bagi para gamer untuk membenamkan diri dalam budaya tuner dan menjelajahi kota, bebas roaming luas dibagi menjadi lima lingkungan yang berbeda, dimana jika ingin melanjutkan ke lingkungan selanjutnya maka harus menyelesaikan lingkungan yang sebelumnya. Gamer akan menghadapi saingan balapan yang akan memulai pertandingan sampai bertemu dengan pemain terakhir di tempat balapan terpanas, walaupun gamer bisa memilih level dalam permainan ini dari mudah sampai sulit. Grafik dalam permainan ini memang masih banyak kekurangan disbanding dengan grafik Need for Speed yang keluaran terbaru. Tetapi didukung dengan suara dari game yang sangat asik maka bisa membawa gamer untuk masuk lebih jauh kedalam arena balap yang sesungguhnya.

Permainan ini akan menampilkan mode permainan baru, dalam kinerja dari mobil yang digunakan untuk membalap, kita bisa menyesuaikan kebutuhan mobil pada saat performance tuning. Terdapat 30 mobil berlisensi, termasuk mazda dan audy. Bisa memodifikasi mobil yang dimiliki supaya terlihat lebih menantang dari tampilan. Bagi yang penasaran untuk game ini bisa mencari dan mencoba tantangan balap yang sangat seru, dimana kita seperti berasa membalap di jalanan.. :D


Bagi yang penasaran ingin bermain, berikut spesifikasi minimum yang dibutuhkan:

· Windows 98 or better

· 993 MHz CPU

· 128 MB RAM for 98/ME (256 MB RAM for 2000/XP)

· 2 GB hard disk space

· DirectX 9.0c compatible 32 MB AGP graphics card with Transform and Lightning and one of these chipsets Radeon 7500; GeForce 2; Matrox G400; Matrox Parhelia; SIS 315

· DirectX compatible sound card


Screen Shoot






GAME ENGINE

Istilah “Game Engine” muncul pada pertengahan 1990-an, terutama dalam kaitannya dengan game 3D seperti orang pertama shooters (FPS). Begitulah popularitas id Software ’s Doom dan Quakepermainan yang, daripada bekerja dari nol, lain pengembangberlisensi bagian inti dari perangkat lunak dan grafis yang dirancang mereka sendiri, karakter, senjata, dan tingkat ”permainan isi” atau “permainan aset“. Pemisahan permainan-aturan tertentu dan data dari konsep-konsep dasar seperti tabrakan dan permainan entitas yang berarti bahwa tim bisa tumbuh dan mengkhususkan.

Game engine adalah suatu perangkat atau alat yang di gunakan dalam pembuatan game itu sendiri. Game enginemerupakan sebuah sistem perangkat lunak yang dirancang untuk penciptaan dan pengembangan video game. Ada banyak mesin permainan yang dirancang untuk bekerja pada video game konsol dan komputer pribadi. Fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin rendering ("renderer") untuk grafis 2D atau 3D, mesin fisika atau deteksi tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, memori manajemen, threading, dukungan lokalisasi, dan grafik adegan. Proses pengembangan game sering dihemat oleh di menggunakan kembali sebagian besar / mengadaptasi mesin permainan yang sama untuk membuat game yang berbeda.

Jenis-Jenis Game Engine:

a. Open source game engine:

- Blender

- Golden T Game Engine (GTGE)

- DXFramework

- Ogre

- jMonkeyEngine (jME)

- Panda3D

- Sphere

b. Commercial engines/game engine berbayar (komersial):

- Alamo

- A.L.I.V.E

- BigWorld

- DXStudio

- Dunia Engine

- Euphoria

- GameStudio

- Jade Engine

- Jedi

- Medusa

- RPG Maker VX

- RPG Maker XP

- RPG Maker 2003

- RPG Maker 95

- Vision Engine



Perbandingan Game Engine C4 Engine dengan Ogre

Perbandingan Game Engine C4 Engine dengan OGREPerbandingan Game Engine C4 Engine dengan OGREPerbandingan Game Engine C4 Engine dengan OGREPerbandingan Game Engine C4 Engine dengan OGREPPer

Sebelum dibandingkan alangkah lebih baiknya saya berikan gambaran singkat dari kedua game engine tersebut.

C4 Engine

Telah mendukung banyak sistem operasi. Game engine ini sudah memiliki paket lengkap untuk pembuatan suatu game dengan dilengkapi oleh teknologi musik dan suara 3D, komunikasi jaringan, perangkat input, memori dan manajemen sumber daya, dan masih banyak lagi.


OGRE

Singkatan dari Object-Oriented Graphics Rendering Engine yang merupakan game engine fleksibel yang berbasis scene ditulis dengan bahasa C++ didesain agar lebih mudah dipakai oleh para developer untuk memproduksi game dan demo yang menggunakan hardware 3D. Library kelas menggambarkan semua rincian dari penggunaan sistem library seperti Direct3D dan OpenGL yang menyediakan sebuah antarmuka berbasis pada objek dunia dan kelas intuitif lainnya.


Perbandingan

C4 Engine

OGRE

Penulis

Terathon Software (Eric Lengyel)

Steve Streeting

API Grafik

OpenGL

OpenGL, DirectX

Bahasa Pemrograman

C/C++

C/C++

Sistem Operasi

Windows, MacOS, PS3

Windows, Linux, MacOS

Status

Produktif / stabil

Produktif / stabil

Dokumentasi

Ada

Ada

Source Code

Ada

Ada

Harga

Berbayar

Gratis

Mesh yang Didukung

3D Studio MAX, Maya, XSI, Blender, dan paket lainnya.

Milkshape3D, 3D Studio Max, Maya, Blender dan Wings3D.

Kelebihan

- Sudah mendukung suara, physics, jaringan dan lain sebagainya.

- Bagus dalam rendering. Bisa dilihat dari demo yang ada terlihat tampak hebat.

- Memiliki kecepatan yang baik saat proses render.

- Banyak tool yang dapat dipakai dalam scene.

- Mudah dipakai karena antarmukanya mudah dikenali.

- Punya komunitas yang besar.

- Gratis karena open source.

- Dapat memilih render yang diinginkan, OpenGL atau DirectX.

- Kemungkinan kinerja OGRE dalam scene culling lebih baik.

- Dapat di-render dengan baik meskipun dengan kartu grafis bawaan Intel.

- Punya komunitas yang besar.

Kekurangan

- Butuh biaya untuk menggunakannya.

- Butuh kartu grafis dengan spesifikasi tinggi agar dapat didukung penuh.

- Hanya sebuah rendering engine jika tidak dilengkapi dengan tool jaringan, suara dan lain sebagainya.





Sumber:

http://bulletin-it.blogspot.com/2012/03/pengenalan-game-engine.html

http://febriady.wordpress.com/2010/05/15/game-engine/

http://ilhamsk.com/perbandingan-game-engine/