Rabu, 12 Desember 2012

Administrasi Pada Peta Jogja

Kita tentukan peta yang akan kita buat data administrasinya.

Disini saya menggunakan peta jogja sebagai contohnya.
 
 
Kita buat digitasi peta jogja yang terdiri dari jalan, kecamatan dan titik desa untuk mempermudah administrasinya.
 
 
Pada gambar ini, digitasinya sudah di buat pada tugas sebelumnya.
 
 
Setelah digitasi peta jogja siap. Kita akan mulai membuat data administrasi peta jogja. Langkahnya adalah pertama : kita letakkan kursor kita pada layer titik desa > kemudian kita klik theme > start editing untuk memulai input data yang kita inginkan .
 
 
 Setelah itu kita klik theme > table, untuk memulai administrasi pada peta.
 
 
Setelah table di klik maka tampilan akan menjadi seperti d bawah ini :
 
 
Tahap selanjutnya kita akan mulai menambahkan data dengan klik edit > add field.
 
 
Setelah itu, nanti akan muncul tool bar berupa field definition. Kita isi dan beri nama luas wilayah, kemudian typenya string fieldnya kita isi dengan 16.
 
 
 Klik OK, maka tampilan akan berubah seperti berikut :
 
 
Seleksi bagian daerah yang di inginkan dan kita tinggal beri nama susuai dengan daerah yang di tunjukan kursor.
 
 
Setelah Pemberian nama di daerah yang di inginkan selesai.
Selanjutnya kita akan menghitung luas wilayah. Pertama-tama kita akatifkan dulu layer polygonnya.
 
 
Seperti cara sebelumnya kita klik theme > table  > OK.
Nanti akan muncul  tampilan atribut of kecamatan yang akan kita kerjakan untuk di Edit
 
 
Kemudian kita  mulai menambahkan data dengan klik edit > add field seperti langkah sebelumnya, tapi disini kita kan menambahkan 4 kolom baru yaitu luas, keliling, koordinat x dan koordinat Y
 
 
Pada field definition kita beri nama luas wilayah, keliling  wilayah, koordinat X  dan koordinat Y. terdiri dari  4 kolom baru yang kita buat . Typenya adalah number karena satuanya berupa angka, Width kita isikan 16.
Decimal place nya kita isi 9 , Tampilanya akan seperti di bawah ini :
 
 
Setelah itu kita akan menghitung luas wilayah yang akan kita buat administrasinya. kita pilih dulu tabel luas wilayah ,  setelah itu kita pilih tombol calcutator
 
 
 Nanti akan muncul tampilan baru berupa field calculator, Baru kita akan isi rumusnya inputkan untuk luas area [shape].returnarea*111*111
 
 
Kemudian OK.
Maka Tampilan akan Berubah seperti ini  :
 
 
Lalu inputkan untuk rumus Keliling
[shape].returnleght*111
 

Kemudian OK, maka Tampilan akan seperti Berikut :
 
 
Inputkan Rumus untuk koordinat X
[shape].returncenter.getx , maka Program akan berubah seperti berikut  :
 
 
Klik OK, makan akan tampil koordinat X 
 
 
Inputkan Rumus untuk koordinat Y
[shape].returncenter.getY 
 
 
 OK, lalu keluar koordinat Y 


