Rabu, 27 Januari 2016

membuat animasi clash of clans menggunakan adobe flash cs3

pertama kita buat rubah nama pada layer 1 menjadi map_mc
baru kita tambahkan layer baru kita beri nama player_mc,
tambahkan 3 layer baru masing-masing diberi nama control, frame dan as.
hasilnya seperti ini

selanjutnya kita buat movie clip untuk ledakan, misil, dan senjatanya,
cari modify > convert to symbol(F8)
name = explosion
type = movieclip
ok
buatlah beberapa movieclip seperti gambar berikut

pada movieclip explosion_gfx dan explosion2_gfx
buatlah lingkaran untuk efek ledakan nya(warna sesuai selera), kemudian klik 2x movie clip explosion rubah nama layer 1 menjadi smoke, kemudian buat layer baru beri nama explosion, setelah itu drag movieclip explosion2_gfx ke layer smoke dan explosion, baru pada timeline 6, buatlah keyframe baru, klik kanan pada timeline 6 kemudian insert keyframe. pada timeline 6 drag movieclip explosion_gfx, buat lagi keyframe baru pada timeline, tapi harus ada interval 1 detik antara layer smoke dan explosion, kemudian drag kembali explosion2_gfx pada layer smoke dan explosion. setelah itu blok semua timeline smoke, klik kanan tambahkan create motion tween. lakukan hal yang sama pada layer explosion.
buat sebuah layer baru untuk menghilangkan efek dari movie clip ini.  bisa dilihat pada gambar berikut

layer baru ini harus setelah layer smoke dan explosion, aktif pada layer 3, klik kanan pada timeline setelah smoke kemudian insert frame baru kita isikan kode untuk menghilangkan efek dari movie clip
klik window > action(F9)
masukan kode ini
removeMovieClip(this);

buat juga seperti movieclip explosion ke explosion2 tapi pada layer 3 kita masukan kode seperti ini
this.removeMovieClip();

pada movie clip enemy kita tambahkan gambar
atur tinggi dan lebar gambar .
pada movie clip player tambahkan juga gambar

pada movieclip missile kita tambahkan juga gambar
pada movie clip layer 1 buatlah 2 keyframe atur gambar misil tersebut harus sama pada masing2 keyframe

pada scene 1 map_mc geser movie clip map pada dokumen sesuaikan ukuran pixel nya
pada scene 1 player_mc geser movie clip player pada dokumen
pada scene 1 as
masukan kode ini pada timeline
window > action(F9)

/**
*
* Fire Weapon
*
*/
//pengaturan
var reloadSpeed:Number = 75; //ms 1000 = 1 second
var missileSpeed:Number = 4;
var turnRate:Number = .7;
var reloadTimer:Number;
var reloadComplete:Boolean = true;

function fireWeapon(target):Void
{
//check jika senjata sudah di isi, if benar, tembakkan peluru
if(reloadComplete == true)
{
//mengeluarkan misil
var tempMissile = _root.attachMovie("missile", "missile"+_root.getNextHighestDepth(), _root.getNextHighestDepth());

//men set posisi misil
tempMissile._x = player_mc._x;
tempMissile._y = player_mc._y;
tempMissile._rotation = player_mc._rotation;

//set posisi target misil
tempMissile.targetX = target._x;
tempMissile.targetY = target._y;

//set kecepatan perpindahan misil
tempMissile.moveX = 0;
tempMissile.moveY = 0;

//membuat misil pindah dengan onEnterFrame
tempMissile.onEnterFrame = function(){
doFollow(this, target);
}
//menjalankan suara menyerang
missile_attack_snd.start();

//mulai mengisi senjata
startReloading();
}
}

//mulai mengisi senjata 
function startReloading()
{
reloadComplete = false;
//set waktu yang akan memanggil fungsi "startReloading" setelah "reloadSpeed" 
reloadTimer = setInterval(this, "gunReloaded", reloadSpeed);
}
//gun reloaded function 
function gunReloaded()
{
clearInterval(reloadTimer);
reloadComplete = true;

}

