Anda di halaman 1dari 26

LAPORAN PRAKTIKUM

MODUL PRAKTIKUM KE-2


CLASS, OBJECT, dan METHOD DALAM JAVA

Untuk memenuhi tugas matakuliah


Pemrograman Berorientasi Obyek yang dibina
oleh Bapak Dr. Heru Wahyu Herwanto, S.T.,M.Kom.

Disusun oleh:
Fakhri Fafi’ Ahmadi, 230533605506
Falih Haiban Fitrahadi, 230533605767
Ibnu Prasetia Nugroho, 230533606674
Mahanaim Elyanda Putra Kurniawan Kasim, 230533605312
PTI B’23

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
DEPARTEMEN TEKNIK ELEKTRO DAN INFORMATIKA
MARET 2024
A. LATIHAN
1. Menerapkan penggunaan class, object, dan method
Source Code Class Mahasiswa :
class Mahasiswa
{
public String nama = "Mahanaim";
public int angkatan = 2023;
public String asal = "Bululawang";
public void ubah(String nm, int angkt, String asl)
{
nama = nm;
angkatan = angkt;
asal = asl;
}
public void cetak()
{
System.out.println("Nama : "+nama);
System.out.println("Angkatan : "+angkatan);
System.out.println("Asal : "+asal);
}
}

Source Code Class MhsPTE :


class MhsPTE
{
public String nama = "Endah";
public int angkatan = 2012;
public String asal = "Blitar";
public void ubah(String nm, int angkt, String asl)
{
nama = nm;
angkatan = angkt;
asal = asl;
}
public void cetak()
{
System.out.println("Nama : "+nama);
System.out.println("Angkatan : "+angkatan);
System.out.println("Asal : "+asal);
}
}

Source Code Class MhsPTI :

class MhsPTI
{
public String nama = "Endah";
public int angkatan = 2012;
public String asal = "Blitar";
public void ubah(String nm, int angkt, String asl)
{
nama = nm;
angkatan = angkt;
asal = asl;
}
public void cetak()
{
System.out.println("Nama : "+nama);
System.out.println("Angkatan : "+angkatan);
System.out.println("Asal : "+asal);
}
}

Source Code Class TestMahasiswa :

