Selasa, 26 Mei 2015

Membuat Game Pingpong Dengan Greenfoot

Membuat Game Pingpong Dengan Greenfoot

Tutorial Greenfoot kali ini saya akan membuat game pingpong, artikel sebelumnya saya juga membuat tutorial game pesawat jia kalian ingin membaca artikel tersebut kunjungi link ini. Langsung saja lihat tutorialnya di bawah.

  1. Buatlah project baru beri nama pingpong
  2. Buat class World baru dengan cara klik kanan>>new subclass>>masukkan nama class, begitu juga dengan class actor caranya sama. Tampilannya akan seperti di bawah.

  3. Masukkan kode di bawah pada class bg (nama subclass world)

    import greenfoot.*;
    
    /**
     * Write a description of class bg here.
     * 
     * @author Nunut <kurnia8998@gmail.com>  
     * @version 1.0.0
     */
    public class bg extends World
    {
        Counter counter = new Counter("Skor: ");
        /**
         * Constructor for objects of class bg.
         * 
         */
        public bg()
        {    
            // Create a new world with 600x400 cells with a cell size of 1x1 pixels.
            super(400, 600, 1); 
            addObject(counter,70,530);
        }
        public void tambah(){
            counter.add(5);
        }
    }
    

    Lalu compile kode tersebut
  4. Masukkan juga kode di bawah ini pada class bola agar bola dapat bergerak dan memantul pada dinding

    import greenfoot.*;
    
    /**
     * Write a description of class bola here.
     * 
     * @author Nunut <kurnia8998@gmail.com>
     * @version 1.0.0
     */
    public class bola extends Actor
    {
        int x=3;
        int y=3;
        /**
         * Act - do whatever the bola wants to do. This method is called whenever
         * the 'Act' or 'Run' button gets pressed in the environment.
         */
        public void act() 
        {
            // Add your action code here.
            gerak();
            kanan();
            kiri();
            atas();
            papankayu();
        }    
        public void gerak()
        {
            setLocation(getX()+x,getY()+y);
        }
        public void kanan()
        {
            if(getX()>=getWorld().getWidth()-getImage().getWidth()/2){
                x=x-1;
            }
        }
        public void kiri()
        {
            if(getX()<=getImage().getWidth()/2){
                x=x+1;
            }
        }
        public void atas()
        {
            Actor batamerah=getOneIntersectingObject(bata.class);
            if(getY()<=getImage().getHeight()/2){
                y=y+1;
            }
            if(batamerah !=null){
                ((bg)getWorld()).tambah();
                getWorld().removeObject(batamerah);
            }
        }
        public void papankayu()
        {
            Actor kayu=getOneIntersectingObject(papan.class);
            if(kayu !=null){
                y=y-1;
            }
            if(getY()>=getWorld().getHeight()-getImage().getHeight()/2){
                Greenfoot.stop();
            }
        }
    }
    
    dan kode di bawah ini masukkan pada class papan agar papan bisa kita gerakan ke kiri dan kanan
    import greenfoot.*;
    
    /**
     * Write a description of class papan here.
     * 
     * @author Nunut <kurnia8998@gmail.com>
     * @version 1.0.0
     */
    public class papan extends Actor
    {
        /**
         * Act - do whatever the papan wants to do. This method is called whenever
         * the 'Act' or 'Run' button gets pressed in the environment.
         */
        public void act() 
        {
            // Add your action code here.
            if(Greenfoot.isKeyDown("left")){
                move(-3);
            }
            if(Greenfoot.isKeyDown("right")){
                move(3);
            }
        }    
    }
    
    kode di bawah ini untuk memperkecil ukuran gambar asli bata menjadi sesuai yang kita butuhkan
    import greenfoot.*;
    
    /**
     * Write a description of class bata here.
     * 
     * @author Nunut <kurnia8998@gmail.com>
     * @version 1.0.0
     */
    public class bata extends Actor
    {
        /**
         * Act - do whatever the bata wants to do. This method is called whenever
         * the 'Act' or 'Run' button gets pressed in the environment.
         */
        public bata()
        {
            GreenfootImage img=getImage();
            img.scale(img.getWidth(),img.getHeight()-30);
            setImage(img);
        }
        public void act() 
        {
            // Add your action code here.
        }    
    }
    

  5. Langkah terakhir yaitu membuat papan sekor dengan menempatkan kode pada class counter
    import greenfoot.*;
    import java.awt.Font;
    /**
     * Write a description of class Counter here.
     * 
     * @author Nunut <kurnia8998@gmail.com>
     * @version 1.0.0
     */
    public class Counter extends Actor
    {
        /**
         * Act - do whatever the Counter wants to do. This method is called whenever
         * the 'Act' or 'Run' button gets pressed in the environment.
         */
        private int value = 0;
        private int target = 0;
        private String text;
        private int stringLength;
    
        public Counter()
        {
            this("");
        }
    
        public Counter(String prefix)
        {
            text = prefix;
            stringLength = (text.length() + 2) * 16;
    
            setImage(new GreenfootImage(stringLength, 24));
            GreenfootImage image = getImage();
            Font font = image.getFont();
            image.setFont(font.deriveFont(24.0F));  // use larger font
            
            updateImage();
        }
        
        public void act() {
            if(value < target) {
                value++;
                updateImage();
            }
            else if(value > target) {
                value--;
                updateImage();
            }
        }
    
        public void add(int score)
        {
            target += score;
        }
    
        public void subtract(int score)
        {
            target -= score;
        }
    
        public int getValue()
        {
            return value;
        }
    
        /**
         * Make the image
         */
        private void updateImage()
        {
            GreenfootImage image = getImage();
            image.clear();
            image.drawString(text + value, 1, 18);
        }
    }
    

