Bab 26. Readers/Writers

Ukuran: px
Mulai penontonan dengan halaman:

Download "Bab 26. Readers/Writers"

Transkripsi

1 Bab 26. Readers/Writers Achmad Hariyadi Indra Firmancahya Komentar Umum: Secara umum bab ini sudah menjelaskan tentang readers/writers bahwa semafor tetap akan digunakan dalam program readers/writers. Bab ini terdiri dari 5 bab, yaitu Pendahuluan, Penggunaan, Semafor, Program, Penjelasan Program, dan Rangkuman. Bab ini juga membahas tentang penggunaan semafor sebagai penentu thread mana yang akan menulis dan thread mana yang akan membaca. Hal tersebut dimaksudkan untuk sinkronisasi antara thread yang satu dengan thread yang lain yang sedang berjalan bersamaan. Hubungannya dengan bab sebelumnya: Bab sebelumnya, bab 25, menggunakan semafor untuk sinkronisasi konsumen produsen. Sedangkan bab 26 ini menggunakan semafor untuk sinkronisasi readers/writers. Hubungannya adalah kedua bab sama-sama menggunakan semafor. Hubungannya dengan bab selanjutnya: Bab 26 ini berhubungan dengan bab 27 pada bagian semafor. Bab 26 menggunakan semafor untuk melakukan sinkronisasi dengan readers/writers. Sedangkan bab 27 menggunakan semafor untuk sinkronisasi pemain yang melakukan hompimpah. Komentar kelengkapan per bagian: 26.1 Pendahuluan Subbab ini sudah cukup jelas sebagai pengantar bahwa bab 26 akan membahas masalah yang timbul pada readers/writers. Pada bagian ini juga disertakan pengertian tentang apa itu reader/writer serta kondisi yang harus dipenuhi oleh reader/writer agar tidak terjadi korupsi data Penggunaan Semafor Subbab ini sudah cukup jelas bahwa semafor hanya dapat diakses dengan dua method, yaitu: 1. P(porheben) (atau wait(), tunggu(), dan lain-lain).berfungsi sebagai increment method. 2. V(vendorhen) (atau signal(), sinyal(), dan lain-lain).berfungsi sebagai decrement method. Pada masing-masing method tersebut telah dilengkapi dengan implementasi dalam kode bahasa Java Program Subbab ini sudah cukup menjelaskan contoh program readers/writers yang menggunakan semafor. Namun pada baris 158 yang berada pada Class Database terdapat dua kali tanda

2 semicolon, walaupun tidak mempengaruhi jalannya program tersebut, sebaiknya satu semicolon saja karena sudah cukup memenuhi sebagai penanda statement. Selain itu, di bagian diberikan contoh output program. Sebaiknya subbab bagian contoh keluaran dicetak tebal dan diberi baris baru di bawahnya untuk menjelaskannya Penjelasan Program Subbab ini sudah cukup menjelaskan statement-statement pada masing-masing class yang ada dalam program readers/writers tersebut Rangkuman Subbab ini sudah merangkum makna dan inti dari bab 26 ini bahwa jika ada suatu thread yang melakukan write, maka thread yang lain tidak dapat melakukan write maupun read. Namun, jika ada suatu thread yang melakukan read, maka thread yang lain pun juga bisa melakukan read. Usulan Kelengkapan: Bab ini sudah cukup lengkap tentang materi readers/writers. Dan juga bab ini sudah cukup jelas membahas tentang semafor. Usulan kelengkapan untuk tata bahasa sebaiknya mesti diperhatikan lagi seperti kurangnya konjungsi dan untuk kalimat asing dicetak miring.

3 Bab 26. Readers/Writers Pendahuluan Masalah Readers-Writers merupakan masalah klasik dalam sinkronisasi. Solusi dari masalah ini diperlukan untuk dapat menjaga konsistensi data. Banyak thread bisa berbagi sumber daya penyimpanan yang sama. Ada thread yang membaca, ada juga yang menulis. Thread yang membaca disebut readers (pembaca), sedangkan yang menulis disebut writers (penulis). Jika lebih dari satu thread mengakses data yang sama pada satu waktu, bisa terjadi korupsi data. Kondisi yang harus dipenuhi agar tidak terjadi korupsi data adalah : 1. Sebuah objek data bisa dibaca oleh beberapa thread secara simultan.. 2. Sebuah objek data yang sedang ditulis oleh sebuah thread tidak dapat dibagi aksesnya kepada thread yang lain baik pembaca maupun penulis. Writer harus memiliki akses yang eksklusif terhadap suatu objek data, sehingga tidak boleh ada proses lain yang mengakses sebuah objek yang sedang diakses oleh writer. Penggunaan Semafor Semaphore adalah sebuah variabel bertipe integer yang selain saat inisialisasi, hanya dapat diakses melalui dua method, yaitu : 1. P() (atau wait(), tunggu(), dan lain-lain). Berfungsi sebagai increment method 2. V() (atau signal(), sinyal(), dan lain-lain). Berfungsi sebagai decrement method. Jika method P() dipanggil, thread yang memanggilnya akan melakukan wait() (yang ada di dalam method P()) sampai di-notify(). notify() itu sendiri berada di dalam method V(), sehingga thread akan bisa mulai melakukan sesuatu pada objek data jika method V() telah dipanggil. Pada program Reader/Writer, Semaphore digunakan untuk sinkronisasi antar readers atau antar writers atau antar readers dengan writers. Implementasinya dalam kode bahasa Java public synchronized void P() { while (value <= 0) { try { wait(); } catch (InterruptedException e) { } } value--; } public synchronized void V() { ++value; notify(); }

