Parallel Random Access Machine

Algoritma PRAM (Parallel Random Access Machine) memiliki dua fase yaitu :

  1. mengaktifkan sejumlah prosesor
  2. prosesor yang sudah diaktifkan (pada fase 1), melaksanakan komputasi secara parallel

pro

Gambar, Untuk mengubah 1 prosesor yang aktif ke p prosesor dibutuhkan |log p|Langkah

Jumlah prosesor yang aktif merupakan lipat-2 (2n) dari prosesor tunggal atau alogaritma dari basis 2.

Instruksi meta untuk mengaktifkan prosesor yang digunakan (dalam fase 1) :

spawn (<nama prosesor>)

Instruksi meta untuk melakukan komputasi secara paralel (dalam fase 2) :

for all <processor list>

do

<statement list>

endfor

Pohon biner menjadi paradigma yang penting dalam komputasi paralel. Pada beberapa algoritma ada yang menggunakan aliran data top-down (akar –daun).

Contoh :

  • broadcast : akar mengalirkan (mengirimkan) data yang sama ke setiap daunnya
  • divide-and-conquer : pohon menggambarkan adanya perulangan sub divisi suatu masalah ke sub masalah yang lebih kecil.

Parallel Reduction (Reduksi paralel)

Reduksi secara paralel dapat digambarkan dengan pohon biner. Sekelompok n nilai ditambahkan dalam |log p| langkah penambahan paralel.

tree

Implementasi algoritma penjumlahan, setiap node dari pohon merupakan elemen dalam array

treadpada gambar diatas merupakan salah satu teknik kerja parallel computing yaitu parallel reduction. Untuk cara perhitungan tersebut dibagi menjadi 4 step .

pada step 1 setiap thread akan dipasangkan dengan thread sampingnya dan dijumlahkan. Setelah dijumlahkan maka hasilnya akan diletakkan dibawah, yang selanjutnya akan dijumlahkan pada step 2 dengan cara yang sama yaitu menjumlahkan dengan thread sampingnya, proses tersebut akan terus dilakukan hingga didapat hasil akhir dan tidak ada lagi pasangan nilai yang harus dijumlahkan.

jadi pada step 1

10 + 1 + 8 + (-1) + 0 + (-2) + (3) + (5) + (-2) + (-3) + 2 + 7 + 0 + 11 + 0 + 2

maka hasilnya :

11  7  (-2)  8  (-5)  9  11  2

step 2

11 + 7 + (-2) + 8 + (-5) + 9 + 11 + 2

maka hasilnya :

18  6  4  13

step 3

18 + 6 + 4 + 13

maka hasilnya :

24  17

step 4

24 + 17

maka hasilnya :

41

karena tidak ada lagi pasangan untuk penjumlahan maka proses akan berhenti. Karena untuk menjalankan proses paralel minimal harus ada 2 pasang angka yg akan dihitung.Maka hasil dari proses penjumlahan secara parellel di atas adalah 41

referensi :

http://developer.download.nvidia.com/compute/cuda/1.1-Beta/x86_website/projects/reduction/doc/reduction.pdf

//

Categories: Uncategorized | Tags: , , , , , , | Tinggalkan komentar

Parallel Computing pada GPU di NVIDIA CUDA

GPU (Graphic Processing Unit) sendiri merupakan sebuah alat/hardware, yang berfungsi sebagai render grafis terdedikasi dalam kesatuan sistem hardware PC atau Notebook. GPU bisa berada pada Video Card khusus (VGA Card) atau terintegrasi dalam Motherboard berupa Integrated GPU. GPU berfungsi untuk mengolah dan memanipulasi grafis pada CPU (Central Processing Unit), untuk nantinya ditampilkan dalam bentuk Visual Grafis pada Monitor (output).

CUDA (Compute-Unified-Device-Architecture) adalah arsitektur komputasi paralel yang dikembangkan oleh NVIDIA. CUDA adalah mesin komputasi dalam pemrosesan grafis NVIDIA unit (GPU) yang dapat diakses oleh pengembang perangkat lunak melalui varian dari bahasa pemrograman standar industri. CUDA merupakan kumpulan program-program yang menerjemahkan teks dalam bentuk bahasa komputer (computer language) berupa source language/source code, ke dalam bentuk bahasa komputer yang lain (target language/object code). Arsitektur CUDA memungkinkan GPU (yang telah support CUDA) menjadi arsitektur terbuka seperti layaknya CPU (Central Processing Unit a.k.a Processor). Hanya, tidak seperti CPU, GPU memiliki arsitektur banyak-inti yang pararel.

Komputasi Parallel pada GPU

  • GPU computing (General Purpose GPU – GPGPU) merupakan konsep pemrograman parallel yang menggunakan GPU sebagai media komputasi untuk memproses komputasi yang umumnya dikerjakan CPU.
  • Model untuk komputasi GPU adalah dengan menggunakan CPU dan GPU bersama-sama dalam suatu model komputasi heterogen co-processing.
  • Dari sudut pandang pengguna, aplikasi akan berjalan lebih cepat karena menggunakan kinerja-tinggi dari GPU untuk meningkatkan kinerja.
  • CPU lebih spesifik menangani permasalahan logika, sedangkan permasalahan komputasi diserahkan kepada GPU.

