Senin, 30 April 2012

Algoritma & Pemogramman

pengertian tree / pohon
DEFINISI TREE / POHON . 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 6.1 merupakan contoh dari sebuah tree.

Gambar 6.1 Contoh Tree dengan 15 simpul Jika kita memperhatikan gambar ditas, sebenarnya yang disebut dengan simpul (node atau vertex) adalah elemen pohon yang berisi informasi / data dan petunjuk percabangan. Pada pohon diatas memiliki 15 simpul yang berisi informasi berupa huruf A, B, C, D sampai O lengkap dengan percabangannya. Akar / Root dari pohon diatas berisi huruf A. Tingkat (level) suatu simpul ditentukan dengan pertama kali menentukan akar sebagai bertingkat 1. jika suatu simpul dinyatakan sebagai tingkat N, maka simpul-simpul yang merupakan anaknya dikatakan berada dalam tingkat N+1. pada p ohon diatas merupakan tree dengan 5 level. Selain tingkat, dikenal juga istilah derajad (degree) dari suatu simpul. Derajad suatu simpul dinyatakan sebagai banyaknya anak atau turunan dari simpul tersebut. Contoh, dari gambar 6.1 simpul A mempunyai derajad 2, simpul B mempunyai derajad 2, simpul C berderajad 3. simpul-simpul F, H, I, J, K, L, N, O yang semuanya berderajad nol, disebut dengan daun (leaf).


Gambar 6.2 Simpul-simpul yang disebut daun Tinggi (Height) atau Kedalaman (Depth) dari suatu pohon adalah tingkat maksimum dari suatu pohon dikurangi dengan satu. Dengan demikian pohon diatas mempunyai tinggi atau kedalaman sama dengan 4. Hutan (Forest) adalah kumpulan sejumlah pohon yang tidak saling berhubungan. Dari gambar diatas jika kita menghapus simpul A maka akan terbentuk sebuah hutan. Pohon Biner (Binary Tree) Pohon biner bisa didefinisikan sebagai suatu kumpulan simpul yang mungkin kosong atau mempunyai akar dan dua subpohon yang saling terpisah yang disebut dengan subpohon kiri dan sub pohon kanan. Subpohon disebut juga sebagai cabang. Karakteristik dari pohon biner ialah bahwa setiap simpul paling banyak hanya mempunyai dua buah anak. Dengan kata lain derajat tertinggi dari sebuah pohon biner adalah dua. Pengertian daun, root, level, tinggi dan derajad yang berlaku pada pohon juga berlaku pada binary tree. Penyajian binary tree pada komputer di gunakan double link list. Deklarasi Pohon Setiap simpul pada pohon biner selalu berisi dua buah pointer yang menunjuk ke cabang kiri dan cabang kanan dengan melihat hal tersebut maka struktur double link list sangat cocok untuk di terapkan di dalam tree ini. Gambar Membuat Pohon Biner Untuk membuat pohon biner, terdapat aturan dalam penempatan simpulnya. Berikut ini merupakan algoritma penempatan sebuah simpul dalam pohon biner : “Simpul yang berisi informasi yang nilainya lebih besar dari simpul diatasnya akan ditempatkan sebagai cabang kanan dan jika lebih kecil akan ditempatkan di cabang kiri.” Proses untuk memperoleh pohon biner diatas adalah sebagai berikut : Karakter pertama ‘H’ ditempatkan sebagai Akar. Karakter ‘K’ karena lebih besar dari ‘H’ diletakkan dicabang kanan. Karakter ‘A’ karena lebih kecil dari ‘H’ akan menempati cabang kiri dari ‘H’. kemudian, karena karakter ‘C’ lebih kecil dari ‘H’ dan lebih besar dari ‘A’ maka ia di letakkan sebagai cabang kanan dari ‘A’. demikian seterusnya sampai semua masukkan di proses. Untuk mengalokasikan simpul baru seperti diatas biasanya digunakan fungsi rekursif, untuk itu ada baiknya jika kita membuat fungsi baru agar proses rekursif untuk simpul dapat berlangsung sukses. 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 tersinpan 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. Dari gambar 6.4 jika kita melakukan traversal secara PREORDER pada pohon biner tersebut maka akan menghasilkan untai : ‘HACBKJL’. 2. INORDER Kunjungan jenis ini mempunyai urutan kunjungan sebagai berikut : - Kunjungi cabang kiri. - Cetak isi simpul yang dikunjungi. - Kunjungi cabang kanan. Dari gambar 6.4 jika kita melakukan traversal secara INORDER pada pohon biner tersebut maka akan menghasilkan untai : ‘ABCHJKL’. 3. POSTORDER Kunjungan jenis ini mempunyai urutan kunjungan sebagai berikut : - Kunjungi cabang kiri. - Kunjungi cabang kanan. - Cetak isi simpul yang dikunjungi. Dari gambar 6.4 jika kita melakukan travarsal secara POSTORDER pada pohon biner tersebut maka akan menghasilkan untai : ‘BCAJLKH’.


pengertian queve

