scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · web viewevent driven...

25
Ringkasan UAS Advanced Object Oriented Programming 1. GUI (Graphical User Interface) merupakan tampilan / metode inetraksi dengan grafis antara user dan komputer. Di Java ada 2 : AWT dan Swing. (Swing lebih baru). 2. AWT (Abstract Windows Toolkit) : Bagus untuk development GUI yang sederhana. Kurang cocok untuk GUI projector development. Rentan terjadi bug. Komponen lebih berat. Contoh classnya : Button, Label, List Component, Canvas. Librarynya : java.awt. 3. Swing : Lebih robust (kuat) Lebih versatile (serba guna). Library flexibel. Komponen yang platform dependent. E – Learning BSLC, by : Timothy Orvin Edwardo 1901456205

Upload: doanbao

Post on 25-Apr-2019

252 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

Ringkasan UAS Advanced Object Oriented Programming

1. GUI (Graphical User Interface) merupakan tampilan / metode inetraksi dengan grafis antara user dan komputer. Di Java ada 2 : AWT dan Swing. (Swing lebih baru).

2. AWT (Abstract Windows Toolkit) : Bagus untuk development GUI yang sederhana. Kurang cocok untuk GUI projector development. Rentan terjadi bug. Komponen lebih berat. Contoh classnya : Button, Label, List Component, Canvas. Librarynya : java.awt.

3. Swing : Lebih robust (kuat) Lebih versatile (serba guna). Library flexibel. Komponen yang platform dependent. Komponen lebih ringan. Contoh class : JButton, JLabel, JList, JComponent dari library

javax.swing.

4. Perbedaan AWT dan Swing dilihat secara grafis :

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 2: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

5. API (Application Programming Interface) kumpulan fungsi, prosedur, class dalam sistem operasi, library yang mendukung apa yang program minta.

6. Kelas GUI dibagi menjadi 3 kelompok : Container class komponen GUI yang untuk menampung

komponen GUI lain. Contoh : JFrame, JPanel, JApplet. Component class komponen grafis. Contoh : JButton,

JTextField, JTextArea, JComboBox, Jlist, JRadioButton. Helper class berkaitan dengan aturan tampilan /

mempercantik tampilan. Contoh : graphics, color, font, dimension, fontmetrics.

7. Windows Closing Event (menggunakan setDefaultCloseOperations) :

DO_NOTHING_ON_CLOSE tidak ada yang terjadi ketika user menekan tombol close.

HIDE_ON_CLOSE menyembunyikan windows ketika user close windows.

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 3: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

DISPOSE_ON_CLOSE menyembunyikan dan menghapus window ketika user close windows.

EXIT_ON_CLOSE menutup aplikasi. Menggunakan System.exit(0).

8. Yang harus diperhatikan ketika membuat JFrame : SetSize mengatur ukuran frame. SetDefaultCloseOperations ketika kita close window akan

terjadi apa. SetLocationRelativeTo jika parameternya diisi null maka

akan membuat frame ketengah. SetVisible parameter diisi true untuk menampilkan frame

kita.

9. Layout manager kumpulan dalam container yang menggunakan setLayout method.

10. Ada 3 jenis layout manager : FlowLayout komponen terurut dari kiri ke kanan berdasar

urutan add nya. Ketika 1 baris terisi, maka pindah baris. Ada 3 cara komponen diatur : FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.LEFT.

GridLayout mengurutkan komponen dalam bentuk matrix. Komponen diletakkan dari kiri ke kanan, dimulai dari

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 4: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

baris pertama. Parmeternya adalah banyak baris, banyak kolom, gaps antar komponen secara horizontal dan vertikal.

BorderLayout membagi container ke 5 area : North, South, East, Center, West. Layoutnya adalah : BorderLayout.EAST, BorderLayout.SOUTH, BorderLayout.CENTER, BorderLayout.WEST, BorderLayout.NORTH.

11. Panel dapat dikatakan sebagai sebuah sub – container untuk mengelompokkan komponen GUI.

Menggunakan JPanel. Bisa digunakan untuk mengkombinasikan apabila dalam 1

frame ingin terdapat lebih dari 1 jenis layout manager.

12. Event driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi. Sebagai contoh : ada sebuah tombol Submit, akan mengirimkan data yang diinput ke database ketika tombol Submit tersebut ditekan.

13. Event :

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 5: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