/**
*
* Follow
*
*/
function doFollow(follower, target):Void
{
//mengambil jarak antara misil dan musuh
follower.distanceX = target._x - follower._x;
follower.distanceY = target._y - follower._y;

//get total distance as one number
follower.distanceTotal = Math.sqrt(follower.distanceX * follower.distanceX + follower.distanceY * follower.distanceY);

//menghitung berapa banyak musuh
follower.moveDistanceX = turnRate * follower.distanceX / follower.distanceTotal;
follower.moveDistanceY = turnRate * follower.distanceY / follower.distanceTotal;

//increase current speed
follower.moveX += follower.moveDistanceX;
follower.moveY += follower.moveDistanceY;

//get total move distance
follower.totalmove = Math.sqrt(follower.moveX * follower.moveX + follower.moveY * follower.moveY);

//apply easing
follower.moveX = missileSpeed*follower.moveX/follower.totalmove;
follower.moveY = missileSpeed*follower.moveY/follower.totalmove;

//move follower
follower._x += follower.moveX;
follower._y += follower.moveY;

//rotate follower toward target
follower._rotation = 180 * Math.atan2(follower.moveY, follower.moveX)/Math.PI;

//add smoke
doTrail(follower._x, follower._y, "particle_smoke_clear");

//check if we hit the target
if(follower.hitTest(target))
{
//add explosion
addExplosion(target._x, target._y, explosionParticleAmount, explosionDistance, explosionSize, explosionAlpha)
//remove target and follower
removeMovieClip(target);
removeMovieClip(follower);
}

}

//Rotate Player
var rotationDirection:Number;



/**
* doTrail - This function creates a smoke particle and sets all its parameters (settings)
*
* Params:
* targetX The x position of the particle
* targetY The y position of the particle
* type The type of particle you want to use. Named/attached directly from the library
*
**/
function doTrail(targetX:Number, targetY:Number, type:String):Void
{
//set a reference for a new particle and attach a movieclip from the library to that reference
var _particle:MovieClip = _root.attachMovie(type, type + _root.getNextHighestDepth(), _root.getNextHighestDepth());
//set the particle's x & y position based on the target x & y. Offset the particle by a few pixels
_particle._x = targetX
_particle._y = targetY
//randomly rotate the particle 360 degrees
_particle._rotation = random(360);
//give the particle a random scale, between 50% and 100%
randomScale = random(75)+25;
_particle._xscale = randomScale;
randomScale = random(75)+25;
_particle._yscale = randomScale;
//give each particle its own speed
_particle.speed = random(10)+5;
//
updateAfterEvent();
//make it move
_particle.onEnterFrame = function ()
{
//increase scale and alpha
this._xscale += this.speed;
this._yscale += this.speed;
this._alpha -= this.speed;
//check if particle is invisible, and remove it
if(this._alpha <= 0)
{
delete this.onEnterFrame;
removeMovieClip(this);
}
}
}

/**
*
* Create Enemy
*
*/

//Settings
var enemyArray:Array = [];
var enemySpeed:Number = 3;

//we will be creating new enemies in map_mc
//so we set the walk boundry by using map_mc's dementions
var topBorder:Number = 0
var leftBorder:Number = 0
var botBorder:Number = map_mc._height;
var rightBorder:Number = map_mc._width;