public class TestMahasiswa {


public static void main(String[] args)
{
System.out.println("\nMENERAPKAN PENGGUNAAN CLASS, OBJECT,DAN
METHOD");

System.out.println("======================================");
Mahasiswa MHS = new Mahasiswa();
System.out.println("\n\tIdentitas Awal");
MHS.cetak();
MHS.ubah("Ibnu", 2023, "Malang");
System.out.println("\n\tIdentitas Akhir");
MHS.cetak();

System.out.println("======================================");
MhsPTI MHSPTI = new MhsPTI();
System.out.println("\n\tIdentitas Awal");
MHSPTI.cetak();
MHSPTI.ubah("Fakhri", 2023, "Malang");
System.out.println("\n\tIdentitas Akhir");
MHSPTI.cetak();

System.out.println("======================================");
MhsPTE MHSPTE = new MhsPTE();
System.out.println("\n\tIdentitas Awal");
MHSPTE.cetak();
MHSPTE.ubah("Falih", 2023, "Malang");
System.out.println("\n\tIdentitas Akhir");
MHSPTE.cetak();
System.out.println("======================================");
}
}

Penjelasan :

• Kelas `Mahasiswa` merupakan representasi dari sebuah entitas mahasiswa


dalam program Java. Kelas ini memiliki atribut seperti nama, tahun angkatan,
dan asal. Metode `ubah` digunakan untuk mengubah nilai atribut, sedangkan
metode `cetak` untuk mencetak informasi mahasiswa ke konsol. Dengan
menggunakan kelas ini, kita dapat menyimpan dan memanipulasi informasi
tentang mahasiswa dalam program secara efisien dan terstruktur.
• Kelas `MhsPTE`. Kelas ini memiliki atribut seperti nama, tahun angkatan, dan
asal mahasiswa. Metode `ubah` digunakan untuk mengubah nilai dari atribut-
atribut tersebut, sementara metode `cetak` bertanggung jawab untuk mencetak
informasi mahasiswa ke konsol. Dengan kelas ini, kita dapat dengan mudah
menyimpan dan memanipulasi informasi tentang mahasiswa PTE dalam
program.
• Kelas `MhsPTI`. Kelas ini memiliki atribut seperti nama, tahun angkatan, dan
asal mahasiswa. Metode `ubah` digunakan untuk mengubah nilai dari atribut-
atribut tersebut, sementara metode `cetak` bertanggung jawab untuk mencetak
informasi mahasiswa ke konsol. Dengan kelas ini, kita dapat dengan mudah
menyimpan dan memanipulasi informasi tentang mahasiswa PTI dalam
program.
• Program `TestMahasiswa` adalah sebuah program Java yang menunjukkan
penerapan konsep pemrograman berorientasi objek. Program ini membuat
objek dari tiga kelas yang berbeda, yaitu `Mahasiswa`, `MhsPTI`, dan
`MhsPTE`, yang merepresentasikan mahasiswa dari dua program studi yang
berbeda. Program kemudian mengubah dan mencetak informasi tentang
mahasiswa, seperti nama, tahun angkatan, dan asal, untuk setiap objek yang
dibuat. Dengan demikian, program ini memberikan contoh penggunaan kelas,
objek, dan method dalam pemrograman Java untuk mengelola informasi
tentang mahasiswa dari beberapa program studi yang berbeda.
Hasil :
2. Menerapkan penggunaan variabel global dan variabel local.
Source Code Class Lingkup :
public class Lingkup
{
String sifat = "Rajin"; //variabel instan

void infoLingkup()//method
{
String sifat = "Tekun";
System.out.println("\nMenampilkan Variabel Global");
System.out.println("Sifat milik class : "+this.sifat);
System.out.println("\nMenampilkan Variabel Local");
System.out.println("Sifat pada method : "+sifat);
}
}

Source Code Class Test Lingkup :


public class TestLingkup
{
public static void main(String[] args)
{
System.out.println("\nMENERAPKAN PENGGUNAAN VARIABEL GLOBAL DAN
LOCAL");

Lingkup info = new Lingkup();


info.infoLingkup();
}
}

Penjelasan :

• Kelas `Lingkup` mengilustrasikan konsep lingkup variabel dalam


pemrograman Java. Dalam kelas ini, terdapat sebuah variabel instan `sifat`
yang mendefinisikan sifat dari objek kelas `Lingkup`. Di dalam method
`infoLingkup()`, terdapat sebuah variabel lokal `sifat` yang memiliki nama
yang sama dengan variabel instan. Dalam method tersebut, kita mencetak nilai
dari kedua variabel tersebut. Variabel instan dapat diakses menggunakan kata
kunci `this`, sementara variabel lokal hanya dapat diakses dalam lingkup
method tersebut. Dengan demikian, program ini memperlihatkan perbedaan
antara variabel instan dan variabel lokal dalam hal lingkup dan aksesibilitas
dalam sebuah kelas Java.
• Program `TestLingkup` adalah program Java yang menunjukkan penerapan
penggunaan variabel global dan lokal dalam sebuah kelas. Program ini
membuat objek dari kelas `Lingkup` dan memanggil method `infoLingkup()`
pada objek tersebut. Dalam method tersebut, nilai dari variabel global dan
lokal dicetak ke konsol. Dengan demikian, program ini memberikan contoh
praktis tentang perbedaan antara variabel global (yang terkait dengan kelas)
dan variabel lokal (yang terbatas pada lingkup method) dalam pemrograman
Java.
Hasil :

3. Input Karakter dan String dengan class BufferedReader


Source Code :
package LATIHANASIK;

import java.io.*;

public class InputKarakterDanString


{
public static void main(String[] args)
{
BufferedReader bufReader = new BufferedReader(new
InputStreamReader(System.in));
char kar=' ';
String kata="";

System.out.println("\n\tINPUT KARAKTER DAN STRING\n");


try
{
System.out.print("Inputkan karakter : ");
kar = (char) bufReader.read();
bufReader.readLine();
System.out.print("Inputkan string : ");
kata = bufReader.readLine();
}
catch(IOException exc)
{
System.out.println("\nError...!!!");
}

System.out.println("\n\tKARAKTER DAN STRING YANG


DIINPUTKAN\n");
System.out.println("Karakter : "+kar);
System.out.println("String : "+kata);
}
}

Penjelasan :
• Program di atas adalah contoh program Java yang menggunakan
BufferedReader untuk mengambil input dari pengguna dalam bentuk
karakter dan string. Program ini meminta pengguna untuk memasukkan
sebuah karakter dan sebuah string.
• Pertama-tama, program membuat objek BufferedReader dengan
menggunakan InputStreamReader untuk membaca input dari System.in
(input dari keyboard). Selanjutnya, program mendeklarasikan variabel
`kar` untuk menyimpan karakter dan `kata` untuk menyimpan string .
• Pada bagian utama program, pengguna diminta untuk memasukkan sebuah
karakter dengan menggunakan `read()` dari BufferedReader, dan kemudian
membaca baris baru dengan `readLine()` agar input berikutnya tidak
terganggu. Setelah itu, pengguna diminta untuk memasukkan sebuah string
dengan menggunakan `readLine()`.
• Program dilengkapi dengan penanganan eksepsi menggunakan blok try -
catch untuk menangkap IOException yang dapat terjadi saat pembacaan
input. Jika terjadi kesalahan, program akan menampilkan pesan error.
• Terakhir, program menampilkan kembali karakter dan string yang telah
diinputkan oleh pengguna. Output program akan mencetak karakter dan
string yang dimasukkan ke layar.
• Sebagai catatan, ada satu potensi perbaikan di program: pada saat
membaca karakter, `bufReader.readLine();` sebaiknya dihapus karena
dapat menyebabkan karakter tambahan terbaca.
Hasil :

4. Input bilangan dengan class BufferedReader


Source Code :
import java.io.*;

public class InputBilangan {


public static String readInput() {
String temporary = "";
InputStreamReader insReader = new
InputStreamReader(System.in);
BufferedReader bufReader = new
BufferedReader(insReader);
try {
temporary = bufReader.readLine();
} catch (IOException e) {
System.out.println("\nError reading input. Please
try again.");
}
return temporary;
}

public static void main(String[] args) {


int bilBulat = 0;
double bilReal = 0;

System.out.println("\n\tINPUT BILANGAN BULAT DAN


BILANGAN REAL\n");
try {
System.out.print("Inputkan bilangan bulat : ");
bilBulat = Integer.parseInt(readInput());

System.out.print("Inputkan bilangan real : ");


bilReal = Double.parseDouble(readInput());

System.out.println("\n\tBILANGAN YANG
DIINPUTKAN\n");
System.out.println("Bilangan bulat : " + bilBulat);
System.out.println("Bilangan real : " + bilReal);

} catch (NumberFormatException e) {
System.out.println("\nError: Invalid input. Please
enter a valid number.");
}
}
}

Penjelasan :

• Program di atas adalah contoh program Java untuk mengambil input dari
pengguna dalam bentuk bilangan bulat (integer) dan bilangan real
(double). Program ini menggunakan BufferedReader untuk membaca input
dari System.in (keyboard).
• Pertama, program mendeklarasikan fungsi `readInput()` yang
mengembalikan input berupa string. Fungsi ini menggunakan
InputStreamReader dan BufferedReader untuk membaca input karakter
dari pengguna. Jika terjadi IOException, program akan menangkapnya dan
menampilkan pesan kesalahan.
• Kemudian, pada fungsi `main()`, program mencetak pesan sambutan dan
meminta pengguna untuk memasukkan bilangan bulat dan bilangan real.
Input yang diterima melalui keyboard diubah menjadi bilangan bulat dan
bilangan real menggunakan `parseInt()` dan `parseDouble()`.
• Program ini juga dilengkapi dengan blok try-catch untuk menangkap
NumberFormatException yang dapat terjadi jika input tidak dapat diubah
menjadi bilangan. Jika kesalahan terjadi, program akan menampilkan
pesan kesalahan.
• Terakhir, program mencetak kembali bilangan bulat dan bilangan real yang
telah diinput oleh pengguna. Jika input valid, hasilnya akan ditampilkan di
layar. Jika tidak, program memberikan pesan kesalahan dan meminta
pengguna untuk memasukkan input yang valid.
Hasil :

5. Input data dengan class Scanner


Source Code :
import java.util.Scanner;
public class InputScanner
{
public static void main(String[] args)
{
Scanner inScanner = new Scanner(System.in);
String kata;
int bilBulat;
double bilReal;
System.out.println("\n\tINPUT DATA DENGAN CLASS
SCANNER\n");
System.out.print("Inputkan bilangan bulat : ");
bilBulat = inScanner.nextInt();
System.out.print("Inputkan bilangan real : ");
bilReal = inScanner.nextDouble();
inScanner.nextLine();
System.out.print("Inputkan string : ");
kata = inScanner.nextLine();
System.out.println("\n\tDATA YANG DIINPUTKAN\n");
System.out.println("Bilangan Bulat : "+bilBulat);
System.out.println("Bilangan Real : "+bilReal);
System.out.println("String : "+kata);
}
}

Penjelasan :

• Program diatas digunakan untuk men-scan karakter yang telah diinputkan.


Pertama pendeklarasian objek Scanner (Scanner inScanner = new
Scanner(System.in)), tipe data untuk kata(string), bilBulat(int) dan
bilReal(double). Kemudian pengguna diminta untuk menginputkan bilangan
bulat, bilangan real dan kata. Lalu program akan menyimpannya kemudian
menampilkan karakter yang telah diinputkan pengguna.
Hasil :

6. Membuat frame
Source Code :
import javax.swing.JFrame; //meng-import class JFrame dari
package javax.swing
public class CreateFrame
{
public static void main(String[] args)
{
JFrame frame = new JFrame(); //membuat objek frame dari
class JFrame
frame.setTitle("CREATE FRAME"); //memberi title pada
frame
frame.setBounds(600,500,500,300); //mengatur posisi
tampilan frame dan ukuran frame
frame.setLayout(null); //pengaturan layout
frame.setVisible(true); //pengaturan tampilan frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//menutup frame otomatis bila button close ditekan
}
}
Penjelasan :
• Program di atas digunakan untuk membuat dan menampilkan frame
(CREATE FRAME) yang merupakan sebuah frame kosong. Frame ini dapat
diatur posisi dan ukurannya. Program mengimpor class JFrame dari package
javax.swing. Ini diperlukan karena kita akan menggunakan JFrame untuk
membuat jendela.
• frame.setTitle("CREATE FRAME") digunakan untuk memberi judul pada
frame yang dibuat.
• frame.setBounds(600, 500, 500, 300) digunakan untuk menentukan posisi
dan ukuran frame. Angka pertama dan kedua adalah koordinat x dan y tempat
frame akan muncul di layar, dan angka ketiga dan keempat adalah lebar dan
tinggi frame.
• frame.setLayout(null) digunakan mengatur layout frame menjadi null, yang
berarti tidak ada layout default yang diterapkan oleh Swing. Dalam kasus ini,
kita akan menempatkan komponen secara manual jika diperlukan.
• frame.setVisible(true) digunakan membuat frame menjadi terlihat atau
terlihat di layar.
• frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) digunakan
untuk mengatur ketika frame ditutup. Program akan berhenti dan menutup
saat tombol close pada frame ditekan.
Hasil :

7. Membuat Tabel
Source Code :
import javax.swing.JFrame;
import javax.swing.JLabel; //meng-import class JLabel dari
package javax.swing
public class CreateLabel
{
public static void main(String[] args)
{
JFrame frame = new JFrame(); //membuat objek frame dari class
JFrame
frame.setTitle("CREATE LABEL"); //memberi title pada frame
frame.setBounds(200,200,300,150);
JLabel label = new JLabel("S1 Pendidikan Teknik Informatika");
//menciptakan dan menugaskan objek label
label.setBounds(25,25,200,25); //mengatur letak dan ukuran
label pada frame
frame.add(label); //meletakkan label pada frame
frame.setLayout(null); //pengaturan layout
frame.setVisible(true); //pengaturan tampilan frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Penjelasan :

• Program ini mengimport kelas JFrame dan JLabel dari paket javax.swing. Ini
diperlukan karena program akan menggunakan kelas-kelas tersebut untuk
membuat jendela dan label.
• setTitle digunakan pada objek frame untuk menetapkan judul jendela menjadi
"CREATE LABEL"
• setBounds digunakan untuk menetapkan ukuran dan posisi jendela pada
layar. Koordinat (200, 200) menunjukkan posisi jendela pada layar,
sedangkan ukuran (300, 150) menunjukkan lebar dan tinggi jendela
• setLayout digunakan untuk menetapkan bahwa tidak ada layout manager
yang digunakan untuk mengatur posisi komponen di dalam jendela. Dalam
hal ini, posisi dan ukuran setiap komponen (label) ditentukan secara langsung
melalui metode setBounds
• setVisible dalam program ini digunakan untuk menampilkan jendela di layar
• Metode setDefaultCloseOperation dipanggil pada objek frame dengan
argumen JFrame.EXIT_ON_CLOSE. Ini menentukan bahwa program akan
berhenti (exit) saat jendela ditutup
Hasil :
8. Mengatur posisi relatif teks terhadap icon
Source Code :
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.SwingConstants;
public class LabelIcon
{
private JLabel label; //membuat objek label

public LabelIcon()
{
JFrame frame = new JFrame();
frame.setTitle("LABEL ICON");
frame.setBounds(200,200,350,200);

ImageIcon um = new ImageIcon("LogoUM.png"); //membuat dan


menugaskan objek um
label = new JLabel();
label.setBounds(25,25,325,100);
label.setText("UNIVERSITAS NEGERI MALANG"); //memberi teks pada
label
label.setIcon(um); //memberi icon pada label
label.setHorizontalTextPosition(SwingConstants.LEFT);
label.setVerticalTextPosition(SwingConstants.TOP);

frame.add(label);
frame.setLayout(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args)


{
LabelIcon frame = new LabelIcon();
}
}
Penjelasan :
• Dalam program ini, terdapat sebuah kelas JFrame yang disebut "LabelIcon"
yang berisi kode untuk membuat sebuah frame dengan judul "LABEL
ICON". Frame ini ditetapkan dengan posisi (200, 200), ukuran (350, 200),
dan tipe layout null
• JLabel yang ditetapkan pada variabel "label". JLabel ini dengan posisi
koordinat (25, 25), ukuran (325, 100), dan teks "UNIVERSITAS NEGERI
MALANG". Selanjutnya, objek ImageIcon diberi nama "um" dibuat dan
dimasukkan dengan file gambar "LogoUM.png". JLabel ini kemudian
ditetapkan dengan icon "um" menggunaka "setIcon"
• JLabel dibuat dengan posisi horizontal dan vertikal yang disetting ke "LEFT"
(Kiri) dan "TOP" (Atas) menggunakan "setHorizontalTextPosition" dan
"setVerticalTextPosition"
• Frame ini ditambahkan ke dalam JLabel dengan "add”. Kemudian, frame ini
ditetapkan sebagai frame utama dengan "setVisible" dan dengan penutupan
frame ketika tombol tutup diklik menggunakan "setDefaultCloseOperation"
Hasil :
B. TUGAS
1. Program Untuk Cetak Kata
Source Code :
import java.util.Scanner;
public class CetakKata {
public static void main(String[] args) {
Scanner input_nilai = new Scanner (System.in);
System.out.println ("\n\tPROGRAM MENCETAK KATA\n");
System.out.print ("Kata apa yang ingin Anda tampilkan? ");
String kata = input_nilai.nextLine();
System.out.print ("\nBerapa kali ingin Anda tampilkan? ");
int ulang = input_nilai.nextInt();
System.out.println ("\n\tDATA YANG DIINPUTKAN");
System.out.println ("\nMencetak kata ''"+kata+"'' sebanyak
"+ulang+" kali.");
System.out.println ("\n\tHASIL PERULANGAN KATA");

for (int a=0; a<ulang; a++) {


System.out.print (a+1+". ");
System.out.println (kata);
}

System.out.println("\n");
}
}
Penjelasan :
• Program `CetakKata` merupakan aplikasi sederhana yang dikembangkan
menggunakan bahasa pemrograman Java. Program ini bertujuan untuk
memberikan pengguna kemampuan untuk mencetak sebuah kata sebanyak
yang diinginkan. Pengguna diminta untuk memasukkan kata yang ingin
dicetak dan jumlah pengulangan yang diinginkan. Setelah menerima input
dari pengguna, program mencetak kembali data yang dimasukkan oleh
pengguna dan mengulang cetakan kata sesuai dengan jumlah yang diminta.
Program ini memanfaatkan kelas `Scanner` untuk menerima input dari
pengguna dan menggunakan perulangan `for` untuk mencetak k ata sesuai
dengan jumlah pengulangan yang ditentukan. Dengan demikian, program
ini memberikan pengguna kendali penuh atas proses pencetakan kata yang
mereka inginkan.
Hasil :

2. Program Konversi Nilai


Source Code :
import java.io.*;
public class KonversiNilai {
public static void main(String[] args) {
InputStreamReader insReader = new
InputStreamReader(System.in);
BufferedReader input = new BufferedReader(insReader);
String nama = " ";

int SistemO;
int KomputasiN;
int pbo;
try {

System.out.println ("\n\tPROGRAM KONVERSI NILAI");


System.out.println
("\n****************************************");
System.out.print ("\nMasukkan nama : ");
nama = input.readLine();
System.out.print ("\nMasukkan nilai Sistem Operasi : ");
SistemO = Integer.parseInt(input.readLine());
System.out.print ("\nMasukkan nilai Komputasi Numerik : ");
KomputasiN = Integer.parseInt(input.readLine());
System.out.print ("\nMasukkan nilai PBO : ");
pbo = Integer.parseInt(input.readLine());
System.out.println

("\n****************************************");
System.out.println ("\nNama : "+nama);
System.out.println ("\n\tNilai yang diperoleh :\n");
System.out.println ("Sistem operasi : "+SistemO);
System.out.println ("Komputasi numerik : "+KomputasiN);
System.out.println ("PBO : "+pbo);
float rata = (SistemO+KomputasiN+pbo)/3;
System.out.println ("Rerata nilai : "+rata);

if (rata<=44)
{
System.out.println ("Nilai huruf\t : E");
}
else if (rata<=55)
{
System.out.println ("Nilai huruf\t : D");
}
else if (rata<=65)
{
System.out.println ("Nilai huruf\t : C");
}
else if (rata<=75)
{
System.out.println ("Nilai huruf\t : B-");
}
else if (rata<=80)
{
System.out.println ("Nilai huruf\t : B");
}
else if (rata<=85)
{
System.out.println ("Nilai huruf\t : B+");
}
else if (rata<=90)
{
System.out.println ("Nilai huruf\t : A-");
}
else if (rata<=100)
{
System.out.println ("Nilai huruf\t : A");
}
System.out.println

("\n****************************************");
}
catch(IOException e) {
System.out.println("\nError...!!!");
}
}
}

Penjelasan :
• Program Java di atas adalah contoh sederhana dari sebuah program yang
melakukan konversi nilai numerik ke huruf berdasarkan kriteria tertentu.
Program ini meminta pengguna untuk memasukkan nilai numerik dalam
rentang 0 hingga 100. Setelah menerima input tersebut, program
menggunakan struktur kontrol if-else untuk menentukan huruf yang sesuai
dengan nilai yang dimasukkan.
• Pertama, program menampilkan pesan untuk meminta pengguna
memasukkan nilai. Selanjutnya, menggunakan BufferedReader, program
membaca input dari pengguna.
• Setelah itu, program menggunakan struktur kontrol if-else untuk
menentukan huruf yang sesuai dengan nilai numerik. Misalnya, jika nilai
lebih besar atau sama dengan 90, program akan menetapkan huruf "A".
Program kemudian mencetak hasil konversi nilai ke huruf ke layar.
• Program ini juga menangkap IOException yang dapat terjadi selama
proses pembacaan input. Jika terjadi kesalahan, program memberikan
pesan error yang memberitahukan pengguna untuk memasukkan nilai
numerik yang valid.
• Secara keseluruhan, program ini memberikan contoh sederhana tentang
penggunaan BufferedReader, struktur kontrol if-else, dan penanganan
eksepsi untuk memastikan bahwa input yang dimasukkan oleh pengguna
sesuai dengan ekspektasi program.
Hasil :

3. Program Menampilkan label dan icon


Source Code :
import javax.swing.*;
import java.awt.*;

public class Profil {


public static void main(String[] args) {
String nim = "230533605506";
String nama = "Fakhri Rafi' Ahmadi";
String prodi = "S1 Pendidikan Teknik Informatika";
String kelahiran = "Malang";
String tgllahir = "18 Juli 2004";
String jk = "Laki-laki";

JFrame frame = new JFrame("PROFIL MAHASISWA");


frame.setSize(500, 240);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ImageIcon um = new ImageIcon("E:/Dokumen utk
UM/um.png");
Image logoImage = um.getImage();

// Mengubah ukuran logo


int newWidth = 200; // Lebar baru
int newHeight = 200; // Tinggi baru
Image resizedLogo =
logoImage.getScaledInstance(newWidth, newHeight,
Image.SCALE_SMOOTH);

// Membuat ikon baru dari logo yang telah diubah


ukurannya
ImageIcon resizedLogoIcon = new ImageIcon(resizedLogo);
JLabel logoLabel = new JLabel(resizedLogoIcon);

JPanel textPanel = new JPanel(new GridLayout(0, 1));


textPanel.add(new JLabel("NIM: " + nim));
textPanel.add(new JLabel("Nama: " + nama));
textPanel.add(new JLabel("Prodi: " + prodi));
textPanel.add(new JLabel("Tempat lahir: " + kelahiran));
textPanel.add(new JLabel("Tanggal lahir: " + tgllahir));
textPanel.add(new JLabel("Jenis kelamin: " + jk));

//buat label
JPanel containerPanel = new JPanel(new BorderLayout());
containerPanel.add(logoLabel, BorderLayout.WEST);
containerPanel.add(textPanel, BorderLayout.CENTER);

frame.add(containerPanel);
frame.setVisible(true);
}
}
Penjelasan :
• Program di atas digunakan untuk menampilkan profil mahasiswa yang telah
diinputkan di dalam program dengan menggunakan frame. Pertama
pendeklarasian data mahasiswa, lalu membuat frame baru dengan nama
“PROFIL MAHASISWA”. Setelah itu icon dimasukkan dan resize agar
posisi sesuai. Setelah itu logo/icon akan masuk ke dalam label. Kemudian
menambahkan teks panel agar data mahasiswa dapat ditampilkan pada frame.
Terakhir pemosisian textpanel dan logolabel agar sesuai dan pas. Lalu output
frame akan muncul.
Hasil :

4. Program Memberikan keterangan pada label


Source Code :
import javax.swing.*;
import java.awt.*;

public class Label {


public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setTitle ("KETERANGAN LABEL");
frame.setBounds (300, 200, 425, 400);

JLabel label = new JLabel("Label 1 : Label berupa teks


saja");
label.setBounds (20, 10, 300, 15);
label.setToolTipText("Mouse pointer berada pada label 1");
frame.add(label);

ImageIcon java_1 = new ImageIcon ("javalogo.png");


JLabel label_2 = new JLabel();
label_2.setBounds (20, 30, 500, 100);
label_2.setIcon(java_1);
label_2.setHorizontalTextPosition(SwingConstants.RIGHT);
label_2.setVerticalTextPosition(SwingConstants.CENTER);
label_2.setText("Label 2 : Label berupa icon disebelah kiri
teks");
label_2.setToolTipText("Mouse Pointer berada pada label 2");
frame.add(label_2);

ImageIcon java_2 = new ImageIcon ("javahori.png");

JLabel label_3 = new JLabel("Label 3 : Label berupa icon di


atas teks", java_2, SwingConstants.CENTER);
label_3.setToolTipText("Mouse pointer berada pada label 3");
label_3.setVerticalTextPosition(SwingConstants.BOTTOM);
label_3.setHorizontalTextPosition(SwingConstants.CENTER);
frame.add(label_3);
frame.setVisible(true);
}
}

Penjelasan :
• Dalam program ini terdapat sebuah kelas JFrame yang disebut "Label" yang
berisi kode untuk membuat sebuah frame dengan judul "KETERANGAN
LABEL". Frame ini ditetapkan dengan posisi (300, 200), ukuran (425, 400),
dan tipe layout null.
• Dalam metode "main", terdapat sebuah objek JFrame yang ditetapkan pada
variabel "frame". JFrame ini ditetapkan dengan judul "KETERANGAN
LABEL" dan ditetapkan dengan posisi (300, 200), ukuran (425, 400), dan
tipe layout null.
• JLabel ini ditetapkan dengan posisi koordinat (20, 10), ukuran (300, 15), dan
teks "Label 1 : Label berupa teks saja". Selanjutnya, ImageIcon dengan nama
"java_1" dibuat dan dimuatkan dengan file gambar "javalogo.png". JLabel ini
kemudian ditetapkan dengan icon "java_1" menggunakan "setIcon".
• JLabel pada variabel "label_2". JLabel ini ditetapkan dengan posisi koordinat
(20, 30), ukuran (500, 100), dan icon "java_1". JLabel ini kemudian
ditetapkan dengan posisi horizontal dan vertikal yang disetting ke "RIGHT"
(Kanan) dan "CENTER" (tenagh) menggunakan "setHorizontalTextPosition"
dan "setVerticalTextPosition". Selanjutnya, teks "Label 2 : Label berupa icon
disebelah kiri teks" dengan "setText".
• JLabel yang ditetapkan pada variabel "label_3". JLabel ini ditetapkan dengan
posisi (20, 60), ukuran (400, 200), dan teks "Label 3 : Label berupa icon di
atas teks", icon "java_2", dan posisi horizontal dan vertikal yang disetting ke
"CENTER" (tengah) menggunakan metode "setHorizontalTextPosition" dan
"setVerticalTextPosition".
• Frame ini ditambahkan ke dalam JLabel dengan "add" dan ditetapkan dengan
layout null. Kemudian, frame ini ditetapkan sebagai frame utama dengan
"setVisible" dan ditetapkan dengan operasi penutupan frame ketika tombol
tutup diklik dengan metode "setDefaultCloseOperation".
Hasil :

Anda mungkin juga menyukai