Halaman

Kamis, 14 November 2013

Performa Flash CS5 dan CS6

Kemarin saya mengedit file dengan Flash CS5.
Ketika copy paste suatu movieclip, dan replace movieclip, ternyata Kinerja Flash CS5 menjadi lebih lambat.
Lain hal nya dengan Flash CS6, ketika copy paste seperti cara di atas, Kinerjanya tetap stabil.

Solusi ketika Flash CS5 kinerjanya melambat :
- close file yang sedang di edit
- matikan program Flash tersebut
- jalankan kembali
- edit kembali file yang sama

Solusi lain:
- edit dengan menggunakan Flash CS6
- save as menjadi Flash CS5 Document

Semoga bermanfaat

Senin, 11 November 2013

Mencari FPB dari 2 buah bilangan

Kalau ini adalah mencari Faktor Persekutuan Terbesar atau biasa disebut FPB.


Begini algoritmanya dgn actionscript 2.0 :

function CariFPB(a, b) {
var no = 0;
var FPB = 1;
var a1, b1;
var a2, b2;
var temp = 0;

a1 = a;
b1 = b;
do {
a2 = Math.max(a1, b1)-Math.min(a1, b1);
b2 = Math.min(a1, b1);
a1 = a2;
b1 = b2;
var f = a2 == b2;
if (f) {
FPB = a1;
}
} while (!f);
//trace("FPB: "+FPB)
return FPB;
}

Misal mencari FPB dari bilangan 4 dan 6.
maka:
var hasil = CariFPB(4, 6);
trace(hasil)

--> 2


Algoritma Kelipatan dari 2 buah bilangan

Ketemu tugas kantor yang berhubungan dengan mencari Kelipatan dari 2 bilangan.
Dengan ketentuan, Kelipatannya harus kurang dari 30.

Ini dia algoritmanya dengan actionscript 2.0

function CariKelipatan(a, b) {
var no = 0;
var ArrKelipatan = new Array();
var temp = 0;
var batas = 30;
do {
no++;
temp = no*a*b;
f = temp>batas;
if (!f) {
ArrKelipatan[no-1] = temp;
}
} while (!f);
return (ArrKelipatan);
}

Misalkan 2 buah bilangan yang di cari kelipatannya adalah: 2 dan 3
maka:
var hasil = CariKelipatan(2, 3)
trace (hasil)

--> 6,12,18,24



Senin, 30 September 2013

Gerak Pertikel Bertabrakan - sumbu x - ActionScript 2.0 Flash

Saya ingin mencoba membuat program partikel bertabrakan
kira-kira seperti ini:
Huruf-huruf dianggap objek (movieclip)



Seperti ini programnya:

// fungsi gerak partikel
function gerak() {
this._x += this.dx;
this.xA = this._x-this.arah*this._width/2;
this.xB = this._x+this.arah*this._width/2;
}

// definisi awal dan mencari banyaknya partikel yang ada di layar (banyaknya movieclip "par")
nmax = 0;
do {
nmax++;
mc = this["par"+nmax];
} while (mc<>undefined);


// besar perpindahan dan menentukan arah

for (var i = 1; i<=nmax; i++) {
this["par"+i].besardx = Math.ceil(Math.random()*3)
this["par"+i].arah = -1+2*Math.floor(Math.random()*2)
}


// mengaktifkan gerak tiap partikel
for (var i = 1; i<=nmax; i++) {
this["par"+i].dx = this["par"+i].arah*this["par"+i].besardx;
this["par"+i].onEnterFrame = gerak;
}

