Anda di halaman 1dari 37

LAPORAN MODUL II

PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK


“CLASS, OBJEK, DAN METHOD DALAM JAVA”

Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berorientasi Objek


Dibimbing oleh Heru Wahyu Herwanto, S.T., M.Kom.

Oleh:
Azizah Tri Novanti 170533628613

S1 PTI ‘17 OFF A

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA
September 2018
I. Tujuan Praktikum
1. Menerapkan konsep class, object, dan method dalam Java.
2. Mendeklarasikan class dan method dalam Java.
3. Membuat object dari class.
4. Memanggil method dalam class.
5. Melakukan input data dan menampilkan output dalam pemrograman Java.
6. Menggunakan class JFrame dan JLabel.

II. Dasar Teori


1. Konsep class, object, dan method dalam Java.
Class (kelas) merupakan wadah yang akan digunakan untuk
menciptakan object sehingga sebelum membuat object harus membuat class
terlebih dahulu. Object (objek) adalah sekumpulan data dalam program yang
terdiri dari variabel dan method terkait. Object saling berinteraksi dengan cara
saling memanggil method dari satu object ke object lainnya yang disebut
message. Dengan kata lain, object merupakan instance sebenarnya dari sebuah
class. Instance dibuat saat dilakukan inisialisasi class dengan menggunakan kata
kunci new, sedangkan method adalah prosedur atau fungsi yang dimiliki oleh
sebuah object. Karena pada dasarnya merupakan prosedur atau fungsi, maka
method ini akan mengolah atau mengubah data atau variabel yang ada di dalam
object sesuai dengan operasi yang telah ditentukan. Method disebut juga
behaviour.
Di dalam class juga sering dideklarasikan berbagai variabel yang
memiliki ruang lingkup yang berbeda. Ruang lingkup atau cakupan variabel
(variable scope) ini menentukan seberapa luas variabel dapat diakses. Cakupan
variabel ini terbagi menjadi dua, yaitu global dan local. Variabel global
merupakan variabel yang ada di dalam class dan dapat diakses oleh semua
method dalam class, sedangkan variabel local merupakan variabel yang ada di
dalam method dari suatu class sehingga hanya dapat diakses oleh method itu
sendiri.

2. Deklarasi class dan method dalam Java.


Class dideklarasikan dengan cara sebagai berikut:
modifier class nama_class { /*body dari class deklarasi atribut
deklarasi konstruktor deklarasi method*/ }
Method dideklarasikan dengan cara sebagai berikut:
modifier type nama_method(parameter_input) { //body dari
method }

3. Pembuatan object dari class dan pemanggilan method dalam class.


Object dibuat dengan cara sebagai berikut:
nama_class nama_objek = new nama_class();
Pemanggilan method dilakukan dengan cara sebagai berikut:
nama_objek.nama_method();

4. Input dan output dalam pemrograman Java.


Input data oleh user dan menampilkan output pada layar dapat dilakukan
dengan dua cara, yaitu dengan menggunakan class BufferedReader dari package
java.io dan class Scanner dari package java.util.
Hal-hal yang perlu diperhatikan saat menggunakan class BufferedReader:
a. Meng-import package java.io dengan cara menuliskan kode berikut ini di
bagian paling atas kode program:
import java.io.*;
b. Membuat objek dari class BufferedReader yang dapat terhubung dengan
keyboard sehingga dapat membaca input dari user dengan cara
menambahkan statement berikut ini:
BufferedReader bufReader = new BufferedReader(new
InputStreamReader(System.in));
atau
InputStreamReader insReader = new
InputStreamReader(System.in); BufferedReader bufReader = new
BufferedReader(insReader);
c. Jika data yang dimasukkan berupa bilangan, maka harus mendeklarasikan
variabel string temporary dan menggunakan fungsi readLine() di dalam blok
try-catch untuk membaca input:
try { temporary = bufReader.readLine(); //kode program yang
mungkin mengalami kesalahan } catch(IOException exc) {
//menangkap kesalahan yang terjadi //memberikan pesan
kesalahan }
Hal-hal yang perlu diperhatikan saat menggunakan class Scanner:
a. Meng-import package java.util dengan cara menuliskan kode berikut ini
di bagian paling atas kode program:
import java.util.Scanner;
b. Membuat object dari class Scanner dengan cara seperti berikut ini:
Scanner inScanner = new Scanner(System.in);
c. Membaca dan menyimpan input dari keyboard ke dalam variabel dengan
cara seperti berikut ini:
kata = inScanner.nextLine(); //jika input bertipe data
string bilBulat = inScanner.nextInt(); //jika input
bertipe data integer bilReal = inScanner.nextDouble();
//jika input bertipe data double

