Format Output Pada Pemrograman Java

Sebelumnya anda telah mengetahui mengenai print format, untuk menampilkan output dengan format tertentu melalui System.out.printf. Seringkali agan diminta untuk menampilkan angka dengan format-format khusus seperti:

public class Saldo {
  
    public static void main (String args []){
      
        double saldo = 1786462.654;
        double sukuBunga = 0.017;
        double bunga = saldo * sukuBunga;
      
        System.out.println("Bunga bank adalah Rp." + bunga);
    }

}


Output :
Bunga bank adalah Rp.30369.865118000005

Karena berkaitan dengan nilai mata uang, maka pada umumnya hanya diperlukan dua digit angka dibelakang koma pada outputnya.



Untuk melakukan hal ini agan dapat melakukannya dengan kode seperti ini:

public class Saldo {
   
    public static void main (String args []){
       
        double saldo = 1786462.654;
        double sukuBunga = 0.017;
        double bunga = saldo * sukuBunga;
       
        System.out.printf("Bunga bank adalah Rp.%4.2f", bunga);
    }

}


Output :
Bunga bank adalah Rp.30369.87

Syntax dari method tersebut adalah System.out.printf(format, item1, item2, ..., itemk);
Dimana format adalah string yang mungkin mengandung substring dan format specifiers.

Format specifiers ini akan menentukan bagaimana suatu item akan ditampilkan dengan format tertentu. Terus apa sajakan item itu? Item tersebut bisa berupa:

  • nilai Boolean
  • nilai numerik
  • karakter
  • string
Format specifiers sederhana terdiri dari tanda persen (%) dan kemudian diikuti oleh kode konversi. Berikut ini adalah format specifiers yang sering digunakan:


  • %s, output string, contoh : "Mari belajar java"
  • %e, ouput angka dalam notasi scientific, contoh: 3.447000e+01
  • %f, output angka floating-point, contoh: 37.850000
  • %d, output integer desimal, contoh: 500
  • %c, ouput character, contoh: 'z'
  • %b, output nilai Boolean, contoh true atau false
Contoh:

public class Contoh {
   
    public static void main (String args []){
       
        int angka = 10;
        double jumlah = 10;
       
        System.out.printf("angka adalah %d dan jumlah adalah %f", angka, jumlah);
    }

}

Output:
angka adalah 10 dan jumlah adalah 10.000000

Contoh lainnya:




 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
public class Contoh {
 
 public static void main (String args []){
  
  char a = 'a';
  
  Boolean b = true;
  Boolean c = false;
  
  int d = 3;
  int e = 300000;
  
  double f = 4567872.2897987;
  double g = 45.2897987;
  
  double h = 45678727.2897987;
  double i = 5.86;
  
  String j = "Mari belajar Java";
  String k = "k";
  
  /*Output character, menambahkan sembilan spasi
   sebelum item character, karena lebarnya adalah 10
  */
  System.out.printf("Character a adalah %10c\n", a);
  System.out.println("----------------------------------");
  
  /*Output nilai Boolean, menambahkan satu spasi
   sebelum nilai false dan menambahkan dua spasi sebelum nilai true
  */
  System.out.printf("Boolean b adalah %6b\n", b);
  System.out.printf("Boolean c adalah %6b\n", c);
  System.out.println("----------------------------------");
  
  /*Output integer, menambahkan spasi jika nilai int <5
    dan jika > 5 maka ukuran lebar berkurang secara otomatis
  */
  System.out.printf("int d adalah %5d\n", d);
  System.out.printf("int e adalah %5d\n", e);
  System.out.println("----------------------------------");
  
  /*Output item desimal dengan lebar setidaknya 10 termasuk titik desimal 
   dan dua digit setelah titik desimal. Oleh karena itu terdapat 7 digit 
   tersedia sebelum titik desimal. Jika jumlah angka sebelum titik desimal <7, 
   spasi akan ditambahkan sebelum angka tersebut, dan jika > 7 maka 
   ukuran lebar berkurang secara otomatis
  */
  System.out.printf("int f adalah %10.2f\n", f);
  System.out.printf("int g adalah %10.2f\n", g);
  System.out.println("----------------------------------");
  
  /*Output item desimal dengan lebar setidaknya 10 termasuk titik desimal, 
   dua digit setelah titik desimal dan bagian eksponen.
  */
  System.out.printf("Notasi scientific h adalah %10.2e\n", h);
  System.out.printf("Notasi scientific i adalah %10.2e\n", i);
  System.out.println("----------------------------------");
  
  /*Output item string dengan lebar setidaknya 12 karakter, 
  jika string memiliki karakter <12, maka spasi ditambahkan,
  dan jika karakter >12, maka spasi otomatis berkurang
  */
  System.out.printf("String j adalah %10s \n", j);
  System.out.printf("String k adalah %10s", k);
  
 }

}

Output:
Character a adalah          a
----------------------------------
Boolean b adalah   true
Boolean c adalah  false
----------------------------------
int d adalah     3
int e adalah 300000
----------------------------------
int f adalah 4567872.29
int g adalah      45.29
----------------------------------
Notasi scientific h adalah   4.57e+07
Notasi scientific i adalah   5.86e+00
----------------------------------
String j adalah Mari belajar Java
String k adalah          k

Tidak ada komentar

Bahasa Java. Diberdayakan oleh Blogger.