Queue = Antrian Elemen yang pertama kali masuk ke antrian akan keluar pertama kalinya FIFO (first in first out) DEQUEUE adalah mengeluarkan satu elemen dari suatu Antrian deklarasi #define MAX 8 typedef struct{ int data[MAX]; int head; int tail; } Queue; Queue antrian; OPERASI-OPERASI PADA QUEUE - Create() o Untuk menciptakan dan menginisialisasi Queue o Dengan cara membuat Head dan Tail = -1 IsEmpty() o Untuk memeriksa apakah Antrian sudah penuh atau belum o Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty o Kita tidak memeriksa Head, karena Head adalah tanda untuk kepala antrian (elemen pertama dalam antrian) yang tidak akan berubahubah o Pergerakan pada Antrian terjadi dengan penambahan elemen Antrian kebelakang, yaitu menggunakan nilai Tail IsFull() o Untuk mengecek apakah Antrian sudah penuh atau belum o Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array C) berarti sudah penuh Dequeue() o Digunakan untuk menghapus elemen terdepan/pertama dari Antrian o Dengan cara mengurangi counter Tail dan menggeser semua elemen antrian kedepan. o Penggeseran dilakukan dengan menggunakan looping

DEFINISI STACK

- Stack atau tumpukan - Bersifat LIFO (Last In First Out) - Benda yang terakhir masuk ke dalam stack akan menjadi benda pertama yang dikeluarkan dari stack - Contohnya, karena kita menumpuk Compo di posisi terakhir, maka Compo akan menjadi elemen teratas dalam tumpukan. Sebaliknya, karena kita menumpuk Televisi pada saat pertama kali, maka elemen Televisi menjadi elemen terbawah dari tumpukan. Dan jika kita mengambil elemen dari tumpukan, maka secara otomatis akan terambil elemen teratas, yaituCompo juga. Operasi-operasi/fungsi Stack Push : digunakan untuk menambah item pada stack pada tumpukan paling atas Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas Clear : digunakan untuk mengosongkan stack IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah Penuh Deklarasi STACK dengan struct dan array data typedef struct STACK{ int top; char data[10][10]; //misalkan : data adalah array of string //berjumlah 10 data, masing-masing string //menampung maksimal 10 karakter }; Deklarasi/buat variabel dari struct STACK tumpuk; Inisialisasi Stack - Pada mulanya isi top dengan -1, karena array dalam C dimulai dari 0, yang berarti stack adalah KOSONG! - Top adalah suatu variabel dalam STACK yang menunjukkan elemen teratas Stack sekarang. Top Of Stack akan selalu bergerak hingga mencapai MAX of STACK sehingga menyebabkan stack PENUH! - Ilustrasi stack pada saat inisialisasi: Fungsi IsFull - Untuk memeriksa apakah stack sudah penuh? - Dengan cara memeriksa top of stack, jika sudah sama dengan MAX_STACK-1 maka full, jika belum (masih lebih kecil dari MAX_STACK-1) maka belum full - Ilustrasi: Fungsi Push - Untuk memasukkan elemen ke stack, selalu menjadi elemen teratas stack - Tambah satu (increment) nilai top of stack terlebih dahulu setiap kali ada penambahan elemen stack, asalkan stack masih belum penuh, kemudianisikan nilai baru ke stack berdasarkan indeks top of stack setelah ditambah satu (diincrement)


DEFINISI LIST

ListView dalam Visual Basic biasanya digunakan untuk menampilkan data, baik dari database maupun bukan, ke dalam tabel dalam bentuk list atau grid. Dengan listview, data yang ada dapat diurutkan, ditambahkan maupun dihapus dengan mudah dari list. Untuk mengatur header listview, perhatikan contoh berikut ini : Dim ch As ColumnHeader Set ch = ListView1.ColumnHeaders.Add(, , "No.", 600) Set ch = ListView1.ColumnHeaders.Add(, , "Kode", 900, vbCenter) Set ch = ListView1.ColumnHeaders.Add(, , "Nama Barang", 2300, vbLeftJustify) Set ch = ListView1.ColumnHeaders.Add(, , "Byk", 900, vbCenter) Set ch = ListView1.ColumnHeaders.Add(, , "Harga Satuan", 1500, vbRightJustify) Set ch = ListView1.ColumnHeaders.Add(, , "Jumlah", 1580, vbRightJustify) ListView1.GridLines = True .


DEFINISI ARRAY

Array adalah tipe data yang banyak dipergunakan pada hampi di semua bahasa pemrograman. Array bisa disebut sebagai penempatan banyak data pada satu variable. Hal ini diperlukan apabila data yang kita butuhkan jumlahnya banyak, dan data tersebut adalah serupa, misalnya data nilai siswa. Misalnya adalah sebagai berikut: int NilaiSiswa1 = 60; int NilaiSiswa2 = 70; int NilaiSiswa3 = 80; Apabila datanya berjumlah sedikit mungkin masih bisa menggunakan metode di atas. Tapi apabila datanya banyak(jumlah siswa lebih dari 100), kita akan kesulitan untuk mengaturnya. Kemudian dari hal inilah timbul ide untuk mengganti angka pada variable dengan varable integer (bilangan) sebagai index. Dengan demikian terdapat variable indentitas dan variable index. Sehingga deklarasi di atas dengan array menjadi: int Nilaisiswa[100]={80,65,98,79,70,.......}; arti: NilaiSiswa[1] = 80; NilaiSiswa[2] = 65; NilaiSiswa[3] = 98; dst Dengan demikian penggunaan variable NilaiSiswa akan lebih mudah, karena index juga bisa diganti dengan variable bertipe integer. Biasanya akses dari variable array menggunakan looping. Array juga bisa digunakan untuk data 2 atau 3 dimensi. Sesungguhnya kalimat (string) adalah array dari tipe data karakter (char).

DEFINISI RECORD

Record (rekaman) menyatakan kumpulan dari sejumlah elemen data yang saling terkait. Sebagai contoh, nama, alamat, tanggal lahir, dan jenis kelamin dari seseorang menyusun sebuah record. Istilah lain yang juga menyatakan record yaitu tupel dan baris. contoh struktur data : sebuah record dengan empat buah field Field1 Field2 Field4 Field4 Sintax type nama_record = record identifier_1 : tipe_data_1; : : identifier_n : tipe_data_n; end; var variabel1 : nama_record;

LANGKAH-LANGKAH MEMBUAT PERCABANGAN : IF………ELSE …….END IF

LANGKAH-LANGKAH MEMBUAT PERCABANGAN : IF………ELSE …….END IF 1. Membuka aplikasi visual basic 2008 atau 2010, klik new project, klik windows forms application. 2. Membuat nama UAS dengan menggunakan label pada kotak toolbox. kemudian text pada kotak properties diganti dengan UAS.membuat kotak input nilai UAS dengan textbox, textnya di kosongkan. Nama diganti Tuas. 3. Membuat nama UAN dengan menggunakan label pada kotak toolbox. kemudian text pada kotak properties diganti dengan UAN.membuat kotak input nilai UAN dengan textbox, textnya di kosongkan.nama diganti Tuan. 4. Membuat nama HASIL dengan menggunakan label pada kotak toolbox. kemudian text pada kotak properties diganti dengan HASIL.membuat kotak input nilai HASIL dengan textbox, textnya di kosongkan. Nama diganti Ttotal. Enable diganti false. 5. Membuat nama KETERANGAN dengan menggunakan label pada kotak toolbox. kemudian text pada kotak properties diganti dengan KETERANGAN.membuat kotak input nilai KETERANGAN dengan textbox, textnya di kosongkan. Nama diganti Tket. Enable diganti false 6. Membuat tombol PROSES dengan menggunakan button pada kotak toolbox. Text pada kotak properties diganti PROSES. 7. Membuat tombol EXIT dengan menggunakan button pada kotak toolbox.text pada kotak properties diganti EXIT.

8. Double klik tombol PROSES lalu ketikkan coding seperti berikut : Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Ttotal.Text = Val((Me.Tuas.Text) + Val(Me.Tuan.Text)) / 2 If Ttotal.Text >= 80 And Me.Ttotal.Text <= 100 Then Tket.Text = "A" ElseIf Me.Ttotal.Text >= 65 And Ttotal.Text <= 79 Then Me.Tket.Text = "B" ElseIf Me.Ttotal.Text <= 65 Then Me.Tket.Text = "C" End If End Sub 9. Double klik tombol EXIT lalu ketik codingnya : Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click End End Sub 10. Double klik textbox1 / Tuas kemudian ketik coding : Private Sub Tuas_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tuas.TextChanged Dim a As Integer a = Val(Tuas.Text) End Sub 11. Double klik textbox2/ Tuan lalu ketik coding : Private Sub Tuan_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tuan.TextChanged Dim b As Integer b = Val(Tuan.Text) End Sub End Class 12. Jalankan program dengan menekan tombol start debugging pada toolbar (F5) 13. Masukkan nilai UAS dan UAN, missalkan UAS = 90 dan UAN = 80 lalu tekan tombol PROSES, maka muncul HASIL = 85 dengan KETERANGAN = A. 14. Untuk keluar dari program klik stop debugging pada toolbar (CTRL+ALT+BREAK)



LANGKAH-LANGKAH PEMBUATAN KONDISI PERULANGAN

WHILE………END WHILE 1. Membuka aplikasi visual basic 2008 atau 2010, klik new project, klik windows forms application. 2. Membuat kotak input nilai dengan memilih textbox pada kotak toolbox. Biarkan pada text di kosongkan. 3. Membuat tombol proses dengan memilih button pada kotak toolbox. pada kotak properties, ganti textnya menjadi proses. Seperti pada kotak dibawah ini :

4. Double klik tombol proses.dan mengetikan codingnya seperti berikut : Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim MAX = 10 Dim MIN = 0 While MIN < MAX MIN += 1 MsgBox(MIN) End While End Sub End Class 5. Jalankan program dengan menekan tombol start debugging pada toolbar (F5) 6. Masukkan nilainya,maka akan terjadi looping pada windows application. 7. Untuk menghentikan program, klik stop debugging pada toolbar.

Tidak ada komentar:

Posting Komentar