Berikut ini adalah gambar diagram Operasi floating-point CPU dan GPU pada beberapa produk Nvidia

diagram

Gambar diagram operasi floating-point CPU – GPU dan memory bandwith untuk CPU – GPU

diagram2

Perbedaan floating-point operation dan memory bandwith ada karena GPU dispesialisasikan untuk menangani komputasi secara paralel. Pada GPU dirancang lebih banyak transistor yang didedikasikan untuk mengolah data daripada data caching dan flow control.

Untuk penggunaan / implementasi cuda kita bisa menggunakan beberapa software yang bisa digunakan untuk membuat program dengan dukungan teknologi CUDA seperti :

  • CUDA x86 Compiler, hasil kerja sama NVIDIA dan Portland Group untuk membuat aplikasi dengan menggunakan CUDA.
  • ANSYS, spesialisasi di bidang desain dan simulasi yang memanfaatkan CUDA untuk melakukan simulasi. Satu proses simulasi, misalnya simulasi kemungkinan masalah yang terjadi pada roda pesawat terbang, membutuhkan kemampuan proses yang tinggi.
  • Autodesk,menambahkan dukungan terhadap CUDA pada aplikasi populer mereka, 3ds Max, melalui plugin iray. iray memungkinkan rendering objek 3D dilakukan dengan menggunakan GPU yang mendukung CUDA.
  • Autodesk juga menunjukkan sebuah proyek masa depan dimana pengguna 3ds Max bisa melakukan editing dari jarak jauh pada aplikasi 3ds Max yang terpasang di server yang didukung tenaga 32 GPU Fermi, hanya melalui sebuah browser.
  • MATLAB

Bila ingin mengetahui jenis GPU NVIDIA yang telah support CUDA bisa dlihat disini

referensi :

http://en.wikipedia.org/wiki/CUDA

http://dimasdisini.wordpress.com/2011/04/03/multicore-gpu-cuda/

https://developer.nvidia.com/

Categories: Uncategorized | Tags: , , , , , | Tinggalkan komentar

Presentasi proposal “criedtography”

Nama dari perusahaan yang di buat disini yaitu criedtography, perusahaan ini bergerak dibidang jasa photography. Dalam membentuk suatu usaha dibidang photography di butuhkan suatu proposal yang digunakan untuk mempromosikan usaha, dan berikut ini akan ditampilkan slide – slide presentasi dari proposal yang dibuat menggunakan power point. “Untuk melihat lebih jelas gambar slide dibawah ini silahkan klik pada gambar slide”
1
2
3
4
5
6
7
8
9
10
Categories: Uncategorized | Tinggalkan komentar

Jenis – jenis Malware

(part II) Jenis-jenis malware:

1. Virus

Inilah istilah yang sering dipakai untuk seluruh jenis peangkat lunak yang mengganggu komputer. Bisa jadi karena inilah tipe malware pertama yang muncul. Virus bisa bersarang dibanyak tipe file. Tapi boleh dibilang, target utama virus adalah file yang bisa dijalankan seperti EXE, COM, dan VBS, yang menjadi bagian dari suatu perangkat lunak. Boot sector juga sering dijadikan sasaran virus untuk bersarang. Beberapa file dokumen juga bisa dijadikan sarang oleh virus.

2. Worm

Worm alias cacing, begitu sebutannya. Kalau virus bersarang pada suatu program atau dokumen, cacing-cacing ini tidak demikian. Cacing adalah sebuah program yang berdiri sendiri dan tidak membutuhkan sarang untuk menyebarkan diri. Hebatnya lagi, cacing bisa tidak memerlukan bantuan orang untuk penyebarannya. Melalui jaringan, cacing bisa “bertelur” di komputer-komputer yang terhubung dalam suatu jaringan.

3. Wabbit

Berbeda dengan worm yang menyebarkan diri ke komputer lain menggunakan jaringan, wabbit menggandakan diri secara terus menerus di dalam sebuah komputer lokal dan hasil penggandaan itu akan menggerogoti sistem. Kinerja komputer akan melambat karena wabbit memakan sumbera daya yang lumayan banyak. Selain memperlambat kinerja komputer karena penggunaan sumber daya tersebut, wabbit bisa diprogram untuk memiliki efek samping yang efeknya mirip dengan malware lain.

4. Keylogger

Dengan menggunakan keylogger dapat menyimpan catatan aktivitas penggunaan komputer dalam suatu file yang bisa dilihat kemudian secara lengkap. Di dalamnya bisa terdapat informasi seperti aplikasi tempat penekanan tombol dilakukan dan waktu penekanan. Dengan cara ini, seseorang bisa mengetahui username, password, dan berbagai informasi lain yang dimasukkan dengan cara pengetikan. Pada tingkat yang lebih canggih, keylogger mengirimkan log yang biasanya berupa file teks itu ke seseorang tanpa sepengetahuannya. Pada tingkat ini pula keylogger bisa mengaktifkan diri ketika pengguna komputer melakukan tindakan tertentu.

