Model Simulasi Menghitung Prediksi Jumlah Penduduk Indonesia Berdasarkan Laju Pertumbuhan Penduduk dengan Javascript

Wahyu Raja Reply 10:35 AM
Pada perkuliahan di Mikroskil saya mendapat tugas dalam mata kuliah model simulasi. Disini kami diminta untuk membuat program Simulasi Prediksi Jumlah Penduduk Indonesia dengan bahasa pemrograman apa saja. Berikut hasil Programnya :
simulasi prediksi penduduk
Output Hasil Program

Anda dapat melihat live-code pada link ini : http://jsfiddle.net/coderkid/2s27q/
Anda dapat download code-nya pada Github saya, berikut link-nya: model-simulasi.


Penjelasan

Disini saya akan menjelaskan sedikit tentang program dan rumus untuk menghitung prediksi jumlah penduduk Indonesia berdasarkan laju pertumbuhannya. Sebelumnya saya mendapatkan data laju pertumbuhan dan jumlah penduduk yang valid dari Badan Pusat Statistik. Berikut Rumusnya:


P(t + Δt) = P(t) + (laju(t) /100 x P(t)).Δt
Keterangan :

  • P = jumlah penduduk
  • laju = laju pertumbuhan penduduk
  • t = waktu (tahun)
  • Δt = selang waktu (tahun)
Dimana P(t) jumlah penduduk sebelumnya.


ideafuse



Supported By ideafuse

Membuat Game Sederhana Dengan C atau C++

Wahyu Raja 3 8:00 AM
Saya membuat artikel ini karena tertarik untuk membahas soal aslab lain dalam tugas praktek bahasa pemrograman C tentang Array kepada mahasiswa atau lebih tepatnya mahasiswa Mikroskil. Jadi awalnya kita diminta untuk input n yaitu banyak baris dan kolom untuk mencetak pagar dan spasi sebagai jalannya. Jadi polanya yang diminta jumlah inputan(n) dikali 2. Singkat cerita hasil program yang diminta seperti dibawah ini:
program c dan cpp sederhana
Hasil Program
Anda dapat download code-nya pada Github saya, berikut link-nya: simpleGame.c.


Langkah 1:

Disini yang ada perlukan pertama adalah meng-include library dari c atau c++ yaitu :

#include<stdio.h>
#include<conio.h>

Library stdio.h adalah standar library input dan output baik menggunakan keyboard, printerterminal atau dengan jenis file lainnya yang didukung oleh sistem. Kemudian conio.h disini berfungsi untuk menangkap inputan dari keyboard dengan menggunakan getch().

Langkah 2:

int main()
{
    int n,pil,baris,kolom,i,j;
    printf("N: ");
    scanf("%d",&n);
    n=n*2;

Pada baris code diatas berguna untuk deklarasi variable sebagai berikut:

  • n  untuk jumlah baris dan kolom.
  • pil untuk tombol inputan dari keyboard.
  • baris untuk posisi x dari bintang.
  • kolom untuk posisi y dari bintang.
  • i untuk iterasi dalam perulangan.
  • j untuk iterasi dalam perulangan.
Untuk mencetak kata atau kalimat kita bisa gunakan printf("format",variable)  dan untuk inputan kita bisa memakai scanf("format",variable) dalam c atau cpp.

Langkah 3:

    char kotak[n][n];

    // create ways
    for(i=0;i<n;i++){
        for(j=0;j<n;j++){
            if(i%2==0){
                kotak[i][j]='#';
            }
            else{
                kotak[i][j]=' ';
            }
        }
    }

Pada tahap ini kita membuat jalannya untuk pagar(#) selalu pada baris bilangan genap bila kita mulai perulangan dari i=0, jika dari i=1 maka selalu pada baris bilangan ganjil. Asumsi kita ambil perulangan dari 0 sehingga untuk spasi pada bilangan ganjil. Kemudian kita simpan mereka dalam array 2 dimensi.

Langkah 4:

    // set star
    baris=1,kolom=0;
    kotak[baris][kolom]='*';

Baris code diatas untuk meletakkan posisi awal bintang.

Langkah 5:

    do{
        system("cls");
        // print them
        for(i=0;i<n;i++){
            for(j=0;j<n;j++){
                printf("%c",kotak[i][j]);
            }
            printf("\n");
        }
        printf("press q to exit game.");
        pil= getch();

Pada tahap ini kita membuat perulangan dimana jika user input "q" maka keluar dari program dan guna system("cls") adalah untuk membersihkan layar ketika bintang bergerak maka bintang sebelumnya akan dihapus, sehingga tidak terjadi pencetakkan 2 bintang atau lebih. Kemudian fungsi pil adalah variable yang menampung inputan dari keyboard.

Langkah 6:

        switch(pil){
            case 'a':
                kotak[baris][kolom]=' ';
                kolom--;
                if(kolom<0){
                    kolom=0;
                }
                kotak[baris][kolom]='*';
                break;
            case 's':
                kotak[baris][kolom]=' ';
                baris+=2;
                if(baris>n-1){
                    baris=n-1;
                }
                kotak[baris][kolom]='*';
                break;
            case 'd':
                kotak[baris][kolom]=' ';
                kolom++;
                if(kolom>n-1){
                    kolom=n-1;
                }
                kotak[baris][kolom]='*';
                break;

            case 'w':
                kotak[baris][kolom]=' ';
                baris-=2;
                if(baris<2){
                    baris=1;
                }
                kotak[baris][kolom]='*';
                break;

            default:
                break;
        }
    }while(pil!='q');


    return 0;
}

Pada tahap terakhir, kita melakukan pengecekan tombol inputan dari keyboard, sebagai berikut:

  • a untuk bergerak ke-kiri, maka kolom dikurang 1. Kemudian dilakukan pengecekkan jika kolom<0 → kolom = 0, agar tidak terjadi kolom bernilai minus.
  • d untuk bergerak ke-kanan, maka kolom ditambah 1. Kemudian dilakukan pengecekkan jika kolom>jumlah kolom → kolom = jumlah kolom, agar tidak terjadi bintang keluar dari jalur.
  • w untuk bergerak ke-atas, maka kolom dikurang 2 agar melewati pagar. Kemudian dilakukan pengecekkan jika baris<2 → baris= 1, agar tidak terjadi baris bernilai minus.
  • s untuk bergerak ke-bawah, maka kolom ditambah 2 agar melewati pagar. Kemudian dilakukan pengecekkan jika baris>jumlah baris → baris= jumlah baris, agar tidak terjadi bintang keluar dari jalur.
  • q untuk keluar dari program.

Jika kita menekan tombol selain diatas maka tidak melakukan apa-apa. Cukup sekian penjelasan dari saya, jika ada penjelasan yang tidak mengerti bisa ditanyakan pada kolom komentar. Terima kasih telah membaca artikel saya. :)


ideafuse



Supported By ideafuse

Search

Ikuti Channel Youtube Aku Yaa.. Jangan Lupa di subscribe. Terima kasih.

Google+ Followers

Popular Posts

Translate