RSS
Facebook
Twitter

Showing posts with label pemrograman. Show all posts
Showing posts with label pemrograman. Show all posts

Thursday, September 08, 2011

Pemrograman jaringan : Servlet

Pemrograman jaringan : Servlet - Servlet adalah suatu class yang merupakan turunan
dari HttpServlet yang berisi method doGet() dan doPost() untuk memproses request dan respon.
> Untuk menangani proses request dan respon tersebut, terdapat dua parameter yang merupakan
instance:
1. HttpServletRequest : Menangkap informasi yang masuk,seperti URL, form data dan Http request header
2. HttpServletResponse: Mengirimkan informasi Http status code (200, 400, dll), respon header (content-type, setcookie,dll) dan menyediakan PrintWriter untuk mengirimkan dokumen yang diminta client

Struktur Dasar Servlet
Jadi, class-class yang diperlukan pada struktur dasar servlet adalah:
1. java.io (PrinterWriter) -> input dan output
2. javax.servlet (HttpServlet) -> untuk servletnya
3. javax.servlet.http (HttpServletRequest dan HttpServletResponse)

Siklus Servlet
Terdapat tiga proses internal dalam Servlet, yaitu :
1.Memanggil class servlet
2.Meng-create instance dari servlet
3.Memanggil method init
4.Memanggil method service
5.Memanggil method destroy



Monday, August 08, 2011

Pemrograman Jaringan : Java Server Page .pdf

For : 2TK_G9 PCR
Nih bahan Pemrograman jaringan bab iv.. karena elearning gag bisa dibuka yang ada cuma ini..
download di sini..
semoga bermanfaat..
kalau modem nya ga lelet dan lagi rajin ling postingin Java Bean atau Session..silahkan request..mau Java Bean yang diutamakan atau Session..ntar ling buat yang itu dulu...soalnya kalau dua-duanya banyak juga..hehe

Wednesday, July 27, 2011

Program C : Segitiga Siku-Siku

Ini adalah program C..membuat segitiga siku..silahkan di coba..
semoga bermanfaat.. ^^
#include
#include
main()
{
int i,j,k,m;
clrscr();
printf ("Masukkan Berapa bintang :");
scanf("%d",&m);
for(k=1;k<=m;k++)
{
for(i=0;i
    {
    for(j=0;j
        {
        printf("  ");
        }
    for(j=0;j
        {
        if(i==0||j==0||j==(k-(i+1)))
        {
        printf("%d ",k);
        }
        else
        {
        printf("  ");
        }
        }
    printf("\n");
    }
    printf("\n\n");
}
getch();
return 0;
}

Tuesday, May 10, 2011

sistem operasi _ Ubuntu : shell programming_

Shell Programming
01. review
- eksekusi model pada shell, ada 4 model :
a) . file-shell.sh
b) bash file-shell.sh
c) sh file-shell.sh
d) ./file-shell.sh (khusus file yang mempergunakan level akses x)
ex : netbean_6.9.x.bin (rwx r-x r-x)

02. shell script
a. elemen dasar shell script
- head
#!/bin/bash --> shell basis text
#!/bin/sh
- commenting
#selalu di awali pagar
#tidak akan dicetak melainkan hanya keterangan pada script shell
- descripsi
content : all of your syntax or command linux bagian statement || pernyataan
ex :
#!bin/bash
#contoh program shell tahap 1
a=3
b=4
let kali=$a*$b
echo "maka hasil kali $a X $b = $kali"

