Senin, 26 November 2012

TREE PADA BAHASA C



1.Pengertian tree

Tree adalah Kumpulan node yang saling terhubung satu sama lain dalam suatu kesatuan yang membentuk layakya struktur sebuah pohon. Struktur pohon adalah suatu cara merepresentasikan suatu struktur hirarki (one-to-many) secara grafis yang mirip sebuah pohon, walaupun pohon tersebut hanya tampak sebagai kumpulan node-node dari atas ke bawah. Suatu struktur data yang tidak linier yang menggambarkan hubungan yang hirarkis (one-to-many) dan tidak linier antara elemen-elemennya.

2. Istilah-Istilah dalam Tree

Dalam mempelajari struktur data non linier ini, akan ditemui banyak istilah-istilah yang dipergunakan untuk menyajikan sebuah tree. Berikut ini akan dibahas istilah-istilah yang sering digunakan dalam tree.
2.1 Level (Tingkat)
Level sebuah node adalah satu ditambah panjang path dari root ke node tersebut, sehingga level root selalu satu. Jika suatu node terletak pada level N, maka node-node yang merupakan child-nya terletak pada level N +1. Selain definisi di atas, ada juga beberapa buku yang menyatakan bahwa root dinyatakan sebagai level 0, dan node-node lainnya dinyatakan sebagai level 1 lebih tinggi dari parent-nya. Buku ini menggunakan definisi yang pertama, yaitu
bahwa root dikatakan berlevel 1.
2.2 Degree (Derajat)
Dikenal dua macam degree/derajat dari sebuah node yaitu:
1. Out-degree (atau sering disebut degree) yaitu jumlah subtree dalam node tersebut. Degree dari leaf atau terminal node selalu nol.
2. In-degree yaitu jumlah path yang masuk ke dalam node tersebut. In-degree dari root selalu nol dan untuk node-node lainnya selalu satu.
2.3 Height (Tinggi) atau Depth (Kedalaman)
Tinggi atau kedalaman dari suatu tree adalah level maksimum dari node dalam tree tersebut dikurangi satu. Untuk contoh tree di atas, tinggi tree tersebut adalah 4 - 1 = 3, karena level maksimumnya adalah 4.
2.4 Ancestor dan Descendant
Ancestor suatu node yaitu semua node yang terletak dalam satu jalur dengan node tersebut dari root sampai node yang ditinjau. Sebagai contoh, ancestor dari node N6 adalah N0, N1, dan N4. Descendant suatu node yaitu semua node yang dapat dicapai dari node tersebut. Sebagai contoh, descendant dari node N1 adalah N2, N3, N4, N5, dan N6.
2.5 Parent (Father) dan Child (Son)
Parent suatu node adalah sebuah node yang dapat mencapai node tersebut dengan path tunggal. Sebagai contoh, parent dari N2 adalah N1, parent dari N5 adalah N4, parent dari N10 adalah N8, dan sebagainya. Child suatu node adalah semua node yang dapat dicapai oleh node tersebut dengan sebuah path saja. Sebagai contoh, child dari N1 adalah N2, N3, dan N4; child dari N4 adalah N5 dan N6; dan sebagainya.
2.6 Forest
Forest adalah kumpulan tree yang tidak saling berhubungan (disjoint). Jika pada tree di atas, node N0 dihapus menyebabkan terjadi sebuah forest dengan tiga tree.
2.7 Ordered Tree
Definisi ordered tree yaitu Sebuah tree yang di dalamnya terdapat aturan untuk menyusun node-node dalam level yang sama, atau sebuah tree dimana setiap subtree pada semua node di dalamnya membentuk himpunan yang berurutan (ordered set).
2.8 m-ary Tree
m-ary tree adalah tree yang out-degree setiap node di dalamnya lebih kecil atau sama dengan m. Apabila m = 2, maka disebut dengan binary tree. Untuk contoh ordered tree di atas, juga dapat dikatakan sebagai 3-ary tree.
2.9 Balance Tree
Balance tree yaitu tree dimana leaf-leafnya terletak pada level h dan h-1, sehingga jarak antara sebuah leaf dan leaf terbawah paling banyak 1.
2.10 Complete m-ary Tree dan Full m-ary Tree
Complete m-ary tree yaitu suatu m-ary tree yang out-degree setiap node di dalamnya sama dengan nol (merupakan leaf) atau sama dengan m. Sedangkan full m-ary tree adalah complete m-ary tree dimana leaf-leafnya terletak pada level yang sama.

