Menformat Output Dengan Printf Java
Pemformatan Print Menggunakan Printf di Java
System.out.printf memang tidak umum untuk digunakan karena memang kita harus memformat sendiri karakter yang akan kita print berbeda sekali dengan System.out.print dan System.out.println yang di mana kita tidak perlu menformat karakter yang akan di print kalaupun kita menformat karakter di System.out.print dan System.out.println paling itu hanya sekedar tanda + untuk menggabungkan String dengan variable misalnya ataupun escape character seperti /n,/f,/r dan /u
Namun dengan menggunakan System.out.printf kita bisa menformat karakter dengan lebih expert lagi seperti mengubah huruf jadi besar semua, membatasi jumlah karakter, membulatkan bilangan dll akan saya bahas di sini
Karakter Konversi
Sebelum memulai, kita harus tahu dulu apa karakter konversi untuk masing-masing tipe data di java.Karakter konversi ini sangat penting untuk menentukan bagaimana karakter dengan tipe data tersebut di format
s | String |
b | Boolean |
c | Char |
d | Integer (Short,Byte,Long juga berlaku) |
f | Float dan Double |
t | Tanggal dan Waktu |
n | baris baru |
1) Penformatan String
String merupakan tipe data untuk menyimpan tulisan beberapa karakter sekaligus.Untuk menggunakan String kita memakai " untuk awal dan akhir String misalnya "Nama"
%s digunakan untuk menformat karakter dengan tipe data String untuk cara menulisnya seperti ini
%s untuk katanya lalu %n untuk menuju ke baris baru.Kalau kita ingin hurufnya besar semua kita bisa mengganti %s dengan %S
Kalau kita ingin lebar karakter tertentu kita bisa menggunakan %10s (untuk 10 karakter)
Karena “Dewan” di sini cuma 5 karakter maka akan menyisakan 5 spasi di sebelah kiri dan karena “Tara” di sini hanya 4 karakter maka akan menyisakan 6 spasi di sebelah kiri
Kalau kita memasukkan jumlah karakter yang lebih sedikit misalnya 4 karakter untuk “Dewan” maka yang tercetak tetap full “Dewan” tanpa ada spasi sedikitpun
Kalau kita ingin ada spasi di sebelah kanan kita bisa memakai %-10s
Kita hilangkan dulu %n hanya untuk membuktikan kalau penformatan ini bekerja.Kita lihat kalau “Dewan” memberikan 5 spasi di sebelah kanan lalu “Tara” baru di cetak
Kita bisa juga memberi batas minimal dan maksimal karakter yang bisa dimasukkan dengan menggunakan %5.8s (jumlah minimal karakter 5 dan maksimal nya 8)
Hanya “Dewantar” yang dicetak karena kita sudah membatasi jumlah karakter maksimalnya adalah 8 sedangkan “Dewantara” memiliki 9 karakter
2) Penformatan Integer
Integer merupakan tipe data untuk menyimpan bilangan bulat untuk cara menggunakannya adalah langsung saja tulis angkanya misal 7 kalau mau dimasukkin ke variabel caranya adalah menulis int namavariabel = nilai; contoh int a =7;
Untuk Integer,kita menggunakan %d untuk menformatnya
Di sini kita mencetak “Jumlah Warna Pelangi ada” kemudian untuk mencetak 7 kita menggunakan %d lalu %n untuk berpindah ke baris baru
Biasanya kalau kita menyatakan angka ribuan dan seterusnya kita akan memerlukan tanda pemisah setiap 3 angka kita bisa memakai tanda koma setelah % jadi %,d
Untuk tipe data Short, Byte dan Long juga bisa menggunakan %d untuk penformatannya
3) Penformatan Float dan Double
float dan double adalah tipe data untuk menyatakan bilangan desimal.Perbedaan nya float memiliki presisi 7 digit sedangkan double memiliki presisi 15 digit.Untuk float kita harus menggunakan huruf f misalnya 7.5f sedangkan untuk double kita tidak perlu memakai huruf misalnya 7.5
Kita bisa menggunakan %f untuk menformat float dan double.Seperti ini contohnya
Kalau kita ingin membatasi lebar angka dan desimalnya kita bisa menggunakan format %5.2f (5 untuk lebar angka dan 2 untuk banyak bilangan desimal maksimalnya)
4) Penformatan Boolean
Kita memakai %b untuk Boolean. Kalau kalian belum tahu,Boolean hanya memiliki 2 nilai yaitu true dan false.true untuk menyatakan kondisi benar dan false untuk menyatakan kondisi salah
Sama seperti String,kalau kita ingin tulisan true atau false dengan huruf besar maka tinggal diganti saja dengan %B
Kita menyatakan a dengan nilai 25 dan b dengan nilai 30 lalu kita menyatakan Boolean c dengan a>b.Karena 25 tidak lebih besar dari 30 maka nilai c adalah false.
Kita cetak dulu “25 lebih besar dari 30” lalu jika c kita format dengan %B maka akan menghasilkan output “25 lebih besar dari 30 adalah FALSE”
Untuk lebih memahami tentang tipe data Boolean anda bisa mempelajari operator relasi,kondisional dan logika di java
Percabangan dan perulangan juga sangat berkaitan dengan tipe data Boolean ini
5) Penformatan Char
Char merupakan tipe data khusus untuk menyimpan satu karakter saja dan untuk menggunakannya harus pakai tanda apostrophe (‘) misalnya ‘a’.
Untuk penformatan char sendiri menggunakan %c sama seperti tipe data yang lain menggunakan huruf besar akan menformat karakter tersebut menjadi huruf besar
Kita cetak dulu “UniCode 0049 adalah huruf” %c untuk menformat char %n untuk baris baru kemudian ‘\u0049’ merupakan escape character untuk mendapatkan huruf I berdasarkan UniCode
6) Penformatan Tanggal dan Waktu
Untuk bisa menampilkan tanggal dan waktu kita perlu mengimpor class java.util.Date.
a) Penformatan Tanggal
kalau kita ingin tanggal saja tanpa format apapun kita bisa memakai %tD
package mainclass;
import java.util.Date;
public class MainClass {
public static void main(String[] args) {
Date waktu = new Date();//buat objek bernama waktu dari class Date
System.out.printf("%tD%n", waktu);//menformat tanggal
}
}
kode tersebut akan menghasilkan output
01/20/20formatnya adalah bulan/hari/tahun untuk penformatan yang lebih jauh kita membutuhkan karakter tambahan seperti berikut
A | Nama Hari Secara Penuh contoh Monday |
a | Nama Hari Secara Singkat contoh Mon |
B | Nama Bulan Secara Penuh contoh January |
b | Nama Bulan Secara Singkat contoh Jan |
Y | 4 Digit Tahun contoh 2020 |
d | 2 digit tanggal contoh 02 |
e | hari dari bulan contoh 2 |
m | 2 digit bulan contoh 05 |
y | 2 digit terakhir tahun contoh tahun 2015 akan menjadi 15 |
j | Hari ke dari tahun contoh 257 |
untuk memakai karakter tersebut kita perlu karakter '%1$t' didepannya sebagai contoh %1$tA'
b) Penformatan Waktu
Kalau kita cuma ingin menampilkan waktu tanpa diformat terlebih dahulu kita bisa memakai %tT
format standarnya adalah jam:menit:detik
H | 2 digit jam 0-23 contoh 21 |
I | 2 digit jam 0-12 |
k | sama seperti H hanya saja tidak pakai 0 kalau 1 digit contoh 2 |
l | sama seperti I hanya saja tidak pakai 0 kalau 1 digit contoh 2 |
M | 2 digit menit |
S | 2 digit detik |
p | untuk tanda am dan pm |
z | Offset waktu dari GMT contoh +0700 |
Z | nama zona waktu contoh ICT |
untuk menerapkan beberapa format sekaligus kita harus menggunakan "%1$t" sama seperti penformatan tanggal
contoh penerapan
c) Format lain untuk tanggal dan waktu
kita bisa menggunakan %tr untuk menampilkan waktu dalam format 12 jam dengan penanda am atau pm
%tF untuk menampilkan tanggal dengan format tahun-tanggal-bulan
%tc untuk menampilkan tanggal dan waktu sekaligus sama dengan format "%1$ta %1$tb %1$td %1$tT %1$tZ %1$tY"
Mungkin itu saja dulu postingan tentang cara menformat output menggunakan printf di java.Semoga bisa bermanfaat dan terima kasih
Post a Comment for "Menformat Output Dengan Printf Java"
Jangan spam atau promosi di sini jgn juga taruh link aktif kalau mau dapat backlink bisa taruh di profil saja (Name/URL)