(PO2) 3411191041 MuhamadFikriJamiludin M4 [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

LAPORAN AKHIR PRAKTIKUM PEMROGRAMAN OBJEK 2



MODUL 4 MEMBANGUN APLIKASI BERBASIS GUI



Disusun Oleh : MUHAMAD FIKRI JAMILUDIN 3411181194 Kelas A



PROGRAM STUDI INFORMATIKA FAKULTAS SAINS DAN INFORMATIKA UNIVERSITAS JENDERAL ACHMAD YANI 2021



ABSTRAK Pada modul 4 ini kita belajar penggunaan GUI pada Java. Hal ini mencakup tentang bagaimana cara membuat sebuah grafik, memberi warna kepada setiap komponen, membuat sebuah frame, dan pemanggilan beberapa package.



1



DAFTAR ISI ABSTRAK..............................................................................................................1 DAFTAR ISI...........................................................................................................2 BAB I HASIL PRAKTIKUM...............................................................................3 1.1)



Program FrameExample............................................................................3



1.2)



Program FrameWPanel.............................................................................4



1.3)



Program GraphicPanel..............................................................................5



1.4)



Program FrameWControls........................................................................6



1.5)



Program FlowLayoutDemo.......................................................................7



1.6)



Program BorderLayoutDemo....................................................................8



1.7)



Program ComplexLayout..........................................................................9



1.8)



Program MyContainer.............................................................................10



1.9)



Program SwingDemo..............................................................................11



1.10)



Program SwingDemo...........................................................................12



BAB II TUGAS AKHIR......................................................................................14 BAB III KESIMPULAN......................................................................................19 DAFTAR PUSTAKA...........................................................................................20



2



BAB I HASIL PRAKTIKUM 1.1) Program FrameExample a. Source Code import java.awt.*; public class FrameExample { private Frame f; public FrameExample() { f = new Frame("Hello Out There!"); } public void launchFrame(){ f.setSize(170, 170); f.setBackground(Color.blue); f.setVisible(true); } public static void main(String[] args) { FrameExample gui = new FrameExample(); gui.launchFrame(); }



} import java.awt.*;



public class FrameWPanel { private Frame f; public FrameWPanel(String title){ f = new Frame(title); } public void launchFrame(){ f.setSize(200, 200); f.setBackground(Color.blue); f.setLayout(null); Panel p = new Panel(); f.add(p); f.setVisible(true); } public static void main(String[] args) { FrameWPanel gui = new FrameWPanel("Frame With Panel"); gui.launchFrame(); }



3



}



b. Screenshot



c. Analisa Membuat sebuah Frame, dan menyeting size dengan ukuran 170 x 170, dengan background color biru yang dimana Color adalah objek lain juga. lalu setVisible bernilai true agar tampilan GUI akan muncul ke permukaan windows/layar. 1.2) Program FrameWPanel a. Source Code import java.awt.*; public class FrameWithPanel { private Frame f; public FrameWithPanel(String title) { f = new Frame(title); } public void launchFrame() { f.setSize(200, 200); f.setBackground(Color.blue); f.setLayout(null); Panel pan = new Panel(); pan.setSize(100,100); pan.setBackground(Color.yellow); f.add(pan); f.setVisible(true); } public static void main(String [] args) { FrameWithPanel guiWindow = new FrameWithPanel("Frame With Panel"); guiWindow.launchFrame(); } }



b. Screenshot



4