4 Program 001 /* */ 002 /*class ReaderWriterServer */ 003 /* */ public class ReaderWriterServer 006 { 007 public static void main(string args[]) 008 { 009 Database server = new Database(); 010 Reader[] readerarray = new Reader[NUM_OF_READERS]; 011 Writer[] writerarray = new Writer[NUM_OF_WRITERS]; 012 for (int i = 0; i < NUM_OF_READERS; i++) 013 { 014 readerarray[i] = new Reader(i, server); 015 readerarray[i].start(); 016 } 017 for (int i = 0; i < NUM_OF_WRITERS; i++) 018 { 019 writerarray[i] = new Writer(i, server); 020 writerarray[i].start(); 021 } 022 } 023 private static final int NUM_OF_READERS = 3; 024 private static final int NUM_OF_WRITERS = 2; 025 } /* */ 028 /*class Reader */ 029 /* */ class Reader extends Thread 032 { 033 public Reader(int r, Database db) 034 { 035 readernum = r; 036 server = db; 037 } 038 public void run() 039 { 040 int c; 041 while (true) 042 { 043 Database.napping(); 044 System.out.println("reader " + readernum " wants to read."); 046 c = server.startread(); 047 System.out.println("reader " + readernum " is reading. Reader Count = " + c); 049 Database.napping(); 050 System.out.print("reader " + readernum " is done reading. "); 052 c = server.endread(); 053 } 054 } 055 private Database server; 056 private int readernum; 057 } /* */

5 060 /*class Writer */ 061 /* */ class Writer extends Thread 064 { 065 public Writer(int w, Database db) 066 { 067 writernum = w; 068 server = db; 069 } 070 public void run() 071 { 072 while (true) 073 { 074 System.out.println("writer " + writernum " is sleeping."); 076 Database.napping(); 077 System.out.println("writer " + writernum " wants to write."); 079 server.startwrite(); 080 System.out.println("writer " + writernum " is writing."); 082 Database.napping(); 083 System.out.println("writer " + writernum " is done writing."); 085 server.endwrite(); 086 } 087 } 088 private Database server; 089 private int writernum; 090 } /* */ 093 /*class Semaphore */ 094 /* */ final class Semaphore 097 { 098 public Semaphore() 099 { 100 value = 0; 101 } 102 public Semaphore(int v) 103 { 104 value = v; 105 } 106 public synchronized void P() 107 { 108 while (value <= 0) 109 { 110 try { wait(); } 111 catch (InterruptedException e) { } 112 } 113 value--; 114 } 115 public synchronized void V() 116 { value; 118 notify(); 119 } 120 private int value;

6 121 } /* */ 124 /*class Database */ 125 /* */ class Database 128 { 129 public Database() 130 { 131 readercount = 0; 132 mutex = new Semaphore(1); 133 db = new Semaphore(1); 134 } 135 public static void napping() 136 { 137 int sleeptime = (int) (NAP_TIME * Math.random() ); 138 try { Thread.sleep(sleepTime*1000); } 139 catch(interruptedexception e) {} 140 } 141 public int startread() 142 { 143 mutex.p(); readercount; 145 if (readercount == 1) 146 { 147 db.p(); 148 } 149 mutex.v(); 150 return readercount; 151 } 152 public int endread() 153 { 154 mutex.p(); readercount; 156 if (readercount == 0) 157 { 158 db.v(); 159 } 160 mutex.v(); 161 System.out.println("Reader count = " + readercount); 162 return readercount; 163 } 164 public void startwrite() 165 { 166 db.p(); 167 } 168 public void endwrite() 169 { 170 db.v(); 171 } 172 private int readercount; 173 Semaphore mutex; 174 Semaphore db; 175 private static final int NAP_TIME = 15; }

7 Contoh keluaran. Contoh keluaran tidak mutlak seperti ini, bisa bervariasi, penyebab dari hal ini akan dijelaskan pada bagian Penjelasan Program. writer 1 is sleeping. writer 0 is sleeping. writer 0 wants to write. writer 0 is writing. reader 2 wants to read. writer 0 is done writing. reader 2 is reading. Reader Count = 1 writer 0 is sleeping. reader 2 is done reading. Reader count = 0 reader 0 wants to read. reader 0 is reading. Reader Count = 1 reader 1 wants to read. reader 1 is reading. Reader Count = 2 reader 1 is done reading. Reader count = 1 reader 0 is done reading. Reader count = 0 reader 2 wants to read. reader 2 is reading. Reader Count = 1 writer 0 wants to write. writer 1 wants to write. reader 1 wants to read. reader 1 is reading. Reader Count = 2 reader 2 is done reading. Reader count = 1 reader 1 is done reading. Reader count = 0 writer 0 is writing. writer 0 is done writing. writer 0 is sleeping. writer 1 is writing. writer 1 is done writing. writer 1 is sleeping. reader 0 wants to read. reader 0 is reading. Reader Count = 1 reader 1 wants to read. reader 1 is reading. Reader Count = 2 writer 0 wants to write. reader 2 wants to read. reader 2 is reading. Reader Count = 3 reader 2 is done reading. Reader count = 2 reader 0 is done reading. Reader count = 1 writer 1 wants to write. reader 1 is done reading.reader count = 0 writer 0 is writing. reader 2 wants to read. reader 0 wants to read. reader 1 wants to read. writer 0 is done writing. writer 0 is sleeping. writer 1 is writing. writer 1 is done writing. writer 1 is sleeping. reader 2 is reading. Reader Count = 1 reader 0 is reading. Reader Count = 2 reader 1 is reading. Reader Count = 3 reader 2 is done reading. Reader count = 2 writer 0 wants to write. reader 0 is done reading. Reader count = 1

8 Penjelasan Program Pada program readers/writers diatas, ada 5 class: ReaderWriterServer (baris 5-25). Kelas ini merupakan kelas yang memuat method main(). Kelas ini membuat 5 objek, 3 objek reader dan 2 objek writer serta menjalankan semua objek-objek tadi. Reader (baris 31-57). Kelas ini berfungsi sebagai thread yang membaca data. Kelas ini sebelum mulai membaca akan mencetak "reader... wants to read." terlebih dahulu kemudian memanggil method startread() untuk mulai membaca, jika tidak ditahan pada salah satu semaphore (di kelas Database) akan ada output "reader... is reading..."; kemudian setelah waktu yang acak (oleh Database.napping()) akan tercetak "reader... is done reading..." dan memanggil method endread() pada kelas Database untuk berhenti membaca. Writer (baris 63-90). Kelas ini berfungsi sebagai thread yang menulis data. Kelas ini sebelum mulai akan tidur terlebih dahulu, lalu akan mencetak "writer... wants to write." terlebih dahulu kemudian memanggil method startwrite() untuk mulai menulis, jika tidak ditahan pada semaphore db(di kelas Database) akan ada output "writer... is writing..."; kemudian setelah waktu yang acak (oleh Database.napping()) akan tercetak "writer... is done writing." dan memanggil method endwrite() pada kelas Database untuk berhenti menulis. Semaphore (baris ). Seperti yang sudah dijelaskan pada bagian sebelumnya, pada program ini, Semaphore digunakan untuk sinkronisasi antar readers atau antar writers atau antar readers dengan readers. Method yang ada pada kelas ini adalah method P() yang akan mencoba mengurangi nilai variabel value, variabel tersebut akan bisa dikurangi jika variabel tersebut bernilai lebih dari nol. Jika variabel value sama dengan atau kurang dari nol maka thread yang memanggil method ini akan memanggil method wait() yang membuatnya menunggu. Method ini berfungsi untuk menghalangi thread untuk tidak masuk ke dalam critical section. Method P() memanggil method wait() yang akan menyebabkan thread-thread yang akan memasuki critical section menunggu. Selain itu pada kelas ini terdapat method V() yang di dalamnya menambahkan nilai value sehingga nilainya tidak nol lagi, serta memanggil method notify(). Method notify() akan membangunkan salah satu thread yang sedang menunggu secara acak. Database (baris ). Kelas ini mengimplementasi semua pekerjaan yang dilaksanakan oleh kelas Writer dan kelas Reader. Kelas Database ini mempunyai 5 method yaitu napping(), startread(), endread(), startwrite(), dan endwrite(). Method napping() berfungsi membuat thread yang mengaksesnya akan memanggil method sleep() sehingga thread tersebut 'tertidur'. Waktu tidur tersebut acak dan tidak mutlak, hal ini menyebabkan output dari program akan bervariasi, tapi tetap memenuhi ketentuan. Method kedua adalah startread(). Method ini mereturn sebuah int merepresentasikan jumlah reader yang sedang mengakses database pada saat itu. Dia hanya mengijinkan hanya satu reader pada satu waktu yang dapat mengakses readercount dengan mengunci Semaphore mutex (dengan mutex.p()). Bila jumlah reader == 1 maka reader tersebut akan menutup Semaphore db (dengan db.p()) sehingga writer tidak diijinkan masuk untuk mengakses data. Method selanjutnya adalah endread(). Method ini diakses oleh reader yang telah selesai mengakses data. Untuk mengurangi readercount maka reader tersebut harus mengakses Semaphore mutex kembali. Jika nilai readercount == 0, yang berarti sudah tidak ada lagi reader yang sedang mengakses data, maka reader memanggil method V() untuk membuka Semaphore db, sehingga writer yang sedang mengantri dapat masuk untuk mengakses data. Method selanjutnya adalah startwrite(). Method ini hanya memanggil satu method yaitu mengunci Semaphore db

9 (dengan db.p()). Hal ini dimaksudkan bila ada writer yang sedang mengakses data, maka tidak ada writer lain atau reader yang diperbolehkan masuk untuk mengakses data. Method endwrite() dipanggil oleh kelas writer yang telah selesai mengakses database. Method ini memanggil method V() untuk membuka Semaphore db sehingga reader atau writer lain dapat masuk untuk mengakses data. Rangkuman Readers/Writers merupakan sebuah masalah klasik dalam contoh sinkronisasi untuk menjaga validitas data. Jika reader sedang mengakses data, reader-reader yang lain boleh ikut mengakses data, tapi writer harus menunggu sampai data tidak diakses siapapun. Jika writer sedang mengakses data, tidak boleh ada thread lain yang mengakses data. Semaphore digunakan untuk sinkronisasi antar thread (baik readers maupun writers). Rujukan [Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne Operating Systems Concepts. Seventh Edition. John Wiley & Sons. [WEBWiki2007] From Wikipedia, the free encyclopedia Readers-writers_problem Diakses 21 Maret 2007.

Readers-Writers & The Dining Philosophers Problem

Readers-Writers & The Dining Philosophers Problem Readers-Writers & The Dining Philosophers Problem Maharmon Arnaldo Api Perdana Contact: apiperdana@gmail.com Pembahasan Masalah Readers-Writers Program Readers-Writers Solusi Readers-Writers Masalah The

Lebih terperinci

Bab 27. Sinkronisasi Dengan Semafor

Bab 27. Sinkronisasi Dengan Semafor Bab 27. Sinkronisasi Dengan Semafor 27.1. Pendahuluan Sinkronisasi dua arah adalah suatu mekanisme dimana suatu thread dapat mengendalikan sinkronisasi thread lain, begitu pula sebaliknya. Berikut ini

Lebih terperinci

Bab 19. Solusi Critical Section

Bab 19. Solusi Critical Section Bab 19. Solusi Critical Section Anggota Kelompok (A) Dwi Priyanto 0606101295 (B) Nico Anandito 0606101793 (B) Sactio Swastioyono 0606101944 Komentar Umum Bab ini membahas tentang cara kerja solusi untuk

Lebih terperinci

1. SINKRONISASI PROSES

1. SINKRONISASI PROSES 1 2 1. SINKRONISASI PROSES Komunikasi Interproses Proses yang bersifat simultan (concurrent) yang dijalankan pada sistem operasi dapat dibedakan menjadi proses independent dan proses kooperatif. Suatu

Lebih terperinci

Kelompok 12. Thread Java

Kelompok 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 terperinci

Mengunci sebuah object: Untuk memastikan bahwa hanya satu thread yang mendapatkan hak akses kedalam method tertentu

Mengunci 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 terperinci

Pemrograman Berorientasi Obyek (IT251) Ramos Somya, S.Kom., M.Cs.

Pemrograman 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 terperinci

Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini

Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini IKI-20230 Sistem Operasi Kumpulan Soal Ujian 2002 2005 2002-2006 Rahmat M. Samik-Ibrahim (vlsm.org) PDF: http://rms46.vlsm.org/1/94.pdf OpenOffice.org: http://rms46.vlsm.org/1/94.odt. Pasangan Konsep I

Lebih terperinci

Kumpulan Soal Ujian Sistem Operasi

Kumpulan Soal Ujian Sistem Operasi Kumpulan Soal Ujian Sistem Operasi 2002 2010 Rahmat M. Samik Ibrahim dan Heri Kurniawan http://rms46.vlsm.org/1/94.pdf Berikut merupakan soal ujian yang pernah diberikan di Fakultas Ilmu Komputer, Universitas

Lebih terperinci

Terangkan dengan singkat, pasangan konsep berikut ini. Terangkan pula perbedaan atau/dan persamaan pasangan konsep tersebut.

Terangkan dengan singkat, pasangan konsep berikut ini. Terangkan pula perbedaan atau/dan persamaan pasangan konsep tersebut. IKI-20230 Sistem Operasi Kumpulan Soal Ujian 2002 2005 2002-2005 Rahmat M. Samik-Ibrahim Format OpenOffice.org: http://rms46.vslm.org/1/94.sxw Pasangan Konsep I Terangkan dengan singkat, pasangan konsep

Lebih terperinci

DEADLOCK & ALGORITMA OSTRICH

DEADLOCK & ALGORITMA OSTRICH DEADLOCK & ALGORITMA OSTRICH DIAJUKAN UNTUK MEMENUHI TUGAS MATA KULIAH Sistem Operasi Dosen Pengampu Bapak Adi Sucipto, Ir., M.Kom. oleh : Damas Fahmi Assena NIM : 161240000500 PROGRAM STUDI TEKNIK INFORMATIKA

Lebih terperinci

REVIEW DAN REVISI BUKU

REVIEW DAN REVISI BUKU REVIEW DAN REVISI BUKU Anggota Kelompok Fani Jasmine Bahar(0606101326, Kelas B) Fatimah(0606104246, Kelas A) Muhammad Ghafur AWS(0606031515, Kelas B) Winda Sagita (0606104353, Kelas A) Komentar Umum Bab

Lebih terperinci

PERTEMUAN VII Multithreaded Programming. Praktikan mampu membuat program sederhana mengenai threading

PERTEMUAN 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 terperinci

Monitor. Process Synchronization. SISTIM OPERASI (IKI-20230) ProcessSynchronization Ch. 6. Johny Moningka

Monitor. 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 terperinci

BAB 4. SINKRONISASI & DEADLOCK

BAB 4. SINKRONISASI & DEADLOCK BAB 4. SINKRONISASI & DEADLOCK Sinkronisasi Perangkat Keras dan Semafor Oleh Muhammad Irfan Nasrullah Email : ewoh@gawab.com 1 Sinkronisasi Perangkat Keras Mengapa perlu sinkronisasi perangkat keras? 2

Lebih terperinci

Jobsheet 09. Overloading and Overriding Method

Jobsheet 09. Overloading and Overriding Method Jobsheet 09 Overloading and Overriding Method 1. Kompetensi Setelah menempuh pokok bahasan ini, mahasiswa mampu : 1) Memahami konsep overloading dan overriding, 2) Memahami perbedaan overloading dan overriding,

Lebih terperinci

Nama : Putra Adi Nugraha dan Priska Kalista Kelas : B

Nama : Putra Adi Nugraha dan Priska Kalista Kelas : B Nama : Putra Adi Nugraha 0606104321 dan Priska Kalista 0606101842 Kelas : B Pada kesempatan kali ini, kami membahas bab 21 mengenai Transaksi Atomik. Adapun bab ini berbicara tenang sifat keatomikan suatu

Lebih terperinci

Laporan Tugas Scheduling Pengantar Sistem Operasi

Laporan Tugas Scheduling Pengantar Sistem Operasi Laporan Tugas Scheduling Pengantar Sistem Operasi Kelas E Anggota Kelompok: Cindy Alicia Sahara (5214100172) Ratih Kinanti A (5214100174) Patricia Hanna S (5214100177) Indriarti Kusumanita (5214100178)

Lebih terperinci

Sinkronisasi dan Deadlock Sistem Operasi

Sinkronisasi dan Deadlock Sistem Operasi Sinkronisasi dan Deadlock Sistem Operasi Muhammad Iqbal Jurusan Sistem Komputer Fakultas Ilmu Komputer Universitas Sriwijaya Email:qiodaimi@gmail.com ABSTRAK Saat menggunakan komputer, notebook, netbook

Lebih terperinci

IF PEMROGRAMAN LANJUT EXCEPTION. Oleh : Andri Heryandi, M.T.

IF 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 terperinci

ILUSTRASI KLASIK: BOUNDED BUFFER

ILUSTRASI 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 terperinci

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

2. 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 terperinci

Class Thread juga menyediakan beberapa constants sebagai nilai prioritas. Tabel berikut ini adalah rangkuman dari class Thread.

Class 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 terperinci

SOLUSI QUIZ 2 SISOP CS3613

SOLUSI QUIZ 2 SISOP CS3613 SOLUSI QUIZ 2 SISOP CS3613 Soal-soal berikut ini berkaitan dengan topik: SINKRONISASI dan MUTUAL EXCLUTION (Total nilai = 110) 1. Jelaskan pengertian critical section dan berikan contohnya (minimal 2)!

Lebih terperinci

BAB IX THREAD Thread ClassThread namavar = new ClassThread(); Namavar.start(); New ClassThread().start();

BAB 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 terperinci

BAB V. STATEMEN KONTROL

BAB V. STATEMEN KONTROL BAB V. STATEMEN KONTROL Statemen kontrol digunakan untuk mengatur jalannya alur program sesuai dengan yang diinginkan. Statemen ini dikategorikan menjadi 3 jenis, yaitu pemilihan, pengulangan dan peloncatan

Lebih terperinci

BAB 2 COLLECTION & THREAD

BAB 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 terperinci

Pada pembuatan game di java, sering kali para programer. mendefinisikan banyak object seperti suara, gambar, dan grafik geometri yang

Pada 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 terperinci

Thread. 16 th week Estu Sinduningrum ST,MT