03. variable
- kata perumpamaan bebas yang mempunyai nilai
ex : a=3 (a: kata perumpamaan dan 3 : nilai dari a)
- case sensitive : membedakan lowercase dan uppercase
- pemberian nilai variabel tidak boleh dipisah dengan spasi
ex : a=saya suka -->false
a=saya_suka -->true
a=sayasuka -->true
- jika nilainya terdiri dari beberapa kata / string. maka penulisannya bisa ditambah dengan aphostrof (") / tanda petik dua diawal nilai dan diakhir nilai.
ex : a="saya suka"

04. instruksi read
--> digunakan untuk input nilai variabel tertentu.
ex :
#!/bin/bash
read a
read b
echo $a
echo $b

05. parameter
--> standar input eksternal
dilambangkan dengan $numberik ($0-$9)
pengecualian $0 : header | shell script model
ex :
#!/bin/bash
#parameter
echo $1
echo $2
let tambah=$1+$2
echo "maka nilai tambah dari $1 + $2 = $tambah"

- $# : menerangkan jumlah parameter
- $* : menampilkan semua parameter

Sunday, May 01, 2011

pemrograman beroriantasi objek /Java : Tugas membalik Kata

Coba cek Program java membalik kata berikut ini..mungkin dapat membantu tugas pemrograman anda..apabila kita inputkan "aku anak indonesia" ntar outputnya "indonesia anak aku"..

Friday, April 15, 2011

pemrograman beroriantasi objek : STRING

string class
= sebuah objek dari class string mewakili sebuah karakter dari string
= class string termasuk ke java.lang package, dimana tidak memerlukan statement import
= seperti class yang lain, string memepunyai constructor dan method
= tidak seperti class yang lain. string mempunyai 2 operator, + dan += (digunakan untuk merangkai/meretet)

literal string
= objek yang tidak diketahui namanya dari class string
= mendefinisikan text terlampir dalam tanda kutip dua." ini adalah literal string"
= tidak harus di bangun
= data ditetapkan untuk variabel string
= dapat dilewati oleh method dan constructor sebagai parameter
= mempunyai method yang dapat kamu panggil

contoh literal string
//menandakan sebuah literal untuk variabel string
String name ="robert";

//memanggil method pada sebuah literal string
char firstInitial="Robert".charAt(0);
char firstInitial=name.charAt(0);

Immuntability
=sekali diciptakan, string tidak dapat dirubah: tak satupun dari methodnya mengubah string
=objek nya disebut immutable
=objek immutable cocok karena beberapa referensi dapat menunjuk ke objek yang sama dengan aman : hal ini tidak berbahaya untuk merubah sebuah objek melewati sebuah referensi tanpa yang lain mengetahui dari perubahan

keuntungan dari immutability
= menggunakan sedikit memori

kerugian
=kurang efisien (kamu harus membuat string baru dan membuag string lama walau perubahannya hanya kecil sekalipun)

Empty String (string kosong)
= sebuah empty string tidaj mempunyai karakter. panjangnya adalah 0
= tidak sama dengan sebuah string yang tidak diinisialisasi

class String buffer di java
= kawan dekat dengan string class
= string mewakili penetapan panjang dan rangkaian karakter yang immutable (tetap).
= stringBuffer mengizinkan rangkaian penulisan dan perubahan
= karakter pada StringBuffer dapat diinsert/di tambah/dihapus dimana saja dan ukuran dari StringBuffer akan otomatis berubah untuk membuat ruang

StringBuffer Constructors
StringBuffer()
<>

StringBuffer(int size)
<>

StringBuffer(String str)
<>

note : pada saat pembuatan jika tidak ada ukuran yang dispesifikasi maka panjang nya akan 0 dan kapasitasnya 16.

Thursday, February 17, 2011

Program java Membalik Kata

import javax.swing.JOptionPane;
public class tugas {
     public static void main(String[] args)
        {
         String input=JOptionPane.showInputDialog("Masukkan kalimat anda");
         String[] kata=input.split(" ");
         String katabaru="";
         for(int i=kata.length-1;i!=-1;i--)
         {
             katabaru=katabaru+kata[i]+" ";
         }
         JOptionPane.showMessageDialog(null,katabaru);
     }

}

penjelesan dari program hanoi

import javax.swing.JOptionPane;
    public class hanoi2
    {
        static int i=0;
        public static int Hanoi(int N,char home, char help, char destination)
        {
            if (N==1)
            {
                i++;
                System.out.println("Move "+i+" plate "+N+" from "+home+" to "+destination);
                return 0;
            }
            Hanoi(N-1, home, destination, help);
            i++;
            System.out.println("Move "+i+ " Plste "+N+" from "+home+" to "+destination);
            Hanoi(N-1, help, home, destination);
            return 0;
        }
        public static void main(String[] args)
        {
            int N;
            String input=JOptionPane.showInputDialog("Input the plate :");
            N=Integer.parseInt(input);
            Hanoi(N,'A','B','C');
        }
    }
For INPUT=2
Hanoi(N,'A','B','C'); -- >  Hanoi(2,'A','B','C');
public static int Hanoi(int N=2,char home=A, char help=B, char destination=C)
            if (N==1)  ---- >  N==1??? no
            Hanoi(N-1, home, destination, help); ---- > call the function
public static int Hanoi(int N=1,char home=home (A), char help=destination (C), char destination=help (B))
if (N==1) --- >  N==1??? yes
                    {
                    i++; ----> i=1
System.out.println("Move "+i+" Plate "+N+" from "+home+" to "+destination); --- > i=1 , N=1 , home = A ,destination = B
                        return 0;
                    }
i++; --- > i=2
            System.out.println("Move "+i+ " Plate "+N+" from "+home+" to "+destination); -- > i=2 , N=2 , home=A, destination = C
            Hanoi(N-1, help, home, destination); --- > call the function
public static int Hanoi(int N=1,char home=help (B), char help=home (A), char destination=destination (C))
if (N==1) --- >  N==1??? yes
                    {
                    i++; ----> i=3
System.out.println("move "+i+" Plate "+N+" from "+home+" to "+destination); --- > i=3 , N=1 , home = B ,destination = C
                        return 0;
                    }




   

For INPUT=3
Hanoi(N,'A','B','C'); -- >  Hanoi(3,'A','B','C');
public static int Hanoi(int N=3,char home=A, char help=B, char destination=C)
            if (N==1)  ---- >  N==1??? No
            Hanoi(N-1, home, destination, help); ---- > call the function
public static int Hanoi(int N=2,char home=home (A), char help=destination (C), char destination=help (B))
if (N==1) --- >  N==1??? no
                   Hanoi(N-1, home, destination, help); ---- > call the function
public static int Hanoi(int N=1,char home=home (A), char help=destination (B), char destination=help (C))
if (N==1) --- >  N==1??? Yes
                    {
                    i++; ----> i=1
System.out.println("Move "+i+" Plate "+N+" from "+home+" to "+destination); --- > i=1 , N=1 , home = A , destination = C
                        return 0;
                    }

i++; --- > i=2
System.out.println("Move "+i+ " Plate "+N+" from "+home+" to "+destination); -- > i=2 , N=2 , home = A, destination = B
Hanoi(N-1, help, home, destination); --- > call the function
public static int Hanoi(int N=1,char home=help (C), char help=home (A), char destination=destination (B))
if (N==1) --- >  N==1??? Yes
                    {
                    i++; ----> i=3
System.out.println("Move "+i+" Plate "+N+" from "+home+" to "+destination); --- > i=3 , N=1 ,home = C , destination = B
                        return 0;
                    }
            i++; -- > i=4
            System.out.println("Move "+i+ " Plate "+N+" from "+home+" to "+destination); -- > i=4 , N = 3 , home= A , destination = C
            Hanoi(N-1, help, home, destination); -- > call the function
public static int Hanoi(int N=2,char home=help (B), char help=home (A), char destination=destination (C))
if (N==1) --- >  N==1??? no
                   Hanoi(N-1, home, destination, help); ---- > call the function
public static int Hanoi(int N=1,char home=home (B), char help=destination (C), char destination=help (A))
if (N==1) --- >  N==1??? Yes
                    {
                    i++; ----> i=5
System.out.println("Move "+i+" Plate "+N+" from "+home+" to "+destination); --- > i=5 , N=1 , home = B , destination = A
                        return 0;
                    }

i++; --- > i=6
System.out.println("Move "+i+ " Plate "+N+" from "+home+" to "+destination); -- > i=6 , N=2 , home = B, destination = C
Hanoi(N-1, help, home, destination); --- > call the function
public static int Hanoi(int N=1,char home=help (A), char help=home (B), char destination=destination (C))
if (N==1) --- >  N==1??? Yes
                    {
                    i++; ----> i=7
System.out.println("Move "+i+" Plate "+N+" from "+home+" to "+destination); --- > i=7 , N=1 ,home = A , destination = C
                        return 0;
                    }
            return 0;
        }

