Sistem Output pada Bahasa Java
Pada kesempatan kali ini kita akan membahas tentang cara menampilkan tulisan di layar konsol dengan bahasa Java.
Kita sudah melihat method System.out.println
pada program "Hello World", method ini adalah satu dari beberapa cara untuk mencetak sesuatu di layar konsol, atau yang kita sebut sebagai sistem output.
Selain method ini sebenarnya masih ada cara lainnya. Secara umum terdapat 3 method untuk menampilkan output pada Java yaitu:
System.out.print
— Mencetak tanpa pindah barisSystem.out.println
— Mencetak dengan pindah barisSystem.out.printf
— Mencetak dengan format tertentu
Mari kita bahas lebih lanjut..
Sistem Output dengan System.out.print
dan System.out.println
Karena mirip, kita bahas 2 method ini sekaligus saja.
Baik System.out.print
maupun System.out.println
memiliki fungsi yang sama, yaitu mencetak apapun yang dimasukkan sebagai argumen ke layar konsol atau standard output.
Bedanya adalah, System.out.print
akan mencetak ke kanan, sedangkan System.out.println
mencetak ke bawah (ganti baris / print line).
Biar jelas, kita coba langsung koding saja.
public class SistemOutput{
public static void main(String[] args) {
// output 4 baris pertama menggunakan println
System.out.println("Dengan System.out.println: ");
System.out.println("satu,");
System.out.println("dua,");
System.out.println("tiga.");
// baris selanjutnya kita gunakan print
System.out.print("Dengan System.out.print: ");
System.out.print("empat,");
System.out.print("lima,");
System.out.print("enam.");
}
}
Sekarang coba kita jalankan, maka kurang lebih hasilnya akan seperti ini:
Dengan System.out.println:
satu,
dua,
tiga.
Dengan System.out.print: empat,lima,enam.
Terlihat bedanya kan.
Dengan println
, tulisan satu, dua, dan tiga ada di baris berbeda. Sedangkan dengan print
, tulisan empat, lima, dan enam ada dalam satu baris yang sama.
Baik method print
maupun println
dapat digunakan untuk mencetak literal, expression, maupun variabel.
Lebih lanjut tentang literal dan variabel akan kita bahas pada kesempatan selanjutnya. Sekarang kita coba lihat contohnya saja.
public class SistemOutput{
public static void main(String[] args) {
// mencetak string literal
System.out.println("ini string literal");
// mencetak integer literal
System.out.println(24);
// mencetak isi variabel
String nama = "Inva";
System.out.println(nama);
// mencetak expression (operasi data)
System.out.println("2 + 8 adalah " + (2+8));
}
}
Jika dijalankan maka outputnya akan seperti ini:
ini string literal
24
Inva
2 + 8 adalah 10
Sistem Output dengan System.out.printf
Jika 2 method sebelumnya langsung mencetak apapun sebagai argumennya, printf
ini sedikit berbeda.
System.out.printf
bekerja dengan memberi format atau template sebagai argumen pertamanya. Nantinya format ini akan diisi dengan nilai-nilai yang ada pada argumen-argumen selanjutnya.
Format atau template ini berbentuk literal string biasa. Hanya saja, terdapat beberapa karakter spesial yang berfungsi sebagai placeholder yang ditandai dengan tanda %
lalu diikuti angka dan huruf sesuai kebutuhan.
Mari kita lihat contoh kodingannya.
public class SistemOutput{
public static void main(String[] args) {
// %s akan digantikan dengan "Budi"
// %d akan digantikan dengan 12
System.out.printf("Nama saya %s saya kelas %d\n", "Budi", 12);
String nama = "Adi";
String kegiatan = "belajar Java";
// %s pertama digantikan dengan isi dari variabel nama
// %s kedua digantikan dengan isi variabel kegiatan
System.out.printf("Saya %s sedang %s", nama, kegiatan);
}
}
\n
pada kode tersebut merupakan escape character new line fungsinya adalah untuk mencetak garis baru. Ada juga\t
untuk mencetak karaktertab
. Selengkapnya tentang escape character bisa dibaca di wikipedia.
Jika program dijalankan maka luarannya akan seperti ini:
Nama saya Budi saya kelas 12
Saya Adi sedang belajar Java
Dalam contoh tersebut kita menggunakan 2 format string yaitu %s
dan %d
. Di sini, %s
berguna untuk menampilkan literal bertipe kumpulan karakter (String
), sedangkan %d
untuk menampilkan literal angka (int
).
String Format Placeholder pada Java
Selain 2 format pada kode di atas, masih ada format lainnya yang bisa kita gunakan.
%s
— untuk kumpulan karakter (String
)%d
— untuk bilangan bulat (int
danlong
)%f
— untuk bilangan pecahan (float
dandouble
)%c
— untuk karakter unicode (char
)%t
— untuk format waktu (Date
/Time
)
Mengatur Kelebaran Format String
Kita juga bisa mengatur kelebaran atau padding dari string format yang kita buat. Caranya adalah dengan memberi angka tepat setelah tanda %
.
Angka positif berarti rata kanan, sedangkan angka negatif rata kiri. Mari kita coba ngoding.
public class SistemOutput{
public static void main(String[] args) {
System.out.println("Dengan println:");
System.out.println("Nama : Adi");
System.out.println("Umur : 19 tahun");
System.out.println("Kegiatan : Belajar Java");
System.out.println(); // println kosong untuk membuat baris kosong
System.out.println("Dengan printf angka positif:");
System.out.printf("%8s : %s\n", "Nama", "Adi");
System.out.printf("%8s : %d tahun\n", "Umur", 19);
System.out.printf("%8s : %s\n", "Kegiatan", "Belajar Java");
System.out.println();
System.out.println("Dengan printf angka negatif:");
System.out.printf("%-8s : %s\n", "Nama", "Adi");
System.out.printf("%-8s : %d tahun\n", "Umur", 19);
System.out.printf("%-8s : %s\n", "Kegiatan", "Belajar Java");
}
}
Jika dijalankan maka outputnya akan seperti ini:
Dengan println:
Nama : Adi
Umur : 19 tahun
Kegiatan : Belajar Java
Dengan printf angka positif:
Nama : Adi
Umur : 19 tahun
Kegiatan : Belajar Java
Dengan printf angka negatif:
Nama : Adi
Umur : 19 tahun
Kegiatan : Belajar Java
Terlihat hasilnya ya. Di sini dipilih angka 8 karena kata terpanjang yaitu "kegiatan" memiliki 8 karakter. Hasilnya bisa dilihat tanda ":" bisa sejajar tanpa perlu menambah spasi secara manual.
Selain angka bulat positif dan negatif, kita juga bisa menggunakan angka desimal. Angka desimal ini punya fungsi yang berbeda untuk format yang berbeda.
Untuk format %s,
angka di belakang titik berfungsi untuk membatasi karakter yang ditampilkan. Sedangkan untuk format %f,
angka di belakang koma menunjukkan presisi yang diinginkan.
Mari kita lihat contohnya
public class SistemOutput{
public static void main(String[] args) {
System.out.printf("| %5s |\n", "Senin");
System.out.printf("| %5.3s |\n", "Senin"); // Tampil Sen rata kanan lebar 5
System.out.printf("| %-5.3s |\n", "Senin"); // Tampil Sen rata kiri lebar 5
System.out.printf("| %.3s |\n", "Senin"); // Tampil Sen
System.out.println();
System.out.printf("PI = %f\n", 3.141592);
System.out.printf("PI = %.2f\n", 3.141592); // Tampil 3.14
System.out.printf("PI = %8.2f\n", 3.141592); // Tampil 3.14 rata kanan lebar 8
}
}
Jika kita jalankan maka hasilnya akan seperti ini:
| Senin |
| Sen |
| Sen |
| Sen |
PI = 3.141592
PI = 3.14
PI = 3.14
Selanjutnya
Sistem output ini penting untuk diingat, karena pasti akan digunakan pada setiap kodingan kita. Jadi jangan sampai lupa — kalau lupa bisa balik sini lagi hehe.
Pada kesempatan selanjutnya kita akan mulai bermain dengan data. Kita akan membahas tentang variabel dan tipe data pada bahasa Java.
Selamat berkoding ria 👋