GRAPH
Graph adalah abstract data structure yang mengimplementasikan konsep matematika dari graph.
Jenis-jenis graph ada 2 :
- Graph terarah
- Graph tidak terarah
Minimum Spanning Tree
Alogritma Prim
Algoritma Kruskal
Algoritma Djikstra
Heap
adalah sebuah objek array yang dapat dengan mudah divisualisasikan sebagai complete tree. Ada korespondensi satu ke satu diantara elemen array dan node dari tree. Tree itu benar2 penuh pada semua tingkatan kecuali mungkin yang terendah, yang diisi dari kiri sampai titik tertentu. Semua node dari heap juga memenuhi hubungan bahwa nilai kunci pada setiap node pada kurangnya sama besar dengan nilai pada anak2nya.
Bentuk : complete binary tree.
Sifat : Setiap node lebih besar dari atau sama dengan masing2 anak sesuai dengan perbandingan predikat yang ditetapkan.
Jenis :
Insert : Untuk menambahkan sebuah elemen ke heap harus melakukan operasi up-heap.
Max heap
Min heap
Insertion in min-heap
Delete-Min in Min heap
Min-Max heap
Elemen terkecil ada di root. Elemen terbesar ada di salah satu anak root.
Upheap :
Deletion
Tries
adalah ordered tree struktur data yang digunakan untuk menyimpan asosiatif array, biasanya strings. Sebuah tree dimana setiap vertex memiliki satu huruf/prefix.
Hashing
adalah transformasi dari string karakter menjadi nilai panjang biasanya lebih pendek atau kunci yang mewakili string asli. Digunakan untuk indeks dan mengambil item dalam database karena lebih cepat untuk menemukan item menggunakan kunci hash lebih pendek daripada untuk menemukannya menggunakan nilai asli.
Konsep AVL Tree :
Balance Factor :
Jenis rotasi dibagi menjadi 2 :
Delete node pada AVL TREE
Node structure : A tree node should look like the below structure. It has data part and references to its left and right child nodes.
Treee terminology :
Every non root node has a unique parent.
The level of vertex v in a rooted tree is the height of vertex max levels of its vertices.
M-ary Trees : rooted tree where every vertex has no more than ‘m’ children. Full m-ary if every internal vertex has exactly ‘m’ children. m-2 gives a binary tree.
3-ary tree :
Dalam binary search tree, semua node di bagian kiri sub-tree mempunyai value lebih kecil dari root node. Untuk semua node di bagian kanan sub-tree mempunya value sama/lebih besar dari root node. Karena node di binary search tree sudah tersusun, makan waktu untuk mencari elemen dalam tree berkurang, tidak perlu lagi mentraverse seluruh tree.
Ada beberapa operasi yang dimiliki oleh Binary Search Tree.
Searching
Fungsi ini digunakan untuk mencari apakah value terdapat dalam tree/tidak. Fungsi ini dimulai dari root node. Awalnya akan dicek apakah binary search tree kosong, jika tidak maka dilanjutkan pengecekan apakah value terdapat dalam tree. Untuk contoh pencarian lebih dalamnya,
Untuk mencari angka 19, dalam perbandingan jika angka 19 dengan curr node lebih besar maka kunjungi kanan, jika lebih kecil makan kunjungi kiri. Mulai membanding dari root angka 30, 19<30 maka lanjut ke kiri. Lalu, 19>15 maka lanjut ke kanan. Setelah itu, 19<26 maka lanjut ke kiri. Terakhir 19=19, ketemulah angka 19 dalam binary search tree.
Inserting
Fungsi insert digunakan untuk menambah node ke dalam binary search tree dalam posisi yang benar. Pertama, cek apakah curr node NULL, jika ia maka tinggal ditambahkan, jika tidak maka lihat value curr node lalu recurs ke bawah kiri/kanan sub-tree. Jika curr node lebih kecil dari new node, maka kanan sub-tree ditraversed, sebaliknya kiri sub-tree yang ditraversed. Fungsi insert terus berjalan turun level binary tree sampai leaf node.
Untuk menginput angka 2, dicek dari root node. 2<4 maka ke kiri. 2>1 maka ke kanan. 2<3 maka ke kiri.
Deleting
Fungsi delete adalah untuk menghapus node dalam binary search tree. Untuk menghapus node yang tidak memiliki anak, sangat gampang tinggal dihilangkan saja. Untuk menghapus node yang memiliki 1 anak, hapus node lalu sambungkan dengan parent nya. Untuk menghapus node yang memiliki 2 anak, cari node yang value nya paling besar untuk digantikan dengan parent, lalu hapus node dari tempat sebelumnya.
Tree
sebuah koleksi dari 1/banyak node.
Degree of tree : 3
Degree of C : 2
Height : 3
Parent of C : A
Children of A : B, C, D
Sibling of F : G
Ancestor of A : A, C
Descendant of C : F, G
Root : node paling atas
Edge : garis yang menghubungi parent dan child
Leaf : node yang tidak mempunyai anak
Sibling : node yang memiliki orang tua yang sama
Degree dari sebuah node : total dari sub tree sebuah node
Height/Depth : max degree dari node dalam tree
Jika ada garis yang menghubungkan p ke q, maka p adalah ancestor dari q dan q adalah descendant dari p.
Binary Tree
tree yang akarnya harus memiliki minimal 2 anak.
Anak sebelah kiri disebut left child dan yang sebelah kanan disebut right child
Node yang tidak memiliki child disebut leaf.
Perfect binary tree : binary tree yang setiap levelnya memiliki depth yang sama
Complete binary tree : binary tree yang setiap levelnya, kecuali kemungkinan yang terakhir, terpenuhi, dan semua node berada di sebelah kiri. Perfect binary tree adalah sebuah complete binary tree.
Skewed binary tree : binary tree yang masing-masing nodenya memiliki hanya 1 anak.
Balanced binary tree : binary tree yang jarak root ke leaf sama dengan jarak antara anak kanan dan kiri.
Representation of binary tree
Index dalam array menunjukan nomor node.
Index 0 adalah root node.
Index left child adalah 2p+1, dimana p adalah parent index.
Index right child adalah 2p+2.
Index parent adalah (p-1)/2.
Contoh pake linked list :
struct node {
int data ;
struct node *left;
struct node *right;
struct node *parent;
}; struct node *root = NULL;
Expression tree concept
prefix : *+ab/-cde
postfix : ab+cd-e/*
infix : (a+b)*((c-d)/e)
Kita dapat membuat expression tree dari prefix/postfix by recursive
Di prefix, harus print/process sebelum anak di proses.
Di postfix, harus print/process setelah anak di proses.
Stack
Koleksi data item yang hanya dapat diakses pada akhir bagian stack. Item terakhir yang dimasukkan ke stack adalah item yang paling pertama dikeluarkan. Itulah mengapa stack disebut Last In First Out (LIFO) data structure. Stack mempunyai 2 variable, TOP untuk menyimpan alamat elemen stack paling atas, MAX untuk menyimpan alamat elemen stack paling atas.
Jika TOP = NULL, maka stack kosong.
Jika TOP = MAX – 1, maka stack penuh.
Dalam linked stack, setiap node mempunyai 2 bagian:
Infix, Postfix, and Prefix Notation
Prefix : Operator Operand Operand
Postfix : Operand Operand Operator
Infix : Operand Operator Operand
Prefix | Infix | Postfix |
* 4 10 | 4 * 10 | 4 10 * |
+ 5 * 3 4 | 5 + 3 * 4 | 5 3 4 * + |
+ 4 / * 6 – 5 2 3 | 4 + 6 * (5 – 2) / 3 | 4 6 5 2 – * 3 / + |
Depth First Search
Algoritma untuk melintas/mencari dalam tree/graph.
Queue
Sekumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung disebut dengan sisi belakang, dan penghapusan dilakukan lewat ujung lain. Queue memiliki kosnep elemen yang pertama kali masuk, lalu elemen yang pertama kali keluar.
Queue disebut juga sebagai First in First Out (FIFO).
Front adalah startnya pointer. Penambahan data baru dilakukan di rear, dan penghapusan dilakukan di front.
Jika Front = Rear = NULL, maka queue kosong.
Beberapa aplikasi yang menggunakan queue:
Breadth First Search
Seperti DFS, sebuah algoritma untuk melintas/mencari dalam tree/graph.
DFS menggunakan stack, namun BFS menggunakan queue.
Big Data
menggambarkan informasi strategi manajemen holistik yang mencakup dan mengintegrasikan banyak jenis baru dari data dan manajemen data bersama dengan data tradisional.
Peran – peran dalam Big Data :
Chief Data Officer ( CDO )
Chief Information Officer ( CIO )
Enterprise Architect
Data Scientist
Business Leader
Ada pun solusi Big Data dalam hal :
Business
Industry
Technology
Produk dari Big Data :
Big Data Management
Big Data Analytics
Big Data Integration
Big Data Applications
Big Data mempunyai istilah data scientist. IT, Math and Statistic akan terpakai di Big Data.
Machine Learning
adalah tipe dari AI yang menyediakan komputer dengan kemampuan untuk belajar tanpa eksplisit di program. Machine Learning fokus dalam pengembangan program komputer yang dapat berubah bila ada data baru.
Cloud
memiliki infrastruktur, istilah Data Center dan Disaster Recovery Center, yang seharga 800ribu – 1juta US$. Segment IT beda, pakai speedy dan bolt IT sudah beda, tunnel link dimana dengan Data Center dan Disaster Recovery Center paling dekat dengan Cloud. Potensi kehilangan data kecil sekali. Data konsistensi di Cloud, issue nomor 1 adalah security. Access internet less secure. Cth, Apple memiliki find my Iphone, yang disimpan di Cloud, security nya unreachable. Adanya issue data ingenue dibuka, Apple tidak mau karena jika satu data terbuka, maka infrastruktur akan terbuka. Cloud Service resources yang paling umum adalah Software as a Service ( SaaS ), Platform as a Service( PaaS ) dan Infrastructure as a Service ( IaaS ).
AI transmisi data di processing unit, LaTeX, disimpan ke data text, string.
Nano Tech
– field of study bio technology.
Specific Genetic algorithm
bisa digunakan untuk data-data yang sifatnya bisa di maintain dan akses dengan mudah. Ada unstructured data -> harus bisa define keseragaman data, siklus hidup data.
Arduino
adalah pengendali mikro single-board yang bersifat open source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang.
Raspberry Pi
adalah komputer papan tunggal yang memiliki ukuran sebesar kartu kredit. Bisa digunakan untuk berbagai keperluan, seperti spreadsheet, game, bahkan bisa digunakan sebagai media player karena kemampuannya dalam memutar video high definition.
Apakah AI di Indonesia terpakai?
Untuk hal-hal sederhana. Karena masih kurang resource. Maka digunakannya,
Augmented Reality -> pattern base <- white papernya baru, masih akan lebih lama.
Smart Building Services
Tahun lalu vendor-vendor dari manufacture Taiwan, sudah jualan service bentuk colokan stacker, ada colokan lagi untuk control projector sekitar 70$.
Business Intelligence
Untuk Economoic IT, utamanya dashboard, laporan grafik, bisa forecast. Tools membuat dashboard, SaaS, Tableau, encapsule datanya -> cube. Seperti kubus, data-data yang sudah dianalisa dan query untuk menghasilkan dashboard. Data di cube, bentuk tera, jika masih giga, tidak perlu cube. Untuk Business Intelligence yang bagus, cube harus sebagus mungkin dan harus real time.
SAP
Hana, mengambil dari memory. Flash Drive -> memory ( lebih cepat ).
Michele Malvina 1901489185
Array
Cara menyimpan nilai array :
Operations in array :
Pointer
Tipe data yang nilainya mengacu nilai lain yang disimpan tempat lain dalam memori komputer menggunakan alamatnya.
Operator pointer:
Data Structure
Pengaturan data, baik dalam memori komputer atau pada penyimpanan disk
Contoh – contoh data structures :
Linked Lists :
Struktur data yang terdiri dari urutan record data dimana setiap record memiliki field yang menyimpan alamat/referensi dari record selanjutnya.
Elemennya disebut sebagai node.
Queues :
Antrian. Untuk elemen yang pertama masuk akan pertama keluar. FIFO ( First In First Out ).
Stacks :
Linear array. LIFO ( Last In First Out ) / FILO ( First In Last Out ).
Binary Trees :
Kumpulan elemen nya disebut sebagai node.
Node nya memiliki pointer kiri, pointer kanan, dan data elemen.
Hash Tables :
Transformasi aritmatik sebuah string dari karakter menjadi nilai yang merepresentasikan string aslinya.
Structure
Tipe data yang didefinisikan pengguna yang dapat menyimpan informasi yang berkaitan meskipun jenis data berbeda.
cth:
struct data {
int age;
char name[100];
float score; };
Memory Allocation : Dynamic
Jika perlu mengalokasikan memori dinamis (dalam runtime), dapat menggunakan malloc di C / C ++.
Untuk mengalokasikan dapat menggunakan free.
Linked List
Struktur data yang terdiri dari urutan record data dimana setiap record memiliki field yang menyimpan alamat/referensi dari record selanjutnya.
Single Linked List
Sebuah linked list yang menggunakan sebuah variabel pointer saja untuk menyimpan banyak data dengan metode linked list, suatu daftar isi yang saling berhubungan.
Cara membuat linked list :
Hello! I’m Michele Malvina from Binus University Alam Sutera, Student Of Computer Science (SOCS). This is my very first post, and here I’m going to tell you about what happened during FEP, HTTP and how I feel about it.
Freshmen Enrichment Program is a series of orientation activities aimed at helping new Binusian in adapting to the system, regulations, and how to learn in the world of university.
FEP is divided into 3 parts, which are General Orientation, Academic Orientation and Campus Life Orientation.
There are several batches during General Orientation (GO), and I’m from the first batch (AAS08). During GO, there are some Buddy Coordinators (BC) that are willing to help us to know more about Binus University’s environment, the regulations and registration, the organization skills, etc.
There are Organization Skills in Binus University such as Himpunan Mahasiswa Jurusan (HMJ) , Unit Kegiatan Mahasiswa (UKM) and Komunitas.
HMJ (Student Association) is an organization that was formed based on common disciplines, contained in a study program within the scope of a particular faculty. Ex : HIMTI, HIMMAT, HIMDKV, HIMDI, etc.
UKM is a student organization that was formed to develop their interests, talents and specific expertise for the members in it. Ex : Keluarga Mahasiswa ( keagamaan ), BNNC, Binus English Club, BNAC, BVoice, Stamanara, etc.
Community such as BinusTV, TFI, CSC, BSSC, etc.
I, myself has already registred to join KMBD ( Keluarga Mahasiswa Buddhis Dhammavaddhana ) and HIMTI ( Himpunan Mahasiswa Teknik Informatika ).
The second orientation, which is Academic Orientation (AO) was held two weeks before uni starts. In AO, we were taught about our own curriculum of department, study skills, basic materials like algorithm & programming, to know and get closer with our lecturers and academic supervisors, etc.
Campus Life Orientation (CLO) is during our first semester. This is to help us adapt to the campus schedule and environment.
In my opinion, FEP really helps me adapt to my new environment, to know all about the regulations and registration, meeting new friends, and to learn the basic materials of Computer Science. I’d like to thank all the Buddy Coordinators, lecturers, academic supervisors, classmates and others for everything and makes FEP so fun and interesting and I’m very comfortable in it.
For those who aren’t Computer Science’s student, you probably are puzzled by what is HTTP and SHINE are.
HTTP is HIMTI Togetherness And Top Performance, which is a welcoming event only for Binusian SOCS 2019 that was specially organized by HIMTI.
HTTP 2015’s theme is SHINE that stands for Strengthening Harmony & Inspiring New Experiences.
This event cost a single person Rp 150.000, but it’s totally worth it. The event starts at 9.am and ends at around 6.pm. Joining the HTTP gives you some benefits such as Pengenalan Bahasa C ( PBC ), HIMTI exclusive pin, merchandise, HIMTI KIT 2015, lunch, E-certificate and transportation ( bus ) to where this event was held.
HTTP also presents special performance, band, dance, visualization, guest star, talk show, apps showcase, and many more. Sounds interesting right? For those that miss this event, you’ll surely regret it.
Thank you for reading my first post! I hope you like it. <3
Welcome to Binusian blog.
This is the first post of any blog.binusian.org member blog. Edit or delete it, then start blogging!
Happy Blogging 🙂