5. Browser Hijacker

Browser hijacke rmengarahkan browser yang seharusnya menampilkan situs yang sesuai dengan alamat yang dimasukkan ke situs lain. Selain itu gangguan yang dapat disebabkan oleh browser hijacker antara lain adalah menambahkan bookmark, mengganti home page, serta mengubah pengaturan browser.

6. Trojan Horse

Trojan Horse adalah suatu program yang berfungsi sebagai mata-mata atau spy. Trojan ini masuk atau dimasukkan ke komputer bertujuan untuk memata-matai aktivitas komputer target.

7. Spyware

Spyware adalah perangkat lunak yang mengumpulkan dan mengirimkan informasi tentang pengguna komputer tanpa diketahui oleh si pengguna itu. Informasinya bisa saja yang tidak terlampau berbahaya seperti pola berkomputer, terutama berinternet, seseorang, sampai yang berbahaya seperti nomor kartu kredit, PIN untuk perbankan elektronik (e-banking), dan password suatu akun.

8. Backdoor

Backdoor mampu mengacaukan lalu lintas jaringan, melakukan brute force untuk meng-crack password dan enkripsi, dan mendisitribusikan serangan distributed denial of service (DDoS).

 

Lihat juga artikel lainnya mengenai malware forensik :

Pengertian forensik (part1)

Jenis-jenis malware (part2)

Indikasi malware (part3)

Toolkit (part4)

Honeypot (part5)

 

 

Categories: Uncategorized | Tinggalkan komentar

Game Engine

Game Engine adalah perangkat lunak yang dirancang untuk membuat dan mengembangkan video game. Fungsi utama yang diberikan oleh game engine meliputi rendering untuk 2D atau 3D graphic, collision detection, sound, scripting, animasi, artificial intelligence, networking, memory management, threading dan scene graph.
      Sebuah game engine dibagi lagi menjadi dua bagian besar. Yaitu API dan SDK. API (Applicaiton Programming Interfaces) adalah bagian operating system, services dan libraries yang diperlukan untuk memanfaatkan beberapa feature yang diperlukan. Dalam hal ini contohnya DirectX. Sementara SDK adalah kumpulan dari libraries dan API yang sudah siap digunakan untuk memodifikasi program yang menggunakan operating system dan services yang sama. Biasanya, game engine menyertakan keduanya.
      Contohnya dalam Unreal Engine, menyiapkan antarmuka baku bagi programmer untuk menciptakan game nya dengan mudah, melalui scripting engine, yang disebut UnrealScript, dan juga libraries, yang berisi model standar dan texture standar dan juga world editor yang disebut sebagai UnrealED.
Tipe-tipe game engine, yaitu :

Roll-your-own game engine

Game engine tipe lebih disukai karena selain kemungkinan besar gratis, tipe game engine ini juga memperbolehkan para developer lebih fleksibel dalam mengitegrasikan komponen yang diinginkan untuk dibentuk sebagai game engine mereka sendiri. Namun kelemahan dari tipe game engine ini banyak engine yang dibuat dengan cara semacam ini malah menyerang balik developernya.

Mostly-ready game engines

Engine ini biasanya sudah menyediakan semuanya begitu diberikan pada developer/programmer. Semuanya  termasuk conth GUI, phisycs, libraries models, texture dan lain-lain. Banyak dari mereka yang sudah benar-benar matang, sehingga dapat langsung digunakan untuk scripting sejak hari pertama. Game engine semacam ini memiliki beberapa batasan, terutama jika dibandingkan dengan game engine sebelumnya yang benar-benar terbuka lebar. Hal ini ditujukan agar tidak banyak terjadi error yang mungkin terjadi setelah sebuah game yang menggunakan engine ini dirilis dan masih memungkinkan game engine-nya tersebut untuk mengoptimalkan kinerja game-nya. Dengan hal ini dapat menghemat waktu dan biaya dari para developer game.

Point-and-click engines

Engine ini merupakan engine yang sangat dibatasi, tetapi dibuat dengan sangat user friendly. Anda bahkan bisa mulai membuat game sendiri menggunakan engine seperti GameMAker, Torque Game Builder dan Unity3D. Dengan sedikit memanfaatkan coding, kamu sudah bisa merilis game point-and-click yang kamu banget. Kekurangannya terletak pada terbatasnya jenis interaksi  yang bisa dilakukan dan biasanya hal ini mencakup semuanya, mulai dari grafis hingga tata suara. Tapi bukan berarti game engine jenis ini tidak berguna, bagi developer cerdas dan memiliki kreativitas tinggi, game engine seperti ini bisa dirubah menjadi sebuah game menyenangkan, seperti Flow. Game engine ini memang ditujukan bagi developer yang ingin menyingkat waktu pemrogramman dan merilis game-game mereka secepatnya.

