Rabu, 21 Mei 2014

Today's Algorithm

Algoritma hari ini walaupun hanya sedikit penyampaian materi dari Ko Sky, tetapi banyak sekali materi yang didapatkan dari presentasi hari ini.
Hari ini Kelompok 5 dan Kelompok 6 melakukan presentasi.
Kelompokku yang terdiri dari Yuki, Ridho, Aditya dan David melakukan presentasi mengenai materi ArrayList dan Vector. Berikut materi presentasi kelompok kami.

ArrayList
ArrayList adalah Array yang ukurannya dapat berubah secara dinamis atau dengan kata lain dapat berubah sesuai dengan jumlah data yang dimasukkan.

Fungsi dalam ArrayList :
1. add(element) : menambahkan element.
2. clear() : menghapus semua element.
3. clone() : mengcopy seluruh isi dari index.
4. contains(element) : memeriksa apakah element tersedia atau tida. Hasilnya berupa True atau False.
5. get(index) : melihat element dari index tertentu.
6. isEmpty() : memeriksa isi dari index.
7. remove(index) : menghapus salah satu element dari index tertentu.
8. size() : menampilkan total atau jumlah element.
9. set(index,element) : menukar isi dari index tertentu dengan element tertentu.

Vector
Vector adalah sebuah interface yang digunakan untuk pengolahan data yang bersifat seperti array dinamis yaitu dapat berubah sesuai dengan jumlah data yang dimasukkan.
"Setiap metode dalam Vector diberi keyword synchronized"

Fungsi dalam Vector :
1. addElement(element) : menambahkan element.
2. capacity() : memeriksa jumlah kapasitas yang tersedia.
3. clone() : mengcopy seluruh isi dari index.
4. contains(element) : memeriksa apakah element tersedia atau tidak. Hasilnya berupa True atau False.
5. copyinto(elemment[]) : mengcopy component dari vector ke dalam array tertentu.
6. elementAt(index) : melihat element dari index tertentu.
7. insertElementAt(element,index) : menambahkan element ke index tertentu.
8. isEmpty() : memeriksa isi dari index apakah kosong atau tidak. Hasilnya berupa True atau False.
9. remove(index) : menghapus salah satu index.
10. size() : jumlah atau total dari element.
11. set(index,element) : mengganti isi dari index tertentu dengan element tertentu.

ArrayList vs. Vector
1. Nama metode dari keduanya berbeda untuk melakukan tugas yang sama.
2. ArrayList tidak Thread Safe sedangkan vector sudah Thread Safe.
3. Di dalam Vector semua metod diberi keyword synchronized sedangkan dalam ArrayList tidak ada seperti itu.
4. Dalam ArrayList eksekusinya mengalami kemacetan, sedangkan untuk vector eksekusinya tidak mengalami kemacetan.

Synchronized
berfungsi agar hanya satu thread saja pada satu waktu yang mengakses method.
"Satu proses yang sedang berjalan tidak bisa diganggu proses lain."

Kelebihan synchronized : menjalankan metode yang ada pada ArrayList lebih singkat dibandingkan Vector.

Thread Safe
Thread adalah unit coding yang bisa berjalan disaat yang bersamaan.
Dalam ArrayList tidak ada keyword synchronized sehingga ketika dieksekusi dalam thread, maka dapat mengakibatkan unsafe thread yang berarti dapat terjadi tubrukan thread ketika mencoba memanggil ArrayList.

Penggunaan ArrayList dan Vector
- Saat kita membutuhkan list yang diakses oleh banyak thread, gunakan vector. Namun jika hanya diakses oleh satu thread, gunakan ArrayList.
- Jangan gunakan vector ketika hanya untuk satu thread, karena kelas yang thread-safe itu sangat lambat dibandingkan dengan yang tidak thread-safe.
"Jika tidak menggunakan thread-safe maka disarankan untuk menggunakan ArrayList karena lebih singkat dibandingkan Vector"

OOP(Object Oriented Programming)
adalah teknik untuk membuat objek oriented program.

Terdiri dari :
1. Attribute/property/properties
2. Method/fungsi/behaviour

Penggabungan dari Attribute dan Method disebut Class. Class huruf depannya harus huruf besar. 
Contoh : Nama Class adalah Motor.
Maka Attribute : ban, spion, lampu, jok.
Dan Method : rem, jalan, dll.

Method : 
1. Encapsulation
2. Inheritance
3. Polymorphism

Encapsulation 
adalah proses membungkus attribut atau method yang berfungsi untuk menyembunyikan data agar tidak terlihat.

Inheritance
adalah penurunan sifat dimana memungkinkan untuk tidak perlu menulis lagi dari superlcass tetapi bisa dipakai dari subclass.
Menggunakan keyword extends.
nama subclass_extends_nama superclass

Polymorphism
adalah hampir sama dengan inheritance karena juga menurunkan sifat tetapi menggantikan(replace).
Fungsinya override (ditumpuk).

*Ko Sky mengajarkan cara gampang mengerti tentang super class dan sub class, yaitu super class adalah orangtua (contoh : ayah) dan sub class adalah anak.

Sifat Data
Setiap attribut atau properti memiliki sifat data, yaitu
1. Public : bisa diakses dari luar kelas atau kelas lain(semua).
2. Private : hanya bisa diakses dari kelas tertentu.
3. Protected : bisa diakses oleh kelas itu sendiri dan subclass nya.

Fungsi Setter dan Getter
Setter : untuk mengambil nilai
Getter : untuk menginput nilai


Nama   : Yuki Tjan
NIM    : 1701308561
Kelas   : 32PAA
Bina Nusantara University

Tidak ada komentar:

Posting Komentar