Sunday, February 06, 2011

share_metode bubble sort dan merge sort...

Nama : Yulyanti
Kelas : 2TK
NIM : 0910117260006
1. Metode Merge Sort
Merge Sort merupakan pengurutan untuk data yang jumlahnya besar, dimana data tidak semuanya dapat dimuat dalam memori utama (main memory), sehingga harus disimpan dalam penyimpanan sekunder (secondary storage) berupa berkas (file). Proses penggabungan sedikitnya dua buah file ke dalam file lain dalam kondisi terurut.
Konsep dari merge sort sendiri adalah sebagai berikut :
1.) Bagi list besar menjadi setengahnya
2.) Lakukan hal ini secara rekursif sampai diperoleh list dengan satu elemen saja
3.) List tersebut digabung lagi menjadi sebuah list besar yang sudah terurut.

Contoh pseudocode untuk merge sort :
function mergesort(m)
var
kiri, kanan, hasil :list
tengah: integer
algoritma
if length(m) _ 1 then
return m
else
tengah = length(m) div 2
for x = m to tengah do
add x to kiri
end for
for x = m after tengah do
add x to kanan
end for
kiri = mergesort(kiri)
kanan = mergesort(kanan)
hasil = merge(kiri, kanan)
end if
return hasil

Kelebihan dari merge sort :