c. Analisa Membuat frame berukuran 200x200 untuk panjang dan lebarnya dan diberi warna background atau warna latar dari frame tersebut biru, lalu diinputkan kembali panel yang berukuran 100 untuk panjang dan lebarnya dan diberi warna kuning. 1.3) Program GraphicPanel a. Source Code import java.awt.Panel; import java.awt.*; public class GraphicPanel extends Panel { public GraphicPanel() { setBackground(Color.black); } public void paint(Graphics g) { g.setColor(new Color(0,255,0)); //green g.setFont(new Font("Helvetica", Font.PLAIN,16)); g.drawString("Hello GUI world!", 30 , 100); g.setColor(new Color(1.0f, 0, 0)); //red g.fillRect(30, 100, 150, 10); } public static void main(String [] args) { Frame f =new Frame("Testing Graphics Panel"); GraphicPanel gp = new GraphicPanel(); f.add(gp); f.setSize(600, 300); f.setVisible(true); } } 5



b. Screenshot



c. Analisa Membuat sebuah method panel dengan background hitam. Untuk font menggunakan color hijau. Tulisan Hello GUI World akan mengikuti warna yang sudah diatur sebelumnya, lalu membuat garis bawah dan memberinya warna merah. 1.4) Program FrameWControls a. Source Code import java.awt.*; import java.awt.Frame; public class FrameWControls extends Frame { public FrameWControls() { } public static void main(String[] args) { FrameWControls fwc = new FrameWControls(); fwc.setLayout(new FlowLayout()); fwc.setSize(600, 600); fwc.add(new Button("Test Me!")); fwc.add(new Label("Labe")); fwc.add(new TextField()); CheckboxGroup cbg = new CheckboxGroup(); fwc.add(new Checkbox("chk1", cbg, true)); fwc.add(new Checkbox("chk2", cbg, false)); fwc.add(new Checkbox("chk3", cbg, false)); List list = new List(3, false);



6



list.add("MTV"); list.add("V"); fwc.add(list); Choice chooser = new Choice(); chooser.add("Avril"); chooser.add("Monica"); chooser.add("Britney"); fwc.add(chooser); fwc.add(new Scrollbar()); fwc.setVisible(true); } } b. Screenshot



c. Analisis Membuat sebuah frame bernama FrameWControls. Frame di resize ulang, lalu menambahkan komponen lain pada sebuah frame, contohnya ada tombol, label, checkbox, choice dan scrollbar. Sebenarnya masih banyak lagi komponen yang bisa ditambahkan namun disini hanya memakai beberapa saja. 1.5) Program FlowLayoutDemo a. Source Code import java.awt.Frame; import java.awt.*; public class FlowLayoutDemo extends Frame { public FlowLayoutDemo() { } public static void main(String[] args) { FlowLayoutDemo fld = new FlowLayoutDemo(); fld.setLayout(new FlowLayout(FlowLayout.RIGHT, 10, 10)); fld.add(new Button("ONE")); fld.add(new Button("TWO")); fld.add(new Button("THREE")); fld.setSize(100, 100); fld.setVisible(true); } }



7



b. Screenshot



c. Analisis Membuat sebuah flowlayout dengan button diantaranya yang bertuliskan “ONE,TWO,THREE” yang diletakan disebelah kanan atas, dan flowlayout diberi ukuran 100 untuk panjang dan lebarnya. 1.6) Program BorderLayoutDemo a. Source Code import java.awt.BorderLayout; import java.awt.Frame; import java.awt.*; public class BorderLayoutDemo extends Frame { public BorderLayoutDemo() { } public static void main (String [] args) { BorderLayoutDemo bld = new BorderLayoutDemo(); bld.add(new Button("NORTH"), BorderLayout.NORTH); bld.add(new Button("SOUTH"), BorderLayout.SOUTH); bld.add(new Button("EAST"), BorderLayout.EAST); bld.add(new Button("WEST"), BorderLayout.WEST); bld.add(new Button("CENTER"), BorderLayout.CENTER); bld.setSize(200,200); bld.setVisible(true); } } b. Screenshot



8