Setelah semua data administrasi pada peta jogja terpenuhi dan semua koordinat sudah terIsi. Sekarang kita bisa mencari data daerah yang terbanyak jumlah wilayahnya dengar rumus or
([keliling]>4.79) or ([luas]<0 .85=".85" div="div">
 
 
 Hasil dari inputan rumus keliling adalah sebagai berikut ;
 
 
Ini berarti hasil yang tampil adalah daerah yang luasnya , lebih dari 4.79 atau kurang dari 0.85
Setelah semua data administrasi terpenuhi dengan rumus "or" kita bisa mencari data daerah yang terbanyak jumlah wilayahnya dengan rumus "and", ataupun bisa kombinasi dengan inputan yang lain


Hasilnya yang terjadi pada Inputan rumus "Or" dan "And"


Dari hasil administrasi yang terjadi pada peta jogja , Dapat di ambil kesimpulan bahwa hasil yang tertampil adalah daerah yang luasnya lebih dari 4.79 dan kurang dari 0.85 Daerah yang tidak Terdeteksi

Sabtu, 01 Desember 2012

Cara Mendigitalisasi Peta Jogja

1. Kita tentukan peta yang akan kita digitalisasi :


2. Kita mulai menentukan batas-batas wilayah yang akan didigitasi untuk batas wilayah secara keseluruhan dengan cara menambahkan view ==> add theme untuk membuat theme baru.


3. Kita seleksi batas-batasan dengan cara mengurutkan batas dengan menggunakan mouse  sampai batasan tertutup semua. 

 

4. Kita tentukan batas batas kampungnya Dengan menggunakan line tool


5.  Masukkan extension JPEG image suport, dan MNDNR streaming Digitizing extension dengan cara File ==> extension. Kemudian kita mulai mendigitasi dengan mengklik menu Edit Tool, Edit Theme, lalu memilih new Poligon beri nama laglu mulai mengaris sesuai peta.


6. Setelah semua gambar berubah warna, langkah selanjutnya kita cek garis mana yang sudah terhubung atau garis mana yang masih terputus , karena poligon harus terhubung dan tidak boleh ada yang terputus


7. Untuk mengeceknya,  kita menggunakan beberapa tool untuk mengeditnya (jika titik hijau maka sudah betul, jika terdapat titik merah maka masih terjadi kesalah pada Poligon kita, maka dari itu ada beberapa tool yang untuk membenarkan bentuk foto itu)


8. Setelah selesai di edit dan semua titik telah benar dan di digitasi peta sudah tidak ada yang berwarna merah, maka kita lakukan finishing dan akhirnya digitasi telah selesai untuk warna yang sesuai dengan yang kita inginkan.







Rabu, 27 April 2011

Program java: Himpunan (Prima, Ganjil dan Irisan)

Setelah sebelumnya aku mengsharekan tugas struktur data ku, maka kali ini akau akan mengshare tugas java ku untuk kalian. Walaupun ini merupakan blog tentang bahasa c tapi ini masih dalam konteks bahasa pemrograman, jadi dari pada tugas pemrograman java ku tersimpan percuma di hardisk komputer, aku ingin mengsharenya untuk kalian juga.

Program ini akan menghasilkan tampilan seperti berikut:

Himpunan A (PRIMA) = 2 3 5 7
Himpunan B (GANJIL) = 1 3 5 7 9
Himpunan C (A n B) = 3 5 7

Berikut ini programnya:

/**
 * @author Dwi Ariyanto
 * AMIKOM 2011
 */
public class himpunan {
    public static void main (String [] args) {
        int a, b, c[], d = 0, e = 0, f= 0, ganjil[], prima[];

        c = new int[10];
        ganjil = new int[10];
        prima = new int[10];

        System.out.print("Himpunan A (PRIMA) =");
        for (a = 0; a < c.length; a++) {
            for(b = 1; b <= a; b++) {
                if(a % b == 0)
                    d++;
            }
            if(d == 2) {
                System.out.print(" " +a);
                prima[e] = a;
                e++;
            }
            d = 0;
        }

        System.out.print("\nHimpunan B (GANJIL) =");
        //  himpunan ganjil
        for (a = 0; a < c.length; a++) {
            if (a % 2 == 1) {
                System.out.print(" " +a);
                ganjil[f] = a;
                f++;
              }
        }

        System.out.print("\nHimpunan C (A n B) =");
        for (a = 0; a < e; a++) {
            for (b = 0; b < f; b++) {
                if (prima[a] == ganjil[b]) {
                    //System.out.println("prima " +a+ " = " +prima[a] + " dan ganjil " +b+ " = " +ganjil[b]);
                    System.out.print(" " +prima[a]);
                }
            }
        }
    }
}

Kamis, 21 April 2011

Kalkulator Infix Dengan Menggunakan Bahasa C

Sudah lama tidak meng update blog ku ini. Dari pada isinya itu itu doang maka kali ini aku akan memberikan contoh program bahasa c untuk kalian semua. Sebenarnya ini merupakan tugas yang diberikan dosen struktur data ku, Pak Bayu Setiaji. Dia memberikan tugas untuk mengedit kalkulator postfix yang ia buat agar menjadi kalkulator infix.

Program ini akan menghasilkan tampilan seperti berikut:

Kalkulator Sederhana
Tekan 'q' untuk keluar

: 4
: +
: 4
= 8

Berikut ini programnya:

/*
 * program kalkulator.c
 *
 * versi 1.2
 * sudah tidak perlu menambahkan tanda "="
 * di akhir perhitungan.
 *
 * program untuk menghitung penjumlahan,
 * pengurangan, perkalian dan
 * pembagian.
 *
 * Nama  : Dwi Ariyanto
 * NIM   : 10.11.4088
 * Kelas : S1TI-2H
 *
 * Copyright [c] 2011 Dwi Ariyanto.
 */

 #include
#include

#define MAX 5

int stack[MAX]; // stack
int top; // posisi puncak stack
void push(int i);
int pop(void);

int main(void) {
int a, b, c, d = 0;
char s[80];

top = 0;
system("cls");

printf("Kalkulator Sederhana\n");
printf("Tekan 'q' untuk keluar\n\n");

do {
printf(": ");
gets(s);

switch(*s) {
case '+':
c = '+';
d = top + 1;
break;
case '-':
c = '-';
d = top + 1;
break;
case '*':
c = '*';
d = top + 1;
break;
case '/':
c = '/';
d = top + 1;
break;
case '.':
a = stack[top - 1];
printf("= nilai akhir [ %d ]\n", a);
break;
default:
push(atoi(s));
}

if (top == d) {
d = top - 1;
switch(c) {
case '+':
b = pop();
a = pop();
printf("= %d\n", a + b);
push(a + b);
break;
case '-':
b = pop();
a = pop();
printf("= %d\n", a - b);
push(a - b);
break;
case '*':
b = pop();
a = pop();
printf("= %d\n", a * b);
push(b * a);
break;
case '/':
b = pop();
a = pop();
if(b == 0) {
printf("! pembagian dengan nol\n");
break;
}
printf("= %d\n", a / b);
push(a / b);
break;
case '.':
a = stack[top - 1];
printf("= nilai akhir [ %d ]\n", a);
break;
}
}



} while(*s != 'q');

return 0;
}

void push(int i) {
if(top >= MAX) {
printf("! stack penuh\n");
return;
}
stack[top] = i;
top++;
}

int pop(void) {
top--;
if(top < 0) {
printf("! stack kosong\n");
return 0;
}
return stack[top];
}

Jumat, 18 Maret 2011

Perulangan Do While

Setelah sebelumnya kita mempelajari tentang perulangan While, maka untuk kali ini akan aku lanjutkan untuk yang perulangan Do While. Perulangan Do While tidak jauh berbeda dengan perulangan While yang telah kita pelajari sebelumnya. Pada perulangan While yang telah kita pelajari melakukan eksekusi pada awal dari baris kode dari perulangan While. Jika sejak awal kondisi dari while itu salah maka perulangan while tidak akan menghasilkan apa - apa.

Berbeda dengan perulangan While. Perulangan Do While melakukan eksekusi di akhir baris kode dari perulangan Do While. Jadi meskipun hasil eksekusi dari dari perulangan dari Do While tidak benar perulangan tersebul tetap akan memunculkan hasil dari blok kode namun hanya menghasilkan satu hasil eksekusi saja. Tidak perlu banyak bicara lagi mari menuju ke TKP…!!! he… he… :)

