70
OOP OOP: OOP OOP: Java GUI with Java GUI with Java GUI with Java GUI with Netbeans Netbeans Netbeans Netbeans Romi Satria Wahono Romi Satria Wahono Romi Satria Wahono Romi Satria Wahono [email protected] [email protected] http://romisatriawahono.net http://romisatriawahono.net YM: YM: romi sw romi sw _ _

Java GUI withJava GUI with Netbeans · Java GUI withJava GUI with Netbeans ... Menggagapa a dgaaaembangkan Aplikasi Berbasis GUI dengan Java. ... Dasar Pemrograman Java 2,

  • Upload
    dodieu

  • View
    482

  • Download
    8

Embed Size (px)

Citation preview

OOPOOP::OOPOOP::Java GUI withJava GUI withJava GUI with Java GUI with NetbeansNetbeansNetbeansNetbeans

Romi Satria WahonoRomi Satria WahonoRomi Satria WahonoRomi Satria [email protected]@romisatriawahono.nethttp://romisatriawahono.nethttp://romisatriawahono.net

YM: YM: romi swromi swm _m _

Romi Satria WahonoRomi Satria Wahono

Lahir di Madiun, 2 Oktober 1974Lahir di Madiun, 2 Oktober 1974 SD Sompok SD Sompok Semarang (1987)Semarang (1987) SD Sompok SD Sompok Semarang (1987)Semarang (1987) SMPN 8SMPN 8 Semarang (1990)Semarang (1990) SMA Taruna NusantaraSMA Taruna Nusantara, Magelang (1993), Magelang (1993) S1, S2 dan S3 (onS1, S2 dan S3 (on--leave) dari leave) dari Department Department of Computer of Computer , da, da a daa da papa pp

Sciences, Sciences, Saitama UniversitySaitama University, Japan (1994, Japan (1994--2004)2004) Core Competence: Core Competence: Software Software EngineeringEngineering eLearning eLearning Core Competence: Core Competence: Software Software EngineeringEngineering, eLearning , eLearning

System, Knowledge ManagementSystem, Knowledge Management PNS PNS didi LembagaLembaga IlmuIlmu PengetahuanPengetahuan IndonesiaIndonesia PNS PNS didi LembagaLembaga IlmuIlmu PengetahuanPengetahuan IndonesiaIndonesia Founder Founder dandan KoordinatorKoordinator IlmuKomputer.ComIlmuKomputer.Com

ff CEO CEO PT Brainmatics Cipta InformatikaPT Brainmatics Cipta Informatika

MateriMateri

1.1. OOP ConceptsOOP Concepts::K d P di Obj tK d P di Obj t O i t d O i t d Konsep dan Paradigma ObjectKonsep dan Paradigma Object--Oriented Oriented

2.2. Java FundamentalsJava Fundamentals::Memahami Sintaks dan Grammar Bahasa JavaMemahami Sintaks dan Grammar Bahasa Java

33 Java AdvancedJava Advanced::3.3. Java AdvancedJava Advanced::Eksepsi, Thread, Java APIEksepsi, Thread, Java APIJ GUIJ GUI4.4. Java GUIJava GUI::Swing, GUI Component, Event HandlingSwing, GUI Component, Event Handling

5.5. Java GUI with NetbeansJava GUI with Netbeans::Mengembangkan Aplikasi Berbasis GUI dengan JavaMengembangkan Aplikasi Berbasis GUI dengan Javag a g a p a a d ga a ag a g a p a a d ga a a

Java GUI withJava GUI withJava GUI with Java GUI with NetbeansNetbeansNetbeansNetbeans

Materi DiskusiMateri Diskusi

11 Mengenal Netbeans Mengenal Netbeans 1.1. Mengenal Netbeans Mengenal Netbeans 2.2. Aplikasi Konversi SuhuAplikasi Konversi Suhupp3.3. Aplikasi Pertambahan Dua AngkaAplikasi Pertambahan Dua Angka