3.  Kunjungan Pada Pohon Biner

Sebuah pohon biner memiliki operasi traversal yaitu suatu kunjungan pada suatu simpul tepat satu kali. Dengan melakukan kunjungan lengkap kita akan memperoleh urutan informasi secara linier yang tersimpan di dalam pohon biner. Terdapat tiga jenis kunjungan pada pohon biner, yaitu :
3.1 PREORDER
Kunjungan jenis ini mempunyai urutan kunjungan sebagai berikut :
- Cetak isi simpul yang dikunjungi.
- Kunjungi cabang kiri.
- Kunjungi cabang kanan.
Prosedur untuk melakukan traversal secara PREORDER adalah sebagai berikut :
Procedure PREORDER(Temp : Tree);
Begin
If Temp <> NIL Then
Begin
Write(Temp^.Info,’ ‘); {Cetak isi simpul}
PREORDER(Temp^.Kiri); {Kunjungi cabang kiri}
PREORDER(Temp^.Kanan); {Kunjungi cabang kanan}
End;
End;
3.2 INORDER
Kunjungan jenis ini mempunyai urutan kunjungan sebagai berikut :
- Kunjungi cabang kiri.
- Cetak isi simpul yang dikunjungi.
- Kunjungi cabang kanan.
Prosedur untuk melakukan traversal secara INORDER adalah sebagai berikut:
Procedure INORDER(Temp : Tree);
Begin
If Temp <> NIL Then
Begin
INORDER(Temp^.Kiri); {Kunjungi cabang kiri}
Write(Temp^.Info,’ ‘); {Cetak isi simpul}
INORDER(Temp^.Kanan); {Kunjungi cabang kanan}
End;
End;
3.3 POSTORDER
Kunjungan jenis ini mempunyai urutan kunjungan sebagai berikut :
- Kunjungi cabang kiri.
- Kunjungi cabang kanan.
- Cetak isi simpul yang dikunjungi.
Prosedur untuk melakukan traversal secara POSTORDER adalah sebagai berikut:
Procedure POSTORDER(Temp : Tree);
Begin
If Temp <> NIL Then
Begin
POSTORDER(Temp^.Kiri); {Kunjungi cabang kiri}
POSTORDER(Temp^.Kanan); {Kunjungi cabang kanan}
Write(Temp^.Info,’ ‘); {Cetak isi simpul}
End;
End;
Dalam pengembangan nantinya, tiga jenis kunjungan ini dapat digunakan sebagai pencarian notasi infix, postfix dan prefix. Kunjungan Preorder untuk mencari prefix, kunjungan Inorder untuk mencari postfix dan kunjungan Postorder untuk mencari infix.

4. Contoh Soal PREORDER, INORDER, DAN POSTORDER.







                                                                                                                                                                      
Jawaban

PREORDER          : ABCDEFGHIJ
INORDER             : DCEBFAIHJG
POSTORDER       : DECFBIJHGA

PERULANGAN PADA BAHASA C


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