Misal :

Do
{
Printf("Hello World ");
}
While (i <= 0)

Jika i = 1
Hasil eksekusi : Hello World

Do
{
Printf("Hello World ");
}
While (i <= 3)

Jika i = 1
Hasil eksekusi : Hello World Hello World Hello World Hello World

Contoh Program :

/*
 * program tebak angka
 *
 * Dwi Ariyanto, 2011
 * STMIK AMIKOM YOGYAKARTA
 */

#include
#include

int main ()
{
int n = 26, a;  // 26 adalah angka yang akan kita tebak

printf("pilih angka 1 sampai 100");
do
{
printf("\nmasukkan tebakan anda : ");
scanf("%d", &a);
   
if (a > n)
{
printf("tebakan terlalu tinggi");
}
else if (a < n)
{
printf("tebakan terlalu rendah");
}
}
while (a != n);
printf("anda benar");
 
getch ();
}

Perulangan While

Didalam bahasa C perulanga dibagi menjadi 3, yaitu While, Do While, dan For. Masing - masing fungsi mengeksekusi blok dengan yang cara berbeda - beda untuk menghasilkan perulangan. Namun pada kesempatan kali ini kita akan mempelajari khusus untuk perulangan while. Perulangan while melakukan pengeksekusian di awal blok code. Maksudnya jika kondisi dari while itu benar kode blok akan dieksekusi namun apabila salah kode blok tidak akan dieksekusi dan tidak akan menghasilkan nilai apapun dari kode blok.