l h l hl h l h4.4. Aplikasi Penghitungan Jumlah HariAplikasi Penghitungan Jumlah Hari55 Aplikasi KalkulatorAplikasi Kalkulator5.5. Aplikasi KalkulatorAplikasi Kalkulator6.6. Aplikasi Penentu Nilai MahasiswaAplikasi Penentu Nilai Mahasiswap a n n a a a ap a n n a a a a7.7. Aplikasi Biodata MahasiswaAplikasi Biodata Mahasiswa

Mengenal NetbeansMengenal NetbeansMengenal NetbeansMengenal Netbeans

The PaletteThe Palette

The Design AreaThe Design Area

The Source EditorThe Source Editor

The Property EditorThe Property Editor

The InspectorThe Inspector

Aplikasi Konversi SuhuAplikasi Konversi Suhu

GUI Component: GUI Component: TextField, Label, ButtonTextField, Label, Button

1. Membuat Project Baru1. Membuat Project Baru

2. Memberi Nama Project2. Memberi Nama Project

Nama Project: Nama Project: CelciusToFahrenheitCelciusToFahrenheitUncheck: Uncheck: Create Main ClassCreate Main ClassUncheck: Uncheck: Create Main ClassCreate Main Class

3. Menambahkan 3. Menambahkan JFrame JFrame FormForm Pada ProjectPada Project

Nama Frame: Nama Frame: CelciusToFahrenheitGUICelciusToFahrenheitGUIPackage: Package: GUIGUIPackage: Package: GUIGUI

3. Menempatkan GUI3. Menempatkan GUI3. Menempatkan GUI 3. Menempatkan GUI Component ke Design Component ke Design p gp g(Frame)(Frame)

4 Mengubah4 Mengubah TextText daridari4. Mengubah 4. Mengubah TextText daridariGUI Component (GUI Component (Edit TextEdit Text))GUI Component (GUI Component (Edit TextEdit Text))

JTextField1: JTextField1: KosongiKosongiJLabel1: JLabel1: CelciusCelcius

JLabel2 JLabel2 FahrenheitFahrenheitJLabel2: JLabel2: FahrenheitFahrenheitJButton1: JButton1: Convert Convert

5. Mengubah 5. Mengubah Nama Variable Nama Variable dari Setiap GUI Componentdari Setiap GUI Componentdari Setiap GUI Component dari Setiap GUI Component ((Change Variable NameChange Variable Name))((Change Variable NameChange Variable Name))

JTextField1: JTextField1: celciusTextFieldcelciusTextFieldJLabel1: JLabel1: celciusLabelcelciusLabel

JLabel2 JLabel2 fahrenheitLabelfahrenheitLabelJLabel2: JLabel2: fahrenheitLabelfahrenheitLabelJButton1: JButton1: convertButton convertButton