5. Komponen Swing.
Komponen-komponen Swing dapat dibagi menjadi beberapa kategori
berikut:
a. Root Container.
Terdiri dari JWindow, JFrame, JDialog, JApplet dan JInternalFrame.
b. Label dan Button.
Terdiri dari JLabel, AbstractButton, JButton, JToggleButton,
JCheckBox, JRadioButton, JMenuItem, JMenu, JCheckBoxMenuItem
dan JRadioButtonMenuItem.
c. Komponen Lightweight.
Terdiri dari JPanel, JMenuBar, JToolBar, JScrollBar, JSlider,
JProgressBar, JList, JComboBox dan JSeparator.
d. Komponen Text.
Terdiri dari JTextComponent, JTextField, JPasswordField, JTextArea,
JEditorPane dan JTextPane.
e. Komponen Space-saving.
Terdiri dari JScrollPane, JTabbedPane dan JSplitPane.
f. Komponen dengan Model Kompleks.
Terdiri dari JTable dan JTree.
g. Komponen yang tersusun dari komponen lain.
Terdiri dari JFileChooser, JColorChooser dan JOptionPane.

6. Pengenalan class JFrame dan class JLabel.


Class JFrame merupakan class dari package javax.swing yang
digunakan untuk membuat frame sebagai window aplikasi dan sebagai
tempat komponen GUI yang lain diletakkan. Class JLabel merupakan class
dari dalam package javax.swing yang digunakan untuk membuat komponen
berupa label. Komponen ini berfungsi untuk menampilkan teks yang pendek.
Dalam praktiknya, komponen ini bisa digunakan untuk menampilkan icon
(gambar berukuran kecil) atau pun untuk menampilkan teks dan icon
sekaligus. Agar dapat menampilkan icon, maka dibutuhkan import class
ImageIcon yang mengimplementasikan interface Icon dari package
javax.swing. Selain itu, posisi relatif teks terhadap icon juga dapat diatur
dengan menggunakan class SwingConstants dari package javax.swing.
Seringkali saat pointer mouse diarahkan pada suatu komponen, akan muncul
kotak kecil yang berisi keterangan posisi pointer mouse berada. Kotak kecil
inilah yang disebut sebagai tool tip. Untuk membuatnya, maka digunakan
method setToolTipText(“keterangan”) yang merupakan subclass dari
JComponent.

7. Penggunaan keyword this


Variabel kelas (class variable) adalah variabel yang dideklarasikan di
dalam sebuah kelas dan bertidak sebagai data field dari kelas tersebut,
sedangan variabel local (local variable) adalah variabel yang dideklarasikan
di dalam sebuah metoda. Cakupan variabel lokal dimulai dari posisi variabel
tersebut dideklarasikan sampai dengan akhir dari blok metoda yang ditandai
dengan closing brace. Cakupan dari variabel kelas meliputi keseluruhan
kelas.
Pemberian nama yang sama antara variabel kelas dan variabel lokal
di sebuah metoda mungkin saja bisa terjadi. Misalnya, metoda set yang
digunakan untuk merubah nilai variabel kelas, bisa saja mendeklarasikan
parameter dengan nama sama sebagaimana nama variabel kelas yang
nilainya akan dirubah. Di dalam metoda set, untuk dapat mengacu ke
variabel kelas yang nilainya akan dirubah, Anda perlu menggunakan kata
kunci this. Apabila variabel kelas tersebut dideklarasikan menggunakan
modifier static, maka variabel kelas dapat diakses menggunakan nama-
kelas.variabel-static.

Keyword this pada Bahasa pemrograman Java berfungsi sebagai


referansi dari variable class yang mengacu pada obyek saat ini. Keyword
this juga digunakan untuk membedakan variable instansi dengan variable
atribut. Jika tidak menggunakan keyword this, pada nama variable instansi
dan atribut yang sama, maka nilai akan menjadi 0 pada interger atau null
pada string. Keyword this digunakan untuk memanggil constructor milik
class, yang sedang digunakan.

III. Tugas Latihan


1. Nama Program : Penerapan class, object, dan method
Source Code :
class Mahasiswa
{
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\t: "+nama);
System.out.println("Angkatan\t: "+angkatan);
System.out.println("Asal\t: "+asal);
}}
public class TestMahasiswa
{
public static void main(String[] args)
{
System.out.println("\nMENERAPKAN PENGGUNAAN
CLASS< OBJECT< DAN METHOD");

Mahasiswa MHS = new Mahasiswa();


System.out.println("\n\tIdentitas Awal");
MHS.cetak();
MHS.ubah("Puji", 2013, "Malang");
System.out.println("\n\tIdentitas Akhir");
MHS.cetak();
}
}

class Mahasiswa1
{
public String nama = "Mega";
public int angkatan = 2017;
public String asal = "Blitar";
public String jurusan = "PTI";
public void ubah(String nm, int angkt, String asl,
String jur)
{
nama= nm;
angkatan = angkt;
asal = asl;
jurusan = jur;
}
public void cetak()
{
System.out.println("Nama\t: "+nama);
System.out.println("Angkatan\t: "+angkatan);
System.out.println("Asal\t: "+asal);
System.out.println("Jurusan\t: "+jurusan);
}
}

public class TestMahasiswa1


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

Mahasiswa1 MHSPTI = new Mahasiswa1();


Mahasiswa1 MHSPTE = new Mahasiswa1();
System.out.println("\n\tIdentitas Awal");
MHSPTI.cetak();
MHSPTI.ubah("Nina", 2016,
"Malang","PTI");
System.out.println("\n\tIdentitas
Akhir");
MHSPTI.cetak();
}}

