Minggu, 25 Mei 2014

Heap heap hore... deap .









demi kesehatan anda lebih baik post ini jangan dibaca :)

jadi... kali ini saya bakal ngebahas Heap dan deap .
HEAP HDEAP HORASSS 

lupakan , lawakan saya memang ga lucu hu3h3uh3uh3u3

Heap .
heap merupakan salah satu bentuk tree tapi tidak ngikutin peraturan yang ada pada binary tree BST RBT dkk , jadi anti mainstream gitu broh *apasi
Heap bisa dibuat dalam bentuk array tapi indexnya mulai dari 1, ga ada 0.

Heap itu ada 3 jenis, Min heap max heap dan min-max heap .
Min heap itu...  heap yang angkanya berurut dari paling kecil (rootnya paling kecil) trus anaknya pasti lebih besar dari parentnya (angkanya) .




Max Heap ,,, kalo max heap ya yang paling gede diatas, sisanya makin bawah makin kecil . ga perlu di kasi gambar kan hueheuhue *ketahuanmales

nah, heap juga ada insert dan delete, karena saya ga mau ribet jadi taro gambar aja ya,... 
source : google.com 

ini insert.



 yang ini delete v




kalo min max heap itu campuran jadi paling atas itu min - bawahnya max - bawahnya lagi min,,, dan seterusnya .

DEAP.
deap itu bentuk tree yang mencakup max heap dan min heap. min heap ada di kiri dan max heap ada di kanan. trus gimana rootnya?  root pasti blank dan ga boleh diisi apa-apa :p 
contoh DEAP v *lagi lagi nyomot google h3h3h3h3



ngomong-ngomong soal blank... jadi inget animasi yang judulnya no game no life ,,, bagus loh dan recommended buat ditonton untuk remaja *karena ada unsur ... *ehem*.. ahaha
blank itu ceritanya adalah kakak beradik yang setiap main game *contoh catur * pasti bareng , dan ternyata kalo masalah gaming si blank ini tidak terkalahkan wawawaw .
mouse aja di kaki berohhhhhhwoi ini lagi ngomongin stukdat... maap maap AKOWKOAOKWKOA


oke segitu aja . huwehuwehuwhuwe dadaaaaa


Joshua Rama Tanu
02PGT
1701294190

www.binus.ac.id || www.skyconnectiva.com

Minggu, 18 Mei 2014

RBT itu bro, yang ngeset lagu ***************** ---------------------- Red Black Tree.


Yahooooo ~ semuaaanyahhh
oke kembali lagi dengan si kuda terbang...
?

lupakan,
jadi di post ini saya akan membahas tentang RBT
a.ka
=Remaja BeTe
 RingBackTone
RumahBapakTampan
------------------
eh tapi tunggu dulu
sebelum kelas , saya kedatangan dosen tamu lohhh dari IBM berohhh III BEE EMMM 
Ikan Bapak Meledak  *slapped
yah saya ga nyatet sih pas ada dosen tamu jadi yasudah lupakan, langsung aja ke topiknya ~
Red Black Tree.

jadi Red Black Tree itu pohon yang warnanya labil serah dia mau merah apa item tau lah pucink >,<

Binary Tree yang memiliki warna di setiap node bisa item bisa merah .


trus kalo RBT tuh
ada syaratnya
-Punya warna node , merah / item
-Root (yang paling atas) harus item
-External node juga harus item *racist ????????????*
-kalo bapaknya (parent) merah anaknya harus item.

trus ada lagi, kalo nodenya merah, bapaknya ga boleh merah juga.

RBT tuh ada operasi plastikbiarjadiRBT(RedBlueTree)
ada 2
Insert sama delete
inser -> nambah node
delete -> ilangin node

nah karena saya ga nyatet banyak trus kebanyakan gambar
saya pake catetan dari kelas kecil hueheuheuehuuhehuehueuhega,,bercanda(?)
 

kalo insert itu
node baru -> pasti merah
trus ada proses fix violation kalo syarat syarat diatas jadi dilanggar gara-gara masukin node baru.
ada cara recolor, rotation  , heavy rotation , double rotation .