6 Rapikan Tampilan Frame6 Rapikan Tampilan Frame6. Rapikan Tampilan Frame 6. Rapikan Tampilan Frame Program Kita (Potong YangProgram Kita (Potong YangProgram Kita (Potong Yang Program Kita (Potong Yang Tidak Perlu)Tidak Perlu)

7. Buat Event untuk7. Buat Event untuk7. Buat Event untuk 7. Buat Event untuk Convert ButtonConvert Button

Klik Kanan Pada Convert ButtonKlik Kanan Pada Convert ButtonPilih Pilih EventEvent ActionAction ActionPerfomedActionPerfomedatau Pilih atau Pilih EventEventMouseMouseMouseClickMouseClickatau Pilih atau Pilih EventEventMouseMouseMouseClickMouseClick

8. Buat Code untuk Event8. Buat Code untuk Event8. Buat Code untuk Event 8. Buat Code untuk Event Handling di Handling di Convert ButtonConvert Button

double double fahrenheitfahrenheit = Double parseDouble(= Double parseDouble(celciusTextField getText()celciusTextField getText()) * 1 8 + 32) * 1 8 + 32double double fahrenheitfahrenheit = Double.parseDouble(= Double.parseDouble(celciusTextField.getText()celciusTextField.getText()) 1.8 + 32;) 1.8 + 32;fahrenheitLabel.setTextfahrenheitLabel.setText((fahrenheitfahrenheit + " Fahrenheit");+ " Fahrenheit");

9 Kompilasi (9 Kompilasi (BuildBuild F11)F11)9. Kompilasi (9. Kompilasi (BuildBuild, F11) , F11) ProjectProject

10. Jalankan (10. Jalankan (RunRun, F6) Project, F6) Project

Bisa Juga dengan KlikBisa Juga dengan KlikBisa Juga dengan Klik Bisa Juga dengan Klik Kanan dan pilih Kanan dan pilih RunRunppPada File JavaPada File Java

Memainkan Variable Memainkan Variable PropertiesProperties

Aplikasi Pertambahan Aplikasi Pertambahan D A kD A kDua AngkaDua Angka

GUI Component:GUI Component: Label, TextField, ButtonLabel, TextField, Button

Aplikasi Pertambahan Dua AngkaAplikasi Pertambahan Dua Angka

1.1. Angka Pertama Angka Pertama dan dan gg

Angka Kedua Angka Kedua

dimasukkan oleh userdimasukkan oleh user

2.2. Tombol Tombol TambahTambah diklik diklik

maka akan keluar hasil maka akan keluar hasil

pertambahan di field pertambahan di field

ketigaketigagg

3.3. Tombol Tombol HapusHapus untuk untuk

membersihkan layarmembersihkan layaryy

Aplikasi Penghitungan Aplikasi Penghitungan p g gp g gJumlah HariJumlah Hari

GUI Component: GUI Component: Panel, Label, TextField, Panel, Label, TextField, ButtonButtonButtonButton

Logic Programming: Logic Programming: IfIf--Else, SwitchElse, Switch

Aplikasi Penghitungan Jumlah HariAplikasi Penghitungan Jumlah Hari1.1. Tahun dan Bulan Tahun dan Bulan

dimasukkan oleh userdimasukkan oleh user

2.2. Tombol Hitung diklik, maka Tombol Hitung diklik, maka

akan muncul akan muncul jumlah hari jumlah hari

pada bulan dan tahun yang pada bulan dan tahun yang

ditunjukditunjuk

3.3. Perhatikan bahwa ada Perhatikan bahwa ada

perhitungan perhitungan tahun kabisat tahun kabisat pp

pada bulan pebruaripada bulan pebruari

CatatanCatatan::

Error dialog Error dialog munculmuncul bilabila input input pp

nilainilai bukanbukan numeriknumerik

Aplikasi Penentu Nilai Aplikasi Penentu Nilai ppMahasiswaMahasiswa

GUI Component: GUI Component: Label, TextField, ButtonLabel, TextField, ButtonLogic Programming: Logic Programming: IfIf Else SwitchElse SwitchLogic Programming: Logic Programming: IfIf--Else, SwitchElse, Switch

Aplikasi Penentu Nilai MahasiswaAplikasi Penentu Nilai MahasiswaSyarat NilaiSyarat Nilai

(rata(rata--rata):rata):(( ))

1.1. 9090--: : AA

2.2. 8080--89: 89: BB

3.3. 7171--79: 79: CC

1.1. AA--C: C: LulusLulus

2.2. D: D: TidakTidak LulusLulus

CatatanCatatan::

Error dialog Error dialog munculmuncul bilabila

input input nilainilai bukanbukan numeriknumerikpp

Aplikasi KalkulatorAplikasi KalkulatorAplikasi KalkulatorAplikasi Kalkulator

GUI Component: GUI Component: Panel, TextField, ButtonPanel, TextField, ButtonLogic Programming: Logic Programming: IfIf Else SwitchElse SwitchLogic Programming: Logic Programming: IfIf--Else, SwitchElse, Switch

Aplikasi KalkulatorAplikasi Kalkulator

1.1. Cara bekerja seperti Cara bekerja seperti j pj p

kalkulatorkalkulator

2.2. Tombol yang kitaTombol yang kita2.2. Tombol yang kita Tombol yang kita

pencet akan muncul pencet akan muncul

di layardi layardi layardi layar

3.3. Hasil perhitungan Hasil perhitungan

akan muncul di layarakan muncul di layar

Hints: Hints: TahapanTahapan KerjaKerja KalkulatorKalkulator7 7 ++ 88 == 1515

operandSatuoperandSatu OperatorOperator operandDuaoperandDua samadengansamadengan hasilhasil

1.1. OperandSatuOperandSatu: : tampilkantampilkan angkaangka ygyg ditekanditekan didi layarlayar22 OperatorOperator::2.2. OperatorOperator::

1.1. AmbilAmbil yang yang adaada didi layarlayar, , simpansimpan sebagaisebagai variable variable operandSatuoperandSatu2.2. Beri Beri tandatanda operator operator apaapa ygyg dijalankandijalankan (+, (+, --, *, , *, dstdst))pp pp ygyg jj

3.3. OperandDuaOperandDua: : tampilkantampilkan angkaangka ygyg ditekanditekan didi layarlayar4.4. samadengansamadengan::

b lb l dd dd ll bb blbl dd1.1. AmbilAmbil yang yang adaada didi layarlayar, , simpansimpan sebagaisebagai variable variable operandDuaoperandDua2.2. BuatBuat keputusankeputusan (if or switch), (if or switch), operatoroperator apaapa yang yang digunakandigunakan dandan

prosesproses apaapa ygyg dilakukandilakukanprosesproses apaapa ygyg dilakukandilakukan3.3. If(operator == “+”){If(operator == “+”){

layar.setText(operandSatu + operandDua);layar.setText(operandSatu + operandDua);Else if(){Else if(){}}

Aplikasi Biodata Aplikasi Biodata ppOrganisasiOrganisasi

GUI Component: GUI Component: CheckBox, ComboBox, CheckBox, ComboBox, RadioButton, TextAreaRadioButton, TextAreaRadioButton, TextAreaRadioButton, TextArea

Logic Programming: Logic Programming: IfIf--ElseElse

Aplikasi Biodata OrganisasiAplikasi Biodata Organisasi

Nama dan Alamat ditulisNama dan Alamat ditulis

Pekerjaan (PNS, TNI, Pekerjaan (PNS, TNI,

Karyawan, Pengusaha) Karyawan, Pengusaha)

di ilihdi ilihdipilihdipilih

Jenis Kelamin dipilihJenis Kelamin dipilih

Cetak tebal di cekCetak tebal di cek

Ketika klik Tampilan, maka Ketika klik Tampilan, maka

data akan ditampilkan di data akan ditampilkan di

TextAreaTextArea di bawahdi bawah

TombolTombol SimpanSimpan untukuntuk

menyimpanmenyimpan didi file (txt)file (txt)

HintsHints

Font tebal = new Font(“Arial” Font BOLD 12)Font tebal = new Font(“Arial” Font BOLD 12)Font tebal new Font( Arial , Font.BOLD, 12)Font tebal new Font( Arial , Font.BOLD, 12)Font tipis = new Font(“Arial”, Font.PLAIN, 12)Font tipis = new Font(“Arial”, Font.PLAIN, 12)

if(yaif(yaTebalTebal.getText().equals(“Ya”)){.getText().equals(“Ya”)){yaya aa g ) q a a )){g ) q a a )){hasilTextArea.setFont(tebal);hasilTextArea.setFont(tebal);

} l {} l {}else{}else{hasilTextArea.setFont(tipis);hasilTextArea.setFont(tipis);pp

}}