function createEnemy():MovieClip 
{
//attach a new enemy movieclip from the library
var tempEnemy = map_mc.attachMovie("enemy", "enemy"+map_mc.getNextHighestDepth(), map_mc.getNextHighestDepth());

//set new enemy position to the mouse position
tempEnemy._x = map_mc._xmouse;
tempEnemy._y = map_mc._ymouse;

//get random action for the X axis 
var randomAction = random(2);
switch (randomAction) { 
case 0 : 
// move right (xSpeed is positive)
tempEnemy.xSpeed = Math.random(enemySpeed)*enemySpeed;
break; 
case 1 : 
// move left (xSpeed is negative)
tempEnemy.xSpeed = -(Math.random(enemySpeed))*enemySpeed;
break; 
default : 
//
break; 


//get random action for the Y axis 
var randomAction = random(2);

switch (randomAction) { 
case 0 : 
// move down (ySpeed is positive)
tempEnemy.ySpeed = Math.random(enemySpeed)*enemySpeed;
break; 
case 1 : 
// move up (ySpeed is negative)
tempEnemy.ySpeed = -(Math.random(enemySpeed))*enemySpeed;
break; 
default : 
//
break; 
}
//give each enemy its own onEnterFrame to make it move
tempEnemy.onEnterFrame = function()
{
//check if enemy is within the preset boundry on the X axis, if not, invert xSpeed to go in opposite direction
if(tempEnemy._x <= leftBorder){
tempEnemy.xSpeed = Math.abs(tempEnemy.xSpeed);
}else if(tempEnemy._x >= rightBorder){
tempEnemy.xSpeed = -tempEnemy.xSpeed;
}
//update enemy X position by adding the calculated distance
tempEnemy._x += tempEnemy.xSpeed;


//check if enemy is within the preset boundry on the Y axis, if not, invert ySpeed to go in opposite direction
if(tempEnemy._y <= topBorder){
tempEnemy.ySpeed = Math.abs(tempEnemy.ySpeed);
}else if(tempEnemy._y >= botBorder){
tempEnemy.ySpeed = -tempEnemy.ySpeed;
}
//update enemy Y position by adding the calculated distance
tempEnemy._y += tempEnemy.ySpeed;
}

return tempEnemy;
}

/**
*
* Explosion
*
*/

//Settings
var explosionParticleAmount:Number = 15;
var explosionDistance:Number = 25;
var explosionSize:Number = 100;
var explosionAlpha:Number = 75;

function addExplosion(_targetX:Number, _targetY:Number, _explosionParticleAmount:Number, _explosionDistance:Number, _explosionSize:Number, _explosionAlpha:Number):Void
{
//run a for loop based on the amount of explosion particles
for(var i = 0; i < _explosionParticleAmount; i++)
{
//create particle
var _tempClip2 = map_mc.attachMovie("explosion2", "explosion2_" + map_mc.getNextHighestDepth(), map_mc.getNextHighestDepth());
var _tempClip = map_mc.attachMovie("explosion", "explosion" + map_mc.getNextHighestDepth(), map_mc.getNextHighestDepth());

//set particle position
_tempClip._x = _targetX+random(_explosionDistance)-(_explosionDistance/2);
_tempClip._y = _targetY+random(_explosionDistance)-(_explosionDistance/2);
_tempClip2._x = _targetX+random(_explosionDistance)-(_explosionDistance/2);
_tempClip2._y = _targetY+random(_explosionDistance)-(_explosionDistance/2);

//get random particle scale
var tempRandomSize = random(_explosionSize)+_explosionSize/2;
//set particle scale
_tempClip._xscale = tempRandomSize;
_tempClip._yscale = tempRandomSize;
//get random particle scale
var tempRandomSize = random(_explosionSize)+_explosionSize/2;
//set particle scale
_tempClip2._xscale = tempRandomSize;
_tempClip2._yscale = tempRandomSize;

//set particle rotation
_tempClip2._rotation = random(359);

//set particle alpha
_tempClip._alpha = random(explosionAlpha)+explosionAlpha/4;
_tempClip2._alpha = random(explosionAlpha)+explosionAlpha/4;
}
}

/**
*
* Mouse Controls
*
*/
//create an object that we'll listen to
mouseListener = new Object();

//on Click, fire the weapon
mouseListener.onMouseDown = function() {
//our createEnemy function returns an enemy movieclip after it creates it
//so its the same as saying fireWeapon(myMovie_mc)
fireWeapon(createEnemy());
};

//on mouse move, rotate the player
mouseListener.onMouseMove = function() {
rotatePlayer();
}

//add listener
Mouse.addListener(mouseListener);
\untuk hasil jadinya bisa dilihat pada gambar dibawah ini




Jumat, 08 Januari 2016

Pengendalian dan Audit Sistem Informasi (BAB I Konsep Sistem dan Audit)

KONSEP SISTEM & SISTEM INFORMASI
Mengapa kita membahas “system” dalam kaitannya dengan auditing? Yak arena keyakinan auditor terhadap keterandalan system dan internal controlnya merupakan salah satu tahapan maupun tonggak keyakinan auditor  dalam memberikan opini ataupun rekomendasi terhadap pemakai laporannya. Dalam meyakini keterladanan system dan kontrolnya , auditor melakukan tes of controls sebelum melakukan substantive test . Pada pemeriksaan akuntansi  substantive test  dilakukan dengan test of transaction dan test balance related . sedangkan dalam audit yang lain misalnya test terhadap program, response time,file dan system development pada audit teknologi informasi .
            Pada perkembangan teknologi komputasi dan komunikasi dewasa ini, system informasi perusahaan hampir dapat dikatakan sangat mengandalkan dukungan teknologi informasi.Sistem informasi memiliki beberapa subset, salah satunya adalah system informasi akuntansi yang mutlak diperlukan bagi suatu organisasi entitas bisnis.

Pengendalian dan Audit Sistem Informasi (BAB II Konsep risiko dan Pengendalian)

KONSEP RISIKO DAN SISTEM PENGENDALIAN INTERN
Risiko (risk) dan Kontrol (control) berkaitan dengan exposures. Kata exposures itu sendiri menurut The English Oxford Dictionary adalah berasal dari kata expose yang berarti uncover make visible atau leave unprotected. Sedangkan kata risiko (risk) is the probability of occurance. Controls are need to reduce exposures. Risiko yang dihadapi pada system berbasis teknologi informasi lebih rumit dan perlu didesain dengan metoda yang berbeda disbanding system secara manual. Dibidang teknologi, salah satu perkembangan terpenting dari tonggak sejarah perkembangan teknologi informasi adalah ide Van Neuman tentang konsep programmable yang diterapkan pada system kerja komputer. Pemakaian  komputer yang pertama untuk kegiatan pengolahan data sensus penduduk di Amerika Serikat adalah merupakan salah satu lembaran baru aplikasi teknologi informasi. Pada decade 1970-an, tiga pemuda Steve Job, Steve Wozniak, dan Bill Gates adalah orang – orang yang mempunyai sumbangan sangat besar dalam memasyarakatkan komputer sebagaimana yang kita rasakan sekarang ini.

Pengendalian dan Audit Sistem Informasi (BAB III Audit Sistem Informasi dan Prosedur)

Audit Sistem Informasi dan Prosedur

Istilah EDP-Audit (electronic data processing audit), atau computer audit, kini lebih sering disebut dengan audit sistem informasi (information systems audit). Pada awalnya EDP audit dilakukan hanya dalam rangka audit laporan keuangan. Dalam perkembangannya kemudian, karena pentingnya dan makin besarnya investasi dalam TI. Organisasi perusahaan makin merasakan perlunya audit operasional terhadap fungsi TI-

Pengendalian dan Audit Sistem Informasi (BAB IV Audit Sistem Informasi)

Teknik Audit Berbantuan Komputer
Teknik audit berbantuan komputer (TABK) atau dalam Bahasa Inggris sering disebut dengan Computer Assisted Audit Techniques (CAATs) adalah pelaksanaan pengumbulan bahan bukti audit dengan menggunakan komputer. Audit berbantuan komputer dapat menggunakan software paket (Pakage Software) dan general uaudit software, maupun application software (user designed), atau bahkan dengan memanfaatkan paket aplikasi dari Microsoft, misalnya Exell.
Copyright © 2015 Sonny | Design : Gol D Sony | Images: Moutonzare