karena saya males naro gambar jadi saya kasi video langsung aja .
credits to the maker of the video :')



gimana? uda ditonton? haha maaf saya asal comot video :p

kalo soal delete saya ada juga
tapi dalam bentuk tulisan aja hihi saya numpang copy dari catetan yang dikasih dosen kecil yaa ~

M = target delete
C = pengganti

jika M = red   , C = Black langsung ganti
jika M = black , C = red langsung ganti dan recolor C = black
jika M = black , C = black akan menciptakan token double black di posisi C

C = N
S = sibling
Sl = sibling left
Sr = sibling right
P = parent

kondisi 1 jika S = red , SL & SR = black
maka reverse color P dan S dan rotate di P , token black tetap ada di N
kondisi 2 jika s = black , SL & SR = black
maka recolor S = red , token black pindah ke P
jika warna P = red recolor jadi black jika P = black maka terjadi double black lg
kondisi 3 jika S = black , SL / SR = RED
maka rotate di parent (single/double), parent baru mengikuti warna parent lama dan kedua anaknya jadi hitam , lalu token black hilang

nb : jika token double black berada pada node merah, maka node tsb menjadi hitam dan
token double black hilang.


oke sekian dulu karena saya uda ngantuk trus uda mau kuliah jadi.... saya menghilang lagi~~






saya tau belajar struk dat ga gampang tapi....
berjuanglah! :3

Joshua Rama Tanu
1701294190
02PGT

www.binus.ac.id || www.skyconnectiva.com

Minggu, 30 Maret 2014

Stack in 5 seconds ! 5 !! 4 !! 3 !! 2 !! 1!! ok , GOOOOOOO + Implementations

dear diary, pas kelas panas banget dah jadi ga fokus tapi nyatet si dikit-dikit dari sumber yang terpercaya (?????????????)

karena ngomongin stack jadi ... ngecek dlu di pertemuan 1 ,,, oh ada ! :3

Stack itu LIFO dan FILO-> Last In First Out , First In Last Out
anggepannya kaya tumpukan buku yang pengen dibaca, yang paling atas (ditaro paling terakhir) bakal dibaca pertama .

beda dengan Queue yang konsepnya FIFO dan LILO -> First In First Out, Last In Last Out
anggepannya tu lagi ngantri pesen makanan di mcd (promosi?)

  Stack tuh punya 2 variabel :
- Top : Yang letaknya paling atas
- Max : Jumlah maksimum pada tumpukan tersebut

Operasi Pada Stack yang bakal dipakai sehari-hari (?)

Push : menambah item pada stack pada tumpukan paling atas 
Pop : menghapus item pada stack pada tumpukan paling atas 
Clear :  melenyapkan stack  (apa lagi ini.... )
IsEmpty : ngecek stack uda kosong belom yaa
IsFull : ngecek  stack sudah penuh apa belom

trus di kelas dijelasin jg DFS (Depth First Search)
gw kira DPS(Demage Per Second) *slapped

jadi DFS itu,,, algoritma buat nyari data dari sebuah tree(binary tree, bukan pohon yang gede di alam sana..) dengan mengecek kedalaman dari tree .
terima kasih google atas gambarnya huehuehuehue


oke segini dlu...
sebelum gw tutup postnya, berhubung lg ngomongin stack
gw jadi inget sama game yang gw maenin... Guild Wars2
itu stacking di Guild Wars 2 :p *kok jadi OOT....

daaaaaaaaaaaaaaaaaaaaaaa

Joshua Rama Tanu
1701294190



Minggu, 23 Maret 2014

Introduction to Tree, Binary Tree, Expansion Tree

okeee jadi kali ini gw bakal bahas
Introduction to Tree, Binary Tree, Expansion HairTree !!!!!!