Aplikasi TextEditor Aplikasi TextEditor ppSederhanaSederhana

Aplikasi TextEditor SederhanaAplikasi TextEditor Sederhana

Aplikasi dengan FrameAplikasi dengan Frame Aplikasi dengan Frame Aplikasi dengan Frame

dan Menubardan Menubar

Susunan Menu danSusunan Menu dan Susunan Menu dan Susunan Menu dan

Menu Item adalahMenu Item adalah

FilFil FileFile

SimpanSimpan

ExitExit

HelpHelpHelpHelp

AboutAbout

Aplikasi Biodata Aplikasi Biodata ppMahasiswaMahasiswa

GUI Component: GUI Component: Menubar, Menuitem, Table Menubar, Menuitem, Table

Aplikasi Biodata MahasiswaAplikasi Biodata Mahasiswa Aplikasi dengan frame lengkap Aplikasi dengan frame lengkap

beserta menubar dan menuitembeserta menubar dan menuitem

Data diisi kemudian diklik Data diisi kemudian diklik

TambahkanTambahkan maka data akan maka data akan a ba aa ba a a a data a aa a data a a

masuk ke tablemasuk ke table

BersihkanBersihkan: membersihkan isian: membersihkan isian BersihkanBersihkan: membersihkan isian : membersihkan isian