Beberapa elemen yang ada didalam game engine, antara lain :
Tools/Data

 Dalam pengembangan game, dibutuhkan data yang tidak semudah menuliskan text files. Dalam pengembangan game, paling tidak dibutuhkan beberapa tools seperti 3d model editor, level editor dan graphics programs. Bahkan jika diperlukan, seringkali kita mengembangkan game engine tersebut dengan menambahkan beberapa code dan fitur yang diperlukan.

System

System adalah bagian dari game engine yang berfungsi untuk melakukan komunikasi dengan hardware yang berada di dalam mesin. Jika game engine sudah dibuat dengan baik maka system ini adalah satu-satunya bagian yang membutuhkan perubahan yang cukup banyak apabila dilakukan implementasi pada platform yang berbeda. Di dalam system sendiri terdapat beberapa sub system yaitu graphics, input, sound, timer, configuration. System sendiri bertanggung jawab untuk melakukan inisialisasi, update dan mematikan sub system yang terdapat di dalamnya.

Console

Dengan menambahkan console, kita dapat merubah setting game dan setting game engine di dalam game tanpa perlu melakukan restart pada game tersebut. Console sendiri lebih sering digunakan dalam proses debugging. Apabila game engine tersebut mengalami error kita tinggal mengoutputkan error message tersebut ke dalam console tanpa harus melakukan restart. Console sendiri dapat dihidupkan dan dimatikan sesuai keinginan.

Support

Support adalah bagian yang paling sering digunakan oleh system di dalam game engine. Support sendiri berisi rumus-rumus matematika yang biasa digunakan seperti : vector, matrix, memory manager, file loader merupakan dasar dari game engine dan hampir digunakan semua projek game engine.

Renderer/Engine Core

Pada game engine, engine core / renderer terdiri dari beberapa sub yaitu visibility, Collision Detection dan Response, Camera, Static Geometry, Dynamic Geometry, Particle Systems, Billboarding, Meshes, Skybox, Lighting, Fogging, Vertex Shading, dan Output.

Game Interface

Game interface sendiri merupakan layer diantara game engine dan game itu sendiri. Berfungsi sebagai control yang bertujuan untuk memberikan interface apabila di dalam game engine tersebut terdapat fungsi fungsi yang bersifat dinamis sehingga memudahkan untuk mengembangkan game tersebut.

The Game

Merupakan inti dari penggunaan game engine sendiri, sehingga user dapat mengembangkan game tersebut sesuai dengan yang diinginkan.

Saat sekarang ini sudah sangat banyak game engine yang hadir, dan sangat maju. Para pembuat game engine kini berlomba-lomba untuk menciptakan game engine dengan tampilan yang menarik agar menciptakan suasana permainan yang nyaman atau enak untuk dilihat dan dimainkan dalam PC ataupun Console. Dengan tampilan atau graphic yang menarik yang kini semakin mendekati realitas dalam segi fisik para tokoh serta gameplay-nya, akan membuat para gamers semakin antusias untuk memainkan game tersebut.
Contoh-contoh game engine :Game engine gratis
  1. OGRE
  2. Irrlicht
  3. Panda3D
  4. jME
  5. Blender
Game engine berbayar
  1. Torque Game Engine
  2. C4 Engine
  3. 3DGameStudio
  4. Leadwerks Engine 2
  5. DX Studio
Categories: Artikel | Tinggalkan komentar

DASAR – DASAR TEORI GAME

Teori permainan adalah suatu cara belajar yang digunakan dalam menganalisa interaksi antara sejumlah pemain maupun perorangan yang menunjukkan strategi-strategi yang rasional.
Teori permainan pertama kali ditemukan oleh sekelompok ahli Matematika pada tahun 1944. Teori itu dikemukakan oleh John von Neumann and Oskar Morgenstern yang berisi :
“Permainan terdiri atas sekumpulan peraturan yang membangun situasi bersaing dari dua sampai beberapa orang atau kelompok dengan memilih strategi yang dibangun untuk memaksimalkan kemenangan sendiri atau pun untuk meminimalkan kemenangan lawan. Peraturan-peraturan menentukan kemungkinan tindakan untuk setiap pemain, sejumlah keterangan diterima setiap pemain sebagai kemajuan bermain, dan sejumlah kemenangan atau kekalahan dalam berbagai situasi.”

Pengertian Game

Menurut Agustinus Nilwan dalam bukunya “Pemrograman Animasi dan Game Profesional” terbitan Elex Media Komputindo, game merupakan permainan komputer yang dibuat dengan teknik dan metode animasi. Jika ingin mendalami pengunaan animasi haruslah memahami pembuatan game. Atau jika ingin membuat game, maka haruslah memahami teknik dan metode animasi, sebab keduanya saling berkaitan.


Animasi