dikarenakan buku catatan gw hilang...
gw taro dikit dikit dlu deh seingetnya huft :(

oke.... 
pertama Tree Concept.
Tree itu koleksi atau kumpulan dari 1 node atau lebih.

contoh Tree





A -> namanya Root soalnya ada di paling atas.
garus yang ngehubungin nomor nomor itu namanya edge.
yang paling bawah atau uda ga bercabang lagi namanya leaf
kalo di gambar atas tuh, leafnya [E F G.
trus , kan misalnya E dibawah B.
jadi anggepannya E itu anaknya B (parent)
sedangkan, F yang parentnya sama kaya G
anggepannya F sama G itu sibling.

trus ada lagi Degree, degree dari node itu sub totalnya dari node.
mungkin yang dimaksud anaknya kali ya,,, dari yang saya dapat , misalnya degree dari C itu 2 , soalnya yang dibawahnya itu ada F sama G .

trus ada lagi, Height atau Depth itu maksimum degree dari nodenya tree.
kalo gambar diatas tu heightnya3

dan terakhir jika ada garis yang menghubungkan x dengan y maka x di sebut sebagai ancestor dari y dan y disebut sebagai descendant dari x. 
contohnya : ancestor G dan F itu A danC
descendant dari C itu G dan F.

next,,, 
jenis binary tree itu ada 4
1. Perfect Binary Tree
binary tree yang mempunyai depth yang sama di setiap level. Perfect Binary Tree disebut juga complete binary tree.
2. Complete Binary Tree
binary tree yang setiap level di isi oleh node tetapi tidak semua level memiliki depth yang sama.
3. Skewd Binary Tree
 binary tree yang setiap node mempunyai setidak nya 1 child.
4. Balance Binary Tree
Binary tree dimana leaf nya tidak jauh lebih banyak dari leaf lainnya.




Cara menghitung jumlah maksimum node dari sebuah binary tree di suatu h adalah 2^(h+1)-1.

Contoh :

Anggap di level 3 sebuah tree kita mempunyai 8 node, maka 2^(3+1)-1 yaitu 15.


gara-gara catetan ilang jadi gw ga bisa jelasin banyak-banyak... segini dulu mungkin nanti diupdate *kaloinget* :3


TUNGGU!
karena gw anaknya suka jail..
ada rekomendasi film nih dari ane buat  mahasiswa sekalian buat ilangin stress
walaupun hanya animasi, tapi bisa membantu menghilangkan stress huehuehue
bisa di stream , maupun di donlot hehe

 dadaaaaaaaaaaaaaa ~





Joshua Rama Tanu
1701294190
02 PGT



Minggu, 16 Maret 2014

Pew pew pew (gatau mau ngasi judul apa)

10 Maret 2014 . hari dimana kelas data struktur di invasi oleh lulusan SI ...

jadi 10 maret ini kelas gw kedatangan tamu superman istimewa , beliau alumni dari Binus dan sekarang sudah bekerja sebagai freelancer (?). Beliau adalah Sdr. Okky Pribadi S.Kom . pada sesi ini beliau berbagai pengalamannya dalam dunia IT, mulai dari seorang mahasiswa, lalu sebagai Fresh Graduate, dan akhirnya perjuangan dia dalam bekerja di berbagai perusahaan. Ia juga menceritakan kelebihan dan kekurangan tentang pekerjaan orang orang IT. Beliau pun tak lupa memotivasi mahasiswa dan memberi tips untuk perkembangan dan perjalanan belajar hingga kerja.  ada juga beberapa pelajaran yang ia share kepada mahasiswa.







Perbedaan Array dan Linked LIst
      Arrow Array
     Statis
     Random Access
     Penghapusan array tidak mungkin
     Penambahan dan penghapusan data terbatas

    Linked List
    Dinamis
    Sequential Access
    Penghapusan mudah
    Penambahan dan penghapusan data tidak terbatas


oh ya, beliau juga lebih fokus ke C# dibanding yang lain, karena menurut beliau kita cukup menguasai satu bahasa saja yang cocok dengan kita. 

gara-garagataumaungetikapalagiditambahlagingerjainsubuhsubuhginiudangantuk...yaudaseigniajaya:')

 





NIM : 1701294190
Nama : Joshua Rama Tanu



www.binus.ac.id || www.skyconnectiva.com

Sabtu, 08 Maret 2014

linke.......n ? no no no, linked list !

oke sekarang saya akan membahas tentang.... Linken Sphere !
Linked List

dikarenakan saya baru belajar sebagian, jadi yang dipost kali ini implementasi dari linked list PART 1 !

 dear diary, akhir akhir ini saya ngedota mulu nih jadi keracunan hahaha ngegame mulu (iniajadikerjainsetelahmaendota)

yak, langsung saja,, Linked List atau biasa disebut "Senarai Berantai" adalah sebuah struktur data yang digunakan untuk menyimpan sejumlah objek data pada memori. Linked list ini dapat dikategorikan sebagai struktur data dinamis, karena linked list ini bisa disebut sebagai pengembangan dari ADT (Abstract Data Type).

nexttt
linked list atau disingkat LL itu terbagi atas 3 tipe.
1. Single/Singly LL
2. Double/Doubly LL
3. Multiple LL


dan ada juga 
tambahan gitu deh,  Circular single LL
    

ditambah lagi, ada 2 kegiatan yang dapat di lakukan pada linked list.  
     1.  Insert
     2.  Delete


kegiatan insert itu sendiri, ada 3 macam
kalo yang saya pelajari sih ya
ada Push depan
Push balakang
Push tengah

uda kaya dota aja pushing mid pushing top pushing bottom *slapped

nah, saya ada contoh kodingnya nih

Push Depan

head = curr = tail = NULL;

if(head==NULL)
{
     head=tail=curr;
     tail->next=curr;
}else{
     curr->next=head;
     head=curr;
}


Push Belakang

head=tail=curr=NULL;

if(tail==NULL)
{
     head=tail=curr;
     tail->next=NULL;
}else{
     tail->next=curr;
     curr=tail;
     tail->next=NULL;
}

segitu aja dlu yah, soalnya uda ngantuk jadi... ya gitu deh     (salahsendirikenapagangerjaindarikmaren-kmaren)????????????


1701294190
Joshua Rama Tanu

www.binus.ac.id || www.skyconnectiva.com 

Jumat, 28 Februari 2014

Array, Pointer, intro buat data struktur

Pointer , Array , intro buat Data struktur .

 

======================dear diary, ternyata tugas dari matkul ini .... bikin blog.... oh my guard... :x-----------------------

Array

biar gaol alphabetical (halah), kita bahas Array dulu.
Array itu...
-koleksi dari data yang sama(homogen) (A collection of similar data elements) #gajagotranslate
-punya index, indexnya selalu start dari 0


Array itu memiliki dimensi berbeda-beda
misalnya
int array[][] : array dua dimensi
int array[][] : array multi dimensi

contohnya
int array[3][5] = 15 
jadi ada 3 baris
dan ada 5 kolom
15 itu elemennya.

 Pointer

Pointer itu adalah variabel yang berisi alamat memory sebagai nilainya dan berbeda dengan variable biasa yang berisi nilai tertentu.

ada 2 operator penting pada pointer
& -> Address operator
* -> dereferencing operator (gw ga ngerti jadi,,, yasudahlah)

Data Struktur

data struktur adalah kumpulan data  dalam memori komputer dan juga didalam disk storage. beberapa contoh data struktur adalah array,linked list,queues,stack,binary tree dan hash table.
 
Array kan uda ada diatas

Queue itu kan artinya mengantri
jadi anggepnya itu
orang ngantri buat beli makanan di kantin.
jadi -> FIFO (First In First Out)

ada juga Stack
kalo stack itu anggap saja tumpukan komik yang mau dibaca
jadi
LIFO (Last In First Out)


ada perbedaan array dengan linked list
kalo array itu kan bisa langsung ke index
tapi linked list harus berurutan .
jadi... segitu dulu


Nama  : Joshua Rama Tanu
NIM     : 1701294190
www.binus.ac.id || www.skyconnectiva.com