Hasil Program :
Penjelasan :
Pada script pertama, yaitu class Mahasiswa terdapat public yang
merupakan modifier atau tingkatan akses. Modifier akan menentukan
batasan akses member dan class. Public dapat diakses dimana saja, sehingga
pemanggilan variable yang diberi modifier public dapat di panggil di luar
class itu sendiri. public void ubah(String nm, int angkt, String
asl) merupakan method ubah dimana method ini dapat dipanggil diluar
class dan berisikan variable seperti nama, angkatan, dan asal. Selain itu,
terdapat method public void cetak() tanpa parameter yang digunakan
untuk mencetak variable yang sudah menyimpan data. Pada script pertama
tidak bisa dijalankan karena pada class Mahasiswa tidak memiliki void
main yang digunakan untuk mengeksekusi program. Agar dapat dieksekusi,
maka dibuatlah class TestMahasiswa pada script kedua. Perlu
diperhatikan bahwa pada script kedua terdapat public sebelum class
TestMahasiswa yang akan membuat class tersebut dapat diakses dimana
saja. Pada script kedua terdapat void main sehingga program dapat
dieksekusi. Program akan menjalankan beberapa data yang disimpan pada
variable,dimana variable tersebut dideklarasi pada class Mahasiswa

kemudian data pada class tersebut dipanggil di class TestMahasiswa .


Pada class tersebut, dibutuhkan sebuah objek untuk memanggil data pada
variable di class lain, yaitu Mahasiswa MHS = new Mahasiswa();.
MHS.cetak(); adalah pemanggilan method dari class lain yang dirujuk pada
objek MHS. Pada script keempat, program dimodifikasi dengan membuat dua
objek yaitu MhsPTI dan MhsPTE. Mahasiswa1 MHSPTI = new

Mahasiswa1(); digunakan untuk membuat objek dengan memanggil


beberapa method di class lain yaitu class Mahasiswa1 .kemudian
memanggil method cetak dan ubah pada objek MhsPTI. Pemanggilan
method cetak dan ubah dari class berbeda. Hal ini dapat dilakukan karena
terdapat modifier public dimana modifier tersebut dapat diakses dari class
berbeda.

2. Nama Program : Penerapan Variable Global dan Variable Local


Source Code :
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);
}
}

public class TestLingkup


{
public static void main(String[] args)
{
System.out.println("\nMENERAPKAN PENGGUNAAN
VARIABEL GLOBAL DAN LOCAL");
Lingkup info = new Lingkup();
info.infoLingkup();
}
}

Hasil Program :
Penjelasan :
Pada program diatas, ketika mengeksekusi class TestLingkup maka file
class yang terbentuk adalah class TestLingkup dan class Lingkup . Hal
ini dikarenakan pada class TestLingkup terdapat pemanggilan class
Lingkup sehingga kedua class tesebut terbentuk dalam file meskipun class
Lingkup tidak dieksekusi. Pada script pertama yaitu class Lingkup
terdapat variable sifat yang menyimpan kata "Rajin" dengan tipe data
string. Kemudian terdapat method infoLingkup() yang berisikan variable
sifat dengan menyimpan kata "Tekun" dan pemanggilan variable yang
sudah dideklarasi. Perbedaan variable berisi kata "Rajin" dengan kata
"Tekun" adalah letak dari variable tersebut. Variable "Rajin" berada di luar
fungsi atau method, sedangkan "Tekun" berada pada method
infoLingkup() hal ini berkaitan dengan variable global yang berarti varabel
tersebut dapat diakses oleh seluruh fungsi dan variable local hanya bias
diakses di dalam fungsi itu sendiri.terdapat keyword this yang digunakan
untuk memanggil varabel global. Untuk variable berisikan "Tekun" tidak
menggunaka keyword this karena variable tersebut sudah dideklarasi di
dalam fungsi yang sama. Setelah itu pada script kedua pada class
TestLingkup terdapat public yang berfungsi untuk akses yang dilakukan
dimana saja. Lalu terdapat public static void main(String[] args)
yang berfungsi untuk mengekseskusi program dengan tipe data string dengan
modifier public yang dapat mengakes diluar class itu sendiri. Lingkup
info = new Lingkup(); berfungsi untuk membuat objek baru dengan
merujuk class Lingkup dengan nama objeknya adalah info. Kemudian
objek tersebut merujuk method infoLingkup() sehingga yang ditampilkan
adalah isi dari method infoLingkup(). Lalu eksekusi dilakukan pada
class TestLingkup yang memiliki fungsi utama.

3. Nama Program : Input Karakter dan String dengan Bufferreader


Source Code :
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);
}
}

Hasil Program :