Dikatakan sebagai sebuah signal untuk program ketika sesuatu terjadi.

Digeneralisasi oleh user external, seperti pergerakkan mouse, ketika mouse di klik, tombol ditekan, atau dari sistem operasi seperti timer.

Merupakan bagian dari package AWT.

14. Event class :

15. Event source sebuah objek yang mengandung properti yang berkaitan dengan event.

Objek diidentifikasikan dengan getSource() yng merupakan method instance pada class EventObject.

16. Action, event, dan sources :

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 6: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

17. Listener, registration, handling events : Java menggunakan delegation based model untuk event

handling. Artinya source object memicu event, lalu object yang berkaitan dengan event tersebut handle. Objek yang terakhir disebut listener.

2 hal yang dibutuhkan objek bisa dikatakan listener : Harus instance dari event – listener yang berkaitan

untuk memastikan listener mempunyai method yang benar untuk memproses event.

Harus diregister oleh source object. Tergantung dari event type.

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 7: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

18. Mouse Event terjadi ketika mouse ditekan, diklik, direlease, digerakkan atau didrag. Object mouse event akan mengambil event seperti banyak klik dan posisi (x, y) mouse. Ada 2 listener interface :

MouseListener ditekan, direlease, dienter, exit, klik. mousePressed(e:MouseEvent) ketika tombol di mouse

ditekan di komponen source. mouseReleased(e:MouseEvent) ketika tombol di

mouse dilepas di komponen source. mouseClicked(e:MouseEvent) ketika tombol di mouse

diklik (tekan dan lepas) di komponen source. mouseEntered(e:MouseEvent) ketika mouse

memasukki komponen source. mouseExited(e:MouseEvent) ketika mouse keluar dari

komponen source. MouseMotionListener drag dan pindah.

mouseDragged(e:MouseEvent) ketika tombol mouse dipindahkan dengan tombol dalam posisi ditekan.

mouseMoved(e:MouseEvent) ketika tombol mouse dipindahkan tanpa tombol ditekan.

19. Key Event : Input dari keyboard.

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 8: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

Bisa terjadi ketika keyboard ditekan, direleased, dan typed dari komponen.

Handler untuk KeyListener : KeyPressed terjadi ketika key ditekan. KeyReleased terjadi ketika key direlease. KeyTyped terjadi ketika karakter unicode ditekan.

20. Listener Method secara keseluruhan :

21. Beberapa komponen GUI : JButton membuat tombol. JCheckBox membuat check box. JRadioButton membuat radio button. Jika ingin hanya

bisa dipilih 1, harus buat group menggunakan ButtonGroup. JLabel membuat label. Biasa untuk keterangan. JTextField membuat kotak input. JComboBox membuat menu pilihan dengan bentuk drop

down.

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 9: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

JList membuat menu pilihan, namun bentuknya daftar. JScrollBar membuat scrolling pada window, sehingga

ketika suatu window panjang, bisa dilihat hingga kebawah. Multiple Window :

Aplikasi yang membuka window baru untuk menjalankan tugas tertentu.

Window baru disebut subwindows. Menggunakan Jframe yang menjelaskan tugas

tertentu. Bisa membuat instance di subclass dan launch window

baru dengan set frame instance agar terlihat.

22. Menu membuat selection lebih mudah dan banyak digunakan di aplikasi windows. Java menyediakan 5 class untuk mengimplementasikan menu :

JMenuBar tempat untuk meletakkan menu. JMenu menu utama yang tersedia. JMenuItem apa yang berada didalam menu (submenu). JCheckBoxMenuItem submenu yang melibatkan

checkbox. JRadioButtonMenuItem submenu yang melibatkan radio

button.

23. JToolBar deretan apa saja yang bisa dilakukan. Biasanya untuk akses cepat suatu perintah operasi tertentu (contoh : save, open, print, new file). Melibatkan (Misalkan kita punya objek JtoolBar Tbr1) :

Tbr1.setFloatable(true);

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 10: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

Tbr1.add(Tombol); menambahkan tombol kedalam toolbar.

Tombol.setToolTipText(“New”); untuk penanda fungsinya.

Add(Tbr1, BorderLayout.NORTH);

24. Action Interface : Swing menyediakan action interface yang bisa digunakan

untuk membuat action object untuk action yang memproses.