Animasi dapat dibuat dengan tiga teknik berbeda, yaitu Image, Xoring serta make. Dan dalam pergerakannya dapat bertipe object sprite atau object frame. Juga bisa dibedakan atas metode animasi yang digunakan antara animasi frame, bibliting dan realtime. Walaupun terbagi atas berbagai definisi berbeda, tapi dalam prakteknya teori-teori tersebut dapat digabungkan atau saling berhubungan sehingga tidak murni dipakai sendiri. Macam-macam animasi yang digunakan dalam membuat sebuah game akan diterangkan sebagai berikut :


1. Animasi Dengan Teknik Image

Animasi dengan teknik ini adalah menyimpan image sebagai sebuah sprite dalam memori yang kemudian akan ditampilkan di backgroundnya. Dalam teknik ini animasi yang disimpan harus berlatar belakang sesuai backgroundnya. Animasi dengan teknik ini biasanya sulit dalam pembuatan gambarnya, sebab harus banyak dan melakukan penyamaan dan posisi. Akan tetapi teknik ini mudah dalam hal memainkan animasinya.

2. Animasi Dengan Teknik Xoring
Teknik ini adalah teknik animasi yang mudah dan sederhana, sebab selain gambarnya satu sprite, cara menampilkannya juga jauh lebih mudah dibanding dengan teknik sebelumnya. Pembuatan gambarnya sangat mudah, sebab yang dibuat adalah spritenya saja dan tidak perlu menyamakan dengan backgroundnya.
Kelemahan dari teknik ini adalah memiliki efek buruk yaitu tembus pandang dan mengganti warna sprite, maka hal ini tidak baik digunakan dalam animasi yang backgroundnya bergambar.

3. Animasi Dengan Teknik Make

Animasi dengan teknik ini biasanya digunakan untuk animasi umum, tapi biasanya digunakan untuk proses pembuatan animasi. Animasi dengan teknik ini memiliki sprite yang terus menerus digenerate oleh program, kemudian ditampilkan dengan perhitungan tertentu.
Animasi ini biasanya dilakukan oleh 3D modelling dan shading software seperti AutoCad, 3D Studio, Presidio 3D Workshop dan lain-lain.
Operasi diatas haruslah digenerate secara langsung dengan perhitungan sehingga saat pembuatan hampir bersamaan dengan saat menampilkannya

4. Animasi Dengan Tipe Object Sprite
Animasi ini menggunakan sprite sebagai pemeran utama sedangkan object lainnya hanya background diam. Prosesnya adalah mebuat gambar sprite dengan latar belakang warna hitam, lalu dibuat juga sprite yang sama tetapi berwarna hitam dan latar belakangnya adalah warna tertinggi, kemudian ditempatkan dengan pertama-tama menyimpan background yang akan ditimpa oelh sprite dan ditempatkan sprite dengan Xor dan Ditimpa dengan warna tertinggi secara Xor.

5. Animasi Dengan Tipe Object Frame
Animasi ini menitik beratkan animasi yang dimainkan hanya pada sprite objectnya saja, akan tetapi seluruh backgroundnya juga seolah-olah ikut digerakkan.

6. Metode Animasi frame
Metode ini adalah metode animasi yang mendukung tipe object frame. Karena metode animasi dengan metode full-screen, maka frame yang tampil haruslah disiapkan terlebih dahulu dalam bebera page sebelumnya. Karena hal tersebut maka pengambilan gambarnya haruslah sangat cepat, sehingga tidak menjadikan animasi lamban dan tersendat. Animasi frame ini haruslah menampilkan gambar fullscreen yang bergerak, agar efek tersendat dari pergantian frame tidak menyolok.

7. Metode Animasi BitBlt

Metode animasi ini biasanya disebut sprite animation, array animation, blocked animation, partial screen animation, snapshot animation atau arcade animation. Prinsip dari metode ini adalah menyimpan image dan memainkan animasinya dalam bentuk satu atau bebera sprite kecil.

8. Metode Animasi Real-Time

Dalam metode ini biasanya semua animasi yang sedang tampil atau yang akan dibuat dilakukan bersama sehingga tidak perlu disiapkan terlebih dahulu. Karena animasi ini lambat dan tersendat maka animasi dengan metode ini akan bagus jika pergerakan yang akan dilakukan adalah tidak diketahui sebelumnya dan tiba-tiba muncul.
Metode ini tidak disarankan untuk animasi biasa-biasa saja, akan tetapi sebaiknya digunakan untuk keperluan khusus seperti rotating dan tweening

Categories: Uncategorized | Tinggalkan komentar

PC Games

Pengertian komputer game (PC Game)