Penjelasan :
Program diatas merupakan program untuk menginputkan data dengan
menggunakan class BufferedReader. Sebelum membuat class, terlebih
dahulu menuliskan import java.io.*; yang merupakan import-an
package dari java.io dan (*) digunakan untuk memanggil seluruh komponen
yang ada pada java.io. Kemdian membuat class dengan nama class
InputKarakterDanString. Pada fungsi utama dibuat sebuah objek dengan
nama bufReader yang merujuk pada BufferedReader yang akan diisi
inputan dari user dan disimpan pada objek tersebut. char kar=' '
merupakan variable kar dengan tipe data char dimana variable tersebut
bernilai awal kosong yang nantinya akan diinputkan oleh user. String
kata="" merupakan variable kata dengan tipe datanya adalah string dan
deklarasi untuk kata yang bernilai awal kosong. Kemudian untuk blok try-
catch, yang dijalankan terlebih dahulu adalah try yang digunakan untuk
menginputkan kata dan karakter dari user dengan menggunakan fungsi
readLine()untuk membaca inputan yang merujuk pada objek. Sedangkan
catch digunakan untuk menangkap kesalahan yang terjadi apabila yang
diinputkan salah, misalkan pada inputan kata yang seharusnya diinputkan
string namun user menginputkan bilangan, maka catch akan menjalankan
programnya dan muncul informasi error. Jika yang diinputkan benar, maka
catch tidak dijalankan dan selanjutnya inputan tadi dipanggil dengan
menggunakan (+) didepan nama variable yang akan dipanggil. Hal ini
bertujuan untuk menempatkan pemaggilan tersebut setelah kata
"Karakter : " sehingga inputan akan berada setelah kata "Karakter :
". begitupun pada kata "String : " ,pemanggilan inputannya dengan
menggunakan (+) didepan pemangggilan variable sehingga kata yang
diinputkan akan berada setelah kata "String : ".

4. Nama Program : Input Bilangan dengan BufferReader


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...!!!");
}
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");
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);
}
}

Hasil Program :

Penjelasan :
Pada program diatas hamper sama dengan program sebelumnya, namun
pada program ini yang diinputkan adalah bilangan, dimana jika
menggunakan bufferreader maka butuh dikonvert ke string agar dapat dibaca
oleh readLine(). Pertama kali yang dilakukan adalah mengimport package
java.io dengam memanggil seluruh komponen yang ada pada java.io.
kemudian membuat class dengan nama class InputBilangan. Setelah itu
terdapat konstruktor readInput() yang didalamnya terdapat variable
bertipe data string dengan nama temporary="" dengan nilai awalnya adalah
kosong. InputStreamReader insReader = new

InputStreamReader(System.in) merupakan objek yang dibuat untuk


menginputkan bilangan. BufferedReader bufReader = new

BufferedReader(insReader) digunakan untuk membaca inputan dari user.


Pada fungsi utama terdapat deklarasi dari int bilBulat=0 yang
dimaksudkan sebagai bilBulat bertipe data interger dan memiliki nilai
awal yaitu 0. Selain itu juga terdapat double bilReal=0 dengan tipe data
interger dan memiliki nilai awalnya sama dengan 0. Kemudian bilBulat =
Integer.parseInt(readInput()) dimana bilBulat bertipe data interger
dengan pemanggilan konstruktor. Begitupula pada bilReal =

Double.parseDouble(readInput()) dimana bilReal bertipe data double


dan terdapat pemanggilan konstuktor yaitu readInput().

5. Nama Program : Input Data dengan 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);
}
}

Hasil Program :
Penjelasan :
Program diatas merupakan program inputan data dari user. Sama seperti
sebelumnya, hanya saja pada program diatas menggunakan class Scenner.
Awalnya sama seperti bufferreader, gunakan import java.util.Scanner
untuk mengimport komponen java.scenner. Kemudian membuat class
dengan nama class InputScanner. Pada fungsi utama, dibuat objek baru
dengan nama inScanner. Deklarasi kata,bilBulat,bilReal dengan masing
masing tipe data yaitu string, int, double. Agar user dapat menginputkan
bilangannya, digunakan bilBulat = inScanner.nextInt sesuai dengan
tipe datanya. Jika ingin menginputkan bilangan real, maka dibutuhkan
bilReal = inScanner.nextDouble() dengan tipe data double. kata =
inScanner.nextLine(); digunakan untuk menginputkan kata dengan tipe
data string. Setelah itu seluruh variable dipanggil agar dapat dilihat pada
eksekusi.

6. Nama Program : 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(200,200,300,150); //mengatur
posisi tampilan frame dan ukuran frame
frame.setLayout(null); //pengaturan layout
frame.setVisible(true); //pengaturan tampilan
frame

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//menu
tup frame otomatis bila button close ditekan
}
}

Hasil Program :

Penjelasan :
Program diatas bertujuan untuk membuat frame dengan menggunakan
swing. Pada awalnya import terlebih dahulu class JFrame dari package
swing dengan import javax.swing.JFrame. Kemudian buat class
CreateFrame setelah itu pada void main di buat objek baru bernama frame
yang merujuk pada class JFrame. Setelah itu memberikan title pada frame
dengan menggunakan frame.setTitle("CREATE FRAME") serta mengatur
posisi frame serta ukuran frame dengan menggunakan
frame.setBounds(200,200,300,150) dimana tiap parameter adalah int x,
int y, panjang, lebar. frame.setLayout(null) digunakan untuk mengatur
layout dimana jika null maka pengaturan tersebut tidak tersedia. Agar
tampilannya muncul, maka dibutuhkan frame.setVisible(true) untuk
mengatur tampilan frame.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) digunakan
ketika menutup frame atau mengeklik close maka program akan benar benar
berhenti.