setelah semuanya di compile sekarang kita tinggal menempatkan class actor pada world yaitu dengan cara klik kanan pada class actor>>new bata lihat gambar di bawah

kemudian drag class bata dan tempatkan pada world dan hasilnya akan seperti ini

Tutorial di atas sebenarnya saya mempelajarinya dari youtube Kalian juga bisa mendownload projectnya di sini

Minggu, 17 Mei 2015

Tutorial Membuat Shapes di Powerpoint menjadi Transparan dengan VBA

Tutorial Membuat Shapes di Powerpoint menjadi Transparan dengan VBA

Tutorial kali ini saya ingin membuat shapes/bentuk di powerpoint menjadi transparan, membuat shapes menjadi transparan itu tidaklah sulit hanya tinggal klik kanan pada shapes, kemudian format shape dan atur berapa persen transparan yang di kehendaki. Tapi jika kalian ingin mengetahui bagaimana membuat shapes menjadi transparan dengan menggunakan kode script kalian bisa ikuti tutorial di bawah. Sebenarnya banyak sekali manfaat dari Powerpoint salah satunya meningkatkan kreatifitas karena dalam menyajikan sebuah persentasi tidak hanya isi yang berkualitas tapi penampilan pun harus berkualitas. Kalau begitu langsung saja ikuti langkah-langkahnya.

Buatlah tampilan slide seperti gambar di bawah

Kemudian beri nama shapes seperti gambar di bawah

setelah itu tekan Alt+F11 untuk membuka VB for Aplication, buatlah modul baru dan masukan kode di bawah ini
Dim nilai As Integer
Dim x, y As Integer
Dim niliaix As Double

Sub tambah()
nilai = nilai + 1
y = nilai
With ActivePresentation.Slides(1)
.Shapes("kurang").Visible = msoTrue
If nilai = 100 Then
    .Shapes("tambah").Visible = msoFalse
    .Shapes("ukuran").TextFrame.TextRange.Text = "100%"
    .Shapes("merah").Fill.Transparency = 1
ElseIf (nilai > -1 And nilai < 10) Then
    x = (y - 1) + 1
    nilaix = 0.00999999
    .Shapes("ukuran").TextFrame.TextRange.Text = x & "%"
    .Shapes("merah").Fill.Transparency = nilaix * x
ElseIf (nilai > 9 And nilai < 100) Then
    .Shapes("ukuran").TextFrame.TextRange.Text = nilai & "%"
    .Shapes("merah").Fill.Transparency = "0." & nilai
Else
MsgBox "Nilai tidak sesuai"
End If
End With
End Sub

