Pemrograman Berorientasi Objek

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek
Advertisements

Java Fundamentals: 5. Java Advanced
CARI ERROR !!! ADA BERAPA KESALAHAN ??? Apa beda JRE dan JDK ??? JDK JRE.
BAHASA PEMROGRAMAN JAVA
Deklarasi Class Kelas pada Java dideklarasikan dengan menggunakan kata kunci class. Contoh : class Mobil { String warna; int thn_prod; } Mobil Data :
 public static void main(String[] args) {  int bil1=3;  do {  System.out.print(bil1+",");  bil1=bil1+4;  }  while(bil1
Pemrograman Berorientasi Objek
Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Dasar Exception Handling
Pemrograman Java Pewarisan / Inheritance Polimorfisme Pemrograman Java.
Inheritance Ery Setiyawan Jullev A.
Array, Class, Obyek, Method danConstructor.
Pemrograman Berorientasi Objek
ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM
Pemrograman Berorientasi Obyek Oleh Tita Karlita
- PERTEMUAN 9 - BERBAGAI KELAS UTILITAS DI JAVA
- PERTEMUAN 4 - PERULANGAN
Pertemuan : Object Oriented Programming
Flow Control & Looping Pertemuan 4 Pemrograman Berbasis Obyek Oleh Tita Karlita.
PELATIHAN JAVA FUNDAMENTAL
Object Oriented Programming with JAVA 2011/2012
Public class RelasiDemo { public static void main(String[] args) { //beberapa nilai int i = 37; int j = 42; int k = 42; System.out.println("Nilai variabel...");
Pemrograman Berorientasi Objek
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
Algoritma & Pemrograman 1
Perulangan (Iteration)
Pertemuan 6 PEWARISAN AND POLYMORPHISM
1 Pertemuan 10 PEMROGRAMAN MULTITHREADING Matakuliah: M0074/PROGRAMMING II Tahun: 2005 Versi: 1/0.
Class & Object Disusun Oleh: Reza Budiawan Untuk:
Access Modifier.
Materi 1: Konsep Pemrograman Berorientasi Objek Kelas dan Objek
Pemrograman Berorientasi Objek
Constructor dan Overloading
POLYMORPHISM (KEBANYAKRUPAAN)
POLYMORPHISM (Overloading)
MODIFIER JAVA.
Pemrograman Berorientasi Objek
Array dan Argumen Baris Perintah
Tugas Minggu Ke 9 PBO Siti Halisah
Constructor overloading
JAVA FUNDAMENTAL (Method)
THREAD Pertemuan 9.
C++ static.
Pemrograman Berorientasi Objek
PEMROGRAMAN BERORIENTASI OBJEK
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
MATERI PENDUKUNG PENGENALAN DASAR CLASS
Karakteristik Pemrograman Berorientasi Objek
POLYMORPHISM.
JAva Threads.
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Object
Pilar Object Oriented Programming
PEMROGRAMAN BERORIENTASI OBJEK
Mobile Teknologi Pertemuan 2
Pemrograman Berorientasi Objek
Method Java Fundamental Syahrul Mauluddin S.Kom, M.Kom.
Pemograman Lanjut M. Failrul Filza, S.Kom
Pemrograman Berorientasi Objek <PBO>
Pertemuan 3 Class dan Objek (Lanjutan)
PEMROGRAMAN BERORIENTASI OBJEK
Pertemuan 6 Praktek Pembuatan Program dengan menggunakan Inheritance
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
- PERTEMUAN 2- CONSTRUCTOR
Pertemuan 4 Praktek Pembuatan Program Class dan Objek (Lanjutan)
Pertemuan 2 Praktek Pembuatan Program Class dan Objek
PEMROGRAMAN BERORIENTASI OBJEK
FONDASI PEMROGRAMAN & STRUKTUR DATA #8
Transcript presentasi:

Pemrograman Berorientasi Objek Multithreading Oleh : SRI HERAWATI, S.KOM D3 MANAJEMEN INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

MULTITHREADING Multithreading adalah kemampuan yg memungkinkan kumpulan instruksi atau proses dpt dijalankan secara bersamaan dlm sebuah program. Thread adalah satu kumpulan instruksi yg akan dieksekusi secara independen Kegunaan thread pada permainan( game) dan web browser

Daur hidup sebuah thread Multithreading Sebuah program Thread 1 Thread 2 Thread 3 Daur hidup sebuah thread waktu

Penanganan Thread Thread dengan menggunakan kelas thread Thread melalui Runnable

Menggunakan kelas Thread Cara ini dgn memperluas kelas thread dan menuliskan kembali kode pada metode run(). Bentuk : class namakelas extends Thread{ public void run(){ … }

Contoh : Ujithread.java public class Ujithread{ public static void main(String[] args){ Mobil m1 = new Mobil("M-1"); Mobil m2 = new Mobil("M-2"); m1.start(); m2.start(); } class Mobil extends Thread{ //konstruktor public Mobil(String id){ super(id);

Contoh : Ujithread.java //mendefinisikan sendiri run() public void run() { String nama = getName(); for (int i=0; i<5; i++) { try{ sleep(1000); //tunggu 1 detik } catch(InterruptedException ie){ System.out.println("terinterupsi"); System.out.println("Thread " + nama + " :Posisi " + i);

Keterangan : Mobil m1 = new Mobil(“M-1”) m1.start(); class Mobil extends Thread{ … public void run() { }

Hasil :

Thread melalui Runnable Runnable sesungguhnya adalah sebuah interface. Dengan mengimplementasikan interface ini, sebuah kelas yg menangani thread dapat diciptakan.

Contoh : Ujithread2.java public class Ujithread2 { public static void main(String[] args){ Thread m1 = new Thread(new Mobil("M-1")); Thread m2 = new Thread(new Mobil("M-2")); m1.start(); m2.start(); }

Contoh : Ujithread2.java class Mobil implements Runnable{ String nama; //konstruktor public Mobil(String id) { nama=id; }

Contoh : Ujithread2.java public void run() { for(int i=0; i<5; i++) { try{ Thread.currentThread().sleep(1000); } catch(InterruptedException ie){ System.out.println("terinterupsi");cr System.out.println("Thread " + nama + " :Posisi " + i);

Hasil :

Daur hidup Thread Sebuah Thread terus dieksekusi sampai salah satu kondisi berikut terjadi : Eksekusi terhadap run() berakhir Terinterupsi oleh eksepsi yg tidak tertangkap Metode stop() dipanggil

Contoh : Ujithread3.java public class Ujithread{ public static void main(String[] args){ Mobil m1 = new Mobil("M-1"); Mobil m2 = new Mobil("M-2"); m1.start(); m2.start(); } class Mobil extends Thread{ //konstruktor public Mobil(String id){ super(id);

Contoh : Ujithread3.java // beri komentar ketika thread berakhir boolean m1Berakhir = false; boolean m2Berakhir = false; do{ //cek keberadaan thread m1 if (!m1Berakhir && !m1.isAlive()) { m1Berakhir = true; System.out.println("Thread m1 berakhir"); }

Contoh : Ujithread3.java // cek keberadaan thread m2 if (!m2Berakhir && !m2.isAlive()) { m2Berakhir = true; System.out.println("Thread m2 berakhir"); } }while (!m1Berakhir || !m2Berakhir);

Contoh : Ujithread3.java //mendefinisikan sendiri run() public void run() { String nama = getName(); for (int i=0; i<5; i++) { try{ sleep(1000); //tunggu 1 detik } catch(InterruptedException ie){ System.out.println("terinterupsi"); System.out.println("Thread " + nama + " :Posisi " + i);

Hasil :

Sinkronisasi Sinkronisasi merupakan suatu upaya agar kode tertentu dijalankan secara berurutan dengan jaminan kode tersebut tdk akan dijalankan oleh yg lain dlm waktu bersamaan.

Contoh : Ujithread4.java public class Ujithread4{ public static void main(String[] args){ Mobil m1 = new Mobil("M-1"); Mobil m2 = new Mobil("M-2"); m1.start(); m2.start(); }

Contoh : Ujithread4.java class Mobil extends Thread{ //konstruktor public Mobil(String id){ super(id); } //mendefinisikan sendiri run() public void run() { String nama = getName(); SinkronisasiKeluaran.info(nama);

Contoh : Ujithread4.java class SinkronisasiKeluaran{ public static synchronized void info(String nama){ for (int i=0; i<5; i++) { try{ Thread.sleep(1000); //tunggu 1 detik } catch(InterruptedException ie){ System.out.println("terinterupsi"); System.out.println("Thread " + nama + " :Posisi " + i);

Hasil :