Dibanding dengan algoritma lain, merge sort ini termasuk algoritma yang sangat efisien dalam penggunaannya sebab setiap list selalu dibagi bagi menjadi list yang lebih kecil, kemudian digabungkan lagi sehingga tidak perlu melakukan banyak perbandingan.


2. Metode Bubble Sort

Ada beberapa yang perlu diketahui mengenai Bubble Sort :
- Metode sorting termudah
- Diberi nama “Bubble” karena proses pengurutan secara berangsur-angsur bergerak/berpindah ke posisinya yang tepat, seperti gelembung yang keluar dari sebuah gelas bersoda.
- Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya.
- Jika elemen sekarang lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar, jika pengurutan ascending.
- Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar, jika pengurutan descending.
- Algoritma ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri atau kiri ke kanan, tergantung jenis pengurutannya.
- Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses, demikian seterusnya.
- Kapan berhentinya? Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah diinginkan.


Kelebihan dan Kelemahan dari Bubble Sort
Setiap algoritma memiliki kelebihan dan kekurang masing-masing. Berikut kelebihan dan kelemahan dari algoritma bubble sort.

Beberapa kelebihan dari Bubble Sort :
- Algoritma yang simpel.
- Mudah untuk diubah menjadi kode.
- Definisi terurut terdapat dengan jelas dalam algoritma.
- Cocok untuk pengurutan data dengan elemen kecil telah terurut.

Beberapa kelemahan dari Bubble Sort :
- Tidak efektif dalam pengurutan data berskala besar.
- Langkah pengurutan yang terlalu panjang.

catatan teori java's link2_inheritance,method dan constructor

Overriding (penumpukan method pada subclass)
-> subclass yang berusaha memodifikasi tingkah laku yang mewarisi dari superclass
-> tujuan : subclass memiliki tingkah laku yang lebih spesifik.
-> dilakukan dgn cara mendeklarasikan kembali method milik parent class di subclass
-> deklarasi method pd subclass harus sama dg yang terdapat di superclass. kesamaan pada:
- nama
- return type
- daftar paramater (jumlah.type, dan urutan)
-> method pd parent class dsb overriden method
-> method pada subclass dsb overriden method
Aturan Overriding
-> mode akses overriding method harus sama / lebih luas daripada overriden method
-> subclass hanya boleh meng-overriden method superclass 1x saja, tidak boleh ada lebih dari 1 method pd kelas yang sama yang sama persis
overloading
-> menuliskan method dg nama yang sama pd suatu class
-> tujuan : memudahkan penggunaan / pemanggilan method dg fungsionalitas yang mirip
aturan overloading
-> nama method harus sama
-> daftar parameter harus berbeda
-> return type boleh sama, juga boleh berbeda

-> overloading juga bisa terjadi antara parent class dg subclass jika memenuhi ketiga syarat overload.



Single Inheritance
-> konsep single inheritance hanya memperbolehkan suatu subclass mempunyai 1 parent class
Multilevel inheritance
-> konsep multilevel inheritance memperbolehkan suatu subclass mempunyai subclass lagi.

kapan kita menerapkan inheritance?
-> kita baru perlu menerapkan inheritance pd saat kita menjumpai ada suatu class yg perlu memperluas class lain yg sudah ada.

Modifier Class yang sama -package yang sama -subclass -class manapun
private ok
default ok ok
protected ok ok ok
public ok ok ok ok

