Results 1 to 8 of 8

Thread: dua angka berbeda

  1. #1
    papercut is offline Pahlawan BabaFlash
    Join Date
    Sep 2008
    Posts
    198

    Default dua angka berbeda

    Bro and sis
    aku punya dua variabel, bilangan1 dan bilangan2
    bilangan1 = random(10)
    bilangan2 = random(10)
    Gmana caranya supaya bilangan2 tidak sama dengan bilangan1. Soalnya dengan script di atas terkadang muncul angka yang sama

    Thx

  2. #2
    dedet's Avatar
    dedet is offline Dah Nggak Dibanned
    Join Date
    Apr 2010
    Location
    Tanah Airku Indonesia
    Posts
    580

    Default

    pake while statement untuk check angkanya, kalo sama jalanin randomnya lg.

    Code:
    var bil1:Number;
    var bil2:Number;
    
    function bilanganAcak():String
    {
        bil1 = Math.floor(Math.random()*10);
        bil2 = Math.floor(Math.random()*10);
        while(bil1==bil2)
        {
            bil2 = Math.floor(Math.random()*10);
        }
        return "bil1: " + bil1 + "\nbil2: " + bil2;
    }
    trace(bilanganAcak());
    Albert Einstein - “The important thing is not to stop questioning. Curiosity has its own reason for existing.”
    "Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime." - Chinese Proverb

    http://irzal.com

  3. #3
    papercut is offline Pahlawan BabaFlash
    Join Date
    Sep 2008
    Posts
    198

    Default Thx Bro

    Thx bro, sori baru balas, sip Gan, bisa scriptnya. Tapi timbul pertanyaan lagi nih kalo boleh.

    aku pengen bikin operasi matematika bilangan1 x bilangan2 = bilangan3

    Aku bikin scriptnya gini:
    bilangan1 = random(90)+10 --- (untuk mastiin bilangan1 selalu di atas sepuluh)
    bilangan2 = random (8)+2 ---- (untuk mastiin bilangan2 selalu diatas 1 dibawah 10)
    bilangan3 = bilangan1*bilangan2

    Gimana scriptnya supaya bilangan3 nilainya selalau di bawah 100.
    aku nyoba gini berdasarkan scirpt dari ente tapi kok gak bisa ya?

    bil1 = random(40)+10
    bil2 = random(8)+2
    bil3 = bil1*bil2
    function acakbil() {
    while(bil3>=100){
    bil1 = random(40)+10
    bil2 = random(4)+2
    bil3 = bil1*bil2
    }
    }
    acakbil()

  4. #4
    dedet's Avatar
    dedet is offline Dah Nggak Dibanned
    Join Date
    Apr 2010
    Location
    Tanah Airku Indonesia
    Posts
    580

    Default

    Bisa kok bro
    Code:
    var bil1 = random(40)+10;
    var bil2 = random(8)+2;
    var bil3 = bil1*bil2;
    
    function acakbil() {
        while(bil3>=100){
            trace("bil3 = "+bil3+"; looping...");
            bil1 = random(40)+10;
            bil2 = random(4)+2;
            bil3 = bil1*bil2;
        }
    }
    _button.onPress = function(){
        acakbil();
        trace("   hasil akhir bil3 = "+bil3);
        //acak angka lg
        bil1 = random(40)+10;
        bil2 = random(4)+2;
        bil3 = bil1*bil2;
    }
    coba ente bikin Button trus kasih instance name "_button" copas script ane diatas, hasil "bil3" selalu sama dengan dibawah 100.
    Albert Einstein - “The important thing is not to stop questioning. Curiosity has its own reason for existing.”
    "Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime." - Chinese Proverb

    http://irzal.com

  5. #5
    papercut is offline Pahlawan BabaFlash
    Join Date
    Sep 2008
    Posts
    198

    Default Bisa Gan, tambah nanya nih

    Sori bro, ternyata scriptnya bisa aku salah peletakannya aja.
    BTW aku jadi timbul sebuah pertanyaan nih.
    Misal aku mau mencari faktor dari sebuah bilangan. FPB dan KPK. Masih ingat pohon faktorial kahn ?

    Gmana caranya kalo aku mau mencari FPB ato KPK sebuah bilangan.
    Jadi misalnya gini, aku bikin dulu urutan bilangan prima 2, 3, 5, 7, 11, dst
    Ada bilangan 126, nah jadi 126 ini dibagi bilangan prima pertama yaitu 2, hasilnya 63, lalu jika 63 tidak bisa dibagi 2 dia akan maju ke bil prima berikutnya yaitu 3. Nah sebelum hasilnya mencapai bilangan prima maka ia akan terus membagi.

    Scriptnya gmana ya? Soalnya aku coba kok gak bisa.
    Logika ku sih selama hasil pembagian belum mencapai bilangan prima maka bilangan itu akan terus membagi, gmana ya?

  6. #6
    dedet's Avatar
    dedet is offline Dah Nggak Dibanned
    Join Date
    Apr 2010
    Location
    Tanah Airku Indonesia
    Posts
    580

    Question kayak gini maksudnya bukan gan?

    ini function buat bikin bilangan prima, yang dibuat ama om koneko buat AS3, konversi sedikit ke AS2, int gak ada di AS2 saia rubah jd Number, ama koreksi sedikit (baru ngeh di arraynya ada angka 1).
    http://babaflash.com/forum/showthread.php?t=6400
    dari pada bro papercut capek ngetik satu2 masukin bilangan prima ke array
    Code:
    var primeNum:Array = [];
    //@param amt jumlah bilangan prima yang mau dibuat
    function createPrimeNum(amt:Number):Array{
        var i:Number;
        var numCtr:Number = 2;
        var isPrime:Boolean = true;
        
        while(primeNum.length<amt){
            isPrime = true;
            for(i=2; i<numCtr; i++){
                if(numCtr%i == 0){
                    isPrime = false;
                    break;
                }
            }
            if(isPrime)
                primeNum.push(numCtr);
            numCtr++;
        }
        return primeNum;
    }
    //bikin bilangan prima sebanyak 200;
    createPrimeNum(200);
    http://primes.utm.edu/lists/small/1000.txt <-- sekedar cross check aja hasilnya
    Masih ingat pohon faktorial kahn ?
    faktorial kayak apa udah blank saia bro, matematika saia waktu cekolah dulu memalukan

    Cuman logikanya, kalo dari keterangan bro papercut hasil akhirnya pasti 1 khan ya?

    Kalo iya:
    Pertama kita check apakah bilangan yang mau kita cari tersebut bisa dibagi bilangan prima dengan hasil bulat, caranya pake operator modulo/modulus (%).

    Kalo gak bulat hasilnya pembaginya, hasil modulus/modulo pasti tidak sama 0.

    Nantinya hasil bagi bilangan tersebut akan dibagi lagi dengan bilangan prima yang terkecil dulu.

    Kita pake cara recursive function, function yang akan menjalankan function itu sendiri lagi.

    Code:
    //@param i angka yang akan dicheck
    function factorial(i:Number):Number 
    {
        var j:Number = 0;
        var k:Number;
        if (i == 1 || !i) {
            return i;
        } else {
            while (i % primeNum[j] != 0 && j < primeNum.length)
            {
                trace("            cheak hasil " + i + "/" + primeNum[j] + ": " + i / primeNum[j]); 
                j += 1;
            }
            trace(i + " % " + primeNum[j] + " = " + i % primeNum[j]);
            trace("pembagi: " + primeNum[j]);
            k = i / primeNum[j];
            trace("    hasil: "+k);
            return (factorial(k));
        }
    }
    
    factorial(234);
    /* output
    234 % 2 = 0
    pembagi: 2
        hasil: 117
                cheak hasil 117/2: 58.5
    117 % 3 = 0
    pembagi: 3
        hasil: 39
                cheak hasil 39/2: 19.5
    39 % 3 = 0
    pembagi: 3
        hasil: 13
                cheak hasil 13/2: 6.5
                cheak hasil 13/3: 4.33333333333333
                cheak hasil 13/5: 2.6
                cheak hasil 13/7: 1.85714285714286
                cheak hasil 13/11: 1.18181818181818
    13 % 13 = 0
    pembagi: 13
        hasil: 1
    */
    
    factorial(126);
    /* output
    126 % 2 = 0
    pembagi: 2
        hasil: 63
                cheak hasil 63/2: 31.5
    63 % 3 = 0
    pembagi: 3
        hasil: 21
                cheak hasil 21/2: 10.5
    21 % 3 = 0
    pembagi: 3
        hasil: 7
                cheak hasil 7/2: 3.5
                cheak hasil 7/3: 2.33333333333333
                cheak hasil 7/5: 1.4
    7 % 7 = 0
    pembagi: 7
        hasil: 1
    */
    
    factorial(211);
    /* output
                cheak hasil 211/2: 105.5
                cheak hasil 211/3: 70.3333333333333
                cheak hasil 211/5: 42.2
                cheak hasil 211/7: 30.1428571428571
                cheak hasil 211/11: 19.1818181818182
                cheak hasil 211/13: 16.2307692307692
                cheak hasil 211/17: 12.4117647058824
                cheak hasil 211/19: 11.1052631578947
                cheak hasil 211/23: 9.17391304347826
                cheak hasil 211/29: 7.27586206896552
                cheak hasil 211/31: 6.80645161290323
                cheak hasil 211/37: 5.7027027027027
                cheak hasil 211/41: 5.14634146341463
                cheak hasil 211/43: 4.90697674418605
                cheak hasil 211/47: 4.48936170212766
                cheak hasil 211/53: 3.9811320754717
                cheak hasil 211/59: 3.57627118644068
                cheak hasil 211/61: 3.45901639344262
                cheak hasil 211/67: 3.14925373134328
                cheak hasil 211/71: 2.97183098591549
                cheak hasil 211/73: 2.89041095890411
                cheak hasil 211/79: 2.67088607594937
                cheak hasil 211/83: 2.5421686746988
                cheak hasil 211/89: 2.37078651685393
                cheak hasil 211/97: 2.17525773195876
                cheak hasil 211/101: 2.08910891089109
                cheak hasil 211/103: 2.04854368932039
                cheak hasil 211/107: 1.97196261682243
                cheak hasil 211/109: 1.93577981651376
                cheak hasil 211/113: 1.86725663716814
                cheak hasil 211/127: 1.66141732283465
                cheak hasil 211/131: 1.61068702290076
                cheak hasil 211/137: 1.54014598540146
                cheak hasil 211/139: 1.51798561151079
                cheak hasil 211/149: 1.41610738255034
                cheak hasil 211/151: 1.39735099337748
                cheak hasil 211/157: 1.34394904458599
                cheak hasil 211/163: 1.29447852760736
                cheak hasil 211/167: 1.26347305389222
                cheak hasil 211/173: 1.21965317919075
                cheak hasil 211/179: 1.17877094972067
                cheak hasil 211/181: 1.16574585635359
                cheak hasil 211/191: 1.10471204188482
                cheak hasil 211/193: 1.09326424870466
                cheak hasil 211/197: 1.07106598984772
                cheak hasil 211/199: 1.06030150753769
    211 % 211 = 0
    pembagi: 211
        hasil: 1
    */
    Last edited by dedet; 11-07-2010 at 02:31 PM.
    Albert Einstein - “The important thing is not to stop questioning. Curiosity has its own reason for existing.”
    "Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime." - Chinese Proverb

    http://irzal.com

  7. #7
    papercut is offline Pahlawan BabaFlash
    Join Date
    Sep 2008
    Posts
    198

    Default Thx

    Hehehe, thx bro atas jawabannya scriptnya panjang juga entar aku pelajari dulu deh.
    Btw bro mau numpang nanya nih, domisili di mana nih? Siapa tahu kalo aku ada job2 tertentu bisa kerja sama nih

  8. #8
    dedet's Avatar
    dedet is offline Dah Nggak Dibanned
    Join Date
    Apr 2010
    Location
    Tanah Airku Indonesia
    Posts
    580

    Default

    Quote Originally Posted by papercut View Post
    ...
    Gmana caranya kalo aku mau mencari FPB ato KPK sebuah bilangan.
    Jadi misalnya gini, aku bikin dulu urutan bilangan prima 2, 3, 5, 7, 11, dst
    Ada bilangan 126, nah jadi 126 ini dibagi bilangan prima pertama yaitu 2, hasilnya 63, lalu jika 63 tidak bisa dibagi 2 dia akan maju ke bil prima berikutnya yaitu 3. Nah sebelum hasilnya mencapai bilangan prima maka ia akan terus membagi.
    ....
    sorry bro baru ngeh yang dibold, script yang diatas akan menghasilkan angka satu, seharusnya bilangan prima itu sendiri. Ada koreksi sedikit, bikin varible lagi untuk menangkap bilangan prima tersebut diluar function factorial-nya

    Code:
    var catchPrime:Number;
    
    //@param i angka yang akan dicheck
    function factorial(i:Number):Number 
    {
        var j:Number = 0;
        var k:Number;
        if (i == 1 || !i) {
            return catchPrime;
        } else {
            while (i % primeNum[j] != 0 && j < primeNum.length)
            {
                j += 1;
            }
            catchPrime = primeNum[j];
            k = i / primeNum[j];
            return (factorial(k));
        }
    }
    trace("bilangan prima: " + factorial(126));
    // output
    // 7
    Quote Originally Posted by papercut
    Hehehe, thx bro atas jawabannya scriptnya panjang juga entar aku pelajari dulu deh.
    scriptnya pendek kok bro, yang sampe2 kebawah cuman hasil output yg saia copas doang
    Quote Originally Posted by papercut
    Btw bro mau numpang nanya nih, domisili di mana nih? Siapa tahu kalo aku ada job2 tertentu bisa kerja sama nih
    Saia domisili di jakarta bro, wah dengan senang hati kalo bro papercut mau bagi2 rejeki, PM saia aja bro , cuman saia lebih fokus ke AS3. Kalo masalah logika seperti ini AS2/AS3 gak terlalu jauh bedanya. Tapi kalo dah soal method dan property AS2 seperti loadMovie dkk saia nyerah, ndak terlalu nguasai soalnya .
    Albert Einstein - “The important thing is not to stop questioning. Curiosity has its own reason for existing.”
    "Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime." - Chinese Proverb

    http://irzal.com

Similar Threads

  1. Puluhan angka yang berbeda
    By papercut in forum ActionScript
    Replies: 2
    Last Post: 11-24-2011, 12:22 PM
  2. help memanggil file swf yang berbeda
    By hun2x in forum Flash CS3, CS4, CS5.5 dan Action Script 3
    Replies: 1
    Last Post: 10-28-2010, 03:27 AM
  3. input teks supaya bisanya cuma angka doank
    By pram201 in forum 2D Animation
    Replies: 3
    Last Post: 08-10-2010, 07:57 AM
  4. function di file swf yang berbeda
    By papercut in forum ActionScript 1.0/2.0
    Replies: 4
    Last Post: 07-02-2010, 10:29 PM
  5. Membilang angka
    By el_kargo in forum ActionScript 1.0/2.0
    Replies: 0
    Last Post: 02-21-2009, 08:20 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •