Thread dan Multithreading,

dokumen-dokumen yang mirip
HP:

PEMROGRAMAN JAVA : STREAM DAN FILE

STREAM DAN FILE. PipedInputStream, SequenceInputStream, dan StringBufferInputStream.

PEMROGRAMAN JARINGAN MODUL 3 STREAM

PRAKTIKUM 7 DASAR INPUT OUTPUT

Pertemuan ke-1 STREAM DAN IO. A. TUJUAN : Mampu mengimplementasikan kelas-kelas untuk menangani aliran data.

PRAKTIKUM 8 FILE INPUT OUTPUT

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

I/O (Input dan Output)

PENGENALAN JAVA (2)

A. TUJUAN PEMBELAJARAN

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

IOSTREAM bagian 2. Kholid Fathoni

Pertemuan 7 File pada Java

Objek Stream, Akses File & Exception Handling

Materi kuliah I/O & FILE. Ir. Roedi Goernida, MT.

PERTEMUAN V STREAM DAN OOP TUJUAN PRAKTIKUM. 2. Praktikan memahami pemrograman berbasis objek dengan mengetahui karakteristik OOP.

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

BAB Argument Command-Line dan System Properties

A. TUJUAN PEMBELAJARAN

Overview I/O Streams Byte stream & Character Stream Hirarki class pada package java.io Read & write streams

Dapat dicompile dan mendapat output hai. Dapat dicompile dan mendapat output disana

2. Pernyataan mana yang dapat kita laksanakan dengan menggunakan class File? Mengganti direktori tempat bekerja saat ini

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

CompileError - The method write(int) in the type FileOutputStream is not applicable for

12.2 Tipe-Tipe Stream yang Umum Digunakan

Java Progamming Multithreading

Pemrograman Jaringan 4. Java IO

Introduction To Stream

Bahasa Pemrograman :: Dasar Pemrograman Java

MODUL VIII Exception, I/O, dan Operasi File

PENGAKSESAN FILE DI JAVA

//PROGRAM " tidak dapat dibaca")); import java.io.file; Date tanggal = new Date(); import java.io.ioexception;

I/O Streams. Oleh Kholid Fathoni

Modul 3 Flow Control dan Input

Pemrograman Socket menggunakan TCP

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

BAB 2 INPUT DARI KEYBOARD

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

BAB 5 Mendapatkan Input dari Keyboard

Operasi File. terdapat 5 konstruktor dan 7 method untuk membuat file yang akan diakses menggunakan byte stream.

APLIKASI CHAT ANTAR PC

BAB 5 Mendapatkan Input dari Keyboard

Mendapatkan Input Dari Keyboard

1.Tujuan. 2. Latar Belakang. Tahu tipe-tipe stream yang umum digunakan Menggunakan class File dan methodnya

Nama Lengkap : Muiz Lidinillah NIM :

PEMROGRAMAN SOCKET LANJUTAN

Thread. 16 th week Estu Sinduningrum ST,MT

Input Nilai tanpa Case String di Java

PEMROGRAMAN II. By : Sri Rezeki Candra Nursari. Penilaian : Gasal TA 2011/2012. UAS (lisan) = 35 % UTS = 25 % Tugas = 15 % Praktikum = 25 %

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

Modul Praktikum Pemrograman

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

Program Java Sesi 1. Arief Susanto

A. TUJUAN : Dapat mengimplementasi-kan kelas-kelas Java yang digunakan dalam pemrogaman jaringan.

Riwayat Pendidikan: SDK Lemuel II, Pos Pengumben, Jakarta Barat SMPK Lemuel, Pos Pengumben, Jakarta Barat SMUN 78, Kemanggisan, Jakarta Barat

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

PEMROGRAMAN BERORIENTASI OBJEK

Tidak perlu ditentukan jumlah karakternya Inisialisasi iili i: Langsung tanpa kata kunci new Langsung dengan kata kunci new

LAPORAN PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK

MK. Pemrograman Berorientasi Objek. Input dari Keyboard. Karmilasari

if (ekspresi_boolean) { Pernyataan1; } else { Pernyataan2; }

PEMROGRAMAN JAVA : THREAD

Pemograman Java. Input(ii) String Function Pengulangan(FOR-While-DoWhile) Yoannita, S.Kom

if (ekspresi_boolean) {

Pertemuan III [STRUKTUR KONTROL] CariGrade.java Program mencari grade nilai menggunakan struktur control if-else

LAMPIRAN A: SOURCE CODE PROGRAM CLASS METODE

Sesi 8. Event Handling & Exception Handling. Tujuan Intruksional

KONVERSI DATA DAN INPUT DATA

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

PEMROGRAMAN BERORIENTASI OBJEK

Cara Membaca File Text di JAVA

OPERASI FILE & EXCEPTION HANDLING. Herman Tolle

BAB 1 KONSEP DASAR JAVA

PRAKTIKUM 17 MENANGANI EXCEPTION

MESIN ATM. Gambar 1. Gambar 2

Pertemuan 3 Struktur Perulangan pada Java

10.1 Konsep dasar jaringan

Exception Handling and Multithreading

IKG2I4 / Software Project I

PERTEMUAN 3 OBJEK DAN CLASS

Pertemuan 2 Struktur Kontrol Percabangan

Exception. Oleh: Mike Yuliana PENS-ITS

Tujuan Intruksional. Mampu menjelaskan tentang event handling Mampu menjelaskan tentang method Mampu menggunakan event handling Mampu membuat method

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

IF2281 Pemrograman Berorientasi Objek Program kecil Pelengkap Diktat. import java.io.*; import java.util.scanner; class IO {

BAB II VARIABEL DAN TIPE DATA

PEMROGRAMAN JAVA : EXCEPTION

2 TIPE DATA DAN VARIABEL

Struktur Data dan Algoritma IKI10400 Semester Gasal 2010/2011 Fakultas Ilmu Komputer Universitas Indonesia

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Elemen Dasar Dalam Bahasa Java

Metode Sequential Searching di Java Console

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

Percabangan dan Perulangan

Pemrograman JAVA INPUT-OUTPUT

BAB III SEKUENSIAL 3.1. Kompetensi Dasar 3.2. Perintah Masukan a. Scanner

PEMAHAMAN DASAR DASAR JAVA

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Transkripsi:

Thread dan Multithreading, I/O Stream, dan OperasiFile il Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM Smart, Trustworthy, And Teamwork

Outline Materi 1. Thread dan Multithreading 2. I/O Stream 3. Operasi Berkas (File)

Thread ddan Multithreading

Konsep Thread Thread: sekumpulan instruksi (proses) yang dieksekusi secara independen Multithreading: suatu kemampuan yang memungkinkan beberapa kumpulan instruksi (proses) dijalankan secara bersamaan (time slicing) dalam sebuah program

Multithreading bermanfaat untuk membuat proses yang interaktif, misalnya pada program permainan (game). Program tetap dapat menggerakkan beberapa objek sambil memberi kesempatan pengguna melakukan respon melalui mouse atau keyboard

Penggunaan Thread 1. Membuat class yang mengimplementasi interface Runnable dan method run() class NamaClass implements Runnable{ public void run(){... 2. Membuat class yang merupakan turunan class Thread dan meng override method run() class NamaClass extends Thread { public void run(){...

Method Class Thread static Thread currentthread() String getname() int getpriority() Boolean isalive() void join() void join(long millis) void join(long millis) void run() String setname() static void sleep(longmillis) static void sleep(longmillis, int nanos) void start()

class Mobil implements Runnable{ String nama; public Mobil(String id){ nama = id; public void run(){ for(int i=0;i<5; i++){ try{ Thread.currentThread().sleep(1000); catch(interruptedexception ie){ System.out.println("Terinterupsi"); System.out.println("Thread" + nama + ": Posisi " +i); public class ThreadBeraksi1{ 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(); ThreadBeraksi1.java

class Mobil extends Thread{ public Mobil(String id){ super(id); public void run(){ String nama = getname(); for(int i=0; i<5; i++){ try{ sleep(1000); catch(interruptedexception ie){ System.out.println("Terinterupsi"); System.out.println("Thread" + nama + ": Posisi " +i); public class ThreadBeraksi2{ public static void main(string[] args){ Mobil m1 = new Mobil("M 1"); Mobil m2 = new Mobil("M 2"); m1.start(); m2.start(); ThreadBeraksi2.java

I/O Stream

Apa Itu I/O Stream Stream adalah proses membaca data dari suatu suatu sumber (input) atau mengirimkan data ke suatu tujuan (output) System.out.println() adalahcontoh stream, yang berfungsi menampilkan data (informasi) ke layar Variabel standard stream: 1. System.in (default: keyboard) 2. System.out (default: layar) 3. System.err (default: console) l)

Konsep I/O Stream (Input)

Jenis I/O Stream 1. Byte Stream Untuk menulis atau membaca data biner InputStream dan OutputStream adalah dua class abstrak tertinggi dari Byte Stream 2. Character Stream Untuk menulis dan membaca data karakter (unicode) Reader dan Writer adalah duaclass abstrak tertinggi dari Character Stream

Byte Stream Class Turunan BufferedInputStream BufferedOuputStream ByteArrayInputStream ByteArrayOuputStream DataInputStream DataOutputStream FileInputStream FileOutputStream tst PrintStream

Method Class InputStream int available() void close() void mark(int readlimit) booleanmarksupported() int read() int read(byte[] b) int read(byte[] b, int off, int len) void reset() long skip(long n)

Method Class OutputStream void close() void flush() void write(byte[] t b) void write(byte[] b, int off, int len) abstractvoid write(intb)

Membaca Input dari Console class InputStreamBeraksi{ public static void main(string[] args) throws IOException{ byte[ ] data = new byte[10]; System.out.println("Ketik 10 buah karakter:"); System.in.read(data); System.out.println( println("karakter yang anda ketik adalah:"); for(int i=0; i<data.length; i++){ System.out.print((char) data[i]);

Membaca Input dari File import java.io.*; class FileInputStreamBeraksi{ public static void main(string[] args) { if (args.length==0) { System.out.println("Masukkan nama file sebagai parameter!"); byte data; FileInputStream fin=null; try{ fin = new FileInputStream(args[0]); do{ data = (byte)fin.read(); System.out.print((char)data); ) while(data!=-1); catch(filenotfoundexception e){ System.out.println("File: " + args[0] + "tidak ditemukan."); catch(ioexception e){ System.out.println("Ekspresi tidak diketahui : " + e) ; finally{ if(fin!=null){ try{ fin.close(); catch(ioexception err){ System.out.println("Ekspresi tidak diketahui : " + err);

Menulis Output ke Console class OutputStreamBeraksi{ public static void main(string[] args) throws IOException{ byte[] data = {'a','b','c','d','e','f','g'; System.out.write(data,3,4); System.out.write('\n'); System.out.write(data);

Menulis Output ke File class FileOutputStreamBeraksi{ public static void main (String[] args) { if (args.length==0) {System.out.println("Error: tulis nama file!"); byte data; byte data; OutputStream fout=null; try{ fout = new FileOutputStream(args[0]); System out println ("Ketik data yang ingin Anda tulis ke file Q untuk berhenti"); System.out.println ( Ketik data yang ingin Anda tulis ke file. Q untuk berhenti ); data = (byte)system.in.read(); while(data!=(byte)'q') { fout.write(data); dt (b t )S t i d() data = (byte)system.in.read(); catch(filenotfoundexception e) { System.out.println("file : " + args[0] + " tidak dapat dibuka atau dibuat."); catch(ioexception e) { System.out.println("Ekspresi tidak diketahui : " + e); finally { if(fout!=null) { try{ fout.close(); catch(ioexception err) { System.out.println("Ekspresi tidak diketahui : " + err);

Program Copy Isi File (Byte) public class CopyBytes { public static void main(string[] args) throws IOException { FileInputStream in = null; FileOutputStream out = null; try { in = new FileInputStream("filesumber.txt"); out = new FileOutputStream("filetujuan.txt"); int c; finally { while ((c = in.read())!= 1) { out.write(c); if (in!= null) { in.close(); if (out!= null) { out.close();

Character Stream Class Character Stream BufferedReader BufferedWrite CharArrayReader CharArrayWriter InputStreamReader OutputStreamWriter FileReader FileWriter PrintWriter StringReader StringWriter

Method Character Stream abstractvoid close() void mark(int readaheadlimit boolean marksupported() int read() int read(char[] cbuf) abstract int read(char[] cbuf, int off, int len) void reset() long skip(long n)

Membaca Input dari Console (Karakter) class CharReaderBeraksi{ public static void main(string[] args) throws IOException{ char data; String str = ""; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Ketik ik sejumlah karakter, k akhiri i dg Q"); data =(char) br.read(); while(data!='q'){ str += data; data = (char) br.read(); System.out.println( println("karakter yang anda ketik: " + str);

Method Class Writer abstract void close() abstract void flush() void write(char[] cbuf, int off, intl len) void write(int c) void write(string str) void write(string str, int off, int len)

Menulis Output ke Console import java.io.*; class WriterBeraksi{ public static void main(string[] args) throws IOException{ PrintWriter pw = new PrintWriter(System.out,true); pw.println("menulis ke console dengan karakter stream");

Menulis Output tke File class FileWriterBeraksi{ public static void main (String[] args) { if (args.length==0){ length==0){system.out.println( println("error: tulis namafile!"); String data; FileWriter fout=null; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); try{ fout = new FileWriter(args[0]); System.out.println("Ketik data ke file.ketik BERHENTI untuk berhenti"); data = br.readline(); while(!data.equals("berhenti")) ( )){ fout.write (data + "\r\n"); data = br.readline(); catch(filenotfoundexception e) { System.out.println( println("file : " + args[0]+" tidak dapat dibuka atau dibuat. "); catch(ioexception e) { System.out.println("Ekspresi tidak diketahui : " + e); finally { if(fout!=null) { try{ fout.close(); catch(ioexception err) { System.out.println("Ekspresi tidak diketahui : " + err);

Program Copy Isi File (Character) public class CopyCharacters Ch { public static void main(string[] args) throws IOException { FileReader inputstream = null; FileWriter outputstream = null; try { inputstream = new FileReader("filesumber.txt"); outputstream = new FileWriter("filetujuan.txt"); int c; while ((c = inputstream.read())!= -1) { outputstream.write(c); (); finally { if (inputstream!= null) { inputstream.close(); if (outputstream!= null) { outputstream.close();

Program Copy Isi File (Line) public class CopyLines { public static void main(string[] args) throws IOException { BufferedReader inputstream = null; PrintWriter outputstream = null; try { inputstream = new BufferedReader(new FileReader("filesumber.txt")); outputstream = new PrintWriter(new FileWriter("filetujuan filetujuan.txt txt")); String l; while ((l = inputstream.readline())!= null) { outputstream.println(l); p (); finally { if (inputstream!= null) { inputstream.close(); if (outputstream!= null) { outputstream.close();

Operasi Berkas (File) dengan Class File

Class File Class File adalah class yang mendukung berbagai operasi yang berhubungan dengan berkas (file) dan direktori(folder) Penggunaannya misalnya untuk mengganti nama atau membuat file atau direktori Konstruktor class File: File(String nama) File(String induk, String anak) File(File induk, String anak)

Method Class File Method abstractvoid close() abstract void flush() void write(char[] cbuf, int off, int len) void write(char[] cbuf, int off, int len) void write(string str) void write(string str, int off, int len)

Menampilkan Atribut File public class InfoFile{ public static void main(string[] args){ BufferedReader StreamTeks=new BufferedReader(new InputStreamReader (System.in)); System.out.println("Masukan nama file:"); String namaberkas = ""; try {namaberkas = StreamTeks.readLine(); catch (IOException i){ File berkas = new File(namaBerkas); if (!berkas.exists()){ ()){ System.out.println("Berkas t tl inii tk tak ada"); if (berkas.isdirectory()) System.out.println("Direktori" if (berkas.isfile()) System.out.println("Berkas biasa"); if (berkas.ishidden()) ()) System.out.println("Tersembunyi"); y if (berkas.canread()) System.out.println("Bisa dibaca"); if (berkas.canwrite()) System.out.println("Bisa ditulisi"); if (berkas.canread()) System.out.println("Bisa dibaca"); if (berkas.isabsolute()) ()) System.out.println("path absolut"); else System.out.println("path relatif"); System.out.println("Induk : " + berkas.getparent()); System.out.println("Path : " + berkas.getpath()); System.out.println("Path Absolut : " + berkas.getabsolutepath()); System.out.println("Nama : " + berkas.getname()); System.out.println("Ukuran : " + berkas.length() +" byte");

Menghapus File public class HapusFile{ public static void main (String[] args) { String namafile = "filetujuan.txt"; try { FileOutputStream berkastem = new FileOutputStream(namaFile); berkastem.close(); catch (IOException i) { File berkas = new File (namafile); if (berkas.exists()) ()) System.out.println("Berkas " + namafile + " ada"); else System.out.println("Berkas " + namafile + " sudah dihapus"); berkas.delete(); System.out.println("Setelah penghapusan..."); if (berkas.exists()) System.out.println("Berkas " + namafile + " ada"); else System.out.println("Berkas " + namafile + " sudah dihapus");

Mengganti Nama File public class GantiNamaFile { public static void main(string[] args) { String namafile = "FileBaru.txt"; try { FileOutputStream berkastem=new FileOutputStream (namafile); berkastem close() catch (IOException i) { File berkassemula= new File(namaFile); File berkasbaru = new File("NamaBaru.txt"); t") berkassemula.renameto(berkasbaru); System.out.println("Nama sudah diganti");

Membuat Directory public class BuatDir { public static void main(string [] args) { String namadir = "latihan"; File dir = new File (namadir); dir.mkdir();

Mengakses Data NonSekuensial public class RandomAccessFileBeraksi{ i{ public static void main(string [] args) throws IOException{ RandomAccessFile berkas = new RandomAccessFile("latihan.txt", "rw"); berkas.writebytes( writebytes("abcdefghijklmnopqrstuvw"); char kar = ' ; berkas.seek(0); System.out.println("isi berkas: "); while(berkas.getfilepointer() < berkas.length()) { kar = (char) berkas.readbyte(); System.out.print(kar); System.out.println(); berkas.seek(3); berkas.writebyte((int)'z'); System.out.println("Sesudah penggantian"); berkas.seek(0); System.out.println("isi berkas: "); while (berkas.getfilepointer() < berkas.length()) { kar = (char) berkas.readbyte(); System.out.print(kar);

Terimakasih