Personal Computer Game (juga dikenal sebagai permainan komputer atau game PC) adalah permainan yang dimainkan di komputer pribadi, bukan pada video game konsol atau mesin arcade.
Game PC yang dibuat oleh pengembang satu atau lebih permainan, biasanya bersama dengan spesialis lainnya (seperti seniman permainan) dan dipublikasikan baik secara mandiri atau melalui penerbit pihak ketiga. Mereka kemudian dapat didistribusikan pada media fisik seperti DVD dan CD, sebagai internet-download, mungkin dapat didistribusikan secara bebas, perangkat lunak, atau melalui jasa pengiriman online seperti Direct2Drive dan Uap. game PC sering membutuhkan hardware khusus di komputer pengguna untuk bermain, seperti generasi spesifik unit pemrosesan grafik atau koneksi internet untuk bermain online, meskipun persyaratan sistem ini bervariasi dari satu pertandingan ke pertandingan. selain itu pula fitur yang menarik dari PC Game pada saat ini adalah bisa berinteraksi secara online (jika dibuatkan oleh pengembang). sehingga antar pemain antara PC game yang satu dengan yang lain (terpisah) dapat melakukan interaksi pada waktu yang sama dalam satu game.

Game Engine
Game Engine adalah system perangkat lunak yang dirancang untuk menciptakan dan pengembangan video game. Ada banyak mesin permainan yang dirancang untuk bekerja pada konsol permainan video dan sistem operasi desktop seperti Microsoft Windows, Linux, dan Mac OS X. fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin render ( “renderer”) untuk 2D atau 3D grafis, mesin fisika atau tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, manajemen memori, threading, dukungan lokalisasi, dan adegan grafik. Proses pengembangan permainan sering dihemat oleh sebagian besar menggunakan kembali mesin permainan yang sama untuk menciptakan permainan yang berbeda.

Jenis-jenis Game PC :
1. Fun Games
Fun games adalah permainan seperti : skate board, bilyard, catur, puzzle, tetris, golf, Windows Entertainment Pack Games dan semua permainan yang animasinya sedikit dan pembuatannya relatif mudah. Permainan semacam ini terlihat mudah dari segi grafiknya tetapi biasanya sulit dalam algoritma.

Image

2. Arcade Games
Arcade games adalah semua permainan yang mudah dimengerti, menyenangkan dan grafiknya bagus walau biasanya sederhana. Pengertian mudah dimengerti dan menyenangkan dikarenakan permainan ini hanyalah berkisar pada hal-hal yang disenangi umum seperti pukul memukul, tembak menembak, tusuk menusuk, kejar mengejar dan semua yang mudah dan menyenangkan. Yang termasuk kedalam permainan jenis ini adalah Prince of Persia, Street Fighter, Golden Axe, Grand Prix, Robocop.

Image

3. Strategic Games
Strategic games biasanya permainan strategi perang atau bisa juga permainan lain tetapi tetap saja memerlukan strategi untuk memenangkannya seperti startegi bisnis dan strategi politik.

Image

4. Adventure Games
Adventure games terbagi atas tiga macam yaitu petualangan biasa (Multi Layered Adventur), Dungeon-Underworld Adventure (3D Adventure) dan Roll Playing Game Adventure. Biasanya algoritma untuk membuat game ini adalah sedang-sedang saja sampai sulit. Tapi grafik jenis permainan ini benar-benar sulit. Contoh beberapa permainan jenis ini adalah Space Quest IV, Labyrinth of Word, War II, CRASH BANDICOOT 3 WARPED dan Diablo.

Image

5. Simulation Games
Dari semua jenis permainan yang ada, masing-masing memiliki tingkat kesulitan dan kemudahannya, jika bukan algoritmanya maka akan mudah dalam hal animasinya, akan tetapi games simulasi bisa disebut sebagai jenis permainan yang paling sulit, baik algoritma pembuatannya maupun animasinya. Permainan jenis ini juga yang paling membuat pusing dibandingkan dengan permainan jenis lainnya. Algoritmanya sangat sulit sebab harus memperhitungkan semua kejadian dalam kondisi sebenarnya. Berbagai efek animasi yang dibuat tidak cukup bermodalkan ahli grafik dan algoritma saja, tetapi sedikitnya harus mengerti persoalan matematika, teknik dan fisika. Contoh permainan jenis ini adalah Stellar7, F-15 Strike Eagle, Flight Simulator 98, F-14 Tomcat, F-16 Falcon, Jet Fighter, Cities In Motion.

Image

Categories: Uncategorized | Tags: , , , | Tinggalkan komentar

Algoritma DnC menggunakan C++

Listing Program :

#include <stdio.h >

#include <conio.h>

int max,min;

int a[100 ];

void maxmin(int i, int j)

{

int max1, min1, mid;

if(i== j)

max=min= a[i];

else if(i ==j-1)

{

if(a [i] < a[j])

{

max=a [j];

min=a[ i];

}

Else

{

max=a [i];

min=a[ j];

}

}

Else

{

mid=(i+ j)/2 ;

maxmin(i,mid);

max1= max;

min1=min;

maxmin(mid+ 1,j);

if(max< max1)

max=max1 ;

if(min> min1)

min=min1;

}

}

void main()