Sub kurang()
nilai = nilai - 1
y = nilai
With ActivePresentation.Slides(1)
.Shapes("tambah").Visible = msoTrue
If nilai = 0 Then
    .Shapes("kurang").Visible = msoFalse
    .Shapes("ukuran").TextFrame.TextRange.Text = "0%"
    .Shapes("merah").Fill.Transparency = 0
ElseIf (nilai > 9 And nilai < 101) Then
    .Shapes("ukuran").TextFrame.TextRange.Text = nilai & "%"
    .Shapes("merah").Fill.Transparency = "0." & nilai
ElseIf (nilai > 0 And nilai < 10) Then
    x = (y - 1) + 1
    nilaix = 0.00999999
    .Shapes("ukuran").TextFrame.TextRange.Text = x & "%"
    .Shapes("merah").Fill.Transparency = nilaix * x
Else
MsgBox "Nilai tidak sesuai"
End If
End With
End Sub
kembali ke slide powerpoint masuk menu Insert kemudian pilih action, lihat gambar

Buatlah visible shapes "kurang" menjadi false seperti gambar di bawah

lalu jalankan slide dengan menekan F5, hasilnya akan terlihat seperti ini

itulah Tutorial Membuat Shapes di Powerpoint menjadi Transparan dengan VBA. Jika ada yang kurang di mengerti silahkan berkomentar, dan untuk postingan selanjutnya mungkin akan membahas mengenai pembuatan animasi dengan VBA. Kalian bisa download hasil slide powerpoint yang telah di buat di sini.

Selasa, 12 Mei 2015

Cara Membuat Gambar atau Objek Menghilang Secara Acak Dengan VBA PowerPoint

Cara Membuat Gambar atau Objek Menghilang Secara Acak Dengan VBA PowerPoint

Untuk menghilangkan gambar atau objek dalam sebuah persentasi kita bisa mengunakan custom animation yang berada pada menu, tetapi kita juga bisa menghilangkan dan memunculkan suatu gambar dengan menggunakan macros atau vba. Pertama-tama kita akan membuat gambar atau objek yang akan di hilangkan atau di munculkan seperti gambar di bawah ini

Klik Shapes>>Oval kemudian buat dua buah oval seperti gambar di atas, buat juga shapes yang berbentuk rectangle seperti gambar di atas. Beri nama pada setiap shapes agar memudahkan dalam pengkodeannya karna kita akan menggunakan vba, klik shapes oval kemudian pilih Format>>Selection Pane seperti pada gambar di bawah

Beri nama shpes oval seperti gambar di atas, lalu kita akan membuat script untuk menghilangkan dan memunculkan shapes dengan cara Alt+F11. Kemudian akan tampil seperti di bawah ini

masukkan script di bawah ini
Sub muncul()
With ActivePresentation.Slides(1)
    .Shapes("bulat_" & Int(Rnd * 2) + 1).Visible = msoTrue
End With
End Sub

Sub hilang()
With ActivePresentation.Slides(1)
    .Shapes("bulat_" & Int(Rnd * 2) + 1).Visible = msoFalse
End With
End Sub
maka akan seperti gambar di bawah

Kembali lagi pada slide powerpoint klik shapes "muncul">>Insert>>Action>>Run Macro seperti pada gambar di bawah

Begitu juga dengan shapes "hilang". Lalu jalankan dengan menekan F5 kemudian klik shapes "hilangkan" maka shapes akan hilang secara acak seperti pada gambar di bawah

Klik shapes "muncul" untuk memunculkan shapes yang hilang

Download Project nya di sini

Itulah Cara Membuat Gambar atau Objek Menghilang Secara Acak Dengan VBA PowerPoint bila kurang di mengerti silahkan berkomentar.

Minggu, 10 Mei 2015

Memahami TCP/IP Pada Komputer Dan Bagian-Bagian Kelasnya

  • TCP/IP adalah komunikasi data yang digunakan oleh pengguna internet dalam proses tukar menukar data dari satu komputer ke komputer lain.
  • Protocol ini menggunakan skema pengalamatan yang sederhana yang disebut sebagai alamat IP (IP Addres), yang mengijinkan begitu banyak komputer yang saling terhubunhg dalam internet dengan OS yang berbeda-beda.

IP Address