Menggunakan action objects, pemrosesan action bisa disentralisasikan dan dipisahkan dari kode aplikasi.

Action interface adalah subinterface dari ActionListener. Function :

Action :o GetValue(key) mendapatkan properti objek

menggunakan key nya.o IsEnabled() return true jika enabled.o PutValue(String, Object) berkaitan dengan

pasangan key dengan action.o SetEnabled(boolean) enable atau disable action.

AbstractAction :o AbstractAction() mendefinisikan action object

dengan deskripsi default dan ikon default.o AbstractAction(name) mendefinisikan action

object dengan deskripsi tertentu dan ikon default.o AbstractAction(name, icon) mendefinisikan

action object dengan deskripsi tertentu dan ikon tertentu.

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 11: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

o GetKeys() return array object yang keynya diset untuk AbstractAction, atau NULL jika tidak ada key value yang diset.

25. Action Object container seperti Jmenu dan JtoolBar yang mengetahui bagaimana menambah action object.

26. Untuk menggunakan dialog, seperti pesan error, pesan konfirmasi, kita menggunakan bantuan JOptionPane :

JOptionPane.showMessageDialog(msg, title, tipe); pesan seperti pesan error, sukses. Tipe :o JOptionPane.ERROR_MESSAGE;o JOptionPane.INFORMATION_MESSAGE;o JOptionPane.PLAIN_MESSAGE;o JOptionPane.WARNING_MESSAGE;o JOptionPane.QUESTION_MESSAGE;

JOptionPane.showConfirmDialog(msg, title, tipe); untuk konfirmasi. Tipe :o JOptionPane.YES_OPTION;o JOptionPane.NO_OPTION;o JOptionPane.CANCEL_OPTION;o JOptionPane.OK_OPTION;o JOptionPane.CLOSED_OPTION;

JOptionPane.showInputDialog(msg, title, msgType); ketika dialog meminta input lagi. Bisa berupa TextField, ComboBox, atau List.

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 12: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

JoptionPane.showOptionDialog(msg, title, optionType, msgType, options, initialValue); ketika dialog meminta memilih dari yang disediakan. Contoh memilih tombol.

Custom dialog menggunakan bantuan JDialog.

27. JTable komponen swing yang menampilkan data dalam bentuk baris dan kolom. Biasanya menggunakan JScrollPane untuk mendukung scrolling. Jika tabel tidak diletakkan di scroll pane, maka headernya tidak tampil karena header diletakkan di header view scroll pane.

Mendukung 3 model : Table model untuk store dan proses data. Column model merepresentasikan semua kolom

tabel. List – selection model mirip JList untuk memilih row,

kolom, sel dalam tabel. Ada 2 class pendukung :

TableColumn mengandung informasi kolom tertentu.

TableHeader bisa digunakan untuk menampilkan header Jtable.

28. Auto Sort menggunakan TableRowSorter untuk sort kolom di JTable.

29. Fungsi container class : Menambah dan menghapus menggunakan add dan remove

methods.

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 13: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

Maintain properti layout untuk menggunakan layout manager tertentu. Setiap container memiliki default layout manager.

Menyediakan registrasi methods untuk java.awt.event.ContainerEvent.

30. Swing container structure :

JRootPane container dibalik layar sebagai top – level container (Jframe, JApplet, JDialog).

JLayeredPane container yang manage optional menu bar dan content pane (instance container, JPanel dengan BorderLayout).

JGlassPane merupakan hidden pane (secara default) yang berada diatas semuanya.

JRootPane, JLayeredPane, JGlassPane tidak digunakan secara langsung.

31. Untuk layout manager lanjutan, Java menyediakan CardLayout dan BoxLayout :

Card Layout

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 14: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

Box Layout : Mengurutkan komponen dalam baris atau kolom. Constructor membuat layout manager untuk target

container yang diberikan. Syntaxnya : public BoxLayout(Container target, int axis);

Perbedaan BoxLayout dan GridLayout :o BoxLayout lebih memperhatikan ukuran

komponen, max size, min size. GridLayout membagi ukurannya sama rata.

o BoxLayout lebih mempertimbangkan alignment x atau alignment y properti.

o BoxLayout tidak memiliki celah antar komponen, tetapi kita bisa pakai fillers jika ingin memisahkan komponen. Ada 3 maca fillers : struts, rigid area, glues.

32. JScrollPane untuk scrolling.

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 15: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