Misal :

While (i <= 0)
{
Printf("Hello World ");
}

Jika i = 1
Hasil eksekusi : (kosong, tidak menghasilkan nilai apapun

While (i <= 3)
{
Printf("Hello World ");
}

Jika i = 1
Hasil eksekusi : Hello World Hello World Hello World

Contoh Program :

/*
 * program bilangan ganjil 1 sampai 10
 *
 * Dwi Ariyanto, 2011
 * STMIK AMIKOM YOGYAKARTA
 */

#include
#include

int main ()
{
int a = 1;

printf("========== bilangan ganjil antara 1 sampai 10 ==========");
while (a <= 10)  // 10 adalah batas akhir dari peulangan
{
printf("\n%d", a);
a+=2;
}
 
getch();
}

Hasil eksekusi :      ========== bilangan ganjil antara 1 sampai 10 ==========
1
3
5
7
9

Sabtu, 12 Maret 2011

Input Output Dasar

Setelah sebelumnya kita mempelajari Struktur Progam, Tipe Karakter dan Operator Aritmatika, maka kali ini kita akan mempelajari input output dasar pada bahasa C. Untuk membuat program yang berkelas tentunya program yang kita buat harus bisa menerima masukan data dan menghasilkan outputnya. Sebagai contoh: kita membuat program penjumlahan, maka pasti akan ada masukan dan hasil. Tidak mungkin kita membuat program penjumlahan tanpa ada masukan tiba - tiba muncul hasilnya begitu saja. Percuma saja kita membuat program jika kita tidak bisa memasukkan sendiri nilai yang akan kita jumlahkan. Tidak perlu banyak bicara lagi mari kita mempelajari dasar dari Input Output dari bahasa C.


  • Input
Input berasal dari bahasa Inggris yang artinya masukan. Untuk menginputkan data kita cukup menggunakan perintah scanf diikuti kurung buka ( ( ), kemudian petik ganda ( " ), persen ( % ), tipe data (integer ( i), float ( f ), karakter ( c ), string ( s )),  petik ganda ( " ), koma ( , ), dan ( & ) nama data masukan, kurung tutup ( ) ), dan diakhiri titik koma ( ; ).

Misal :

scanf("%s", &nama);

scanf("%i",&umur);

scanf("%f",&berat);


  • Output
Output berasal dari bahasa Inggris yang artinya keluaran. Untuk manapilkan kata atau nilai kita cukup menggunakan perintah printf diikuti kurung buka ( ( ), kemudian petik ganda ( " ), kata atau nilai yang akan kita tampilkan,  petik ganda ( " ), kurung tutup ( ) ), dan diakhiri titik koma ( ; ).

Misal :

printf("Hello World ");

Hasil eksekusi : Hello World

printf("Masukan nama Anda : ");

Hasil eksekusi : Masukan nama Anda :

Sedangkan jika ingin menambahkan nilai atau hasil dari inputan maka menggunakan perintah printf diikuti kurung buka ( ( ), kemudian petik ganda ( " ), kata atau nilai yang akan kita tampilkan, persen ( % ), tipe data (integer ( i), float ( f ), karakter ( c ), string ( s )),  petik ganda ( " ), koma ( , ), nama data, kurung tutup ( ) ), dan diakhiri titik koma ( ; ).

Misal :

printf("Nama : %s", nama);

Jika nama = Ari
Hasil eksekusi : Nama : Ari

printf("nilai dari A = %i", a);

Jika a = 123
Hasil eksekusi :nilai dari A = 123