{

int i,num;

clrscr();

printf(“\n \t\t \t Maximum & Minimum \n \n”);

printf(“\n Masukkan Banyak Angka : “);

scanf(” %d”, &num);

printf(“\n Masukkan Angkanya : \n”);

for(i= 1;i<=num ;i++ )

{

scanf(” %d”,& a[i ]);

}

max=a [0];

min=a[ 0];

maxmin(1, num);

printf(” Maximum Angka : %d\n “,max);

printf(” Minimum Angka : %d\ n”,min);

getch();

}

Penjelasan fungsi pada listing program :

#include <conio.h>

peryataan conio.h. adalah library pada C yang digunakan untuk mengkoneksikan pernyataan clrscr() dengan program yang kita buat. Tanpa menggunakan library ini, kita tidak bisa menggunakan fungsi prototype seperti: gotoxy(), clrscr(), clreol().

#include <stdio.h>

Dalam c++ jika kita menginginkan penggunaan input dan output, atau bisa diartikan sebagai standard library yang berfungsi untuk I/O  package maksudnya digunakan jika kita ingin pada program kita menggunakan fungsi standard input atau output bisa dikatakan seperti portable input/output package. Tanpa menggunakan library ini, kita tidak bisa menggunakan perintah-perintah input/output pada program kita.

int a[100];

int max, min;

Pernyataan diatas digunakan untuk mendeklarasikan variable. Untuk int a[100] artinya variable a bertipe data integer (bilangan bulat) array dan memiliki tampungan hingga 100 karakter. Sedangkan untuk int max, min artinya variable max dan min bertipe data integer (bilangan bulat).