33. JTabbedPane swing container yang memiliki kumpulan tab mutually exclusive untuk akses berbagai komponen.

34. JSplitPane swing container yang mengandung 2 komponen dengan separate bar yang disebut divider.

35. Database berguna untuk : Menyimpan data. Menyediakan akses, update, manipulasi, analisa data. Memainkan peran penting di society dan commerce,

contohnya :

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 16: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

Social security information tersimpan di database oleh pemerintah.

Berbelanja online, informasi pembelian disimpan di database oleh perusahaan.

36. Relational database system mengandung data, database management software, program aplikasi.

Repository data yang membentuk informasi. Contoh database management system (DBMS) Oracle,

Ms. SQL Server, MySQL. Program aplikasi dibuat di atas DBMS untuk customer akses

dan update database. Program dilihat sebagai sebuah interface antara database system dan user.

Relational database adalah berdasarkan relational data model yang punya 3 komponen : struktur, integritas, bahasa.

DBMS (Database Management System) software untuk memanage database. Kegunaannya :

Penyimpanan data, penarikkan data, update data. Mendukung komunikasi data. Mendukung transaksi. Layanan otorisasi, integritas, recovery.

37. SQL (Structured Query Language) sebuah bahasa untuk mendefinisikan tabel dan integrity constraints, dan untuk mengakses dan manipulasi data. Merupakan bahasa universal untuk akses relational database system.

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 17: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

38. Sebuah program aplikasi bisa mengizinkan user akses database tanpa secara langsung menggunakan SQL, tetapi aplikasi ini harus menggunakan SQL untuk akses pada database.

39. JDBC sebuah Java API untuk membuat aplikasi database. Memberikan dukungan untuk akses relational database. JDBC memberikan programmer Java dengan uniform interface untuk akses dan manipulasi data pada database relasional.

40. Beberapa langkah dalam Java Database Programming : Loading Drivers mengkonfigurasi, karena ada banyak

macam database. JDBC Drivers :

o Access menggunakan sun.jdbc.odbc.JdbcOdbcDriver

o MySQL menggunakan com.mysql.jdbc.Drivero Oracle oracle.jdbc.driver.OracleDriver

Jika program mengakses beberapa database berbeda, semua drivernya harus di load.

Syntax (sebagai contoh mau load untuk MySQL) : Class.forName(“com.mysql.jdbc.Driver”);

Establishing Connections digunakan untuk menghubungkan ke database. Membangun koneksi :

Method : getConnection(databaseURL); Database URL :

o Access jdbc:odbc:dataSourceo MySQL jdbc:mysql://hostname/dbnameo Oracle

jdbc:oracle:thin:@hostname:port#:oracleDBSID

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 18: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

Contoh : Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/myDB”,”root”,”root”);

Keterangan :o Hostname : localhost:3306o Nama database : myDBo Username : rooto Password : root

Query (create statement dan execute statement) statement yang kita buat, buat querynya disini.

Menciptakan fungsi bolak – balik antara Java dan database.

Membuat statement. Contoh : Statement st = connection.createStatement();

DDL dan Update statement (INSERT / UPDATE / DELETE) bisa dieksekusi dengan executeUpdate(String query);

Query statement, seperti SELECT bisa dieksekusi dengan executeQuery(String query);. Namun, executeQuery memiliki return berupa ResultSet.

Process result set (jika query select) mengembalikan nilai berupa tabel, simpan di ResultSet. Lalu ditampilkan.

Close connection ini berguna untuk mencegah hal tidak diinginkan, seperti data corrupt, data dimanipulasi orang lain.

41. Prepared Statement : Ketika koneksi database dibuat, bisa digunakan untuk

mengirim statement SQL ke database.

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205

Page 19: scdc.binus.ac.idscdc.binus.ac.id/bslc/wp-content/uploads/sites/49/2018/... · Web viewEvent driven programming programming yang code nya akan jalan ketika ada suatu event yang terjadi

Statement interface digunakan untuk eksekusi static SQL statement yang tidak ada parameter.

PreparedStatement interface, memperluas Statement digunakan untuk eksekusi precompiled statement SQL dengan atau tanpa parameter.

Sejak SQL statement precompiled, efisien digunakan untuk eksekusi yang berulang.

Contoh :

E – Learning BSLC, by :

Timothy Orvin Edwardo1901456205