kontruktor tidak diwariskan
->konstruktor dari parent class tidak dapat diwariskan ke subclass nya.
method
-> ada nilai balikan
-> nilai balik hanya sebuah data integer,float, string dll
-> nama method tidak sama dengan nama class
-> bisa overloading

kemampuan public-protected-default-private
dari kelas yg sama ok ok ok ok
dari kelas yg berbeda dlm package yg sama ok ok ok
dari kelas yg berbeda dlm package yg berbeda ok
dari subclass dlm package yg sama ok ok ok
dari subclass di luar package ok ok

Thursday, February 03, 2011

Sorting_metode Bubble Sort

Ada beberapa yang perlu diketahui mengenai Bubble Sort :
- Metode sorting termudah
- Diberi nama “Bubble” karena proses pengurutan secara berangsur-angsur bergerak/berpindah ke posisinya yang tepat, seperti gelembung yang keluar dari sebuah gelas bersoda.
- Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya.
- Jika elemen sekarang lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar, jika pengurutan ascending.
- Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar, jika pengurutan descending.
- Algoritma ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri atau kiri ke kanan, tergantung jenis pengurutannya.
- Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses, demikian seterusnya.
- Kapan berhentinya? Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah diinginkan.

Algoritma bubble sort adalah salah satu algoritma pengurutan yang paling simple, baik dalam hal pengertian maupun penerapannya. Ide dari algoritma ini adalah mengulang proses pembandingan antara tiap-tiap elemen array dan menukarnya apabila urutannya salah. Pembandingan elemen-elemen ini akan terus diulang hingga tidak perlu dilakukan penukaran lagi. Algoritma ini termasuk dalam golongan algoritma comparison sort, karena menggunakan perbandingan dalam operasi antar elemennya.

Dalam algoritma Bubble Sort ini, terdapat beberapa ciri khas yang cukup menonjol, Ciri khas dari algoritma Bubble Sort ini adalah cepatnya elemen-elemen besar menempati posisi yang tepat dan lambatnya elemen-elemen yang lebih kecil dalam menempati posisi yang tepat.

Kelebihan dan Kelemahan dari Bubble Sort
Setiap algoritma memiliki kelebihan dan kekurang masing-masing. Berikut kelebihan dan kelemahan dari algoritma bubble sort.

Beberapa kelebihan dari Bubble Sort :
- Algoritma yang simpel.
- Mudah untuk diubah menjadi kode.
- Definisi terurut terdapat dengan jelas dalam algoritma.
- Cocok untuk pengurutan data dengan elemen kecil telah terurut.

Beberapa kelemahan dari Bubble Sort :
- Tidak efektif dalam pengurutan data berskala besar.
- Langkah pengurutan yang terlalu panjang.

Friday, January 21, 2011

Struktur Data | tree

Struktur Data | tree
TREE
Tree bisa didefinisikan sebagai suatu kumpulan elemen salah satu elemennya disebut dengan akar (root), dan sisa elemen lainnya (yang disebut simpul) terpecah menjadi sejumlah himpunan yang paling tidak berhubungan satu sama lain, yang disebut dengan subpohon (subtree), atau disebut juga cabang. Jika kita melihat pada subpohon, maka subpohon inipun juga mempunyai akar dan sub-subpohonnya masing-masing.

Dalam kehidupan sehari-hari, tree dapat dilihat dari pohon silsilah keluarga. Tingkat yang tertinggi disebut juga sebagai root. Untuk lebih jelasnya lihat gambar, merupakan contoh dari sebuah tree.