di Textfielddi Textfield

H sH s m n h s d dim n h s d di HapusHapus: menghapus record di : menghapus record di

tabletable

SimpanSimpan: menyimpan record di : menyimpan record di

filefile

KeluarKeluar: keluar aplikasi: keluar aplikasi

Referensi Referensi --11--

Sharon Zakhour et al, Sharon Zakhour et al, The Java Tutorial Fourth The Java Tutorial Fourth EditionEdition http //java sun com/docs/books/tutorial http //java sun com/docs/books/tutorialEditionEdition, http://java.sun.com/docs/books/tutorial, http://java.sun.com/docs/books/tutorial

Deitel & Deitel, Deitel & Deitel, Java How to ProgramJava How to Program Sixth EditionSixth Edition, , P t H ll 2004P t H ll 2004Prentice Hall, 2004Prentice Hall, 2004

Kathy Sierra & Bert Bates, Kathy Sierra & Bert Bates, Head First Java 2nd Head First Java 2nd EditionEdition, O’Reilly, 2005, O’Reilly, 2005

Rogers Cadenhead & Laura Lemay, Rogers Cadenhead & Laura Lemay, Teach Yourself Teach Yourself g d d y,g d d y,Java 6 in 21 DaysJava 6 in 21 Days, Sams Publishing, 2007, Sams Publishing, 2007

Robert Robert LaforeLafore Data Structures and Algorithms in Data Structures and Algorithms in Robert Robert LaforeLafore, , Data Structures and Algorithms in Data Structures and Algorithms in Java Second EditionJava Second Edition, , SamsSams Publishing, 2003 Publishing, 2003

Referensi Referensi --22--

Tim Pengembang JENI, Tim Pengembang JENI, JENI 1JENI 1--66, Depdiknas, , Depdiknas, 2007200720072007

Abdul Kadir, Abdul Kadir, Dasar Pemrograman Java 2Dasar Pemrograman Java 2, Penerbit , Penerbit A d 2004A d 2004Andi, 2004Andi, 2004

Indrajani dan Martin, Indrajani dan Martin, Pemrograman Berbasis Objek Pemrograman Berbasis Objek dengan Javadengan Java, Elex Media Komputindo, 2007, Elex Media Komputindo, 2007

LN LN HarnaningrumHarnaningrum, , AlgoritmaAlgoritma dandan PemrogramanPemrogramangg ,, gg dd ggJavaJava, , GrahaGraha IlmuIlmu, 2009, 2009

RachmadRachmad Hakim & Hakim & SutartoSutarto Mastering JavaMastering Java ElexElex RachmadRachmad Hakim & Hakim & SutartoSutarto, , Mastering JavaMastering Java, , ElexElexMedia Media KomputindoKomputindo, 2009, 2009