hansadvent
This user hasn't shared any profile information
Posts by hansadvent
Data Structure (Pertemuan 9)
0GRAPH
Graph (grafik) berupa kumpulan dari vertex (titik) yang dihubungkan oleh garis yang dinamai edge.
Beberapa jenis dalam graph adalah:
- Graph tak berarah
- Graph berarah
- Graph berbobot
ADJACENCY LIST MATRIX
Adjacency list matrix adalah bentuk representasi graph dalam bentuk matrix yang menyatakan hubungan antar simpul (vertex).
Gambar 2b adalah bentuk representasi matrix dari 2a.
MINIMUM SPANNING TREE
Minimum Spanning Tree (MST) adalah tree yang tidak mempunyai loop.
Metode dalam MST adalah:
A. Algoritma Prim
- Pilih salah satu vertex sebagai vertex awal
- Pilih edge dengan nilai terkecil yang terhubung dengan vertex tersebut
- Lakukan tahap tersebut sampai semua vertex telah terhubung dan tidak ada loop
B. Algoritma Kruskal
- Urutkan semua edge dengan bobot paling kecil
- Hubungkan vertex yang terhubung oleh edge paling kecil, jika terjadi looping maka skip edge tersebut
- Lakukan tahap tersebut sampai semua vertex terhubung
SHORTEST PATH
Shortest Path adalah pemilihan / metode untuk memilih jalan terpendek / dengan bobot terkecil dalam suatu graph berbobot.
Metode yang digunakan dalam shortest path adalah Algoritma Dijkstra.
Data Structure (Pertemuan 8)
0HEAP
Heap adalah salah satu data structure yang berbentuk tree dan berbeda dengan binary search tree (BST).
Jenis-jenis dari heap adalah Max-Heap, Min-Heap, dan Min-Max Heap.
MAX HEAP
Node paling atas berisi value angka yang paling besar dari anak-anak dan keturunannya.
Anak dari suatu node harus lebih kecil daripada orang tuanya, jika tidak maka harus dilakukan rotasi.
MIN HEAP
Node paling atas berisi value angka yang paling kecil dari anak-anak dan keturunannya.
Anak dari suatu node harus lebih besar daripada orang tuanya, jika tidak maka harus dilakukan rotasi.
MIN-MAX HEAP
Min-max heap tersusun dari tree yang tiap levelnya memiliki heap yang berbeda (max atau min).
Pada level 0 (paling atas) adalah min heap, pada level 1 max heap dan seterusnya.
INSERT
Heap di insert / disusun dari atas ke bawa dan dari kiri ke kanan.
Pada gambar di bawah, terdapat salah satu contoh insert angka 15 pada max heap.
Setelah angka 15 di insert, karena heap adalah max heap maka dia harus cek ke parentnya apakah angka 15 tersebut lebih besar daripada parentnya. Jika ya, maka keduanya harus bertukar tempat. Begitu seterusnya sampai angka 15 lebih kecil daripada parentnya atau angka 15 telah sampai di level 0.
Tries adalah struktur data yang berbentuk tree dan digunakan untuk mencari sebuah kata (misalnya dalam sebuah search engine).
Tries berasal dari kata Retrieval .
Hashing adalah salah satu struktur data yang merupakan transformasi dari string untuk mengambil nilai length terpendek dalam string.
Tujuan dari Hashing adalah untuk mempercepat pencarian data yang sudah tersimpan sebelumnya.
Data Structure (Pertemuan 7)
0RED BLACK TREE
Red Black Tree bisa disebut sebagai Binary Search Tree yang mempunyai fungsi yang sama.
Ciri-ciri dari Red Black Tree adalah:
1. Setiap node mempunyai warna yang antara lain adalah merah atau hitam
2. Root (external node) selalu berwarna hitam
3. Leaf atau akar dari root berwarna hitam
4. Jika suatu node berwarna merah, maka anak-anaknya berwarna hitam
5. Node yang baru dimasukkan selalu berwarna merah
Insertion
Ada beberap violation yang dapat terjadi dalam insertion:
- Jika parent dan uncle dari new node adalah merah, maka violation dapat dihindari dengan cara merubah wanr dari parent dan uncle menjadi hitam
- Jika parent dari new node adalah merah dan unclenya adalah hitam (external node termasuk warna hitam), lalu new node lebih kecil daripada nilai dari parentnya, maka yang harus dilakukan adalah melakukan single rotate seperti pada gambar
- Jika parent dari new node adalah merah dan unclenya adalah hitam (external node termasuk warna hitam), lalu new node lebih besar daripada nilai dari parentnya, maka yang harus dilakukan adalah melakukan double rotate seperti pada gambar
Deletion
Deletion pada Red Black Tree umumnya sama seperti pada BST
Dalam Deletion pada Red Black Tree, ada dua hal yang dapat terjadi pada umumnya
- Jika node yang ingin di-delete adalah node merah, maka dapat langsung dihapus
- Jika node yang ingin di-delete adalah node hitam, maka dapat terjadi double black
Pada gambar dibawah, terjadi double black pada node a. Jika saudara dari a adalah merah, maka terjadi single rotatation dan X menjadi warna merah.
Pada gambar di bawah, jika a adalah double black dan Y beserta anak-anaknya adalah hitam juga, maka Y akan menjadi warna merah dan double black berpindah kepada parent dari a dan Y.
Pada gambar di bawah, a adalah double black, saudara dari a (Z) adalah hitam dan mempunyai anak yang berwarna merah. Pada kondisi tersebut, harus dilakukan double rotation.
2-3 Tree
2-3 Tree:
- Setiap internal node merupakan 2 node yang punya 1 data dan 2 anak, atau 3 node yang punya 2 data dan 3 anak
- Semua leaf harus berada dalam level yang sama
- Semua node ter organisir seperti halnya dengan BST
Insertion
Data Structure (Pertemuan 6)
0AVL TREE
Pada pertemuan sebelumnya, telah diketahui bahwa Binary Search Tree (BST) adalah tree yang dipergunakan untuk memudahkan dan mempercepat komputer dalam melakukan perncarian suatu data.
Sedangkan AVL Tree adalah Binary Search Tree yang sudah seimbang (dapat menyeimbangkan treenya sendiri). Tujuan / kelebihan dari avl tree ada pada proses searching yang lebih cepat karena sudah seimbang kiri dan kanan dari tree tersebut.
Rotation
Left Rotation:
Right Rotation:
Double Rotation (Left Right):
Double Rotation (Right Left):
Guest Lecturer
Pada pertemuan kali ini, kelas kami kedatangan guest lecturer yaitu:
Selvakumar Manickam (University of Science Malaysia)
Kami belajar tentang apa itu Big O dan juga tentang AVL Tree secara lebih lengkap.
Data Structure (Pertemuan 5)
0Binary Search Tree
Binary Search Tree adalah tree yang dipergunakan untuk memudahkan dan mempercepat komputer dalam melakukan perncarian suatu data.
Searching
Pencarian (Searching) dimulai dari rootnya (di gambar adalah angka 50).
Jika angka yang dicari belum ditemukan, maka pencarian akan dilanjutkan, jika angka yang dicari lebih kecil dari root, maka pencarian akan ke sebelah kiri root, jika sebaliknya maka akan dicari ke sebelah kanan root. Begitu seterusnya samapi ditemukan angka yang dicari.
Misal jika angka yang dicari adalah 23, maka pencarian akan dimulai dari:
- 23 != root, maka 23 dibandingkan dengan root
- 23 < 50, maka pencarian dilanjutkan ke sebelah kiri
- 23 != 17, maka 23 dibandingkan dengan 17
- 23 > 17, maka pencarian dilanjutkan ke sebelah kanan
- 23 == 23, maka pencarian telah berhasil dan selesai
Insertion
Metode Insert
Misal angka yang ingin kita insert adalah 35, maka:
- Insertion dimulai dari root, 35 > 30 maka akan dilanjutkan ke sebelah kanan
- Setelah itu, 35 dibandingkan dengan 37 (35 < 37)
- Dilanjutkan ke angka 32 dengan cara yang sama (35 > 32). 35 akan dilanjutkan ke sebelah kanan 32 yang merupakan ujung dari tree (leaf)
- 35 kemudian di insert ke sebelah kanan angka 32
Data Structure (Pertemuan 4)
0Pertemuan 4 membahas tentang Tree.
-> Level 2
-> Level 3
-> Level 4
Root : Node paling atas (2)
Edge : Hubungan antara satu node dengan node yang lain
Leaf : Node tanpa anak node (11 dan 4)
Sibling : Node yang punya parent yang sama
Degree : Jumlah subtree dalam node
Binary Tree
Binary Tree adalah sebuah tree yang masing-masing node mempunyai maksimal dua anak.
Perfect Binary Tree
Skewed Binary Tree
Data Structure (Pertemuan 3)
0Stack
Stack adalah tumpukan objek yang di insert dan di remove dengan prinsip LIFO (Last in First out).
Pada stack, dikenal Top merupakan sebutan untuk item / elemen untuk menyimpan alamat paling atas dari suatu stack.
Jika TOP == NULL, maka berarti stack kosong.
Jika TOP == Max-1, berarti stack sudah full.
Ada beberapa operasi / fungsi dalam Stack:
- Push() : Menambah item ke tumpukan paling atas
- Pop() : Menghapus / mengambil item dari tumpukan paling atas
- Top() : Mengembalikan item paling atas dari stack
Queue sesuai namanya adalah kebalikan dari Stack.
Queue menggunakan prinsip FIFA (First in First out) dan dapat diimplementasikan dengan array atau Linked List.
- Front: Item / Elemen yang akan di remove terlebih dahulu (jika di pop(), akan yang pertama di remove)
- Rear : Tempat dimana item akan dimasukan pertama kali (jika di pop(), akan menjadi yang terakhir di remove)
Ada beberapa operasi / fungsi dalam Queues:
- Push() : Menambah item ke belakang barisan
- Pop() : Menghapus / mengeluarkan item paling depan
- Front() : Menunjukan item paling depan dari barisan
Infix, Prefix, Postfix
Dalam Struktur Data, ada 3 notasi operasi aritmatika, yaitu:
- Infix : Operator yang ditulis di antara 2 operand
- Prefix : Operator yang ditulis sebelum operand
- Postfix : Operator yang ditulis setelah operand
DFS & BFS
DFS (Depth-First-Search) mencari atau berjalan dalam struktur tree secara ke bawah (ke dalam) terlebih dahulu dan dapat diselesaikan dengan bantuan struktur data Stack.
BFS (Breadth-First-Search) mencari atau berjalan dalam struktur tree secara horizontal / menyamping terlebih dahulu dan dapat diselesaikan dengan banturan struktur data Queues.
Data Structure (Pertemuan 2)
0Pada pertemuan 2, kelas besar Data Structure kedatangan Guest Lecturer yang merupakan Binusian (2007) yang sudah punya banyak pengalaman pada bidang IT, yaitu Bong Defendy. Beliau juga banyak sharing tentang pengalamannya dalam dunia kerja IT.
BIG DATA
Big Data tidak berarti berapa besar data yang ada yang dapat diukur, melainkan sekumpulan data yang sangat besar dan kompleks yang sulit ditangani dengan database dan software biasa. Karena ukurannya yang begitu besar, biasanya Data sering tidak lengkap dan tidak dapat diakses.
Contoh nyata dari Big Data adalah:
- Database pada Facebook
- Pemanfaatan Big Data untuk teknologi wearable seperti komunikasi dan navigasi
- Penggunaan Big Data untuk membantu translasi bahasa (Misalnya bahasa Indonesia ke bahasa asing)
Arduino
Ardunio adalah pengendali mikro single-board yang diturunkan dari Wiring platform dan bersifat open-source baik hardware maupun softwarenya. Arduino dirancang untuk memudahkan penggunaan elektronik yang ditujukan kepada siapa saja yang ingin membuat peralatan elektronik interaktif berdasarkan hardware dan software yang fleksibel dan mudah digunakan.
Contoh penggunaan arduino adalah mengontrol LED, pengontrol motor dan helikopter, MP3 Player, stasiun cuaca, pengontrol suhu dan masih banyak lagi. Beberapa kelebihan dari Arduino adalah:
- Tidak perlu perangkat chip programmer
- Murah
- Pemrograman mudah dan sederhana
- Software dan Hardware bersifat open-source
- Terdapat sarana komunikasi USB
-
Memiliki modul siap pakai (shield) yang bisa ditancapkan pada board Arduino., misalnya shield GPS, Ethernet dan SD Card
Raspberry Pi
Raspberry pi adalah Single Board Circuit yang ukurannya sebesar kartu kredit dan dapat digunakan untuk beberapa keperluan seperti spreadsheet, game, dan media player. Raspberry pi bersifat open-source berbasis Linux yang mendukung Pyhton sebagai bahasa pemrograman utama selain bahasa lainnya seperti C/C++.
Latex
LaTeX (dibaca La-tech / Lay-tech) bermula dari TeX yang merupakan program pengolah dokumen yang ditujukan untuk membuat simbol-simbol matematika dan typesetting dokumen. LaTeX dibentuk setelah TeX untuk menyederhanakan typesetting TeX dan juga untuk menambah perintah-perintah yang memudahkan pengguna dikarenakan TeX dipandang banyak orang sulit untuk menggunakan perintah yang ada.
LaTeX banyak digunakan oleh matematikawan, ilmuan, akademisi, insinyur, dan profesi lainnya.
Cloud
Cloud Computing layanan teknologi yang bisa diakses oleh pelanggannya melalui jaringan internet (awan). Akan lebih mudah jika membicarakan Cloud Computing dengan dibagi menjadi dua bagian:
- Front End yang merupakan sisi pengguna komputer (klien) dan aplikasi yang diperlukan untuk mengakses sistem Cloud Computing
- Back End adalah berbagai komputer, server, dan sistem penyimpanan data yang menciptakan cloud (awan) layanan komputasi.
Beberapa manfaat dari Cloud Computing adalah :
- Keamanan Data
- Fleksibilitas dan Skalabilitas tinggi
- Data tersimpan di server secara terpusat, sehingga walaupun hardisk atau gadget rusak, data akan masih ada
SASS
SASS (Syntactically Awesome Stylesheet adalah sebuah bahasa desain web untuk mengontrol format tampilan sebuah halaman web sehingga akan lebih terstruktur dan rapi yang merupakan pengembangan dari CSS yang memungkinkan coding dengan nested rules, variables, mixins, inline import dan banyak lagi. Semua itu adalah beberapa kelebihan SASS dibandingan dengan CSS.
Kelebihan SASS adalah:
- CSS yang dihasilkan akan lebih rapi dan mudah dibaca
- Berjalan dengan baik di setiap browser
- Output / hasil CSS akan lebih terstruktur
Augmented Reality
Augmented Reality adalah teknologi yang memungkinkan untuk menggabungkan benda-benda nyata (tiga dimensi) dan maya (dua dimensi) kedalam sebuah lingkungan nyata tiga dimensi lalu memproyeksikan benda-benda maya dalam waktu nyata. Augmented Reality (AR) sudah banyak digunakan dalam berbagai bidang dalam kehidupan seperti:
- Augmented Reality Interactive Games
- Augmented Reality Presentation
- Augmented Reality Event
- Augmented Reality High Tech Environment
- Augmented Reality Website
- Augmented Reality Promotion
Rangkuman Data Structure (Pert 1 & 2)
0Contoh-contoh Data Structures:
- Arrays
- Linked lists
- Queues
- Stacks
- Binary Trees
- Hash Tables
Queues
Sesuai dengan namanya, data struktur ini berbentuk seperti antrian.
Elemen yang pertama kali dimasukkan ke satu sisi (disebut rear), akan dikeluarkan terlebih dahulu sebelum yang lain di sisi yang lain (disebut front).
Stacks
Stack (tumpukan) bisa dibilang sebagai kebalikan dari Queues (antrian).
Data struktur ini menggunakan sistem LIFO (Last In First Out) / FILO (First In Last Out).
Jika ingin mengeluarkan yang pertama kali masuk, maka harus mengeluarkan dulu yang lain, begitu juga sebaliknya.
Binary Trees
Data struktur yang terdiri dari kumpulan elemen yang disebut Nodes yang masing-masing node mempunyai left pointer, right pointer, dan elemen data.
Array dan Linklist
Array dan Linklist dapat dibedakan berdasarkan sifat dan Memory allocationnya.
Array:
- Mempunyai elemen data dengan tipe data yang sama (Homogen)
- Static memory allocation
- Mempunyai index yang merupukan urutan data dalam array
Linked List:
- Berupa kumpulan node yang elemen datanya bersifat heterogen (tipe data bisa berbeda)
- Dynamic memory allocation
- Tidak mengenal index
Array merupakan kumpulan dari elemen data yang mirip (masing-masing data mempunyai tipe data yang sama untuk setiap array).
Ada beberapa operasi di Array:
- Traversal
- Insertion
- Searching
- Deletion
- Merging
- Sorting
Pointer adalah tipe data yang valuenya menunjuk kepada value yang tersimpan di dalam memori komputer menggunakan alamat.
2 operator yang paling penting dalam menggunakan tipe data pointer adalah:
- & Address operator
- * Dereferencing operator
Linked List adalah sebuah data structure yang elemennya (disebut sebagai node) bisa ditambahkan atau dihapus sesuai dengan keinginan.
Single Linked List hanya mengandung single link (bisa disebut juga hanya punya pointer next) secara satu arah.
HTTP 2015 (HIMTI Togetherness & Top Performance)
0 HTTP adalah sebuah acara yang diadakan dalam rangka untuk menyambut anggota-anggota baru HIMTI (Himpunanan Mahasiswa Teknik Informatika). HTTP 2015 mempunyai tema SHINE (Strengthening Harmony & Inspiring New Experiences) dan diadakan pada 3 September 2015. HTTP 2015 diadakan di ruang auditorium BTTP, namun untuk peserta yang tidak tahu lokasinya dapat berangkat bersama menggunakan bis Binus yang sudah disediakan oleh HIMTI khusus untuk acara HTTP.
HTTP dimulai pukul 09.00, namun karena sudah banyak peserta yang datang, maka diputarkan film animasi seperti Big Hero 6 untuk menghibur peserta yang sudah datang sambil menunggu waktu dimulainya acara. Acara dibuka oleh 2 orang MC yang seru, dan nyanyian dari seorang solo singer untuk memeriahkan acara. Selain acara-acara seperti band dan solo singer, terdapat pula acara talk show dengan enterpreneur seperti Laksamana Mustika yang merupakan Binusian sekaligus seorang yang berbakat dalam berbisnis. Selain itu, terdapat juga drama teater yang sukses dalam menampilkan sebuah drama tentang pertemanan dan kehidupan kuliah seorang terhadap teman-teman barunya.
Selain acara-acara yang ada, terdapat juga makan siang yang disediakan bagi seluruh peserta. Namun jika ingin makan atau minum yang tidak disediakan, tersedia juga stand-stand yang dibuka untuk menjual makanan dan minuman yang mungkin disukai oleh peserta. Di akhir acara, terdapat dancer, band-band dan juga DJ dimana seluruh peserta dapat terhibur olehnya.
Dalam HTTP kali ini, banyak manfaat yang dapat diterima seperti mengenal lebih dekat dengan teman-teman sesama jurusan dan menambah wawasan denga mendengarkan talk show. Jadi, sangat disarankan bagi binusian yang baru memasuki dunia perkuliahan TI Binus untuk ikut acara HTTP ini.
Recent Comments