Pembagian Tree :
1. Tree Statik : isi node-nodenya tetap karena bentuk pohonnya sudah ditentukan.
2. Tree Dinamik : isi nodenya berubah-ubah karena proses penambahan (insert) dan penghapusan (delete

Terminologi Tree

Akar (Root nodes)

Simpul yang paling atas dalam pohon adalah akar (root node). Menjadi simpul teratas, simpul akar tidak akan memiliki orang tua. Ini merupakan simpul di mana biasanya merupakan tempat untuk memulai operasi dalam pohon (walaupun beberapa algoritma dimulai dengan daun dan berakhir pada akar). Semua simpul yang lain dapat dicapai dari akar dengan menelusuri pinggiran atau pranala. (Dalam definisi resmi, setiap jalan adalah khas). Dalam diagram, ini secara khusus di gambar paling atas. Di beberapa pohon, seperti heap, akar memiliki sifat khusus. Setiap simpul dalam sebuah pohon dapat dilihat sebagai akar dari sub pohon yang berakar pada simpul tersebut.

Daun (Leaf nodes)
Semua simpul yang berada pada tingkat terendah dari pohon dinamakan daun (leaf node). Sejak mereka terletak pada tingkat paling bawah, mereka tidak memiliki anak satupun. Seringkali, daun merupakan simpul terjauh dari akar. Dalam teori grafik, sebuah daun adalah sebuah sudut dengan tingkat 1 selain akar (kecuali jika pohonnya hanya memiliki satu sudut; maka akarnya adalah daunnya juga). Setiap pohon memiliki setidaknya satu daun.
Dalam pohon berdasarkan genetic programming sebuah daun (juga dibilang terminal) adalah bagian terluar dari sebuah program pohon. Jika dibandingkan dengan fungsinya atau simpul dalam, daun tidak memiliki argumen. Di banyak kasus dalam daun-GP input ke programnya.

Representasi Tree menggunakan linked list

Tree dapat dibuat dengan menggunakan linked list secara rekursif.Linked list yang digunakan adalah double linked list non circular.Data yang pertama kali masuk akan menjadi node root.Data yang lebih kecil dari data node root akan masuk dan menempati node kiri dari node root, sedangkan jika lebih besar dari data node root, akan masuk dan menempati node di sebelah kanan node root.

Operasi-operasi pada Tree:

Insert: menambah node ke dalam Tree secara rekursif. Jika data yang akan dimasukkan lebih besar daripada elemen root, maka akan diletakkan di node sebelah kanan, sebaliknya jika lebih kecil maka akan diletakkan di node sebelah kiri. Untuk data pertama akan menjadi elemen root.
Find: mencari node di dalam Tree secara rekursif sampai node tersebut ditemukan dengan menggunakan variable bantuan ketemu. Syaratnya adalah tree tidak boleh kosong.
Traverse: yaitu operasi kunjungan terhadap node-node dalam pohon dimana masing-masing node akan dikunjungi sekali.
Count: menghitung jumlah node dalam Tree
Height : mengetahui kedalaman sebuah Tree
Find Min dan Find Max : mencari nilai terkecil dan terbesar pada Tree
Child : mengetahui anak dari sebuah node (jika punya)

Jenis-Jenis penelurusan data :

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 :

1. PREORDER

Kunjungan jenis ini mempunyai urutan kunjungan sebagai berikut :

- Cetak isi simpul yang dikunjungi.

- Kunjungi cabang kiri.

- Kunjungi cabang kanan.


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;


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. POSTORDER

Kunjungan jenis ini mempunyai urutan kunjungan sebagai berikut :

- Kunjungi cabang kiri.

- Kunjungi cabang kanan.

- Cetak isi simpul yang dikunjungi.


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 infiks.


Cara pertama adalah penyimpanan node secara linked, dalam arti menggunakan tipe data pointer. Pada cara ini, struktur node akan disajikan sebagai berikut:


LPtr Info RPtr

Jika struktur node tersebut diimplementasikan ke dalam Pascal, maka deklarasi node yang sesuai adalah:

1: TYPE

2: BinTreeType = ^BinNodeType;
3: BinNodeType = RECORD

4: LPtr : BinTreeType;
5: Info : BinInfoType;
6: RPtr : BinTreeType;
7: END;

Gambar dibawah adalah binary tree dan representasinya dalam penyimpanan secara linked. Pointer T menunjukkan alamat dari node root, sedang subtree yang kosong diwakili dengan pointer yang bernilai NIL.

Thursday, July 08, 2010

PRograM C 'Deret BilaNgan FibOnacci'

/*Nama = Yulyanti ; NIM = 0910117260006*/

#include
#include

int fibo(int n,int z)
{
int i,u=1,y=1;

for(i=1;i<=n-3;i++) { u=y; y=z; z=u+y; printf(" %d ",z); } } main() { int z,n,u=1,y=1; clrscr(); printf("\t\t---Deret Bilangan Fibonaci---\n\n"); printf("Input n deret bilangan fibonaci yang ingin Anda tampilkan="); scanf("%d",&n); z=u+y; printf("=> %d %d %d",u,y,z);
fibo(n,z);
getch();
}