IP Address merupakan sebuah sistem pengalamatan yang diberikan pada suatu jaringan komputer dan peralatan jaringan komputer yang menggunakan protocol TCP/IP. IP Address terdiri dari 32 bit angka biner yang dipisah menjadi 4 kelompok (oktet) yang masing-masing oktet terdiri dari 8 bit angka biner. Contoh penulisan IP Address :

Biner : 10100000.00110100.00000001.00000010
Desimal : 160.52.1.2

IP Address terdiri dari 2 bagian :
NET ID : untuk menunjukkan alamat sebuah jaringan.

Host ID : untuk menunjukkan alamat sebuah host.

IP Address terdiri dari 5 kelas yaitu :

  1. Kelas A : kelas ini digunakan untuk jaringan yang sangat besar.
    Oktet pertama dari kelas ini merupakan NET ID dan oktet ke-2, 3, dan 4 merupakan Host ID.

    Kelas A NET ID Host ID
    Oktet 1 2 3 4

    Nilai oktet pertama pada Kelas A adalah 1-126 (00000001-011111110), sehingga mempunyai NET ID sebanyak 126 dan Host ID sebanyak 16.777.614 atau juga dapat di hitung dengan rumus 2n-2 (224-2).
    (n=jumlah Bit yang digunakan untuk host ID).

  2. Kelas B : Kelas ini digunakan untuk jaringan yang sedang/medium.
    Oktet ke-1 dan 2 merupakan NET ID sedangkan oktet ke-3 dan ke-4 adalah Host ID.

    Kelas B NET ID Host ID
    Oktet 1 2 3 4

    Nilai oktet pertama pada kelas B adalah 128-191 (10000000-10111111) sehingga mempunyai NET ID sebanyak 16.382 dan mempunyai Host ID sebanyak 65.534 atau juga dapat di hitung dengan rumus 2n-2 (216-2).
    (n=jumlah Bit yang digunakan untuk host ID).

  3. Kelas C : Kelas ini digunakan untuk jaringan yang kecil.
    Oktet 1-3 merupakan NET ID sedangkan oktet ke-4 merupakan Host ID.

    Kelas B NET ID Host ID
    Oktet 1 2 3 4

    Nilai oktet pertama pada kelas C adalah 192-223 (11000000-11011111) sehingga mempunyai NET ID sebanyak 2.097.152 dan mempunyai Host ID sebanyak 254 atau juga dapat di hitung dengan rumus 2n-2 (28-2).
    (n=jumlah Bit yang digunakan untuk host ID.)

  4. Kelas D : Kelas ini digunakan untuk keperluan Multicasting, kelas ini tidak membahas mengenai NET ID dan Host ID. Alamat Multicasting merupakan komunikasi One To Many yang artinya adalah mengirim sebuah paket kepada banyak penerima, nilai oktet pertama adalah 224-239 (11100000-11101111).
  5. Kelas E : Kelas ini digunakan untuk keperluan khusus, biasanya untuk keperluan riset. kelas ini juga tidak mengenal NET ID dan Host ID. Nilai oktet pertama kelas ini adalah 240-255 (11110000-11111111).

Adapun pembatasan beberapa alamat IP yang mempunyai penggunaan khusus dan tidak dapat digunakan untuk mengenali NET ID dan Host ID. Antara lain sebagai berikut :

  1. NET ID dan Host ID bernilai 0 (Biner : 00000000) tidak diijinkan karena jaringan ini tidak berfungsi, contoh 193.100.0.0 mengenali jaringan 193.100.
  2. Net ID 127 (Biner : 01111111) tidak diijinkan karena alamat ip ini merupakan alamat loopback, yang dipergunakan utuk memeriksa konfigurasi jaringan Host.
  3. Host ID 255 (Biner : 11111111) tidak diijinkan karena akan digunakan sebagai alamat Broadcast.
  4. NET ID dan Host ID tidak boleh bernilai biner 0 dan 1 karena jika 1 semua (255.255.255.255) maka alamat itu disebut sebagai floaded Broadcast.
  5. Oktet terakhir dari IP Address tidak boleh bernilai 0 atau 255.

Itulah pembahasan mengenai postingan yang berjudul : Memahami TCP/IP Pada Komputer Dan Bagian-Bagian Kelasnya