TIPE DATA DAN INPUT/OUTPUT Matakuliah Tahun Versi : T0974 / Algoritma dan Metode Object Oriented Programming I : 2008 : 1/0 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: – Menggunakan jenis-jenis tipe data sesuai dengan kebutuhan pemrograman – Menggunakan sintaks untuk melakukan operasi input dan output Bina Nusantara Outline Materi • • • • • • • Tipe Data Input/Output (I/O) Format Output Type Casting (Conversion) ASCII Import Konstanta Bina Nusantara Tipe Data • Merupakan atribut yang memiliki rentangan nilai dan jenisnya (tipe) • Digunakan untuk menyimpan nilai dan eksekusi operasi • Berdasarkan nilai yang disimpan: – – – – Bina Nusantara Boolean (boolean) Numeric (byte, short, int, long, float, double) Character (char) String (String) Tipe Data • Berdasarkan pembagian: – Atomic DT (boolean, byte, char, short, int, long, float, double) – Composite DT (Array, Struct, List, Queue, Stack, String, Tree) • Berdasarkan asalnya: – Native / primitive / basic DT (sama dengan Atomic) – Abstract DT (sama dengan Composite) • Berdasarkan pembuatannya: – Built-in DT (sama dengan Atomic) – User-defined DT (sama dengan Composite) Bina Nusantara Tipe Data Nama boolean byte char short int long float double Bina Nusantara Rentang true, false -27 (-128) to 27 – 1 (127) 0 to 65,535 -215 (-32,768) to 215 – 1 -231 (-2,147,483,648) to (2,147,483,647) -263 to 263 – 1 -3.4E38 to 3.4E38 -1.798E308 to Ukuran 1 bit 8 bit 16 bit 16 bit 32 bit Class Boolean Byte Character Short Integer 64 bit 32 bit 64 bit Long Float Double Tipe Data Nama file: TipeData.java Output: Bina Nusantara Input / Output (I/O) • Komunikasi antara komputer dengan pihak luar (manusia / mesin) • Input: Signal/data yang diterima oleh sistem • Output: Signal/data yang dikirim dari sistem • Proses I/O disebut “I/O perform” atau “I/O Operation” Bina Nusantara Input / Output (I/O) • Contoh perangkat input: keyboard, mouse • Contoh perangkat output: monitor, printer • Contoh perangkat input dan output: disk, file Bina Nusantara Input / Output (I/O) • Mengambil input dari console menggunakan Scanner • Diperlukan deklarasi import: import java.util.Scanner; • Deklarasi penciptaan object: Scanner input = new Scanner(System.in); Bina Nusantara Input / Output (I/O) Method next(); nextLine(); nextByte(); nextShort(); nextInt(); nextLong(); nextFloat(); nextDouble(); Bina Nusantara Kegunaan Menginput string (kata) Menginput string (kalimat) Menginput bilangan (byte) Menginput bilangan (short) Menginput bilangan (int) Menginput bilangan (long) Menginput bilangan (float) Menginput bilangan (double) Input / Output (I/O) Bina Nusantara Input / Output (I/O) Bina Nusantara Input / Output (I/O) Specifier Description Output %b boolean %6b ˽false ˽˽true %c character %5c ˽˽˽˽a %d integer %5d ˽˽˽69 1234567 %f Floating-point %5.2f ˽˽3.14 ˽20.60 %e scientific %10.2e ˽˽3.14e+02 %s string %10s ˽˽˽˽˽hello • Ket: ˽ spasi Bina Nusantara Example Input / Output (I/O) Specifier Description Output %b boolean %-6b false˽ true˽˽ %c character %-5c a˽˽˽˽ %d integer %-5d 69˽˽˽ 1234567 %f Floating-point %-5.2f %e scientific %s string • Ket: ˽ spasi Bina Nusantara Example 3.14˽˽ 20.60˽ %-10.2e 3.14e+02˽˽ %-10s hello˽˽˽˽˽ Input / Output (I/O) Bina Nusantara Input / Output (I/O) • System.out.print mencetak ke console tanpa diakhiri linefeed (newline) • System.out.println mencetak ke console dengan diakhiri linefeed (newline) • System.out.printf sama seperti System.out.print, mendukung format output Bina Nusantara Type Casting (Conversion) • Operasi konversi nilai antar tipe data yang berbeda • Jenis type casting (conversion): – Widening a type: konversi (cast) nilai dari tipe data yang lebih kecil ke tipe data yang lebih besar (dilakukan secara otomatis oleh Java) – Narrowing a type: konversi (cast) nilai dari tipe data yang lebih besar ke tipe data yang lebih kecil (diperlukan secara eksplisit) • Urutan ukuran tipe data byte, short, int, long, float, double Bina Nusantara Type Casting (Conversion) • Sintaks untuk narrowing casting menggunakan tanda kurung “(tipe data)” • Contoh 1: – float f = (float) 10.1; – int i = (int) f; • Contoh 2: – double d = 4.5; – int i = (int) d; • Pada contoh 1-2 di atas, nilai dari f dan d tidak berubah Bina Nusantara Type Casting (Conversion) Bina Nusantara Type Casting (Conversion) • Konversi dari String ke tipe data atomik dapat dilakukan dengan bantuan kelas: Class Konversi ke tipe data Pemakaian Boolean boolean Boolean.parseBoolean(…); Byte byte Byte.parseByte(…); Character char String.charAt(<index>); Short Integer Long short int long Float Double float double Bina Nusantara Short.parseShort(…); Integer.parseInt(…); Long.parseLong(…); Float.parseFloat(…); Double.parseDouble(…); Type Casting (Conversion) Bina Nusantara Type Casting (Conversion) Bina Nusantara Type Casting (Conversion) Bina Nusantara ASCII • American Standard Code for Information Interchange • 7-bit, 128 karakter (000 s/d 127) • Berupa: uppercase/lowercase letters, digits, punctuation marks, dan control characters • Perkembangan lanjut dari ASCII Unicode (terdiri dari 1,112,064 karakter) Bina Nusantara ASCII Bina Nusantara ASCII Bina Nusantara ASCII Bina Nusantara Type Casting (Conversion) cont. • ASCII karakter ‘0’ s/d ‘9’ – ‘0’ 48 – ‘1’ 49 – ‘9’ 57 • Konversi karakter ke bilangan dikurangi nilai 48 • Konversi bilangan ke karakter ditambahi nilai 48 Bina Nusantara Type Casting (Conversion) cont. Bina Nusantara Konstanta • Data permanen yang tidak dapat diubah • Contoh: – π (PHI) = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 – g (gravitation) = 9.8 • Konstanta harus dideklarasikan dan diinisialisasikan pada sebuah statement • final merupakan keyword pada Java untuk pembuatan konstanta • Deklarasi: – final datatype CONSTANTNAME = VALUE; – Contoh: final double PHI = 3.1415; Bina Nusantara Konstanta Bina Nusantara Did You Know? • Pada saat pemakaian Scanner, diperlukan deklarasi “import java.util.Scanner;” • Hal ini dikarenakan Scanner merupakan kelas yang perlu di-include • Pemakaian System tidak memerlukan deklarasi “import java.lang.System;” • Hal ini dikarenakan Java secara otomatis telah meng-import semua isi “java.lang” untuk setiap aplikasinya Bina Nusantara Did You Know? • Isi java.lang sering digunakan: – – – – – – – – – – – – Bina Nusantara Boolean Byte Character Double Float Integer Long Math Short String System Thread Advanced Learning • Selain menggunakan Scanner, inputan dari console dapat menggunakan BufferedReader • Diperlukan deklarasi import: import java.io.BufferedReader; import java.io.InputStreamReader; • Deklarasi penciptaan object: BufferedReader input = new BufferedReader (new InputStreamReader(System.in)); • Method read(); untuk membaca karakter tunggal • Method readLine(); untuk membaca kalimat Bina Nusantara Advanced Learning Bina Nusantara Advanced Learning • Deklarasi import seperti: import java.io.BufferedReader; import java.io.InputStreamReader; dapat diringkas menjadi: import java.io.*; • Penggunaan try and catch akan dibahas di pertemuan berikutnya (Exception Handling) Bina Nusantara Referensi • Introduction to Java. 7ed. 2009. Liang. p60, p67-71, p7981, p117-118, p1300-1301 • Java Software Solutions. 5ed. 2007. Lewis. p99-103, p111-114 • The Complete Reference: Java. 5ed. 2005. Herbert. p33-48 • Dasar Pemrograman Java2. 2004. Abdul Kadir. p66-73 • Composite Data Types. http://remote.science.uva.nl/~heck/JAVAcourse/ch4 • Data Type. http://en.wikipedia.org/wiki/Data_type • Primitive Data types. http://java.sun.com/docs/books/tutorial/java/nutsandbolts /datatypes.html • Primitive Data types. http://en.wikipedia.org/wiki/Primitive_type Bina Nusantara