Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Collection & Threads.

Presentasi serupa


Presentasi berjudul: "Collection & Threads."— Transcript presentasi:

1 Collection & Threads

2 Target: Mhs mampu Memahami tentang interface Collection pada Java
Mhs Mengerti tentang pembuatan Vector, ArrayList dan LinkedList Mhs mampu Membuat dan mengelolah Thread Mhs mampu Memahami proses sinkronisasi data Mhs bisa Menggunakan method Wait dan Notify

3 Collection/Container

4 Pengantar Mrksebuah object sederhana yang menampung lebih dari satu elemen di dalam satu kesatuan. Fungsi: u/ menyimpan data u/ Mengambildata u/ memanipulasi data u/ mentransmisikan data dari satu method ke method lain merepresentasikan data item dari bentukspt : Poker (kumpulan dari kartu) direktori (kumpulan dari file atau folder) kotak surat (kumpulan dari surat-surat), dll

5 Set mrk collection yang tidak dipesan dan tidak ada penggandaan didalamnya.
List mrk collection yang dipesan dari elemen-elemen dimana juga diperbolehkannya penggandaan. HashSet, LinkedHashSet dan TreeSet mrk implementasi class dari Set interfaces. ArrayList, LinkedList dan Vector mrk implementasi class dari List interfaces.

6 Vektor Mrkimplementasi dari dinamis array Sintak
Vector();  konstruktor default yang menginialisasikan ukuran sebanyak 10 elemen Vector(int size);  menentukan jumlah elemen yang akan digunakan Vector(int size,int incr);  menentukan ukuran awal dan apabila ukurannya full maka akan ditambah lagi sebanyak incr

7 Method class vector

8 ArrayList Method Sintak ArrayList al=new ArrayList(); Method:
add(<object>) menambah data objek ke ArrayList add(<index>,<object>)  untuk menambahkan sebuah object dengan menentukan nomor index elemennya get(<index>)  untuk mengambil sebuah object berdasarkan nomor indexnya remove(<index>)  untuk menghapus elemen ArrayList berdasarkan nomor indexnya. isEmpty()  untuk memeriksa apakah object ArayList yang dibuat kosong atau tidak. clear()  Menghapus semua elemen yang ada di dalam object ArrayList.

9 LinkedList  Method SintakLinkedList ll=new LinkedList(); Method:
add(<object>) untuk menambahkan data object ke dalam LinkedList size() Mengambil jumlah elemen pada object LinkedList get(<index>)  Mengambil nilai elemen berdasarkan nomor index yang ada pada object LinkedList addFirst() Menambahkan object pada elemen awal addLast() Menambahkan object pada elemen akhir getFirst() Mengambil nilai elemen pertama getLast()  Mengambil nilai elemen terakhir clear()  Menghapus semua nilai elemen pada object LinkedList remove()  Method remove tanpa parameter akan menghapus elemen pertama remove(<index>)  Parameter akan menunjukan elemen mana yang akan dihapus

10 Thread

11 Pengantar Mrkpengontrol aliran proses program untuk berjalan bersama”
c/ pd SO pada saat kita mengetik sebuah dokumen di text editor, dalam waktu yang bersamaan Anda juga dapat mendengarkan musik, dan surfing lewat internetSO berjalan scr multitaskting c/ Threadsmengeksekusi beberapa proses secara bersama-sama c/ aplikasi HotJava browser yang memperbolehkan Anda untuk browsing terhadap suatu page, bersamaan dengan mendownload object yang lain, misalnya gambar, memainkan animasi, dan juga file audio pada saat yang bersamaan

12 Pengantar

13 State/Kondisi dari Thread
Running thread yang sedang dieksekusi dan didalam control dari CPU Ready to run Thread yang siap dieksekusi, tetapi masih menunggu giliran Resumed Setelah di block atau diberhentikan sementara, state ini siap untuk dijalankan Suspended thread berhenti sementaramengijinkan CPU untuk menjalankan thread lain bekerja Blocked thread yang tidak mampu berjalan, karena ia menunggu sebuah resource tersedia or sebuah event terjadi.

14 Prioritas setiap thread akan diberikan sebuah prioritas
Untuk menentukan thread mana yang akan menerima control dari CPUu/ dieksekusi pertama kali d/ nilai prioritas integer 1-10 semakin tinggi prioritas dari sebuah thread semakin besar kesempatan dari thread untuk dieksekusi dahulu

15 Prioritas c/: skenariocontext switch.
dua buah thread berjalan bersama-sama Thread 1diberi prioritas 5 Thread 2diberi prioritas 10 Anggaplah bahwa thread 1 telah berjalan pada saat thread 2 dijalankan Thread 2 akan menerima control dari CPU dan akan dieksekusi pada saat thread 2 memiliki prioritas > dibanding thread 1yang pada saat itu tengah berjalan

16 Class Thread1. Constructor

17 Class Thread2.Constants
U/ Menentukan nilai prioritas

18 Class Thread3.Methods

19 Next Aplikasi CountDownGui.java

20 Membuat Thread Sendiri
d/ menurunkan extend class Thread Next Aplikasip2d/ output berbeda” d/ mengimplementasikan interface Runnable d/ method run method utama dari thread y/ akan kita buat Next apliasip3

21 Method Join pd Thread method yang dipanggil tanpa argumen menyebabkan thread yang sedang bekerja saat ini menungggu s/d thread yang memanggil method ini selesai dieksekusi Next aplikasip4

22 Rangkuman: Aplikasi thread berjalan bersama” tetapi tidak bergantung satu dengan yang lainnya Thread tersebutmrk thread yang berjalan sendiri tanpa memperhatikan status dan aktifitas dari thread lain yang sedang berjalan setiap thread tidak membutuhkan resource or method dari luar sehingga ia tidak membutuhkan komunikasi dengan thread lain

23 Sinkronisasi bagaimanapun sebuah thread yang berjalan bersama”, kadang” membutuhkan resource or method dari luar Mk butuh komunikasi satu dengan yang lain sehingga dapat mengetahui status dan aktifitas mereka c/ studi kasusprodusen-konsumen Butuh dua object utamaprodusen & konsumen Kewajiban produsenuntuk membangkitkan nilai atau stream data yang diinginkan oleh konsumen

24 Next Aplikasi P5 1. c/ yang tidak disinkronisasi
Program ini diharapkan dapat mencetak dua argument object Runnable secaraberurutan Permasalahannyapendeklarasian method sleep akan menyebabkan thread yang lain akan dieksekusi walaupun thread yang pertama belum selesai dijalankan pada saat eksekusi method print dari class TwoStrings Contoh ini Bukan permasalahan yang seriusAkan tetapi pada aplikasi yang lain akan timbul exception

25 Next Aplikasi p6, p7 Mengunci Object
FungsiUntuk memastikan bahwa hanya satu thread yang mendapatkan hak akses kedalam method tertentu 7an object dari method tersebut hanya dapat dipanggil oleh 1 thread pada 1 waktu Sintaks synchronized (<object>) { //statements yang akan disinkronisasikan }

26 Komunikasi Antar thread(InterThread)

27 c/ Skenario:Pelayan-Pelanggan
Next aplikasip5-p7p8,p9


Download ppt "Collection & Threads."

Presentasi serupa


Iklan oleh Google