Thread. 16 th week Estu Sinduningrum ST,MT
|
|
- Yuliana Dharmawijaya
- 7 tahun lalu
- Tontonan:
Transkripsi
1 Thread 16 th week Estu Sinduningrum ST,MT
2 Multitasking dan Multithreading
3 Multitasking Multitasking adalah suatu istilah yang menjelaskan bahwa sebuah komputer dapat menjalankan bebeiapa aktiviias (yang sama maupun berbeda) secara simultan/bersamaan. Multitasking itu sendiri dibedakan menjadi dua macam, yaitu sebagai berikut: Process-based multitasking. Thread-based multitasking Estu Sinduningrum, ST, MT
4 Estu Sinduningrum, ST, MT Multitasking Istilah process-based multitasking digunakan untuk menyatakan aktivitas-aktivitas yang dikerjakan secara bersama-sama dan aktivitas tersebut berbasis pada sebuah proses (dalam hal ini, program atau aplikasi). Ini artinya, pada saat yang bersamaan, kita dapat menjalankan lebih dari satu program atau aplikasi dalam satu komputer. Sebagai contoh, ketika kita sedang menjalankan sebuah aplikasi pengolah kala (word processor), kita juga dapat menjalankan aplikasi lainnya, misalnya: aplikasi yang digunakan untuk memainkan: musik/lagu.
5 Estu Sinduningrum, ST, MT thread-based multitasking Adapun istilah thread-based multitasking digunakan untuk aktivitas-aktivitas yang berbasis pada thread. Hal ini berararti dalam satu program atau aplikasi tertentu, kita dapat menjalankan lebih dari satu thread secara bersamaan. Sebagai contoh, asumsikan kita sedang menggunakan aplikasi word processor. Pada saat yang bersamaan kita dapat melakukan formatting teks dan sekaligus melakukan proses pencetakan dokumen. Hal ini, bisa terjadi karena pekerjaan/ormatting teks dan proses pencetakan disimpan di dalam thread yang terpisah.
6 Estu Sinduningrum, ST, MT thread-based multitasking Process-based multitasking membutuhkan ruang memori yang berbeda untuk mengeksekusi setiap aktivitas (dalam hal ini). proses yang ada. Setiap program atau aplikasi akan berjalan secara independen satu sama lain. Data dan elemen-elemen program lainnya pun akan tersimpan pada masing-masing stack yang terpisah untuk setiap program.
7 Estu Sinduningrum, ST, MT thread-based multitasking Adapun pada thread-based multitasking, satu ruang memori digunakan secara bersama-sama oleh setiap thread yang ada. Gambar di bawah ini akan mengilustrasikan konsep thread-based multitasking di dalam Java.
8 Estu Sinduningrum, ST, MT Catatan bagi Anda: dalam referensi lain ada juga yang menyebutkan bahwa istilah multita.sking hanya digunakan untuk menyatakan process-based multitasking, sedangkan thread-based multitasking dinyatakan dalam istilah lain, yaitu multithreading.
9 Estu Sinduningrum, ST, MT Apa ltu Thread? Thread adalah suatu bagian program (berupa runtunan kode) yang tidak tergantung pada bagian lain dan dapat dijalankan secara simultan. Ini artinya, suatu threod dapat diistirahatkan (paused) tanpa harus menghentikan bagian lain atau keseluruhan program. Hal ini disebabkan setiap thread mendefinisikan sebuah lokasi eksekusi yang berbeda. Sebuah program yang ditulis dengan menggunakan Java dapat memiliki lebih dari satu thread. Dan, seperti yang telah disinggung sebelumnya, pada saat runtime, semua threadyang ada di dalam program akan menempati ruang memori yang sama sehingga thread-thread tersebut dapat berbagi data dan kode satu sama lain.
10 Estu Sinduningrum, ST, MT Apa ltu Thread? Meskipun thread utama (main thread) dibuat secara otomatis pada saat program dijalankan, akan tetapi kita dapat mengontrolnya melalui objek dari kelas thread. Adapun thread-thread lain yang ada biasanya disebut dengan thread anak (child thread). Untuk melakukan hal ini, kita harus memanggil method currentthread() yang didefinisikan pada kelas Thread. Adapun bentuk umum deklarasinya sebagai berikut:
11 Latihan 99
12 class DemoThreadUtama { public static void main(string[] args) throws InterruptedException { // mendapatkan thread yang sedang aktif Thread tutama = Thread.currentThread(); // menampilkan informasi tentang thread System.out.print("Informasi awal: "); System.out.println(tUtama.toString()); // mengganti nama thread tutama.setname("thread utama"); // menampilkan kembali informasi tentang thread System.out.print("Informasi setelah diubah namanya: "); System.out.println(tUtama.toString()); for (int i=0; i<5; i++) { System.out.println("Detik ke-" + (i+1)); Thread.sleep(1000); // membuat delay selama 1 detik Estu Sinduningrum, ST, MT } } }
13 Estu Sinduningrum, ST, MT Java mendefinisikan dua cara untuk membuat sebuah thread, yaitu: Dengan membuat kelas baru yang mengimplementasikan interface Runnable atau dengan membuat kelas baru yang merupakan turunan dari kelas Thread. Baik kelas Thread maupun interface Runnable, keduanya tersimpan dalam paket java. Tang. Membuat dan Menjalankan Thread Kita tahu bahwa paket java.lang secara otomatis akan diimpor ke dalam setiap program Java yang kita tulis sehingga kelas dan interface tersebut akan langsung dikenali oleh program
14 Estu Sinduningrum, ST, MT Interfoce Runnable mendefinisikan sebuah method, yaitu run() ; yang harus diimplementasi oleh kelas-kelas yang mengimplementasikan interface tersebut. Method run() digunakan untuk mengisi kode yang akan dilakukan pada saatthread dijalankan. Thread akan dihentikan pada saat program selesai mengeksekusi method run (). Berikut ini deklarasi interface Runnable. public interface Runnable { public void run(); } Cara I: Mengimplementasikan Interface Runnable
15 Estu Sinduningrum, ST, MT Cara I: Mengimplementasikan Interface Runnable Di dalam method run() inilah kita mengisikan kode untuk proses yang akan dijalankan oleh thread bersangkutan. Sama seperti method Lain, dalam method run g kita juga untuk memanggil method lain, mendeklarasikan kelas lain maupun variabel-variabel yang bersifat lokal. Setelah kita membuat kelas yang mengimplementasikan interface Runnable dan membuat objek atau instance dari kelas tersebut, maka objek itu sudah daftar digunakan untuk membentuk thread. Caranya adalah dengan melewatkannya ke dalam constructor kelas thread, yang memiliki bentuk umum seperti berikut: Thread (Runnable objthread) Thread(Runnable objthread, String namathread)
16 Estu Sinduningrum, ST, MT Cara I: Mengimplementasikan Interface Runnable objthread. adalah objek dari kelas yang mengimplementasikan interface Runnable. Dengan kata lain, objthread adalah objek pemilik method run () ; yang kodenya akan dieksekusi pada saat thread dijalankan. Apabila kita ingin memberi nama default untuk thread yang akan dibuat, maka kita juga dapat menyertakan nama ke dalam parameter namathread. Nama yang ditentukan pada saat pembuatan thread ini dapat kita ubah dengan menggunakan method setname () maupun dipanggil namanya dengan menggunakan method getname().
17 Estu Sinduningrum, ST, MT Cara I: Mengimplementasikan Interface Runnable Objek thread yang terbuat tidak secara otomatis dijalankan. Agar thread tersebut dijalankan, kita harus memanggil method start() ( dari objek thread tersebut. Sebenarnya, method start() secara otomatis akan memanggil run() yang terdapat pada kelas yang mengimplementasikan interface Runnable. Dengan demikian, kita tidak pernah memanggil method run() secara langsung. Adapun bentuk umum deklarasi dari method start() yang didefinisikan pada kelas thread sebagai berikut: void start()
18 Latihan 100
19 class MyRunnable implements Runnable { // mengimplementasikan method run() yang dideklarasikan // di dalam interface Runnable public void run() { System.out.println("Thread anak dieksekusi"); } } class DemoImplementRunnable1 { public static void main(string[] args) { // (LANGKAH KE-1) // membuat objek Runnable MyRunnable obj = new MyRunnable(); // (LANGKAH KE-2) // membuat objek Thread dengan melewatkan objek Runnable Thread t = new Thread(obj); // (LANGKAH KE-3) // menjalankan thread t.start(); System.out.println("Thread utama dieksekusi"); Estu Sinduningrum, ST, MT } }
20 Pada latihan 100, mula-mula kita membuat objek dari kelas MyRunnable, yaitu kelas yang telah mengimplementasikan interface Runnable. Selanjutnya, objek dari kelas tersebut digunakan untuk membentuk sebuah thread baru dengan cara melewatkannya ke dalam constructor kelas threaa, setelah thread terbentuk, kemudian kita menjalankan thread tersebut. Ini artinya, kita perlu menuliskan tiga buah langkah untuk membentuk sebuah threai baru dan untuk menjalankannya. Bentuk ini sebenarnya dapat disingkat dengan membungkus ketiga buah langkah tersebut ke dalam constructor kelas MyRunnable. Dengan demikian, pada saat kita membuat objek dari kelas MyRunnable, maka secara otomatis thread juga telah terbuat dan akan langsung dijalankan Estu Sinduningrum, ST, MT
21 Latihan 101
22 class MyRunnable implements Runnable { private Thread t; // constructor kelas MyRunnable MyRunnable() { t = new Thread(this); // melewatkan objek MyRunnable t.start(); // menjalankan thread } public void run() { System.out.println("Thread baru dieksekusi"); } } class DemoImplementRunnable2 { public static void main(string[] args) { // HANYA SATU LANGKAH MyRunnable obj = new MyRunnable(); System.out.println("Thread utama dieksekusi"); Estu Sinduningrum, ST, MT } }
23 Cara ll: Menurunkan Kelas Thread Cara lain yang dapat digunakan untuk membuat thread di dalam Java adalah dengan membuat kelas baru yang merupakan turunan dari kelas thread. Selanjutnya, kita harus membuat objek atau instance dari kelas baru tersebut. Sama seperti yang terdapat pada cara sebelumnya, disini, objek thread juga dijalankan melalui pemanggilan method start(). Maka dari itu, kelas baru yang mempakan turunan dari kelas thread harus melakukan ouerride terhadap method run() yang didefinisikan pada kelas thread. Estu Sinduningrum, ST, MT
24 Cara ll: Menurunkan Kelas Thread Apabila dikaji secara lebih mendalam, sebenarnya kelas thread itu sendiri juga merupakan suatu kelas yang mengimplementasikan interface Runnable, sehingga kelas tersebut memiliki method run(). Namun, di dalam kelas thread, method run() yang didefinisikan tidak memiliki kode implementasi (tidak melakukan apa-apa). Dengan demikian, kelas turunan dari kelas thread yang harus mengimplementasikan method tersebut. Berikut ini contoh program yang akan menunjukkan bagaimana cara membentuk sebuah thread dengan membuat kelas turunan dari kelas rhread. Estu Sinduningrum, ST, MT
25 Latihan 102
26 // membuat kelas turunan dari kelas Thread class MyThread extends Thread { // melakukan override terhadap method run() public void run() { System.out.println("Thread baru dieksekusi"); } } class DemoExtendsThread { public static void main(string[] args) { MyThread t = new MyThread(); t.start(); System.out.println("Thread utama dieksekusi"); } } Estu Sinduningrum, ST, MT
27 Estu Sinduningrum, ST, MT Cara Mana yang Lebih Direkomendasikan? Dari kedua cara yang telah kita pelajari di atas, mungkin Anda bingung dan bertanya: "Cara mana yang lebih direkomendasikan untuk membuat sebuah thread di dalam Java?". Jawabnya sebenarnya terserah kepada Anda sendiri. Namun, pada kenyataan di lapangan, kebanyakan programmer Java menggunakan cara yang pertama (Cara I), yaitu dengan mengimplementasikan interface Runnable. Berikut ini alasannya:
28 Estu Sinduningrum, ST, MT Cara Mana yang Lebih Direkomendasikan? Kelas baru yang diperankan sebagai thread mungkin hanya perlu bersifat runnable (hanya dapat dijalankan secara simultan), tidak membutuhkan semua method turunan dari kelas Thread. Oleh karena itu, apabila kita memilih Cara II, maka hal ini akan menjadi sesuatu yang berlebihan atau boros. Apabila ditinjau dari sisi desain, kelas baru yang diturunkan dari kelas Thread mungkin tidak dapat diturunkan lagi menjadi kelas turunan (subclass) lainnya. Hal ini disebabkan karena kelas tersebut sudah "terpatok" pada sifat-sifat dari kelas Thread.
29 Menghentikan Thread Thread yang telah dijalankan secara otomatis akan dihentikan ketika semua proses (dalam hal ini kode yang terdapat dalam method run() telah selesai dieksekusi. Meskipun demikian, kita diizinkan untuk menghentikan thread secara manual. Kelas thread sebenarnya mendefinisikan method stop() untuk mengatasi keperluan ini. Namun, method ini sudah bersifat deprecated (tidak direkomendasikan lagi untuk digunakan). Estu Sinduningrum, ST, MT
30 Menghentikan Thread Sebagai gantinya, gunakan variabel bertipe boolean untuk mengontrol pengulangan yang terdapat di dalam method run(). Berikut ini contoh program yang akan menunjukkan hal tersebut. Estu Sinduningrum, ST, MT
31 Latihan 103
32 class MyThread extends Thread { // mendeklarasikan variabel boolean untuk mengontrol pengulangan private boolean selesai = false; public void run() { int counter = 0; System.out.println("Thread anak dijalankan"); while (!selesai) { System.out.print((++counter) + " "); } System.out.println("Thread anak selesai"); } public void stopthread() { selesai = true; } } class DemoStopThread { public static void main(string[] args) throws InterruptedException { System.out.println("Thread utama dijalankan"); MyThread t = new MyThread(); // menjalankan thread anak t.start(); // mengistirahatkan thread utama selama 1/40 detik Thread.sleep(25); // menghentikan thread anak t.stopthread(); // JANGAN GUNAKAN: t.stop(); Estu Sinduningrum, ST, MT System.out.println("\nThread utama selesai"); } }
33 Multiple Thread Sejauh ini, jumlah thread maksimal yang kita gunakan dalam program hanya dua, yaitu yang terdiri dari satu thread utama dan satu thread anak. Namun, sesuai dengan namanya multithreaded programming, kita diizinkan untuk memiliki lebih dari dua thread anak yang dapat dijalankan secara simultan dalam satu program yang kita buat. Bagian ini akan menunjukkan cara pembuatan beberapa buah thread anak dan cara menjalankan thread-thread tersebut. Estu Sinduningrum, ST, MT
34 Latihan 104
35 class MyThread1 extends Thread { public void run() { try { for (int i=0; i<10; i++) { System.out.println("Thread pertama: detik ke-" + (i+1)); if (i!= 9) { sleep(1000); } else { System.out.println("Thread pertama selesai...\n"); } } } catch (InterruptedException ie) { System.out.println(ie.getMessage()); } } } class MyThread2 extends Thread { public void run() { try { for (int i=0; i<5; i++) { System.out.println("Thread kedua: detik ke- Estu Sinduningrum, ST, MT " + (i+1)); if (i!= 4) { System.out.println(); sleep(1000); } else { System.out.println("Thread kedua selesai...\n"); } } } catch (InterruptedException ie) { System.out.println(ie.getMessage()); } } } class DemoMultipleThread { public static void main(string[] args) { MyThread1 t1 = new MyThread1(); t1.start(); MyThread2 t2 = new MyThread2(); t2.start(); } }
36 Mengenal Method is Alive() dan join() Menghentikan Thread, kita telah melihat bahwa thread utama dihentikan sebelum thread anak selesai dieksekusi. Terkadang, pada kasus-kasus pemrograman tertentu, kita ingin menjadikan thread utama sebagai thread yang terakhir dihentikan. Untuk melakukan hal tersebut, kita perlu memanggil method join() pada semua thread anak. Estu Sinduningrum, ST, MT
37 Mengenal Method is Alive() dan join() Apabila kita ingin mengetahui apakah suatu thread masih dalam keadaan aktif atau tidak, kita dapat memanggil method isalive(). Baik method join() maupun isalive(), keduanya didefinisikan di dalam kelas thread. Berikut ini bentuk umum deklarasi dari method isarive(). final boolean isalive() Estu Sinduningrum, ST, MT
38 Estu Sinduningrum, ST, MT Mengenal Method is Alive() dan join() Method ini dideklarasikan sebagai final, yang berarti tidak dapat dioverride oleh kelas-kelas turunan. Nilai yang dikembalikan berupa boolean. Apabila threed masih dalam keadaan aktif (masih berjalan) maka method ini mengembalikan nilai true; bila sebaliknya, maka nilai yang dikembalikan adalah false. Final void join() throws InterruptedException Method join() digunakan untuk menunggu sampai objek thread pemanggil benar-benar selesai dieksekusi.
39 Latihan 105
40 class MyThread implements Runnable { private Thread t; private int n; MyThread(String nama, int n) { t = new Thread(this, nama); this.n = n; } public void run() { try { for (int i=0; i<n; i++) { System.out.println("Thread " + t.getname() + ": detik ke-" + (i+1)); Thread.sleep(1000); } System.out.println("Thread " + t.getname() + " selesai..."); } catch (InterruptedException ie) { System.out.println(ie.getMessage()); } } public void start() { t.start(); } public Thread getthread() { return t; } } class DemoIsAliveJoin { public static void main(string[] args) throws InterruptedException { System.out.println("Thread utama dijalankan\n"); MyThread t1 = new MyThread("pertama", 2); MyThread t2 = new MyThread("kedua", 3); MyThread Estu Sinduningrum, t3 = new ST, MyThread("ketiga", MT 4); t1.start(); t2.start(); t3.start(); // pada saat thread t1, t2, dan t3 aktif System.out.println("t1.getThread().isAlive() : " + t1.getthread().isalive()); System.out.println("t2.getThread().isAlive() : " + t2.getthread().isalive()); System.out.println("t3.getThread().isAlive() : " + t3.getthread().isalive()); System.out.println(); // menunggu sampai thread t1, t2, dan t3 selesai dieksekusi t1.getthread().join(); t2.getthread().join(); t3.getthread().join(); // setelah thread t1, t2, dan t3 selesai System.out.println(); System.out.println("t1.getThread().isAlive() : " + t1.getthread().isalive()); System.out.println("t2.getThread().isAlive() : " + t2.getthread().isalive()); System.out.println("t3.getThread().isAlive() : " + t3.getthread().isalive()); System.out.println("\nThread utama selesai"); } }
41 Menentukan Prioritas Thread Prioritas thread digunakan oleh penjadwal thread (thread scheduler) untuk menentukan thread mana yang seharusnya dikerjakan terlebih dahulu. Secara teori, thread dengan prioritas lebih tinggi akan mendapatkan waktu CPU yang lebih apabila dibandingkan dengan thread yang memiliki prioritas lebih rendah. Namun, pada praktiknya, jumlah waktu CPU yang didapatkan oleh thread terkadang tergantung pula pada beberapa faktor lain, selain dari prioritasnya. Sebagai contoh, bagaimana sistem operasi mengimplementasikan proses multitasking juga akan mempengaruhi ketersediaan waktu CPU. Estu Sinduningrum, ST, MT
42 Menentukan Prioritas Thread Thread dengan prioritas lebih tinggi juga dapat mengesampingkan thread dengan prioritas lebih rendah. Sebagai contoh, apabila terdapat thread dengan prioritas rendah sedang berjalan dan kemudian thread dengan prioritas tinggi diresume atau dijalankan ulang (dari keadaan wait maupun sleep), maka thread dengan prioritas rendah tersebut akan dikesampingkan. Estu Sinduningrum, ST, MT
43 Menentukan Prioritas Thread Untuk menentukan prioritas suatu threcd, kita harus memanggil method setpriority ( ) yang didefinisikan pada kelas thread. Method tersebut memiliki bentuk umum seperti berikut: final void setpriority (int level) Dalam hal ini, level digunakan untuk menentukan prioritas thread, dan nilainya harus berada dalam rentang MIN_PRIORITY sampai MAX_PRIORITY yaitu dari 1 sampai 10. Prioritas default ditentukan dengan NORM_PRIORITY yang memiliki nilai 5. Estu Sinduningrum, ST, MT
44 Menentukan Prioritas Thread Kita dapat rnemperoleh informasi tentang prioritas suatu thread dengan memanggil method setpriority(), yang juga didefinisikan pada kelas thread. Berikut ini bentuk umum dari method tersebut. final int getpriority () Estu Sinduningrum, ST, MT
45 Contoh Program Contoh program berikut ini akan mendemonstrasikan cara kerja dua buah thread yang memiliki prioritas berbeda. Prioritas dari thread pertama akan di-set dengan nilai dua di atas prioritas normal (Thread.NORM_PRIORITY), sedangkan prioritas thread kedua di-set dengan nilai dua di bawah prioritas normal. Masing-masing thread akan mengeksekusi sebuah pengulangan, dan keduanya akan dijalankan selama 5 detik serta dihentikan secara bersama-sama. Melalui cara ini, kita akan melihat bahwa thread dengan prioritas lebih tinggi akan menghasilkan jumlah pengulangan yang lebih banyak dibandingkan dengan jumlah pengulangan yang dihasilkan Estu Sinduningrum, ST, MT
46 Latihan 106
47 class MyThread implements Runnable { private Thread t; private long n; // jumlah pengulangan yang dihasilkan private boolean selesai = false; MyThread(String nama, int prioritas) { t = new Thread(this, nama); t.setpriority(prioritas); n = 0; } public void run() { while (!selesai) { n++; } } public void start() { t.start(); } public void stop() { selesai = true; } public long getn() { return n; } public Thread getthread() { return t; } Estu } Sinduningrum, ST, MT class DemoPrioritasThread { public static void main(string[] args) throws InterruptedException { MyThread t1 = new MyThread("prioritas-tinggi", Thread.NORM_PRIORITY + 2); MyThread t2 = new MyThread("prioritas-rendah", Thread.NORM_PRIORITY - 2); t1.start(); t2.start(); // mengistirahatkan thread utama selama 5 detik Thread.sleep(5000); t1.stop(); t2.stop(); t1.getthread().join(); t2.getthread().join(); System.out.println("Jumlah pengulangan pada " + t1.getthread().getname() + ": " + t1.getn()); System.out.println("Jumlah pengulangan pada " + t2.getthread().getname() + ": " + t2.getn()); } }
48 Estu Sinduningrum, ST, MT Sinkronisasi Thread-thread dalam sebuah program saling membagi ruang memori,ini artinya thread-threod tersebut juga dapat saling berbagi resource. Pada saat dua atau lebih thread perlu mengakses resource yang di share, maka dibutuhkan suatu cara untuk meyakinkan bahwa, resource tersebut hanya akan digunakan oleh satu buah thread pada satu waktu tertentu. Cara atau proses yang digunakan untuk mengatasi hal ini disebut dengan sinkronisasi.
49 Sinkronisasi Apabila method dari suatu objek hanya ingin dieksekusi oleh satu thread dalam suatu waktu tertentu, maka kita harus mendeklarasikan method tersebut dengan kata kunci synchronizea. Berikut ini contoh bentuk deklarasinya: public synchronized void test() { // kode yang akan dilakukan } Estu Sinduningrum, ST, MT
50 Latihan 107
51 class TestKelas { public synchronized void test(string s) { System.out.print("[" + s); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printstacktrace(); } System.out.println("]"); } } class MyThread implements Runnable { private TestKelas obj; private Thread t; private String msg; MyThread(TestKelas obj, String msg) { t = new Thread(this); this.obj = obj; this.msg = msg; t.start(); } Estu Sinduningrum, ST, MT public void run() { obj.test(msg); } } class DemoSinkronisasiMethod { public static void main(string[] args) throws InterruptedException { TestKelas tk = new TestKelas(); MyThread t1 = new MyThread(tk, "Contoh"); MyThread t2 = new MyThread(tk, "Sinkronisasi"); MyThread t3 = new MyThread(tk, "Method"); } }
52 BIok untuk Sinkronisasi Meskipun pembuatan method yang di-sinkronisasi (synchronized method) mudah diimplementasikan untuk melakukan proses sinkronisasi antar-thread, akan tetapi cara tersebut tidak selalu dapat diterapkan ke dalam setiap kasus. Sebagai contoh kasus, Anda ingin menggunakan kelas yang Anda download dari internet, sedangkan kode dari kelas tersebut tidak diberikan. Estu Sinduningrum, ST, MT
53 BIok untuk Sinkronisasi Bagaimana Anda dapat melakukan sinkronisasi terhadap suatu method yang terdapat pada kelas tersebut dari thread-thread yang kita buat? Untuk menambahkan kata kunci synchronized pada deklarasi method di dalam kelas tersebut, ini jelas tidak mungkin karena tidak ada kode program untuk kelas tersebut. Lantas, apa solusinya? Estu Sinduningrum, ST, MT
54 Estu Sinduningrum, ST, MT BIok untuk Sinkronisasi Lantas, apa solusinya? Untuk menjawab kasus semacam ini, Java telah menyediakan cara yang mungkin lebih bersifat fleksibel, yaitu dengan membuat sebuah blok sinkronisasi. Anda hanya perlu meletakkan method dari kelas tersebut di dalam blok sinkronisasi. Adapun bentuk umum dari pembuatan blok sinkronisasi sebagai berikut : synchronized(object) { / / statemen- statemen y ang akan di- sinkronisasi }
55 Latihan 108
56 class TestKelas { // di sini, method test() tidak di-sinkronisasi public void test(string s) { System.out.print("[" + s); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printstacktrace(); } System.out.println("]"); } } class MyThread implements Runnable { private TestKelas obj; private Thread t; private String msg; MyThread(TestKelas obj, String msg) { t = new Thread(this); this.obj = obj; this.msg = msg; Estu Sinduningrum, ST, MT t.start(); } public void run() { // membuat blok sinkronisasi synchronized(obj) { // di sini, method test() akan disinkronisasi obj.test(msg); } } } class DemoBlokSinkronisasi { public static void main(string[] args) throws InterruptedException { TestKelas tk = new TestKelas(); MyThread t1 = new MyThread(tk, "Contoh"); MyThread t2 = new MyThread(tk, "Sinkronisasi"); MyThread t3 = new MyThread(tk, "Method"); } }
57 TERIMA KASIH
Java Progamming Multithreading
Java Progamming Multithreading Disampaikan pada mata kuliah Object Oriented Programming Eddy Muntina Dharma,ST,MT Jurusan Teknik Informatika STT Telkom aguseddy@stttelkom.ac.id Konsep Dasar Multitasking
Lebih terperinciPERTEMUAN VII Multithreaded Programming. Praktikan mampu membuat program sederhana mengenai threading
PERTEMUAN VII Multithreaded Programming TUJUAN PRAKTIKUM Praktikan mampu membuat program sederhana mengenai threading 7.1 Pengertian Multithreading dan Thread Multithreading adalah suatu kemampuan yang
Lebih terperinciPemrograman Berorientasi Obyek (IT251) Ramos Somya, S.Kom., M.Cs.
Pemrograman Berorientasi Obyek (IT251) Ramos Somya, S.Kom., M.Cs. Thread adalah sebuah pengontrol aliran program dengan menggunakan kendali tunggal. Suatu proses dikontrol oleh paling sedikit satu thread.
Lebih terperinciBAB IX THREAD Thread ClassThread namavar = new ClassThread(); Namavar.start(); New ClassThread().start();
BAB IX THREAD Thread merupakan kemampuan yang disediakan oleh Java untuk membuat aplikasi yang tangguh, karena thread dalam program memiliki fungsi dan tugas tersendiri. Dengan adanya thread, dapat membuat
Lebih terperinciClass Thread juga menyediakan beberapa constants sebagai nilai prioritas. Tabel berikut ini adalah rangkuman dari class Thread.
Thread Programming di Java Thread merupakan kemampuan yang disediakan oleh Java untuk membuat aplikasi yang tangguh, karena thread dalam program memiliki fungsi dan tugas tersendiri. Dengan adanya thread,
Lebih terperinciException Handling and Multithreading
Pertemuan 7 Halaman 1/1 Pengertian Exception Suatu program apabila mengalami kesalahan akan menghasilkan suatu runtime errors seperti gagal membuka file, suatu program melakukan akses diatas range array
Lebih terperinciBAB 2. Class Thread. Setelah mempelajari modul ini peserta diharapkan dapat: Mengenal Kelas Thread Menggunakan Kelas Thread dalam aplikasi
2.1 Tujuan: BAB 2 Class Thread Setelah mempelajari modul ini peserta diharapkan dapat: Mengenal Kelas Thread Menggunakan Kelas Thread dalam aplikasi 2.2 Mengenal Kelas Thread Salah satu fitur yang tertanam
Lebih terperinciMENGENAL JAVA SEBAGAI PEMROGRAMAN BERORIENTASI OBJEK DAN IMPLEMENTASI THREAD DI LINGKUNGAN UNIX/ LINUX. Hary Cahyono
MENGENAL JAVA SEBAGAI PEMROGRAMAN BERORIENTASI OBJEK DAN IMPLEMENTASI THREAD DI LINGKUNGAN UNIX/ LINUX Hary Cahyono System Administrator, tifosilinux.wordpress.com Fakultas Manajemen, Universitas Persada
Lebih terperinciPEMROGRAMAN JAVA : THREAD
PEMROGRAMAN JAVA : THREAD Asep Herman Suyanto info@bambutechno.com http://www.bambutechno.com Thread merupakan kemampuan yang disediakan oleh Java untuk membuat aplikasi yang tangguh, karena thread dalam
Lebih terperinciBAB 2 COLLECTION & THREAD
BAB 2 COLLECTION & THREAD 2.1 Pendahuluan Didalam pembuatan game java sering kali kita mendefinisikan banyak object seperti gambar, dan grafik geometri yang begitu banyak, untuk itu dibutuhkan suatu manajemen
Lebih terperinciMengunci sebuah object: Untuk memastikan bahwa hanya satu thread yang mendapatkan hak akses kedalam method tertentu
Sinkronisasi Mengapa menggunakan sinkronisasi threads? Bagaimanapun juga sebuah thread yang berjalan bersama-sama kadang-kadang membutuhkan resource atau method dari luar Butuh untuk berkomunikasi satu
Lebih terperinciPada pembuatan game di java, sering kali para programer. mendefinisikan banyak object seperti suara, gambar, dan grafik geometri yang
BAB 2 COLLECTION & THREAD 2.1 Pendahuluan Pada pembuatan game di java, sering kali para programer mendefinisikan banyak object seperti suara, gambar, dan grafik geometri yang begitu banyak, untuk itu dibutuhkan
Lebih terperinciPERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM
PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM 1. Praktikan memahami perbedaan objek dan class pada Java. 2. Praktikan memahami konsep berorientasi objek. 3. Praktikan dapat membuat program sederhana dengan
Lebih terperinciPENANGANAN EKSEPSI. class Exc0 { public static void main (String args[]) { int d = 0; int a = 42 / d; } }
PENANGANAN EKSEPSI Eksepsi adalah keadaan tidak normal yang muncul pada suatu bagian program pada saat dijalankan. Penanganan eksepsi pada java membawa pengelolaan kesalahan program saat dijalankan kedalam
Lebih terperinciKelompok 12. Thread Java
Kelompok 12 Thread Java Anggota Kelompok Irene Ully Havsa (0606101515 / Kelas B) Mario Ray Mahardika (0606101686 / Kelas A) Salman Salsabila (0606031566 / Kelas B) Komentar umum Secara umum, bab 12 membahas
Lebih terperinciScore: Persentase: % ~ u ~ Generated by Foxit PDF Creator Foxit Software For evaluation only.
Score: 62.666669 Persentase: 78.33 % Generated by Foxit PDF Creator Foxit Software 1. Mengapa terjadi error pada potongan kode berikut ini : ~ u ~ Method setname(string a) tidak dideklarasikan oleh MIDP
Lebih terperinciPERTEMUAN 7 MULTITHREADED PROGRAMMING
Obyektif Praktikum : Mendefiniskan threads Mengerti perbedaan state dalam threads Mengerti konsep prioritas dalam threads PERTEMUAN 7 MULTITHREADED PROGRAMMING Mengetahui bagaimana menggunakan method didalam
Lebih terperinci1.Tujuan. 2. Latar Belakang
1.Tujuan Mendefiniskan threads Mengerti perbedaan state dalam threads Mengerti konsep prioritas dalam threads Mengetahui bagaimana menggunakan method didalam class Thread Membuat sendiri sebuah thread
Lebih terperinciNetwork Programming 2010 Pemrograman Multi-Thread
Network Programming 2010 Pemrograman Multi-Thread Husni husni@if.trunojoyo.ac.id Husni.trunojoyo.ac.id Komputasi.wordpress.com MultiThreading Menurut Free Online Dictionary of Computing (FOLDOC) Berbagi-pakai
Lebih terperinci2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.
Waktu Sisa : 2:14:53 1. Dari pilihan berikut ini, item manakah yang memiliki atribut dan behaviour? object class attribute data type method behavior 2. Pilih instruksi yang dapat digunakan dalam method
Lebih terperinciEXCEPTION HANDLING. 1. Mampu menangani eksepsi 2. Mengetahui dan memahami tentang multithreading 3. Dapat membuat program tentang exception handling
EXCEPTION HANDLING Obyektif : 1. Mampu menangani eksepsi 2. Mengetahui dan memahami tentang multithreading 3. Dapat membuat program tentang exception handling PENANGANAN EKSEPSI Eksepsi adalah keadaan
Lebih terperinci1. Latar Belakang Didalam pembuatan game java sering kali kita mendefinisikan banyak object seperti gambar, dan grafik geometri yang begitu banyak,
1. Latar Belakang Didalam pembuatan game java sering kali kita mendefinisikan banyak object seperti gambar, dan grafik geometri yang begitu banyak, untuk itu dibutuhkan suatu manajemen yang menangani hal
Lebih terperinciPERTEMUAN 3 OBJEK DAN CLASS
PERTEMUAN 3 OBJEK DAN CLASS Obyektif: Praktikan memahami perbedaan objek dan class pada Java. Praktikan memahami konsep berorientasi objek. Praktikan dapat membuat program sederhana dengan menggunakan
Lebih terperinciMembuat dan Menggunakan Class
Pertemuan 3 Halaman 1/1 Membuat class pada java : Untuk mendefinisikan suatu class pada java digunakan : class ClassName { suatu class dapat terdiri dari - attribute / data field - method Attribute Attribute
Lebih terperinciKonsep Lanjut Pemrograman Berorientasi Obyek
Pemrograman Berorientasi Obyek By : Sendi Novianto, S.Kom, M.T Email : to_sendi@yahoo.com Materi Diskusi 1. Konsep Pemrograman dan Paradigmanya Tingkat Bahasa Pemrograman, Paradigma Pemrograman, Tool Pemrograman
Lebih terperinciPEMROGRAMAN BERORIENTASI OBJEK COLLECTION DAN MULTITHREADING. ADAM MUKHARIL BACHTIAR TEKNIK INFORMATIKA UNIKOM
PEMROGRAMAN BERORIENTASI OBJEK COLLECTION DAN MULTITHREADING. ADAM MUKHARIL BACHTIAR TEKNIK INFORMATIKA UNIKOM Pemrograman Berorientasi Objek Collection dan Multithreading Adam Mukharil Bachtiar Teknik
Lebih terperinciPenjebakan Eksepsi. Nur hasanah, M.Cs
Penjebakan Eksepsi Nur hasanah, M.Cs Pendahuluan Dalam Java, runtime error (kesalahan-kesalahan yang terjadi pada saat program sedang berjalan) disebut eksepsi. Terdapat 5 buah kata kunci : try,catch,
Lebih terperinciPemrograman Berorientasi Objek Collection dan Multithreading. Adam Mukharil Bachtiar Teknik Informatika UNIKOM
Pemrograman Berorientasi Objek Collection dan Multithreading Adam Mukharil Bachtiar Teknik Informatika UNIKOM Generic Programming, Collection, dan Multithreading 1. Definisi dan konsep Collection 2. Iterator
Lebih terperinciPENYELEKSIAN /PERCABANGAN & PERULANGAN Part II. 5 th week Estu Sinduningrum ST,MT
PENYELEKSIAN /PERCABANGAN & PERULANGAN Part II 5 th week Estu Sinduningrum ST,MT Review last week Percabangan Pada java terdapat beberapa percabangan, yaitu : 1. if 2. if-else 3. switch 4. case Penyeleksian
Lebih terperinciBAB II VARIABEL DAN TIPE DATA
BAB II VARIABEL DAN TIPE DATA Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman dengan
Lebih terperinci2 TIPE DATA DAN VARIABEL
BAB 2 TIPE DATA DAN VARIABEL Kompetensi Dasar dan Indikator : Setelah mengikuti materi kuliah ini mahasiswa mampu menggunakan tipe data dan variable yang ada dalam Java, dengan indikator mahasiswa mampu:
Lebih terperinciAbstract Class dan Interface. Viska Mutiawani, M.Sc
Abstract Class dan Interface Viska Mutiawani, M.Sc Konsep Penting Abstract class Abstract method Interface Implements Final Static Exception Contoh Polimorfisme Lihat contoh program yang disediakan pada
Lebih terperinci1. Mampu mengimplementasikan thread dalam sebuah aplikasi 2. Memahami kegunaan thread dalam aplikasi
PRAKTIKUM 5 MULTITHREADING 1 A. TUJUAN PEMBELAJARAN 1. Mampu mengimplementasikan thread dalam sebuah aplikasi 2. Memahami kegunaan thread dalam aplikasi B. DASAR TEORI Saat ini komputer bukan hanya dituntut
Lebih terperinciE-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom
E-Book PEMROGRAMAN BERORIENTASI OBJEK Disusun Oleh: Arfian Hidayat, S.Kom http://arfianhidayat.com FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO SEMARANG 2013 Daftar Isi Daftar Isi... i Daftar Gambar...
Lebih terperinciSEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN
SEKOLAH TINGGI MANAJEMEN INFORMAA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN Mata Kuliah : KAPITA SELEKTA BAHASA PEMROGRAMAN Kode Mata Kuliah : MI - 15310 Jurusan / Jenjang : S1 SISTEM INFORMASI
Lebih terperinciPEMAHAMAN DASAR DASAR JAVA
MODUL 1 PEMAHAMAN DASAR DASAR JAVA A. PENGANTAR JAVA Java Standard Development Kit (JDK/SDK) merupakan alat-alat utama bagi programmer untuk membuat dan menjalankan java. Development Kit dapat didownload
Lebih terperinciPercabangan & Perulangan
Struktur Dasar Java Percabangan & Perulangan Object-oriented Programming (OOP) with JAVA 2011/2012 Macam-macam Percabangan if (...) if ( ) else ( ) if ( ) else if ( ) else ( ) switch ( ) Percabangan :
Lebih terperinciPEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA
PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA Asep Herman Suyanto info@bambutechno.com http://www.bambutechno.com Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai
Lebih terperinciINHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM
1 INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM INHERITANCE Pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang direferensi sebagai induk
Lebih terperinci1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?
1 of 14 2/21/2008 2:34 PM Waktu Sisa : 0:43:58 1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar? 2 of 14 2/21/2008 2:34 PM 2. Pernyataan manakah yang benar mengenai
Lebih terperinciElemen Dasar Dalam Bahasa Java
Elemen Dasar Dalam Bahasa Java 1. Kata Kunci Kata kunci adalah kata-kata yang didefenisikan oleh compiler dan memiliki arti dan tujuan spesifik. Java tidak mengizinkan kata-kata tersebut dipakai sebagai
Lebih terperinciBONUS. Dasar Java Mobile. Mengenal Java Mobile Mengenal MIDlet Mobile Grafis Mobile Animasi Latihan Soal
BONUS Dasar Java Mobile Mengenal Java Mobile Mengenal MIDlet Mobile Grafis Mobile Animasi Latihan Soal Mengenal Java Mobile Dasar Java Mobile Java Mobile (J2ME) atau singkatan dari Java 2 Mobile Edition
Lebih terperinciGambar 1: Hirarki class
BAB 11 Pewarisan, Polimorfisme, dan Interface 11.1 Tujuan Dalam bagian ini, kita akan membicarakan bagaimana suatu class dapat mewariskan sifat dari class yang sudah ada. Class ini dinamakan subclass dan
Lebih terperinciIKG2I4 / Software Project I
IKG2I4 / Software Project I Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi LECTURE NOTE WEEK 6 1 3/11/2015 WEEK 6 Abstract Class Interface Exception 2 3/11/2015 ABSTRACT
Lebih terperinciTipe if : If tanpa else (if) If dengan else (if-else) Nested if
Struktur kontrol keputusan pernyata-an dari Java yang mengijinkan user untuk memilih dan mengeksekusi blok kode spesifik dan mengabaikan blok kode yang lain. Tipe : If switch Tipe if : If tanpa else (if)
Lebih terperinciObyektif : KONTROL ALUR PROGRAM
KONTROL ALUR PROGRAM Obyektif : 1. Mengetahui dan memahami tentang percabangan (seleksi) 2. Mengetahui dan memahami tentang perulangan (iterasi) 3. Dapat membuat program tentang control alur program PERCABANGAN
Lebih terperinciBahasa Pemrograman :: Inheritance
Bahasa Pemrograman :: Inheritance Julio Adisantoso ILKOM IPB 17 Mei 2010 Class Person Class Student Class Person public class Person { private String name; private String address; private int age; //constructors
Lebih terperinciPRAKTIKUM 7 DASAR INPUT OUTPUT
PRAKTIKUM 7 DASAR INPUT OUTPUT A. TUJUAN 1. Memahami dasar-dasar input-ouput dalam pemrograman Java 2. Memahami prinsip kerja stream 3. Memahami penggunaan console dalam proses input-output B. DASAR TEORI
Lebih terperinciPewarisan Sifat Objek. Nur Hasanah, M.Cs
Pewarisan Sifat Objek Nur Hasanah, M.Cs Membuat Kelas Turunan (Subclass) Java menyediakan kata kunci extends yang digunakan untuk penurunan terhadap kelas. Dalam terminologi Java, kelas induk yang diturunkan
Lebih terperinciInheritance dan Kata Kunci static
Inheritance dan Kata Kunci static PEWARISAN (INHERITANCE) Salah satu fitur yang paling kuat dalam OOP adalah penggunaan kode kembali (code reuse). Sekali sebuah prosedur dibuat, maka kita bisa menggunakannya
Lebih terperinciIF PEMROGRAMAN LANJUT EXCEPTION. Oleh : Andri Heryandi, M.T.
IF34348 - PEMROGRAMAN LANJUT EXCEPTION 09 Oleh : Andri Heryandi, M.T. MATERI HARI INI Exception Penanganan Exception Penanganan Exception satu catch Penanganan Exception dengan banyak catch Pengaganan
Lebih terperinciIdentifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO Ramos Somya Identifier Merupakan nama yang digunakan untuk menamai class, variabel, method dan interface. Aturan: - Tidak ada batasan
Lebih terperinci1.Tujuan. 2. Latar Belakang. Mendefinisikan superclasses dan subclasses Override method dari superclasses Membuat method final dan class final
1.Tujuan Mendefinisikan superclasses dan subclasses Override method dari superclasses Membuat method final dan class final 2. Latar Belakang Dalam bagian ini, kita akan membicarakan bagaimana suatu class
Lebih terperinciPewarisan, Polimorfisme, dan Interface
Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena suatu sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan dari semua subclasses. Jadi, Anda
Lebih terperinciTUGAS SISTEM TERDISTRIBUSI MULTYTHREAD EKO SURIPTO P
TUGAS SISTEM TERDISTRIBUSI MULTYTHREAD EKO SURIPTO P. 33301 Konsep thread Sebuah proses adalah suatu program yang sedang dieksekusi. Proses lebih dari sebuah kode program tetapi juga mencakup program counter,
Lebih terperinciBAB 1 PEMROGRAMAN BERORIENTASI OBJEK
BAB 1 PEMROGRAMAN BERORIENTASI OBJEK Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan
Lebih terperinci3/31/2011. Tujuan. Inheritance, Polymorphism,& Interfaces. Inheritance / pewarisan. Inheritance / pewarisan. Inheritance / pewarisan
Tujuan JAVA Education Network Indonesia Inheritance,,& Interfaces Pengenalan Pemrograman 1 Pada akhir bab, Anda diharapkan mampu untuk Menjelaskan super class dan subclass Meng-override method dari superclass
Lebih terperinciPRAKTIKUM 6 EXCEPTION
PRAKTIKUM 6 EXCEPTION A. TUJUAN Memahami konsep, tipe, dan cara penanganan eksepsi. Memahami cara melontar dan menangkap eksepsi. Memahami konsep try catch dan catch secara bertingkat. Memahami klausa
Lebih terperinciBAHASA PEMROGRAMAN JAVA
MI1274 Algoritma & Pemrograman Lanjut Genap 2015-2016 BAHASA PEMROGRAMAN JAVA Disusun Oleh: Reza Budiawan Untuk: Tim Dosen Algoritma & Pemrograman Lanjut Hanya dipergunakan untuk kepentingan pengajaran
Lebih terperinciPengenalan JavaScript
Pengenalan JavaScript Tujuan - Mahasiswa memahami konsep dasar Javascript - Mahasiswa mampu memahami cara menggunakan Javascript - Mahasiswa mampu memahami dasar variabel di Javascript - Mahasiswa mampu
Lebih terperinciPertemuan 2 (2) : Membuat Class dan mengakses Anggota Class
Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class Tessy Badriyah, SKom. MT. http://lecturer.eepis-its.edu/~tessy Pendahuluan Pada bagian ini, kita akan membuat program berbasis obyek menggunakan
Lebih terperinciCara Membaca File Text di JAVA
Cara Membaca File Text di JAVA Memanipulasi file teks adalah keterampilan yang akan melayani Anda dengan baik dalam karir pemrograman Anda. Pada bagian ini, Anda akan belajar bagaimana untuk membuka dan
Lebih terperinciBAB 3 TYPE DATA, VARIABLE DAN OPERATOR
BAB 3 TYPE DATA, VARIABLE DAN OPERATOR Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman
Lebih terperinciOBJECT ORIENTED PROGRAMMING (OOP)
IF34348 - PEMROGRAMAN LANJUT OBJECT ORIENTED PROGRAMMING (OOP) 06 Oleh : Andri Heryandi, M.T. LATIHAN MEMBUAT CLASS Oleh : Andri Heryandi, M.T. 2 CLASS KARAKTER Class ini digunakan untuk objek-objek yang
Lebih terperinciBAB VII. CLASS DAN OBJECT
BAB VII. CLASS DAN OBJECT 7.1. Pengertian Class dan Object 7.1.1. Class Class adalah struktur dasar dari OOP (Object Oriented Programming). Terdiri dari dua tipe yaitu : field (attribute/property) dan
Lebih terperinciEncapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni
Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni Enkapsulasi u Dapat dikatakan sebagai penyembunyian data/informasi (Information hiding). u Implementasi ke bahasa Pemrograman
Lebih terperinciPEMROGRAMAN BERORIENTASI OBJEK
PEMROGRAMAN BERORIENTASI OBJEK Materi III Class dan Object Maksud dan tujuan Memahami Pembuatan Kelas, Objek dan method Dapat menerapkan kelas, objek, dan method kedalam bahasa pemrograman java Apapun
Lebih terperinciPemrograman Berorientasi. Abstract & Interface
Pemrograman Berorientasi Obyek Abstract & Interface anton@ukdw.ac.id Latar Belakang Kita sudah mengenal pewarisan, bahwa class anak akan selalu mendapat warisan atribut dan behavior dari class induk Class
Lebih terperinciMODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance
MODUL 3 Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM 1. Praktikan dapat memahai bagaimana suatu class dapat mewariskan sifat dari class yang sudah ada. 2. Praktikan mampu mendefinisikan superclass
Lebih terperinciBab Tujuan. 9.2 Definisi dan dasar-dasar thread Definisi Thread
Bab 9 Threads 9.1 Tujuan Pada bab-bab sebelumnya Anda terbiasa untuk membuat program yang berururutan/sekuensial. Sebuah program sekuensial berarti sebuah program yang hanya memiliki satu aliran eksekusi.
Lebih terperinciLAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD
LAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD Disusun oleh : Nama : Ach Fauzan NIM : 135150201111002 Asisten 1 : Fadel Trivandi Dipantara Asisten 2 : Karid Nurvenus Asisten 3 : Apiladosi
Lebih terperinci2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)
Pertemuan VI Inheritance (Pewarisan) 6.1. Tujuan Mahasiswa diharapkan dapat: 1. Memahami konsep inheritance dalam pemecahan permasalahan. 2. Mengimplementasikan konsep inheritance dalam bentuk program.
Lebih terperinciMonitor. Process Synchronization. SISTIM OPERASI (IKI-20230) ProcessSynchronization Ch. 6. Johny Moningka
Monitor SISTIM OPERASI (IKI-20230) ProcessSynchronization Ch. 6 Johny Moningka (moningka@cs.ui.ac.id) Fakultas Ilmu Komputer Universitas Indonesia Semester 2000/2001 Process Synchronization Background
Lebih terperinciPemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs
Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs Object Oriented Programming (OOP) adalah inti dari pemrograman Java. Dalam OOP, setiap objek didefinisikan sebagai
Lebih terperinciBab 26. Readers/Writers
Bab 26. Readers/Writers Achmad Hariyadi 0606031433 Indra Firmancahya 0606101502 Komentar Umum: Secara umum bab ini sudah menjelaskan tentang readers/writers bahwa semafor tetap akan digunakan dalam program
Lebih terperinciDASAR PEMOGRAMAN JAVA
DASAR PEMOGRAMAN JAVA Pertemuan ke-2 Oleh: Winda Aprianti Tipe Data Bilangan Karakter Kata atau Kalimat Boolean Literal merepresentasikan nilai suatu tipe, dimana tipe itu sendiri menjelaskan bagaimana
Lebih terperinciSUMBER BELAJAR PENUNJANG PLPG
SUMBER BELAJAR PENUNJANG PLPG 2017 [TIK] BAB VIII PEMROGRAMAN BERORIENTASI OBJEK [Alfa Faridh Suni] KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN 2017 BAB VIII
Lebih terperinciILUSTRASI KLASIK: BOUNDED BUFFER
ILUSTRASI KLASIK: BOUNDED BUFFER Oleh kelompok 54.4: Reza Lesmana (1203000978) Suryamita Harindrari (1203001087) Fitria Rahma Sari (1203007034) Kritik dapat dikirimkan melalui rezalesmana@mhs.cs.ui.ac.id
Lebih terperinciPercobaan 6 Exception
Percobaan 6 Exception Pokok Bahasan Penanganan Eksepsi Menangkap Eksepsi Catch Secara bertingkat Melontarkan Eksepsi Melontarkan kembali Eksepsi Klausa Throws Tujuan Belajar Dengan praktikum ini mahasiswa
Lebih terperinciMODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK Deskripsi Singkat Praktikum pemrograman berorientasi objek adalah praktikum yang menggunakan bahasa Java sebagai bantuan dalam memahami konsep pemrograman
Lebih terperinciARRAY. 7 th week Estu Sinduningrum ST,MT
ARRAY 7 th week Estu Sinduningrum ST,MT Aplikasi 2x Java Piramida Bilangan Piramida bilangan adalah deretan bilangan yang tersusun sedemikian rupa, sehingga membentuk suatu piramida bilangan. Puncak piramida
Lebih terperinciPERCOBAAN 6 EXCEPTION
PERCOBAAN 6 EXCEPTION Pokok Bahasan Penanganan Eksepsi Menangkap Eksepsi Catch Secara bertingkat Melontarkan Eksepsi Melontarkan kembali Eksepsi Klausa Throws Tujuan Belajar Dengan praktikum ini mahasiswa
Lebih terperinciPraktikum 3 Konsep Class, Attribute dan Method
Praktikum 3 Konsep Class, Attribute dan Method Dosen : Ir. Nanang Syahroni M.Kom Pokok Bahasan Konsep pemprograman bahasa Java Konsep Object Oriented Programming (OOP) Deklarasi pemprograman OOP dengan
Lebih terperinciPemrograman Berorientasi. Class dan Obyek 2
Pemrograman Berorientasi Obyek Class dan Obyek 2 anton@ukdw.ac.id Method main pada Java public static void main(string[] args) Merupakan bagian yang dieksekusi oleh program Java Sifat: public, static,
Lebih terperinciBahasa Pemrograman :: Polimorfism and Abstraction
Bahasa Pemrograman :: and Abstraction Julio Adisantoso ILKOM IPB 24 Mei 2010 Access Modifiers Access Modifiers Accessor Methods Mutator Methods Inheritance Akses Default (Package Accessibility) Tidak terdapat
Lebih terperinciI. Tujuan Instruksional Umum Komunikasi antar objek pada kelas yang berbeda Memahami berbagai macam modifier dan karakteristiknya II.
I. Tujuan Instruksional Umum Komunikasi antar objek pada kelas yang berbeda Memahami berbagai macam modifier dan karakteristiknya II. Bahan Kajian Setelah kita berproses dalam belajar Algoritma dan pemrograman
Lebih terperinciPemrograman Berorientasi Object
Pemrograman Berorientasi Object Apa itu Exception? Singkatan dari Exceptional Events. Kesalahan (errors) yang terjadi saat runtime, menyebabkan gangguan pada alur eksekusi program. Contoh Error pembagian
Lebih terperinciKARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:
KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut: a. Abstraksi (abstraction) b. Pembungkusan (encapsulation) c. Pewarisan (inheritence)
Lebih terperinciPolymorphism (Polimorfisme)
Polymorphism (Polimorfisme) Pemrograman Berorientasi Objek Minggu 7 Alfa Faridh Suni Polymorphisme * Poly + morph = banyak + bentuk * Polymorphism yang berarti satu objek dapat memiliki banyak bentuk yang
Lebih terperinciInheritance (Pewarisan) Pengertian dasar inheritance
Inheritance (Pewarisan) Pengertian dasar inheritance Inheritance (Pewarisan) merupakan salah satu dari tiga konsep dasar OOP. Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat
Lebih terperinciPEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita
PEMROGRAMAN JAVA Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita Education is not the filling of a pail, but the lighting of a fire. (William
Lebih terperinci//PROGRAM 9-8. int[] A = new int[5]; // SALAH, karena tidak terdapat. class BanyakEksepsi { indeks ke-5. public static void test(int a, int b) { try {
//PROGRAM 9-8 int[] A = new int[5]; class BanyakEksepsi { public static void test(int a, int b) { int c = a / b; A[5] = 100; indeks ke-5 // SALAH, karena tidak terdapat System.out.println("Hasil bagi:
Lebih terperinci1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:
1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini: Program dapat di-compile dan output-nya adalah 5 Program dapat di-compile dan output-nya adalah 6 Program akan
Lebih terperinciTPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi
TPI4202 e-tp.ub.ac.id Lecture 4 Mas ud Effendi Menampilkan informasi kepada user lewat display Dengan perintah print dan println print: menampilkan output (kursor tetap di baris yang sama) println: menampilkan
Lebih terperinciTUGAS Mata Kuliah : Sistem Terdistribusi
TUGAS Mata Kuliah : Sistem Terdistribusi OLEH : Nama : TARSO NIM : 090103193 Kelas : C (Week End) Dosen : Ardy Mulya Iswardani, S.Kom Prodgi : S1 Teknik Informatika SEKOLAH TINGGI MANAJEMEN INFORMATIKA
Lebih terperinci1. Tujuan. 2. Latar Belakang. 3. Percobaan. Modul Praktikum TiledLayer
1. Tujuan Menggambar dan Mengetahui fungsi TiledLayer Membuat object dari class TiledLayer Menyusun graphics dari TiledLayer dan di masukkan dalam LayerManager Memanipulasi graphics dengan menggunakan
Lebih terperinciMODUL III ARRAYLIST TUGAS PENDAHULUAN
MODUL III ARRAYLIST TUGAS PENDAHULUAN 1. Jelaskan pengertian ArrayList? 2. Jelaskan perbedaan Array dan ArrayList? 3. Tuliskan contoh sintak ArrayList! 1. TUJUAN Mahasiswa dapat memahami konsep ArrayList
Lebih terperinciBadiyanto, S.Kom., M.Kom. PBO java
Badiyanto, S.Kom., M.Kom PBO java Apa yang Disebut Java? Bahasa pemrograman berorientasi objek murni yang dibuat berdasarkan kemampuankemampuan terbaik bahasa pemrograman objek sebelumnya (C++, Ada, Simula).
Lebih terperinciModul Praktikum 3 Pemograman Berorientasi Objek
Modul Praktikum 3 Pemograman Berorientasi Objek 1. Judul : Kontrol Keputusan dan Pengulangan 2. Tujuan Percobaan : Diakhir praktikum, mahasiswa diharapkan mampu : Menggunakan struktur kontrol keputusan
Lebih terperinciPRAKTIKUM 5 PAKET, IMPORT DAN INTERFACE
A TUJUAN PRAKTIKUM 5 PAKET, IMPORT DAN INTERFACE Memahami konsep dan cara mendeklarasikan paket pada bahasa pemrograman java Memahami cara menggunakan Import Memahami pengertian, cara mendeklarasikan,
Lebih terperinci