main (){
int matrik[2][4];
int i,u,e,z,pil,j,as;
char lagi;
char nama[] = "Laboratorium TI Gunadarma" ;
atas:
clrscr();
printf ("===============\n");
printf ("= PROGRAM AP3 =\n");
printf ("===============\n");
printf ("= 1. Bintang  =\n");
printf ("= 2. Array    =\n");
printf ("= 3. Matriks  =\n");
printf ("= 4. Exit     =\n");
printf ("===============\n");
printf ("\nMasukkan pilihan anda : ");
scanf ("%d",&pil);
switch (pil)
{
case 1:
clrscr();
printf ("Masukkan Jumlah Tingkat Bintang : ");
scanf ("%i",&z);
e=1;
    for(u=1;u<=z;u++)
    {
    for (j=z-1;j>=u; j--)
    {
    printf(" ");
    }
    for (i=1;i<=e;i++)
    {
delay(100);
    printf ("*");
    }
    e=e+2;
    printf ("\n");
    }
printf("\n\nMasih mau lanjut ( y / n ) : ");
scanf("%s",&lagi);
getch();
if (lagi == 'y'){
goto atas;
}
else {
clrscr();
exit(1);
}
break;
case 2:
clrscr();
u=strlen(nama);
for(i=0; i<u; i++){
    for(j=0; j<20;j++){
    for(as=0; as<20; as++){
    }
    }
delay(100);
    printf("%c",nama[i]);
    }
printf("\n\nMasih mau lanjut ( y / n ) : ");
scanf("%s",&lagi);
getch();
if (lagi == 'y'){
goto atas;
}
else {
clrscr();
exit(1);
}
break;
case 3:
clrscr();
    printf("Masukkan elemen Matriks :\n");
    for (i=0; i<2; i++)
    {
    for (j=0; j<4; j++)
    {
    printf("Elemen [%d,%d] = ", i+1, j+1);
    scanf("%d", &matrik[i][j]);
        }
    }
printf("\nIsi Matriks :\n\n");
    for (i=0; i<2; i++)
    {
    for (j=0; j<4; j++)
    {
    printf("%5d", matrik[i][j]);
    }
    printf("\n");
    }
printf("\n\nMasih mau lanjut ( y / n ) : ");
scanf("%s",&lagi);
getch();
if (lagi == 'y'){
goto atas;
}
else {
clrscr();
exit(1);
}
break;
case 4 :
exit(1);
break;
default :
printf("\nInput Salah !");
}
}

mau liat output? lihat disini.

Jumat, 23 November 2012

LANGKAH-LANGKAH MEMBUAT PURCHASE PADA MYOB V.15

1. Pada command center pilih menu purchase, lalu klik enter purchase untuk memasukkan data.


2. Maka akan muncul tampilan seperti di bawah. lalu ganti bill seperti yang saya warnai pada gambar di bawah dengan order untuk mencatat transaksi .


3. Lalu klik layout seperti yang saya tandai pada gambar di bawah ini.


4. Maka akan keluar tampilan seperti gambar di bawah ini, lalu ganti dengan item agar memiliki kolom yang lebih banyak dan lengkap.


5. Maka tampilan akan berubah menjadi seperti gambar di bawah ini. Received di gunakan untuk memasukkan banyaknya barang yang akan dijual atau dibeli. Item Number digunakan untuk kode barang yang akan dijual atau dibeli. Decription digunakan untuk mencatat barang apa yang akan dijual atau dibeli. Price digunakan untuk memberi harga satuan barang tersebut. Disc% digunakan untuk memberi diskon untuk barang tersebut. Total digunakan untuk mengcatat harga total dari barang tersebut. Sedangkan tax digunakan untuk memberi pajak pada barang tersebut. Setelah semua data telah di masukkan lalu klik record untuk menyimpan data tersebut.




Rabu, 14 November 2012

MENU DAN KALKULATOR PADA C


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

int c,d,e,umur;
float f,a,b;
char nama[20];
char lagi;

main() {
int pil;
atas:
clrscr();
printf("+======================+");
printf("\n+    PROGRAM AP3      +");
printf("\n+=====================+");
printf("\n+ 1. KALKULATOR       +");
printf("\n+ 2. NAMA             +");
printf("\n+ 3. EXIT             +");
printf("\n+=====================+");
printf("\nMasukkan pilihan kamu : ");
scanf("%d",&pil);

switch(pil) {
case 1 :
clrscr();
printf("Masukkan angka pertama : ");
scanf("%f",&a);
printf("Masukkan angka kedua : ");
scanf("%f",&b);
c = a + b;
d = a - b;
e = a * b;
f = a / b;
printf("\nPertambahan : %3i  + %3i = %3i ", (int)a , (int)b , c);
printf("\nPengurangan : %3i  - %3i = %3i ", (int)a , (int)b , d);
printf("\nPerkalian   : %3i  * %3i = %3i ", (int)a , (int)b , e);
printf("\nPembagian   : %3.0f  / %3.0f = %3.2f ", a , b , f);
printf("\n\nMasih mau lanjut ( y / n ) : ");
scanf("%s",&lagi);
getch();
if (lagi == 'y'){
goto atas;
}
else {
clrscr();
exit(1);
}
break;
case 2 :
clrscr();
printf("\nMasukkan nama anda : ");
scanf("%s",&nama);
printf("\nMasukkan umur anda : ");
scanf("%d",&umur);
printf("\n\n");
printf("HAI %s !\n" , nama);
printf("Umur Anda %d tahun \n" , umur);
printf("Selamat belajar bahasa pemrograman c \n");
printf("^_^");
printf("\n\nMasih mau lanjut ( y / n ) : ");
scanf("%s",&lagi);
getch();
if (lagi == 'y'){
goto atas;
}
else {
clrscr();
exit(1);
}
break;
case 3 :
clrscr();
exit(1);
break;
default :
printf("\nInput Salah !");
}
}