7. Nama Program : Membuat Label


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);
}
}
Hasil Program :

Penjelasan :
Program tersebut bertujuan untuk membuat label dengan menggunakan
package javax.swing. Sebelumnya import terlebih dahulu class JLabelnya
dari javax.swing dengan menuliskan import javax.swing.JLabel selain
JLabel, perlu di import juga JFrame yang digunkaan untuk menampilkan
JLabel yang dibuat yaitu import javax.swing.JFrame. Kemudian buat
class dengan nama CreateLabel lalu didalam fungsi utama terdapat
pembuatan objek frame dengan merujuk class JFrame JFrame frame = new
JFrame(). Setelah dibuat, berikan tittle pada frame
frame.setTitle("CREATE LABEL"). Buat objek untuk menciptakan label
JLabel label = new JLabel. label.setBounds(25,25,200,25)

digunakan untuk mengatur letak dan uuran label pada frame yang telah
dibuat. Lalu meletakkan label pada frame dengan menggunakan
frame.add(label);. frame.add(label); digunakan untuk mengatur
layout, dan frame.setVisible(true) digunakan untuk mengatur tampilan
frame. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
digunakan untuk menghentikan program secara otomatis ketika user sudah
menekan tombol close..

8. Nama Program : Mengatur Posisi Teks pada 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("um.jpg");
//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();
}
}

Hasil Program :
Penjelasan :
Program diatas menampilkan label dengan gambar logo um dan
menampilkan text bertuliskan “UNIVERSITAS NEGERI MALANG”.
Untuk menampilkan seperti diatas, membutuhkan keyword import agar bias
mendeklarasi class JFrame dan JLabel beserta ImageIcon. import
javax.swing.ImageIcon digunakan untuk megimport class ImageIcon dari
package java.swing. lalu buat class dengan nama class

LabelIcon .private JLabel label yang berarti JLabel hanya dapat


diakses pada class itu saja. public LabelIcon() merupakan konstruksi
dimana didalamnya terdapat objek frame dan label. ImageIcon um = new
ImageIcon("um.jpg") adalah objek baru yang digunakan untuk
menugaskan gambar atau logo. Perlu diingat bahwa, lokasi gambar atau logo
yang akan ditampilkan di frame harus disimpan di satu folder class yang
sama dengan program. label.setIcon(um) digunakan untuk memberiikan
gambar atau icon pada frame.
label.setHorizontalTextPosition(SwingConstants.LEFT) digunakan
untuk mengatuur posisi teks disebelah kiri ataupun kanan pada frame.

IV. Tugas Praktikum