void maxmin(int i, int j) {

Pernyataan diatas adalah procedure untuk melakukan penghitungan dengan identitas maxmin dengan variable utamanya integer i dan integer j.

if(i==j) {…   }

Pernyataan diatas adalah kondisi utama (prioritas) sebuah percabangan dalam suatu program.

else if(i==j-1) {… }

Pernyataan diatas adalah kondisi kedua (alternative) sebuah percabangan dalam suatu program, pernyataan ini akan dieksekusi jika kondisi dalam pernyataan utama tidak terpenuhi.

else {…  }

Sedangkan pernyataan diatas adalah kondisi terakhir sebuah percabangan dalam suatu program, pernyataan ini akan dieksekusi jika kondisi dalam pernyataan utama dan kedua tidak terpenuhi.

void main() {

Pernyataan diatas adalah main procedure (prosedur utama dalam program ini). Fungsinya sama seperti public.static.void.main(String args[]) { pada bahasa pemrograman java.

clrscr();

Pernyataan di atas digunakan untuk membersihkan layar ketika program dieksekusi.

printf(“\n\t\t\t   Maximum & Minimum \n\n”);

Pernyataan printf di atas digunakan untuk mencetak tulisan yang ada diantara tanda kutip “ ”, yaitu Maximum dan Minimum. Pernyataan \n digunakan agar tulisan utama yang dicetakada jedanya (enter) pada saat program dieksekusi, sedangkan pernyataan \t digunakan agar tulisan utama yang dicetak menjorok kedalam (tab) pada saat dieksekusi.

scanf(“%d”,&num);

Pernyataan scanf digunakan untuk menyimpan angka yang kita input ketika program dieksekusi. Disini terdapat %d yang mengartikan data inputan akan ditampilkan dalam bentuk decimal, dan &num mengartikan data inputan akan disimpan sementara pada variable num.

for(i=0;i<num;i++) { scanf(“%d”,&a[i]); }

Pernyataan for di atas digunakan sebagai kondisi perulangan pada program, program akan mengeksekusi dimulai dari 0 hingga terpenuhi kondisi i<num , dan variable i akan terus bertambah 1 terpenuhi kondisi i<num. Hasil dari eksekusi perulangan di atass akan tersimpan kedalam baris pernyataan scanf(“%d”,&a[ i ]).

getch();

berguna unutk membaca sebuah karakter, bisa juga membaca tombol, getch() tidak akan menampilkan karakter dari tombol yang ditekan. Sebuah getch() bisa pula digunakan untuk menunggu sembarang tombol ditekan. Pada keadaan seperti ini, hasil dari fungsi ini tidak perlu diletakkan ke variable, atau dipascal dapat diartikan sebagai readln

Output Program :

Categories: Uncategorized | Tinggalkan komentar

Membuat diagram activity dengan starUML

Disini kita saya akan membuat suatu diagram activity yang menggambarkan suatu Sistem dari suatu perusaan menggunakan aplikasi starUML. Sebelum itu kita harus tahu terlebih dahulu komponen – komponen apas aja yang digunakan dan fungisi nya, berikut ini adalah penjelasannya :

  • Composition  : Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia bergantung tersebut. Sebuah relationship composition digambarkan sebagai garis dengan ujung berbentuk jajaran genjang berisi/solid.
  • Aggregation : Digunakan untuk menghubungkan sebuah kelas dengan kelas yang lain dimana kelas yang lain itu merupakan sebuah decision dimana kita memilih attributnya hanya satu attribute dari attribute yang telah disediakan.
  • Generalization : Digunakan untuk menghubungkan sebuah class dengan class yang lainnya dimana class dan class yang dihubungkan merupakan sebuah sub class. Disini class induk ada di orang dan class sub ada di dosen dan MHS. Panah ini menunjuk kepada class induknya.
  • Association : Digunakan untuk menghubungkan sebuah class dengan class yang lainnya dimana class dan class yang dihubungkan saling berhubungan namun tidak memiliki key yang sama.
  • Class : Merupakan komponen yang menandakan sebuah Class. Yang menggambarkan sebuah struktur dan penjelasan sebuah objek class. Sebuah class mempunyai attribute dan operation

 

Algoritma pembuatan diagram pada StarUML :

  1. Disini kita akan menetukan apa saja yang akan menjadi sebuah kelas. Kelas dari perusaan itu adalah Pegawai, Department, Produk, Transaksi, Pelanggan, Minuman, Makanan dan Perlengkapan.
  2. Setelah itu kita menentukan Atributt apa saja yang ada di dalam kelas tersebut. Salah satu contohnya adalah Pegawai, dimana pegawai itu sendiri memiliki attribut NIP(Nomor Induk Pegawai, Nama dan alamat. Untuk lebih jelas lihat pada gambar.
  3. Kemudian kita metoda / Operation. Ada tidaknya Operation itu tergantu dari class tersebut. Apakah kelas tersebut memungkinkan memiliki kelas. Jita tidak memiliki maka tidak perlu dituliskan.
  4. Selanjutnya kita harus mengetahui hubungan antar kelas. Dimana hubungan ini sangat mempengaruhi diagram yang akan dibuat.

 

Output :

Categories: Uncategorized | Tinggalkan komentar

Subnetting

Langkah-langkah untuk mengkonversi angka biner subnetmask menjadi bentuk dotted decimal :

  • Pecah-pecahlah bit-bit subnet mask menjadi bentuk 4 buat octet (8-bit): 11111111.11111111.11110000.00000000
  • Tuliskan desimal 255 intuk setiap octet yang semua bit-nya bernilai 1, tuliskan angka 0 untuk setiap octet yang semua bit-nya bernilai 0.
  • Konversikan octet yang bit-bitnya campuran 0 dan 1.
  • Tuliskan ulang dalam bentuk dotted decimal 255.255.240.0

Tugas pada praktikum kali ini adalah untuk menghitung pada IP ke berapa, IP akan menjadi network, host, broadcast, dan IP yang ditentukan termasuk pada subnet yang keberapa.

Soal yang ditentukan adalah mencari IP network, IP Broadcast, IP host, dan Subnet yang keberapa dari 192.168.0.150/27. Dalam perhitungannya, kita menggunakan metode subnetting dengan ketentuan seperti dibawah ini :

Sebelum subnetting, IPnya adalah :

  • IP address : 192.168.0.150/27
  • Subnet mask dalam desimal : 255.255.255.0
  • Subnet mask dalam biner : 11111111.11111111.11111111.00000000
  • Menentukan jumlah host persubnet rumus yang digunakan yaitu 2h-2, dimana nilai h didapatkan dari 32 bit – (bit yang ditentukan). Seperti perhitungan bit dibawah ini, bit yang ditentukan yaitu 27, jadi :

11111111.11111111.11111111.11111111 (32 bit)

11111111.11111111.11111111.11100000 (27 bit) –

00000000.00000000.00000000.000111111(5 bit)

  • Untuk jumlah host persubnet jadi 25 – 2 = 30 host persubnet
  • Jadi host yang diperlukan persubnet yaitu 30 host. Untuk menentukan IP network, IP host mana persubnet dan IP broadcast, bisa terlihat pada tabel di bawah ini:

 

 

IP Address

Jenis IP

Keterangan Perhitungan

Subnet host ke berapa

192.168.0.0

Network

Subnet ke-1

192.168.0.1

s/d

192.168.0.30

Host

IP network (0 + 30)

192.168.0.31

Broadcast

192.168.0.32

Network

Subnet ke-1

192.168.0.33

s/d

192.168.0.62

Host

IP network (32 + 30)

192.168.0.63

Broadcast

192.168.0.64

Network

Subnet ke-2

192.168.0.65

s/d

192.168.0.94

Host

IP network (64 + 30)

192.168.0.95

Broadcast

192.168.0.96

Network

Subnet ke-3

192.168.0.97

s/d

192.168.0.126

Host

IP network (96 + 30)

192.168.0.127

Broadcast

192.168.0.128

Network

Subnet ke-4

192.168.0.129

s/d

192.168.0.158

Host

IP network (128 + 30)

192.168.0.159

Broadcast

 

Dari penjelasan perhitungan dalam tabel di atas dapat disimpulkan untuk IP 192.168.0.150/27

Subnet ke-       : 4

IP Network     : 192.168.0.128

IP Host Awal  : 192.168.0.129

IP Host Akhir : 192.168.0.158

IP Broadcast   : 192.168.0.159

Categories: Uncategorized | Tinggalkan komentar

Blog di WordPress.com.