// gerakan tiap partikel diaktifkan dengan onEnterFrame
this.onEnterFrame = function() {

for (var i = 1; i<=nmax; i++) {
for (var j = 1; j<=nmax; j++) {
mmc1 = this["par"+i];
mmc2 = this["par"+j];
if (i<>j) {
if (mmc1.xB>mmc2.xB && mmc1.xA<mmc2.xA && mmc1.arah<>mmc2.arah) {
SwapPropertiesA(mmc1,mmc2);
}

if (mmc1.xB>mmc2.xA && mmc1.xA<mmc2.xA && mmc1.arah == mmc2.arah && mmc1.besardx>mmc2.besardx) {
SwapPropertiesB(mmc1,mmc2);
}

if (mmc1.xB<mmc2.xA && mmc1.xA>mmc2.xA && mmc1.arah == mmc2.arah && mmc1.besardx>mmc2.besardx) {
SwapPropertiesB(mmc1,mmc2);
}

}
}
}
CekDinding()

};

function CekDinding() {
for (var i = 1; i<=nmax; i++) {
mcc1 = this["par"+i];
if(mcc1.xB>640){
DindingBx(mcc1)
}else if(mcc1.xB<0){
DindingAx(mcc1)
}
}

}

// dinding kiri
function DindingAx(mc1) {
nx = 0-mc1.xB;
mc1.arah = -mc1.arah;
mc1._x += nx;
mc1.dx = mc1.arah*mc1.besardx;
}

// dinding kanan
function DindingBx(mc1) {
nx = mc1.xB-Stage.width; // 640
mc1.arah = -mc1.arah;
mc1._x -= nx;
mc1.dx = mc1.arah*mc1.besardx;
}


// tumbukan tiap objek tipe 1
function SwapPropertiesA(mc1, mc2) {
// berlawanan arah
nx = mc1.xB-mc2.xB;

swapdx = mc1.besardx;
mc1.besardx = mc2.besardx;
mc2.besardx = swapdx;

swaparah = mc1.arah;
mc1.arah = mc2.arah;
mc2.arah = swaparah;

mc1._x -= nx;
mc2._x += nx;
mc1.dx = mc1.arah*mc1.besardx;
mc2.dx = mc2.arah*mc2.besardx;
}

// tumbukan tiap objek tipe 2
function SwapPropertiesB(mc1, mc2) {
// satu arah yang sama
nx = mc1.xB-mc2.xA;

swapdx = mc1.besardx;
mc1.besardx = mc2.besardx;
mc2.besardx = swapdx;

mc1._x -= nx;
mc2._x += nx;

mc1.dx = mc1.arah*mc1.besardx;
mc2.dx = mc2.arah*mc2.besardx;

}

Selasa, 24 September 2013

Algoritma Luhn - untuk kartu kredit

def luhn_checksum(card_number):
    def digits_of(n):
        return [int(d) for d in str(n)]
    digits = digits_of(card_number)
    odd_digits = digits[-1::-2]
    even_digits = digits[-2::-2]
    checksum = 0
    checksum += sum(odd_digits)
    for d in even_digits:
        checksum += sum(digits_of(d*2))
    return checksum % 10
 
def is_luhn_valid(card_number):
    return luhn_checksum(card_number) == 0

sumber:
http://en.wikipedia.org/wiki/Luhn_algorithm

Senin, 23 September 2013

Game buatan Galih Widosamodra

Game saya ini dibuat dengan html5 dan javascript.
Silahkan mencoba:

1. Kartun Japarr
2. Tebak Karya Galih

Memang cukup lama saat membuka game ini.
Saya masih mencari cara supaya lebih cepat dan enteng untuk di buka di browser.

Mohon kritik dan saran dari teman-teman. Thanks
Maklum, masih belajar ... :)

Minggu, 22 September 2013

Cara close window javascript-html5

Pengen buat program yang ada tombol close nya.
Akhirnya googling dulu ...
Alhamdulillah ketemu beberapa contoh yang bisa di pakai.

Berikut contoh-contoh program yang bisa dipakai untuk menutup window kita.

Cara 1:
window.open('', '_self', ''); //bug fix
window.close();

Cara 2:
window.open(...);
setTimeout(function(){
    window.open('', '_self', '');
    window.close();
}, 100);

Cara 3:
setTimeout(function() { window.close(); },50);

Cara 4:
top.window.close()


semoga bermanfaat :)

sumber:
http://stackoverflow.com/questions/2032640/problem-with-window-close-and-chrome