jika ingin out put programnya klik disini.

Kamis, 08 November 2012

CARD FILE DAN INVENTORY

LAPORAN AKHIR PRAKTIKUM
  
Mata pratikum                      :           SIAK
Kelas                                   :           2IA23
Praktikum                            :           Ke-3
Tanggal                               :           9 NOVEMBER 2012
Materi                                  :          CARD FILE DAN INVENTORY
NPM                                   :           50411171
Nama                                  :           Adi Guna Jaya
Ketua Asisten                      :          
Nama Asisten                      :          
Paraf Asisten                       :                      
Jumlah Lembar                    :           Lembar


LABORATORIUM INFORMATIKA
UNIVERSITAS GUNADARMA
2012


LANGKAH MEMBUAT CARD LIST PADA MYOB V.15

1.       Pada Command Centre klik menu Card File lalu Pilih Cards List.



2.   Maka akan tampil kotak dialog seperti di bawah ini. Menu bar customer di gunakan untuk menginput data pelanggan yang berhubungan dengan perusahaan kita. Sedangkan menu bar vendor di gunakan untuk menginput data supplier barang perusahaan kita. Sedangkan untuk mengisi data klik saja tombol new seperti gambar di bawah ini.



3.  Lalu akan muncul kotak dialog seperti di bawah ini, pertama tentukan yang ingin di input adalah pelanggan atau suplier tentukan pada kolom card type. Lalu isikan nama dari pelanggan atau customer dan data lain-lainnya setelah semuanya sudah di masukkan maka klik saja OK.



4.   Lalu akan balik lagi ke kotak dialog sebelumnya, namun data yang kita isi tadi akan masuk di kotak dialog ini. Lalu ulangi semua langkah di atas untuk memasukkan data pelanggan atau supplier  yang lain.


LANGKAH – LANGKAH MENGINPUT INVENTORY

1.       Pada Command Centre pilik menu tab inventory lalu klik Item List.


2.    Maka akan tampil kotak dialog seperti di bawah ini. Ta sold digunakan untuk melihat dan menginput barang apa saja yang akan dijual, sedangkan tab bought digunakan untuk melihat barang apa saja yang ingin kita beli. Untuk menginput datanya klik new.



3.  Setelah itu maka akan keluar seperti tampilan di bawah ini. Lalu isi item number dan nama barang yang ingin dimasukkan datanya. Lalu check list pada check box yang di beri warna lalu pilih accout yang akan digunakan. akun yang pertama isi dengan akun HPP barang dagangan. Yang kedua isi dengan akun penjualan . sedangkan yang terakhir isi dengan akun persediaan barang.


4.  Lalu pilih menu tab buying details , lalu jika ingin memberi pajak maka check list lah pada check box yang di warnai pada gambar di bawah ini.


5.   Lalu pilih menu tab selling details, check list pada check box yang diwarnai pada gambar di bawah ini untuk memberi nilai pajak, jika tidak maka biarkan saja check box itu tidak tercheck list. Sedangkan jika ingin memasukkan harga per unit brang dagangan anda, bisa melalui kotak dialog base selling price. Lalu klik OK.


6. Maka tampilan akan seperti ini. Lanjutkan dengan mengulai langkah – langkah di atas untuk menginput barang yang ingin di beli dan barang yang ingin di jual.