Thread. 16 th week Estu Sinduningrum ST,MT Thread 16 th week Estu Sinduningrum ST,MT Multitasking dan Multithreading Multitasking Multitasking adalah suatu istilah yang menjelaskan bahwa sebuah komputer dapat menjalankan bebeiapa aktiviias (yang

Lebih terperinci

Sistem Operasi Pertemuan 5 Concurrency: Mutual Exclusion & Synchronization

Sistem Operasi Pertemuan 5 Concurrency: Mutual Exclusion & Synchronization Sistem Operasi 2009 Pertemuan 5 Concurrency: Mutual Exclusion & Synchronization H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ. Trunojoyo Ikhtisar Prinsip Mendasar dari Concurrency Mutual

Lebih terperinci

Critical Section Mutual Exclusion Semaphore Tugas. Sinkronisasi Thread. Praktikum Sistem Operasi. Ilmu Komputer IPB. Sinkronisasi Thread

Critical Section Mutual Exclusion Semaphore Tugas. Sinkronisasi Thread. Praktikum Sistem Operasi. Ilmu Komputer IPB. Sinkronisasi Thread 2017 Critical Section Critical Section A critical section is a section of code that can be executed by at most one process at a time. The critical section exists to protect shared resources from multiple

Lebih terperinci

CRITICAL REGIONS DAN MONITORS

CRITICAL REGIONS DAN MONITORS CRITICAL REGIONS DAN MONITORS Oleh Sergio (1203001052) - Tedi Kurniadi (1203001109) - Copyright 2004 Sergio - Tedi Kurniadi silahkan menggunakan, memodifikasi,

Lebih terperinci

1.Tujuan. 2. Latar Belakang

1.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 terperinci

Bag 4.4 Bagian ini sudah cukup menjelaskan dan memberikan gambaran yang tepat tentang JVM (Java Virtual Machine).

Bag 4.4 Bagian ini sudah cukup menjelaskan dan memberikan gambaran yang tepat tentang JVM (Java Virtual Machine). Nama Kelompok: Anggi Wijaya 0606104201 Evi Yulianti 0606031465 Syarief Abdurrahman 0606101950 Review: Bab 4. Bahasa Java Komentar Umum : Bab ini sungguh amat sangat menarik untuk dibahas, karena bahasa

Lebih terperinci

Bab 22. Sinkronisasi Linux Pendahuluan

Bab 22. Sinkronisasi Linux Pendahuluan Bab 22. Sinkronisasi Linux Pendahuluan Concurrent access dapat terjadi dalam sebuah kernel, termasuk kernel linux. Concurrent access adalah beberapa thread yang sedang berjalan mengakses resources yang

Lebih terperinci

Percabangan & Perulangan

Percabangan & 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 terperinci

Java Progamming Multithreading

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 terperinci

Apa yang akan dipelajari?

Apa yang akan dipelajari? Concurrency: Mutual Exclusion dan Sinkronisasi (Pertemuan ke-8) Pendahuluan Apa yang akan dipelajari? Ruang lingkup concurrency Contoh kasus perlunya concurrency Jenis interaksi antar proses Mekanisme

Lebih terperinci

Array Sebagai Parameter Method

Array Sebagai Parameter Method Array Sebagai Parameter Method Penggunaan Elemen Array Sebagai Aktual Parameter 1. public class MP2 { 2. public static void main(string[] args) { 3. int nilai=10; 4. int[] listnilai={7,1,5,3}; 5. System.out.println("Sebelum

Lebih terperinci

SUMBER BELAJAR PENUNJANG PLPG

SUMBER 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 terperinci

Bab 24. Diagram Graf Pendahuluan

Bab 24. Diagram Graf Pendahuluan Bab 24. Diagram Graf 24.1. Pendahuluan Berdasarkan penjelasan sebelumnya mengenai deadlock, diperlukan suatu penggambaran tentang bentuk deadlock. Dalam hal ini graf digunakan untuk merepresentasikan hal

Lebih terperinci

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom BAB III DASAR-DASAR PEMROGRAMAN Tipe Data Data adalah sekumpulan kejadian/fakta yang dipresentasikan dengan huruf, angka,

Lebih terperinci

1. 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, 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 terperinci

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

PERTEMUAN 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 terperinci

Bab 6: Sinkronisasi Proses. Latar Belakang

Bab 6: Sinkronisasi Proses. Latar Belakang Bab 6: Sinkronisasi Proses Latar Belakang Permasalahan Critical-Section Hardware Sinkronisasi Semaphores Permasalahan Klasik Sinkronisasi Sinkronisasi pada Solaris 2 dan Windows 2000 7.1 Latar Belakang

Lebih terperinci

Bab 10. Konsep Proses

Bab 10. Konsep Proses Bab 10. Konsep Proses 10.1. Pendahuluan Proses didefinisikan sebagai program yang sedang dieksekusi. Menurut Silberschatz proses tidak hanya sekedar suatu kode program ( text section), melainkan meliputi

Lebih terperinci

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

1. 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 terperinci

BAB II VARIABEL DAN TIPE DATA

BAB 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 terperinci

2 TIPE DATA DAN VARIABEL

2 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 terperinci

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello { Sekarang, kita akan mencoba untuk menganalisa program Java pertama : /** * My first j ava program */ public static void main(string[] args) //menampilkan string Hello world pada layar System. out. println("hello

Lebih terperinci

PEMROGRAMAN JAVA : THREAD

PEMROGRAMAN 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 terperinci

PENANGANAN EKSEPSI. class Exc0 { public static void main (String args[]) { int d = 0; int a = 42 / d; } }

PENANGANAN 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 terperinci

Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama.

Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama. Operating System (OS) Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama. 1 Beberapa masalah yang harus diselesaikan:

Lebih terperinci

BAHASA PEMROGRAMAN JAVA

BAHASA 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 terperinci

THREADS WINDOWS : PEMBUATAN, PENJADWALAN DAN SINKRONISASI Julius Bata Magister Ilmu Komputer Universitas Gadjah Mada

THREADS WINDOWS : PEMBUATAN, PENJADWALAN DAN SINKRONISASI Julius Bata Magister Ilmu Komputer Universitas Gadjah Mada THREADS WINDOWS : PEMBUATAN, PENJADWALAN DAN SINKRONISASI Julius Bata Magister Ilmu Komputer Universitas Gadjah Mada juliusbata@gmail.com Abtraksi Sistem operasi bertugas untuk melakukan manajemen proses.

Lebih terperinci

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

Pemrograman. Pertemuan-3 Fery Updi,M.Kom Pemrograman Pertemuan-3 Fery Updi,M.Kom 1 Pokok Bahasan Mengenal Tipe Data, Variabel Mengenal Operator 2 public class Main { Komentar /** Bentuk Dasar Kode Java * @param args */ public static void main(string[]

Lebih terperinci

Aplikasi Graf dalam Pendeteksian Deadlock

Aplikasi Graf dalam Pendeteksian Deadlock Aplikasi Graf dalam Pendeteksian Deadlock Tina Yuliani Ayuningsih NIM : 13505057 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : if15057@students.if.itb.ac.id

Lebih terperinci

LAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD

LAPORAN 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 terperinci

Proses Sinkronisasi. Latar Belakang Masalah Critical Section Sinkronisasi Hardware Semaphores Monitors

Proses Sinkronisasi. Latar Belakang Masalah Critical Section Sinkronisasi Hardware Semaphores Monitors 7 Sinkronisasi Proses Sinkronisasi Latar Belakang Masalah Critical Section Sinkronisasi Hardware Semaphores Monitors 2 Overview (1) Proteksi OS: Independent process tidak terpengaruh atau dapat mempengaruhi

Lebih terperinci

Badiyanto, S.Kom., M.Kom. PBO java

Badiyanto, 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 terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA II.1 Sistem Operasi Sistem operasi merupakan suatu perangkat lunak yang mengelola seluruh sumber daya sistem komputer dan penyedia layanan pada user, yang sekaligus bertindak sebagai

Lebih terperinci

Inheritance dan Kata Kunci static

Inheritance 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 terperinci

Ada 3 jenis struktur kontrol: Sequence Structure Selection Structure Repetition Structure Sequence Structure

Ada 3 jenis struktur kontrol: Sequence Structure Selection Structure Repetition Structure Sequence Structure Struktur Kontrol Ada 3 jenis struktur kontrol: Sequence Structure Selection Structure Repetition Structure Sequence Structure Selection Structure if if else switch if Bentuknya : if (kondisi) Statement1;

Lebih terperinci

KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan.

KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan. KENDALI PROSES Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan. PERINTAH KONDISIONAL Pemrograman Java memiliki 2 Decision-making

Lebih terperinci

Bab 22. Perangkat Sinkronisasi II

Bab 22. Perangkat Sinkronisasi II Bab 22. Perangkat Sinkronisasi II kelompok 113.22 Femphy Pisceldo 1204000335 Hendra Dwi Hadmanto 1204000416 Zoni Yuki Haryanda 1204000955 Sebagian dibuat dengan SoftWare Bayar yang dibajak (MS. PowerPoint),

Lebih terperinci

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai 5 buah nilai dengan tipe yang sama dapat saja disimpan dalam 5 buah variabel, tetapi bagaimana dengan 100 nilai? Disimpan dengan 100 variabel?

Lebih terperinci

EXCEPTION HANDLING. 1. Mampu menangani eksepsi 2. Mengetahui dan memahami tentang multithreading 3. Dapat membuat program tentang exception handling

EXCEPTION 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 terperinci

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN Obektif: Praktikan mengetahui arra, percabangan, dan perulangan pada Java. Praktikan mengetahui bentuk umum

Lebih terperinci

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK Deskripsi Singkat merupakan bentuk struktur data seperti tumpukan yang memiliki konsep Last In First Out (LIFO). Bermakna data yang terakhir masuk merupakan

Lebih terperinci

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

UJIAN TENGAH SEMESTER GENAP TA 2011/2012 UJIAN TENGAH SEMESTER GENAP TA 2011/2012 Kode MK Nama MK Dosen Pembina Kelas Semester/Tahun Akademik Sifat : IS34361P : Java Lanjut (JVL) : Bella Hardiyana, S. Kom : SI-1 : 4 (2011-2012) : Take Home SOAL

Lebih terperinci

Modul 3 Flow Control dan Input

Modul 3 Flow Control dan Input Modul 3 Flow Control dan Input Flow control terbagi menjadi dua, yaitu control seleksi dan control perulangan. 1. KONTROL SELEKSI Kontrol seleksi digunakan untuk membuat pemilihan terhadap aksi yang akan

Lebih terperinci

OBJECT ORIENTED PROGRAMMING (OOP)

OBJECT 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 terperinci

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya Politeknik Elektronika Negeri Surabaya PRAKTIKUM 28 BINARY SEARCH TREE 2 A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami konsep menghapus node pada Binary Search Tree. Node yang dihapus adalah node

Lebih terperinci

Bahasa Pemrograman Java. Yudi Adha. ST. MMSI

Bahasa Pemrograman Java. Yudi Adha. ST. MMSI Bahasa Pemrograman Java Yudi Adha. ST. MMSI Tujuan Pada bagian ini, kita akan mendiskusikan mengenai bagian dasar pemrograman Java. Kita akan memulai dengan mencoba menjelaskan bagian dasar dari program

Lebih terperinci

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi. System Calls dan Thread

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi. System Calls dan Thread Tahun Akademik 2014/2015 Semester II DIG1I3 - Instalasi dan Penggunaan Sistem Operasi System Calls dan Thread Mohamad Dani (MHM) Alamat E-mail: mohamad.dani@gmail.com Hanya dipergunakan untuk kepentingan

Lebih terperinci

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

PEMROGRAMAN 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 terperinci

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception.

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception. PRAKTIKUM 18 MELEMPAR EXCEPTION DAN MEMBUAT EXCEPTION SENDIRI A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception.. Mengetahui cara membuat sendiri class exception.

Lebih terperinci

PEWARISAN D E W I S A R T I K A, M. K O M

PEWARISAN D E W I S A R T I K A, M. K O M PEWARISAN D E W I S A R T I K A, M. K O M PENDAHULUAN Pewarisan (inheritance) merupakan suatu hubungan antara dua buah kelas atau lebih, dimana ada kelas yang memiliki atribut dan method yang sama dengan

Lebih terperinci

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

Pertemuan 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 terperinci

PEMROGRAMAN JAVA. Operator. Yoannita. Special thanks : Some slides are from Josephine Petrina K & Gasim Alkaff

PEMROGRAMAN JAVA. Operator. Yoannita. Special thanks : Some slides are from Josephine Petrina K & Gasim Alkaff PEMROGRAMAN JAVA Yoannita Operator Special thanks : Some slides are from Josephine Petrina K & Gasim Alkaff Operator Aritmatika Merupakan tanda untuk operasi aritmatika antara dua nilai Opr Fungsi Contoh

Lebih terperinci

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

BAB 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 terperinci

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA 1 BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA IDENTIFIER Identifier adalah suatu tanda yang mewakili nama-nama variabel, method, class, dsb. Ingat : Bahasa

Lebih terperinci

Topik. Stream I/O Cara menggunakan Stream Hierarchy Java I/O Membaca File Menulis File Menghapus File Cara membaca isi Direktori dalam file

Topik. Stream I/O Cara menggunakan Stream Hierarchy Java I/O Membaca File Menulis File Menghapus File Cara membaca isi Direktori dalam file Topik Stream I/O Cara menggunakan Stream Hierarchy Java I/O Membaca File Menulis File Menghapus File Cara membaca isi Direktori dalam file Stream I/O Semua data di Java dibaca dan ditulis dengan menggunakan

Lebih terperinci

7 Sinkronisasi. Proses Sinkronisasi. Overview (1) Overview (2) Latar Belakang Masalah Critical Section Sinkronisasi Hardware Semaphores Monitors

7 Sinkronisasi. Proses Sinkronisasi. Overview (1) Overview (2) Latar Belakang Masalah Critical Section Sinkronisasi Hardware Semaphores Monitors Mata Kuliah : Sistem Operasi Kode MK : IT-012336 7 Sinkronisasi Tim Teaching Grant Mata Kuliah Sistem Operasi Proses Sinkronisasi Latar Belakang Masalah Critical Section Sinkronisasi Hardware Semaphores

Lebih terperinci

Tipe if : If tanpa else (if) If dengan else (if-else) Nested if

Tipe 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 terperinci

Dasar Pemrograman Java

Dasar Pemrograman Java Dasar Pemrograman Java Tessy Badriyah, SKom. MT. http://lecturer.eepis-its.edu/~tessy Tujuan Pembelajaran Penggunaan Komentar dalam program Memahami perbedaan identifier yang valid dan yang tidak valid

Lebih terperinci

Modul Praktikum 3 Pemograman Berorientasi Objek

Modul 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 terperinci

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java) LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java) Di susun oleh: Wahyono ( 06/193218/PA/10892 ) Praktikan Algoritma dan Pemrograman Kelas A 7 Mei 2007 LABORATORIUM KOMPUTASI

Lebih terperinci

Obyektif : KONTROL ALUR PROGRAM

Obyektif : 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 terperinci

Concurrency 1: y Mutual Exclusion dan Sinkronisasi (Perte rt muan ke muan -10) 10 Oktober 2014

Concurrency 1: y Mutual Exclusion dan Sinkronisasi (Perte rt muan ke muan -10) 10 Oktober 2014 Concurrency 1: Mutual Exclusion dan Sinkronisasi (Pertemuan ke-10) Oktober 2014 Pokok Bahasan Pokok Bahasan: Sinkronisasi dan Mutual Exclusion Sub Pokok Bahasan: Konsep monitor dan implementasinya Konsep

Lebih terperinci

PEMROGRAMAN SOCKET LANJUTAN

PEMROGRAMAN SOCKET LANJUTAN Praktikum 11 PEMROGRAMAN SOCKET LANJUTAN A. TUJUAN PEMBELAJARAN 1. Siswa memahami konsep aplikasi client server di jaringan. 2. Siswa memahami konsep pemprograman socket lanjut. 3. Siswa mampu melakukan

Lebih terperinci

PRAKTIKUM 17 MENANGANI EXCEPTION

PRAKTIKUM 17 MENANGANI EXCEPTION PRAKTIKUM 17 MENANGANI EXCEPTION A. TUJUAN PEMBELAJARAN 1. Memahami mengenai exception 2. Memahami tipe exception yaitu Checked Exception dan Unchecked Exception. 3. Mengetahui cara menggunakan exception

Lebih terperinci

Bab 23. Deadlocks Pendahuluan. Gambar Contoh kasus deadlock pada lalu lintas di jembatan

Bab 23. Deadlocks Pendahuluan. Gambar Contoh kasus deadlock pada lalu lintas di jembatan Bab 23. Deadlocks 23.1. Pendahuluan Dalam sistem komputer, terdapat banyak sumber daya yang hanya bisa dimanfaatkan oleh satu proses pada suatu waktu. Contohnya adalah penggunaan sumber daya seperti printer,

Lebih terperinci

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program. Class & Objek Pengenalan OOP Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program. Object tersebut dikarakterisasi oleh property dan behavior. Pengenalan

Lebih terperinci

Input Nilai tanpa Case String di Java

Input Nilai tanpa Case String di Java Input Nilai tanpa Case String di Java Oleh: Yudi Setiawan Input di Java umumnya ada Case String didalamnya namun, saya pernah dapat soal dimana sample input nya tidak terdapat Case String didalamnya. Lalu

Lebih terperinci

Operator, Statement kondisional, dan Iterasi pada Java

Operator, Statement kondisional, dan Iterasi pada Java Operator, Statement kondisional, dan Iterasi pada Java Operator Operator Aritmatika Operator ini digunakan pada operasi-operasi aritmatika seperti penjumlahan, pengurangan, pembagian dll. Jenis Operator

Lebih terperinci

Definisi Eksepsi (exception)

Definisi Eksepsi (exception) Penanganan Eksepsi Definisi Eksepsi (exception) Exception adalah kondisi yang menyebabkan program menjadi hang atau quit dari alur normal yang telah ditentukan pada saat program dijalankan. Exception ini

Lebih terperinci

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Abstract 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 terperinci

IF PEMROGRAMAN LANJUT PERULANGAN. Oleh : Andri Heryandi, M.T.

IF PEMROGRAMAN LANJUT PERULANGAN. Oleh : Andri Heryandi, M.T. IF34348 - PEMROGRAMAN LANJUT PERULANGAN 05 Oleh : Andri Heryandi, M.T. JENIS-JENIS PERULANGAN Perulangan FOR Perulangan DO WHILE Perulangan WHILE Oleh : Andri Heryandi, M.T. 2 PERULANGAN FOR Perulangan

Lebih terperinci

Bab 13. Konsep Penjadwalan

Bab 13. Konsep Penjadwalan * Anggota Kelompok - A 0606101912 Rifqi Fuadi - A 0606101906 Ridho Budiharto - B 0606101345 Faruk Candra Farabi Bab 13. Konsep Penjadwalan * Komentar Umum Penjadwalan merupakan bagian yang sangat menarik

Lebih terperinci