c. Analisis Membuat sebuah tombol pada sebuah frame. Namun setiap kali pembuatan frame ada parameter tambahan yaitu menambahkan parameter akan di pasang di daerah manakah tombol tombol tersebut. Contohnya ada yang ditengah, kiri, kanan, atas atau bawah. 1.7) Program ComplexLayout a. Source Code import java.awt.Frame; import java.awt.*; public class ComplexLayout extends Frame { public ComplexLayout(){} public static void main (String [] args) { ComplexLayout cl = new ComplexLayout (); Panel panelNorth = new Panel (); Panel panelCenter = new Panel (); Panel panelSouth = new Panel (); panelNorth.add(new Button("ONE")); panelNorth.add(new Button("TWO")); panelNorth.add(new Button("THREE")); panelCenter.setLayout(new GridLayout(4,4)); panelCenter.add(new TextField("1st")); panelCenter.add(new TextField("2st")); panelCenter.add(new TextField("3rd")); panelCenter.add(new TextField("4th")); panelSouth.setLayout(new BorderLayout()); panelSouth.add(new Checkbox ("Choose me !"),BorderLayout.CENTER); panelSouth.add(new Checkbox ("I'm



9



here !"),BorderLayout.EAST); panelSouth.add(new Checkbox ("Pick me !"),BorderLayout.WEST); cl.add(panelNorth, BorderLayout.NORTH); cl.add(panelCenter, BorderLayout.CENTER); cl.add(panelSouth, BorderLayout.SOUTH); cl.setVisible(true); }} b. Screenshot



c. Analisis Membuat 3 buah objek panel, untuk panel yang diatas saja, ditengah dan dibawah. Diatas ada sebuah button, ditengah ada sebuah textfield yang bisa diisikan sebuah teks dan dibawah ada sebuah checkbox. 1.8) Program MyContainer a. Source Code import javax.swing.*; public class MyContainer { public static void main(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); JFrame container = new JFrame("window utama");



10



container.setDefaultCloseOperation(JFrame.EXIT _ON_CLOSE); container.setSize(300,100); container.setLocation(200,200); container.setVisible(true); } } b. Screemshot



c. Analisis Membuat sebuah fram juga, namun membuatnya dengan memakai java swing. Bukan memakai java AWT. Swing biasanya sudah jauh lebih kompleks pemakaiannya dan dari segi pemrograman juga. Terdapat tombol minimise, maximise dan tombol close. 1.9) Program SwingDemo a. Source Code import java.awt.*; import javax.swing.*; public class SwingDemo { JFrame frame; JPanel panel; JTextField textField; JButton button; Container contentPane; public SwingDemo() { } void launchFrame() { frame = new JFrame("My First Swing Application"); panel = new JPanel(); textField = new JTextField("Default text"); button = new JButton("Click Me!"); contentPane = frame.getContentPane(); panel.add(textField); 11



panel.add(button); contentPane.add(panel, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); } public static void main(String[] args) { SwingDemo sd = new SwingDemo(); sd.launchFrame(); } } b. Screenshot



c. Analisis Disini menggabungkan antara AWT dan Swing. Setiap inisialisasi yang didepannya memakai J itu adalah Swing. Contohnya JFrame, JPanel, JTextField, JButton. Container disini memakai memakai dari AWT. 1.10) Program SwingDemo a. Source Code Public class MainClassJavaFX extends Application{ @override Public void start(Stage primaryStage){ BorderPane p= new BorderPane(); Text t = new Text ("Hello FX"); t.setFont(Font.font("Arial",60)); p.setCenter(t); primaryStage.setScene(new Scene(p)); primaryStage.show(); } Public static void main(String []args){ Launch(args); } b. Screenshot



12



c. Analisis Program Diatas merupakan program yang meenggunakan JavaFX untuk menampilkan sebuah tulisan atau text yang menggunakan type font arial dan berukuran 60 serta telah di set agar text berada di tengah.



13



BAB II TUGAS AKHIR 1. Tugas 4.5 Buatlah tampilan tic tac toe A. Source code import java.awt.font.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class TicTacToe { private static int[][] winCombinations = new int[][] { {0, 1, 2}, {3, 4, 5}, {6, 7, 8}, {0, 3, 6}, {1, 4, 7}, {2, 5, 8}, {0, 4, 8}, {2, 4, 6} };



private static JButton buttons[] = new JButton[9]; //create 9 buttons



public static void main (String[] args) { gamePanel(); //launch game }



private static void gamePanel(){ JFrame frame = new JFrame ("Tic Tac Toe"); frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);



14



JPanel panel = new JPanel(); //creating a panel with a box like a tic tac toe board panel.setLayout (new GridLayout (3, 3)); panel.setBorder (BorderFactory.createLineBorder (Color.gray, 3)); panel.setBackground (Color.white); for(int i=0; i