1. Nama Program : Program Mencetak Kata dengan Perulangan
Source Code :
import java.util.Scanner;
class CetakKata
{
public static void main(String[] args)
{
Scanner inScanner = new Scanner(System.in);
String kata;
int ulang;

System.out.println("\tPEMROGRAMAN MENCETAK
KATA\n");
System.out.println("Kata apa yang ingin Anda
tampilkan?\t");
kata = inScanner.nextLine();
System.out.println("Berapa kali ingin Anda
tampilkan?\t");
ulang = inScanner.nextInt();
System.out.println("\tDATA YANG DI
INPUTKAN\n");
System.out.println("\tMencetak kata
''"+kata+"'' sebanyak "+ulang+" kali\n");
System.out.println("\tHASIL PERULANGAN
KATA\n");

for(int u=1; u<=ulang; u++){


System.out.println(u+" "+kata);
}
}
}

Hasil Program :
Penjelasan :
Program diatas merpakan program mencetak kata dengan menggunnakan
perulangan. Kata diinputkan oleh user dengan banyak perulangan yang
diinputka user juga. Program tersebut memanfaatkan input dengan class
Scanner, dimana awal program harus mengimport class Scanner dari packge
java.util. Selanjutnya membuat class dengan nama CetakKata. Pada void
main, membuat objek dengan nama inScanner yang merujuk pada class
Scanner. Mendeklarasi kata dengan tipe data string dan ulang dengan tipe
data interger. kata = inScanner.nextLine()adalah variable kata yang
akan menyimpan inputan dari user. Apabila tipe data yang digunakan string,
maka menggunakan nextLine. Begitu juga dengan ulang =

inScanner.nextInt() dimana variable ulang akan menyimpan bilangan


yang diinputkan sehingga inputan ini akan meghasilkan perulangan.
for(int u=1; u<=ulang; u++) merupakan perulangan dengan
menggunakan for dimana perulangan tersebut disesuaikan dengan
banyaknya bilangan yang diinputkan oleh user. Kemudian kata tersebut
dipanggil didalam fungsi perulangan, agar kata dapat terulang sesuai
inputan.
2. Nama Program : Program Konversi Nilai dengan Operasi Kondisi
Source Code :
import java.io.*;
public class KonversiNilai
{
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...!!!");
}
return temporary;
}
public static void main(String[] args)
{

String nama=" ";


char huruf;
int nilaiSO=0, nilaiKN=0, nilaiPBO=0, rata=0;

System.out.println("\tPROGRAM KONVERSI
NILAI\n");
System.out.print("Masukkan Nama : ");
nama = readInput();

System.out.print("Masukkan Nilai Sistem Operasi


\t:");
nilaiSO = Integer.parseInt(readInput());
System.out.print("Masukkan Nilai Komputasi
Numerik :");
nilaiKN = Integer.parseInt(readInput());
System.out.print("Masukkan Nilai PBO \t\t:");
nilaiPBO= Integer.parseInt(readInput());

rata = (nilaiKN + nilaiPBO + nilaiSO)/3;

if (rata<=100 && rata>=85){


huruf = 'A';}
else if(rata<85 && rata>=70){
huruf = 'B';}
else if(rata<70 && rata>=55){
huruf = 'C';}
else if(rata<55 && rata>=20){
huruf = 'D';}
else {
huruf = 'E';}

System.out.println("***************************************
********\n");

System.out.println("Nama\t: "+nama);
System.out.println("\tNilai yang diperoleh :
\n");
System.out.println("Sistem Operasi\t :
"+nilaiSO);
System.out.println("Komputasi Numerik :
"+nilaiKN);
System.out.println("PBO\t\t : "+nilaiPBO);
System.out.println("Rerata Nilai\t : "+rata);
System.out.println("Nilai Huruf\t : "+huruf);

System.out.println("***************************************
********\n");
}
}

Hasil Program :
Penjelasan :
Program diatas merupakan program menginputkan dan mengonversi nilai
yang memanfaatkan opersai kondisi dengan menggunakan class
BufferReader. Agar terdapat class BufferReader maka perlu mengimport
dari package java.io dengan menuliskan import java.io.* yang berarti
dpaat memanggil seluruh class dari java.io. kemudian public class
KonversiNilai merupakan nama class yang akan digunakan. public
static String readInput() adalah konstruktor yang tidak memiliki void
sehingga perlu return agar dapat mengembalikan temporary ke nilai awal.
Didalamnya terdapat objek insReader yang digunakan agar user dapat
menginput bilangan, kemudian terdapat objek bufReader untuk
mengkonvert bilangan tersebut ke dalam string sehingga bilangan yang
sudah diinputkan dapat terbaca oleh BufferReader. Jika hasil inputan benar,
maka akan menjalankan try dimana dalam fungsi tersebut terdapat variable
temporary = bufReader.readLine() yang digunakan unntuk menyimpan
inputan dati user. Jika salah menginutkan, maka program akan menjalankan
catch dan menampilkan kata error. Pada void main terlebih dahulu
mendeklarasi variable seperti String nama=" " untuk mendeklarasi inputan
nama dengan tipe data string, char huruf untuk mendeklarasi huruf yang
digunakan ketika mengkonvert nilai dengan tipe data char, dan int nilai
yang mendeklarasi nilai bertipe data interger dengan nilai awalnya adalah 0.
nama = readInput() adalah variable nama akan menyimpan data inputan
dari user dengan tipe data string. nilaiKN =

Integer.parseInt(readInput()) merupakan variable nilai untuk


Komputansi Numerik yang akan menyimpan nilai inputan dari user bertipe
data interger, begitu pula dengan nilai PBO dan nilai Sistem Operasi. rata
= (nilaiKN + nilaiPBO + nilaiSO)/3 adalah rumus untuk mencari rata-
rata nilai yang telah diinputkan user. Kemudian, dengan menggunakan
percabangan if else, dapat mengkonvert dari nilai bilangan ke nilai huruf.
Setelah itu memanggil seluruh variable untuk ditampilkan pada program.
3. Nama Program : Menampilkan label dan icon dari Data Mahasiswa
Source Code :
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.SwingConstants;

public class ProfilMahasiswa


{
public ProfilMahasiswa()
{
String nim = "NIM : 170533628613\n";
String nama = "Nama : Azizah Tri Novanti\n";
String prodi = "Program Studi : S1 Pendidikan
Teknik Informatika\n";
String tempat = "Tempat Lahir : Malang\n";
String tl = "Tanggal Lahir 22 Novenber 1999\n";
String jk = "Jenis Kelamin : Perempuan\n";

JFrame frame = new JFrame();


frame.setTitle("PROFIL MAHASISWA");
frame.setBounds(200,200,500,200);

JLabel
label1,label2,label3,label4,label5,label6,label
7;

ImageIcon logo = new ImageIcon("um.jpg");

label1 = new JLabel(nim+"\n");


label1.setBounds(90,20,500,200);

label2 = new JLabel(nama+"\n");


label2.setBounds(90,30,500,200);

label3 = new JLabel(prodi+"\n");


label3.setBounds(90,40,500,200);

label4 = new JLabel(tempat+"\n");


label4.setBounds(90,50,500,200);
label5 = new JLabel(tl+"\n");
label5.setBounds(90,60,500,200);

label6 = new JLabel(jk+"\n");


label6.setBounds(90,70,500,200);

label7 = new JLabel();


label7.setIcon(logo);
label7.setBounds(10,40,500,200);

frame.add(label1);
frame.add(label2);
frame.add(label3);
frame.add(label4);
frame.add(label5);
frame.add(label6);
frame.add(label7);
frame.setSize(400,400);
frame.setLayout(null);
frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args)


{
ProfilMahasiswa frame = new ProfilMahasiswa();
}
}

Hasil Program :
Penjelasan :
Program diatas merupakan program untuk menampilkan data mahasiswa
dengan logo yang berada disebelah kiri dari data mahasiswa tersebut. Untuk
menampilkan profil mahasiswa, membutuhkan import untuk bisa
menjalankan class dari JLabel, JFrame,ImageIcon dan SwingConstans.
public class ProfilMahasiswa merupakan nama dari sebuah class.
public ProfilMahasiswa() merupakan konstruksi dimana terdapat objek
frame, logo, dan label. Data mahasiswa disimpan terlebih dahulu
didalam variable kemudian variable tersebut akan dipanggil ketika sudah
berada di objek label. frame.setTitle("PROFIL MAHASISWA")

memberikan title pada frame dengan nama “PROFIL MAHASISWA”.


frame.setBounds(200,200,500,200) ukuran dari frame tersebut. JLabel
label1,label2,label3,label4,label5,label6,label7 deklarasi dari
tiap label, dimana tiap label akan menampilkan tiap data beserta logonya
juga. ImageIcon logo = new ImageIcon("um.jpg") membuat objek logo
dengan merujuk pada class ImageIcon dan memanggil icon pada folder yang
sama dengan class ProfilMahasiswa. Tiap label berisikan tiap satu data
mahasiswa, semisalkan label1 berisikan NIM, kemudian label2 berisikan
nama begitupun seterusnya. Tiap label memiliki setBounds yang berbeda
beda, hal ini terjadi agar tiap label tidak saling menumpuk di koordinat yang
sama. Tiap label akan memanggil variable yang telah dideklarasi
sebelumnya. Pada label7 digunakan untuk menempatkan logo dimana
label7.setIcon(logo) akan memanggil icon untuk ditampilkan. Setelah
itu, masing masing label dipanggil dengan menggunakan frame.add agar
label tampil didalam frame yang sudah dibuat. frame.setSize(400,400)
digunakan untuk mengatur ukuran dari frame. frame.setLayout(null)
mengatur layout frame. frame.setVisible(true) digunakan unntuk
menampilkanframe.frame.setDefaultCloseOperation(JFrame.EXIT_ON
_CLOSE) digunakan apabila user menekan tombol close, maka program akan
otomatis berhenti. Pada void main terdapat ProfilMahasiswa frame = new
ProfilMahasiswa() yang merupakan objek bernama frame yang dirujuk
dari konstruktor ProfilMahasiswa sehingga program dapat mengeksekusi
frame yang tela dibuat di konstruktor ProfilMahasiswa.

4. Nama Program : Menampilkan 3 buah label dan Memberi Keterangan


Source Code :
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.*;

public class ToolTipIcon{

public ToolTipIcon()
{
JFrame frame = new JFrame();
frame.setTitle("JAVA");
frame.setBounds(100,100,400,200);
JLabel label1,label2,label3;
ImageIcon java1 = new ImageIcon("JAVA1.jpg");
ImageIcon java2 = new ImageIcon("JAVA2.jpg");
label1 = new JLabel("Ini adalah Pemrograman
Java berbasis GUI dengan Tooltip");
label1.setBounds(10,10,800,100);

label2 = new JLabel("Pemrograman Java berbasis


GUI");
label2.setBounds(30,90,500,100);
label2.setIcon(java1);
label2.setToolTipText("logo pemrograman JAVA");
label2.setHorizontalAlignment(JLabel.LEFT);

label3 = new JLabel("Java dibawah naungan


Orecle");
label3.setBounds(20,200,500,100);
label3.setIcon(java2);
//label2.setToolTipText("logo pemrograman
JAVA");
label3.setHorizontalAlignment(JLabel.LEFT);

frame.add(label1);
frame.add(label2);
frame.add(label3);
frame.setSize(400,400);
frame.setLayout(null);
frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args)


{
ToolTipIcon frame = new ToolTipIcon();
}
}

Hasil Program :

Penjelasan :
Pada program diatas menampilkan tiga label dimana salah satu icon pada
tiga label tersebut terdapat keterangan apabila mouse atau kursor diarahkan
pada icon tersebut. Sebelum menjalankan class, terlebih dahulu mengimport
javax.swing seperti import javax.swing.JFrame; import

javax.swing.JLabel; import javax.swing.ImageIcon; class yang


dibuat dinamakan class ToolTipIcon. public ToolTipIcon()

merupakan konstruktor yang didalamnya terdapat objek frame yang dibuat


untuk membuat frame dengan title bernama “JAVA”, dengan ukuran frame
frame.setBounds(100,100,400,200);. JLabel label1, label2,

label3 merupakan deklarasi untuk membuat objek baru tiap label.


ImageIcon java1 = new ImageIcon("JAVA1.jpg") membuat objek yang
berisikan file icon dimana file tersebut disimpan menjadi satu didalam satu
folder yang sama dengan class ToolTipIcon. label1 = new
JLabel("Ini adalah Pemrograman Java berbasis GUI dengan

Tooltip") merupakan objek label1 yang akan menampilkan text. label2


= new JLabel("Pemrograman Java berbasis GUI"); adalah objek
label2 yang akan menampilkan text dan icon. label2.setIcon(java1)
digunakan untuk meletakkan icon pada label2. Kemudian
label2.setToolTipText("logo pemrograman JAVA") digunakan untuk
memberikan tooltip pada icon di label2 sehingga saat kursor berada pada
icon tersebut maka akan muncul keterangan “logo pemrograman JAVA”.
label2.setHorizontalAlignment(JLabel.LEFT) digunakan untuk
mengatur penjajaran secara Horizontal yaitu disebelah kiri. label3 = new
JLabel("Java dibawah naungan Orecle") adalah objek label3 yang
menampilkan teks dan icon label3.setIcon(java2). Tiap label diberikan
setBounds yang berbeda beda agar tidak tertumpuk dari label satu dengan
label lainnya. Tiap label diberi frame.add agar label dapat tamil didalam
frame yang telah dibuat. frame.setSize(400,400) digunakan untuk
memberi ukuran pada frame. frame.setLayout(null) mengatur layout
frame. frame.setVisible(true) menampilkan frame yang telah dibuat.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) berfungsi
jika user menekan close maka program akan berhenti secara otoamtis.pada
void main terdapat ToolTipIcon frame = new ToolTipIcon() yang
merupakan pemanggilan konstruktor pada frame.

V. Kesimpulan
Kesimpulan yang didapat dari praktikum ini adalah :
1. Class adalah wadah yang akan digunakan untuk menciptakan objek sehingga
sebelum membuat objek harus membuat class terlebih dahulu.
2. Objek adalah sekumpulan data dalam program yang terdiri dari variable dan
method.
3. Konstruktor adalah inisialisasi terhadap kondisi internal objek yang
memiliki bentuk yang sama seperti method namun konstruktor harus
memiliki nama yang sama dengan nama class dan tidak memiliki nilai
kembalian apapun.
4. Method merupakan prosedur yang dimiliki objek, dimana method akan
mengolah data atau variable yang ada di dalam objek.
5. Variable global adalah variable yag ada di dalam class dan dapat diakses
oleh seluruh method dalam class. Sedangkan Variabel local adalah variable
yang ada didalam method itu sendiri didalam suatu class.
6. Input data oleh user dapat dilakukan dengan du acara, yaitu dengan
menggunakan class BufferReader dan class Scenner.
7. Class BufferReader dari package java.io dimana class ini lebih efisien jika
digunakan untuk tipe data string. Sedangkan untuk class Scanner dari
package java.util lebih efisien digunakan untuk tipe data interger, double dan
sebagainya.
8. class JFrame adalah class dari package javax.swing yang bergunna unntuk
membuat frame sebagai window aplikasi dan sebagai tempatkomponen GUI.
9. Class JLabel adalah class dari package javax.swing yang berguna untuk
membuat komponen berupa label.
10. Tooltip digunakan untuk memberi keterangan pada label apabila mouse atau
kursour yang diarahkan pada label tersebut maka akan muncul keteragan
dibahahnya.

VI. Daftar Rujukan


Rahman,Fathur. 2018. Belajar Mengenal Keywod This pada Bahasa
Pemrograman Java. (Online).
(https://www.okedroid.com/2016/06/belajar-mengenal-keyword-this-
pada-bahasa-pemrograman-java.html ) diakses pada 26 September 2018
TerasMedia. 2018. Menggunakan Kata Kunci (Keyword) this Di Java. (Online).
(https://www.termasmedia.com/pemrograman/java/239-menggunakan-
kata-kunci-keyword-this-di-java.html ) diakses pada 26 September 2018
Dian, Muhar. 2017. Belajar Java OOP: Memahami Tingkatan akses Member
dan Class(Modifier). (https://www.petanikode.com/java-oop-modifier/ )
diakses pada 27 September 2018
Indrajani, S.Kom,MM dan Martin, S.Kom. 2004. Pemrograman Berorientasi
Objek dengan Java. Jakarta : PT Elex Media Komputindo.
Dian, Muhar. 2016. Belajar Java: Menggunakan Prosedur dan Fungsi untuk
Membuat Sub-Program. (Online). (https://www.petanikode.com/java-
prosedur-dan-fungsi/ ) diakses pada 27 September 2018
Setiawan, Yudi. 2015. Membuat Frame, Label, Text Field dan Button di Java
[Full Coding]. (Online).
(http://jagocoding.com/tutorial/1025/Membuat_Frame_Label_TextField_
dan_Button_di_Java_Full_Coding ) diakses pada 27 Sepetember 2018

Anda mungkin juga menyukai