laporan3 pratikum bella

83
LAPORAN PRAKTIKUM BAHASA PEMOGRAMAN JAVA Nama Praktikan Nomor Mahasiswa Tanggal Kumpul Tanda tangan Pratikan BELLA SHELFIALI 1214370319 06 Januari 2015 Nama Penilai Tangga l Koreks i Nilai Tanda tangan Dosen Indri Sulistianingsih S.Kom Kelas SI 5 Pagi

Upload: bella-shelfiali

Post on 26-Dec-2015

50 views

Category:

Documents


0 download

DESCRIPTION

bella shelfiali 1214370319

TRANSCRIPT

Page 1: laporan3 pratikum bella

LAPORAN PRAKTIKUM

BAHASA PEMOGRAMAN JAVA

Nama Praktikan Nomor MahasiswaTanggal

Kumpul

Tanda tangan

Pratikan

BELLA SHELFIALI 1214370319 06 Januari 2015

Nama PenilaiTanggal

KoreksiNilai

Tanda tangan

Dosen

Indri Sulistianingsih

S.Kom

:

Universitas Pembangunan Panca Budi

Fakultas Teknik

Jurusan Sistem Komputer

Medan

2015

Kelas

SI 5 Pagi B

Page 2: laporan3 pratikum bella

2

KATA PENGANTAR

Puji syukur saya panjatkan kehadirat ALLAH karena berkat rahmatnya

penyusunan laporan Bahasa Pemrograman Java dapat diselesaikan dengan tepat waktu

tanpa ada halangan.

Materi yang saya susun dalam laporan ini adalah pengenalaan, percobaan dan

analisa java yang saya susun dengan sistematika yang baik dan jelas serta di tulis dengan

bahasa yang mudah dimengerti.

Laporan disusun berdasarkan kebutuhan mahasiswa. Dengan demikian, materi

yang dibahas dalam laporan ini sudah sesuai dengan kebutuhan mahasiswa dalam ilmu

teknologi yang mudah dimengerti dan dipahami. Dengan menggunakan laporan ini

diharapkan seorang mahasiswa akan mudah dalam mempelajari.

Semoga laporan ini bermanfaat bagi masyarakat untuk pengembangan wawasan

dan peningkatan ilmu pengetaguan bagi masyarakat.

Akhir kata, saya menyadari laporan ini tidak lepas dari kekurangan.

Sekian terima kasih.

Medan, 28 desember 2014

BELLA SHELFIALI

DAFTAR ISI

Page 3: laporan3 pratikum bella

3

KATA PENGANTAR...................................................................................................... 2

DAFTAR ISI..................................................................................................................... 3

BAB I PENDAHULUAN................................................................................................ 5

1.1 Umum............................................................................................................. 5

1.2 Latar belakang................................................................................................ 6

1.3 Tujuan……………......................................................................................... 7

BAB II LANDASAN TEORI.......................................................................................... 8

2.1 Pengenalan Java dan Netbeans..................................................................... 8

2.1.1 Java.................................................................................................. 8

2.1.2 Netbeans........................................................................................... 10

2.1.2.1 Platform Netbeans........................................................... 11

2.1.2.2 NetBeans IDE ................................................................ 11

2.2 operator ………………………….………………………………………. 12

2.3 Class.Objet. dan Method……...…..……………………………................ 13

2.3.1 Class(kelas)……………………………………………….….... 13

2.3.1.1 Anatomi Kelas............................................................... 13

2.3.1.2 Deklarasi Atribute……………………………...….... 14

2.3.2 Objek........................................................................................... 14

2.3.2.1 Siklus Hidup Objek...................................................... 14

2.3.2.2 Penggunaan Objek....................................................... 15

2.3.2.3 Penghancuran Objek………………………….......... .. 15

2.3.3 Method……………………………………………………….. 16

2.3.3.1 Overloading Pada Method ……………………….. 16

2.4 Struktur Perulangan dan Percbangan…………………………………. 17

2.4.1 Perulangan……………………………………………………. 17

2.4.2 Percabangan………………………………………………….. 18

2.5 Pemrograman Berorientasi Objek……………………………………... 19

BAB III PERCOBAAN PRAKTIKUM………………………………………........ 22

3.1 Ruang Lingkup Pemrograman Java………………………………….... 22

3.2 Mengidentfikasi Dasar-dasar Program Java…………………..……... 26

3.3 Struktur Kondisi……… ……………………………………………….. 28

Page 4: laporan3 pratikum bella

4

3.4 Struktur Kondisi (Lanjutn)……………………………………….…… 31

3.5 MDI(Multi Document Interface)…………………………………….. 38

3.6 Form Input Data……………………………………………………….. 43

3.7 Form Input Data(Lanjutan)……………………………………………. 48

BAB IV ANALISA HASIL PERCOBAAN………………………………………. 56

4.1 Ruang Lingkup Pemrograman Java…………………………………… 56

4.2 Mengidentfikasi Dasar-dasar Program Java…………………..……. 56

4.3 Struktur Kondisi……… ……………………………………………... 57

4.4 Struktur Kondisi (Lanjutn)…………………………………………... 58

4.5 MDI(Multi Document Interface)……………………………………. 58

4.6 Form Input Data……………………………………………………... 58

4.7 Form Input Data(Lanjutan)………………………………………….. 59

PENUTUP………………………………………………………………………. 60

Kesimpulan …………………………………………………………......... 60

Saran ………………………………………………………………………. 60

DAFTAR PUSTAKA………………………………………………..…….………. 61

BAB I

Page 5: laporan3 pratikum bella

5

(Pendahuluan)

1.1 Umum

Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer atau

bahasa pemrograman komputter adalah intruksi standar untuk memerintah komputer.

Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantiks

yang dipakai untuk mendefenisikan program komputer.

Bahasa ini memungkinkan seorang programer dapat menentukan secara persis

data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/

diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.

Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:

Bahasa mesin, yaitu memberikan perintah kepada komputer dengan memakai kode

bahasa binner, contohnya 01100101100110.

Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan, yaitu

memberi perintah kepda komputer dengan memakai kode-kode singkat, contohnya SUB,

CMP, JMP, JGE,LOOP,dsb.

Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campurann instruksi

dalam kata-kata bahasa manusia dan yang bersifat simbolik, contohnya

{,},?,<<,>>,&&,||,dsb.

Bahasa Tingkat Tinggi yaitu bahasa komputer yang memakai intruksi berasal

daari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.

Komputer dapat mengerti bahasa manusia itu diperlukan program compiler atau

interpreter.

Page 6: laporan3 pratikum bella

6

1.2 Latar Belakang

Java adalah bahasa pemograman yang berorientasi objek (OOP) dan dapat

dijalankan pada berbagai platform system operasi. Perkembangan java tidak hanya

terfokus pada satu system operasi, tetapi dikembangkan untuk berbagi system operasi dan

bersifat open source. Java berasal dari pengembangan bahasa c++ sehingga strukturnya

seperti c++.

Java sering digunakan oleh semua segmen karena mampu meraba seluruh hal,

dari pemrograman dekstop hingga pemrograman mobile (Mobile Programming) dan java

juga terkenal mudah digunakan, karena seluruh system operasi dapat menjalankan java.

Sistem operasi itu antara lain window, linux, DOS, Unix, dan lain lain sehingga banyak

pengguna pemakaian.

Java telah berkembang semula diciptakan untuk pemrograman (applet, program

computer yang telah dikompilasi menjadi bytecode,yaitu suatu keadan program yang

dapat eksekusi langsung ; tambahan didalam suatu homepage selain gambar) yang

berjalan di web browser menjadi bahasa pemrograman yang terkenal untuk

pengembangan berbagi aplikasi computer yang berjalan di beragam perangkat mulai

handled devices seperti handphone, PDA(Personal Digital Assistant) sampai aplikai

khusus yang tersebar diberbagi macam computer server.

Bahasa java merupakan bahasa sederhana, hanya terdiri beberapa struktur yang

tetap sering disebut sebagai bahasa c++ yang kurang, karena susunannya yang lebih kecil

dibandingkan bahasa c++. Namun Karena diatur secara baik, bahasa java itu mudah

diperluaskan melalui pengembangan-pengembangan untuk keperluan khusus.

Namun bila dikaitkan dengan seluruh kemampuan yang luar biasa tentu java

bukan bahasa yang sederhana, dan mudah. Walaupun begitu bila kita menyenanginya

mempelajari bahasa java tidaklah terlalu sulit.

Page 7: laporan3 pratikum bella

7

1.3 Tujuan Praktikum

Sebagai syarat menyelesaikan mata kuliah Bahasa Pemograman Java.

Sebagai bahan pembelajaran mengenai Bahasa Pemograman Java.

Dapat memahami, mengerti dan mendalami yang meliputi :

1). Sekilas tentang bahasa pemograman Java

2.) Sejarah Bahasa Pemograman Java

4). Cara Kerja Java, secara umum

5). Java sebagai suatu Platform

6). Karakteristik Bahasa Pemograman Java

7). Pengenalan IDE Netbeans

8). Instalasi, Compile, dan Run File Java diComand Promt dan membuat project

sederhana.

BAB II

Page 8: laporan3 pratikum bella

8

(Landasan Teori)

2.1 Pengenalan Java dan Netbeans

2.1.1 Java

Java adalah bahasa pemrograman berorientasi objek murni yang dibuat

berdasarkan kemampuan-kemampuan terbaik bahasa pemrograman objek sebelumnya

(C++, Ada, Simula). Java diciptakan oleh James Gosling, developer dari Sun

Microsystems pada tahun 1991.

Awalnya James ingin memberi bahasa pemrograman tersebut dengan nama OAK

yang berasal dari pohon yang terdapat pada kantor James Gosling, tetapi akhirnya diberi

nama Java setelah mendapat ide sewaktu minum kopi.

Karakteristik Java antara lain :

- Sederhana (Simple)

- Berorientasi Objek (Object Oriented)

- Terdistribusi (Distributed)

- Interpreted

- Robust

- Aman (Secure)

- Architecture Neutral

- Portable

- Performance

- Multithreaded

- Dinamis

Macam-macam Java 2 Software Developer Kit (J2SDK) antara lain :

- J2SE (Java 2 Standard Edition)

- J2EE (Java 2 Enterprise Edition)

- J2ME (Java 2 Micro Edition)

Cara kerja Java dapat digambarkan sebagai berikut :

Page 9: laporan3 pratikum bella

9

Java mempunyai platform yaitu :

- Java Virtual Machine (Java VM)

- Java Application Programming Interface (Java API)

Aplikasi-aplikasi java antara lain :

- Stand alone

- Applets

- Aplikasi berbasis Windows (GUI)

- Java Servlet

- Java Server Pages (JSP)

- Java Beans dan Enterprise Java Beans

- Java Micro Edition

-Penulisan program

o Menulis program

Struktur program java yaitu :

Deklarasi package dan import

class NamaKelas {

<pernyataan>

Page 10: laporan3 pratikum bella

10

}

// Kelas pertama

class NamaKelasLain {

<pernyataan>

}

Dapat ditulis dalam satu file .java:

Berisi satu kelas

Berisi beberapa kelas

Ditulis dalam beberapa file .java:

Satu file satu kelas

Satu file banyak kelas

Hanya boleh ada satu fungsi utama pada setiap program objek.

o Kompilasi

javac <namafile.java>

Contoh:

javac HelloWorld.java

o Eksekusi

java <namafile hasil kompilasi> [<argumen baris perintah>]

Contoh:

java HelloWorld

2.1.2 Netbeans

Netbeans mengacu pada dua hal, yakni platform untuk pengembangan aplikasi

desktop java, dan sebuah Integrated Development Environment (IDE) yang dibangun

menggunakan platform NetBeans.

Platform NetBeans memungkinkan aplikasi dibangun dari sekumpulan komponen

perangkat lunak moduler yang disebut ‘modul’. Sebuah modul adalah suatu arsip java

(Java Archive) yang memuat kelas – kelas java untuk berinetrasi dengan netbeans open

API dan file manifestasi yang mengidentifikasi nya sebagai modul. Aplikasi yang

dibangun dengan modul-modul dapat dikembangkan menambahkan modul-modul baru.

Karena modul dapat dikembangkan secara independent, aplikasi berbaris platform

netbeans dapat dengan mudahdikembangkan oleh piihak ketiga secara mudah dan

powerfull.

Page 11: laporan3 pratikum bella

11

2.1.2.1 Platform NetBeans

Platform NetBeans adalah framework yang dapat digunakan kembali (reusable)

untuk menyederhanakan pengembangan aplikasi desktop. Ketika aplikasi berbasis

platform NetBeans dijalankan, kelas Main dari platform dieksekusi. Modul-modul yang

tersedia ditempatkan di sebuah registry di dalam memori, dan tugas startup modul

dijalankan. Secara umum, kode modul dimuatkan ke dalam memori hanya ketika ia

diperlukan.

Aplikasi dapat menginstal modul secara dinamis. Aplikasi dapat memasukkan

modul Update Center untuk mengijinkan pengguna aplikasi men-download digitally-

signed upgrade dan fitur-fitur baru secara langsung ke dalam aplikasi yang berjalan.

Penginstalan kembali sebuah upgrade atau rilis baru tidak memaksa pengguna untuk

men-download keseluruhan aplikasi lagi.

Platform NetBeans menawarkan layanan-layanan yang umum bagi aplikasi

desktop, mengijinkan pengembang untuk fokus ke logika yang spesifik terhadap aplikasi.

Fitur-fitur yang disediakan oleh platform NetBeans:

• Manajemen antarmuka (misal: menu & toolbar)

• Manajemen pengaturan pengguna

• Manajemen penyimpanan (menyimpan dan membuka berbagai macam data)

• Manajemen jendela

• Wizard framework (mendukung dialog langkah demi langkah).

2.1.2.2 NetBeans IDE

NetBeans IDE adalah IDE ( integrated development environment ) open source

yang ditulis sepenuhnya dengan bahasa pemrograman Java menggunakan platform

NetBeans. NetBeans IDE mendukung pengembangan semua tipe aplikasi Java (J2SE,

web, EJB, dan aplikasi mobile). Fitur lainnya adalah sistem proyek berbasis Ant, kontrol

versi, dan refactoring.

2.2 Operator

Page 12: laporan3 pratikum bella

12

Operator Java merupakan karakter khusus yang berupa simbol atau tanda yang

memerintahkan compiler untuk melakukan berbagai operasi terhadap sejumlah

operand. Perintah operasi dispesifikasikan oleh operator, dimana operand-nya adalah

variabel, pernyataan, atau besaran literal.

Operator yang dibahas pada bagian ini adalah operator aritmatika, increment

dan decrement, assignment (penugasan), relasi, logical, dan bitwise.

a. Operator Aritmatika

Sama halnya dengan semua bahasa pemrograman, Java menyediakan operator-

operator aritmatika untuk manipulasi variabel data numerik.

b. Operator Increment dan Decrement

Operator Increment dan Decrement digunakan untuk menaikan atau menurunkan

suatu nilai integer (bilangan bulat) sebanyak satu satuan, dan hanya dapat digunakan pada

variabel. Ada dua versi operator increment maupun decrement, yaitu prefix dan postfix.

Prefix berarti operator digunakan sebelum variabel atau ekspresi, dan postfix berarti

operator digunakan sesudahnya.

c. Operator Assignment ( Penugasan )

Operator assignment dalam Java digunakan untuk memberikan sebuah nilai ke sebuah

variabel. Operator assignment hanya berupa ‘=’, namun selain itu dalam Java dikenal

beberapa shortcut assignment operator yang penting.

d. Operator Relasi

Operator relasi dalam Java digunakan untuk menghasilkan nilai boolean yang sering

digunakan untuk mengatur alur jalannya sebuah program.

e. Operator Logical

Operator ini digunakan untuk ekspresi logik yang menghasilkan nilai boolean.

Operator-operator yang digunakan adalah AND ( && ), OR ( ¦ ¦ ) dan NOT ( ! ).

f. Operator Bitwise

Operator ini dalam Java digunakan untuk melakukan manipulasi bit.

2.3 Class, Object dan Method

Page 13: laporan3 pratikum bella

13

2.3.1 Class (Kelas)

Kelas merupakan sarana pengkapsulan kumpulan data dan kumpulan method

java. Kumpulan data dan method tersebut berwujud baris-baris program java.

Kumpulan method berfungsi untuk mengoperasikan kumpulan data dalam kelas

tersebut. Kelas digunakan untuk membuat objek, dan berperan sebagai tipe data dari

objek.

2.3.1.1 Anatomi Kelas

Bentuk umum struktur anatomi kelas sebagai berikut :

(modifier1) class NamaKelas (modifier2) {

classbody

}

Classbody terdiri dari satu atau beberapa attribute, constructor, dan method.

Modifier 1 dan 2 pada anatomi kelas, sifatnya optional, digunakan berdasarkan

kebutuhan. Modifier menunjukkan sifat-sifat tertentu dari kelasnya, sifatsifat dari

methodnya, atau sifat-sifat attributenya. Ada 10 keyword yang digunakan sebagai

modifier 1 dan dikelompokkan menjadi :

1. Modifier akses (public, protected, default, private)

2. Modifier final

3. Modifier static

5. Modifier synchronized

6. Modifier native

7. Modifier storage (transient, volatile)

Modifier yang memiliki sifat saling kontradiktif yaitu static dan abstract.

Sementara static tidak boleh memberi sifat pada interface, dan keyword super tidak boleh

digunakan pada method static.

Ada 2 keyword yang sering digunakan sebagai modifier 2, yaitu extends dan

implements.

2.3.1.2 Deklarasi Attribute (Variabel Anggota Data)

Deklarasi diletakkan di dalam classbody (di luar method). Bentuk umum

Page 14: laporan3 pratikum bella

14

deklarasi attribute :

[modifier] tipedata namavariabel;

[public] [static] final tipedata NAMA_KONSTANTA = nilai;

Contoh :

public class CircleClass {

public static final double PI = 3.14159265358979323846;

public double x, y, r;

// dan seterusnya

}

2.3.2 Object

Objek adalah sebuah pointer. Objek dibentuk/dicetak oleh sebuah class java.

Proses pembentukan objek dari suatu class ini disebut dengan instansiasi (instance).

Setelah dibentuk oleh suatu class maka objek akan terus berada di memory dan siap

dipakai sampai kemudian dihancurkan.

2.3.2.1 Siklus Hidup Objek

Suatu objek di java, terlebih dahulu harus dideklarasikan, setelah itu

mengalami pembuatan, penggunaan, kemudian penghancuran.

Deklarasi dan Pembuatan/Instansiasi Objek

Ilustrasi deklarasi objek :

MyClass mc; MyClass

Ditentukan variabel mc dengan tipe MyClass, dalam deklarasi mc masih

berupa pointer dan belum menunjuk alokasi memori. Keyword new diperlukan untuk

membentuk objek tsb sekaligus memanggil constructor.

Ilustrasi pembentukan objek :

Mc = new MyClass() MyClass MyClass

~var1 : int

~var2 : String

Ada 4 cara untuk melakukan deklarasi dan pembuatan objek (ingat NamaKelas

sama dengan NamaConstructor), yaitu :

Page 15: laporan3 pratikum bella

15

1. Cara 1:

NamaKelas namaObjek; // deklarasi

namaObjek = new NamaConstructor(); // pembuatan

Deklarasi dan pembuatan objek boleh jadi satu dalam suatu kelas. Deklarasi dan

pembuatan objek boleh dipisah di kelas yang berbeda, misalnya deklarasi objek di

method main() pada kelas1, sedangkan pembuatan/instansiasi objek berada pada kelas2.

2. Cara2 :

NamaKelas namaObjek = new NamaConstructor();

Artinya dua proses deklarasi dan pembuatan dijadikan satu. Cara inilah yang nanti

akan banyak kita pakai dalam mempelajari materi buku ini.

3. Cara3 :

new NamaConstructor();

Cara ini objek diinstansiasi tanpa nama, tujuannya hanya untuk menjalankan

constructor.

4. Cara4 :

New NamaKelas(”…..”).namaMethod();

Cara ini objek diinstansiasi dengan nama kelas sekaligus menjalankan

method tertentu dalam objek tersebut.

2.3.2.2 Penggunaan Objek

Penggunaan objek sebenarnya untuk memanggil method yang merupakan sifat

objek tersebut. Bentuk umum :

namaObjek.namaMethod([daftarNilaiParameter]);

2.3.2.3 Penghancuran Objek

Teknik yang digunakan java untuk menangani objek yang sudah tidak

diperlukan lagi disebut garbage collection. Objek yang sudah tidak diperlukan lagi

akan terdeteksi oleh JVM, sehingga secara otomatis dihancurkan oleh garbage

collector (bukan oleh programmer).

2.3.3 Method

Method merupakan tingkah laku dari suatu objek, jika bersifat static berarti

Page 16: laporan3 pratikum bella

16

tingkah laku semua objek dalam kelas tersebut. Method diletakkan di dalam

classbody (sebaiknya tidak diletakkan dalam method lain).

Bentuk umum method :

[modifier] tipe_return_value namaMethod(tipe parameter) {

methodbody;

}

Modifier boleh lebih dari satu (dipisah oleh spasi). Pasangan tipe dan parameter

dapat lebih dari satu (dipisah oleh koma).

Baris-baris program java saat dijalankan dimulai dari method main().

Bentuk umum method main() adalah sebagai berikut :

[modifier] tipe_return_value main(String args[]) {

methodbody

}

Ada dua sintaks pemanggilan suatu method :

namaObjek.namaMethod([nilaiParamater]);

namaKelas.namaMethod([nilaiParamater]);

Tidak semua member (class, attribute, dan method) dapat diakses method,

Method dasar ada dua jenis yaitu getter() dan setter(). Method jenis getter()

merupakan method-method yang berfungsi untuk mendapatkan informasi dari class,

sedangkan jenis setter() berfungsi untuk menentukan isi atribut (variabel) dalam class.

2.3.3.1 Overloading pada Method

Overloading adalah mendefinisikan dua atau lebih method di dalam satu

kelas yang sama, dengan nama yang sama, namun dengan deklarasi parameter

yang berbeda. Overloading disini bukan overloading terhadap operator

sebagaimana dalam bahasa C++.

Java interpreter mampu membedakan method mana yang dieksekusi

dengan mengenali tipe parameter yang dilewatkan ke method, serta mengenali

return valuenya.

2.4 Struktur Perulangan dan Percabangan

Page 17: laporan3 pratikum bella

17

2.4.1 Perulangan

Perulangan di dalam Java terdapat 3 macam, yaitu for, while dan do-while.

Perulangan for dipakai pada saat kita melakukan perulangan dengan jumlah yang

sudah diketahui pasti.

Sintaks dari for adalah sebagai berikut:

For (inisialisasi; kondissi; perintah) {

Pernyataan;

}

Perulangan while dipakai pada saat kita melakukan perulangan dengan jumlah

yang belum diketahui pasti. Pernyataan pada while akan dikerjakan setelah

pengecekan kondisi pada while bernilai true.

Sintaks dari while adalah sebagai berikut :

while (kondisi) {

Pernyataan;

}

Perulangan do-while dipakai pada saat kita melakukan perulangan dengan jumlah

ynga belum diketahui pasti. Pernyataan pada do akan dikerjakan terlebih dahulu,

baru setelah itu dilakukan pengecekan kondisi pada while.

Sintaks dari do-while adalah sebagai berikut:

do {

Pernyataan;

} while (kondisi);

Kita dapat memberikan kondisi tertentu pada saat terjadi perulangan. Kondisi

yang mungkin terjadi pada perulangan terdapat 2 macam, yaitu break dan continue. Break

menyababkan suatu kondisi untuk keluar dari perulangan . Sedangkan continue

menyebabkan suatu kondisi untuk melanjutkan ke tahapan selanjutnya pada perulangaan.

2.4.2 Percabangan

Page 18: laporan3 pratikum bella

18

Percabangan di dalam java terdapat 2 macam, yaitu dengan memakai if dan

switch.

Percabangan if dipakai jika kita menginginkan suatu penyataan itu dilakukan

dengan syarat tertentu yang bernilai benar.

Sintaks dari if adalah sebagai berikut :

if (ekspresi_boolean) {

Pernyataan1;

}

Pernyataan1 akan dilakukan kalau ekpresi boolean bernilai true.

Percabangan if-else dipakai untuk mengeksekusi salah satu dari pernyataan dari

syarat tertentu yang pada if yang dapat bernilai benar atau salah.

Sintaks dari if-else adalah sebagai berikut:

if (ekspresi_boolean) {

Pernyataan1;

} else {

Pernyataan2;

}

Pernyataan1 akan dilakukan kalau ekspresi_boolean bernilai true. Kalau

ekspresi_boolean false, maka Pernyataan2 akan dikerjakan.

Percabangan else-if dipakai untuk memberikan kondisi tertentu pada bagian else.

Sintaks dari else if adalah sebagai berikut:

If(ekspresi_boolean1) {

Pernyataan1;

} else if (ekspresi_boolean2) {

Pernyataan2;

}

Ketika ekspresi_boolean bernilai false, maka alur program akaan menuju ke

bagian else. Selanjutnya Pernyataan2 diatas akan dikerjakan kalau ekspresi_boolean2

bernilai true.

Page 19: laporan3 pratikum bella

19

Percabangan switch dipakai pada saat kita ingin memberikan kondisi dengan

beberapa syarat yang identik yang masing-masing mempunyai pernyataan yang

berbeda-beda. Pada java nilai yang dilewatkan pada switch harus bertipe int,

short, byte atau char.

Sintaks dari swith dalah sebagai berikut:

Switch (ekspresi) {

case nilai1; Pernyataan1;

break;

case nilai2; Pernyataan2;

break;

default: Pernyataan3;

}

Ketika ekspresi bernilai nilai1, maka alur program akan mengeksekusi

Pernyataan1. Selanjutnya break menyababkan alur program keluar dari daerah switch.

Kalau ekspresi bernilai nilai2, maka alur program akan mengeksekusi Pernyataan2.

Apabila ekspresi mempunyai nilai yang tidak sama dengan nilai1 dan nilai2, maka alur

program akan menuju ke bagian default dan kemudian mengeksekusi Pernyataan3.

2.5 Pemrograman Berorientasi Objek

Pemrograman berorientasi objek merupakan model pemrograman yang

berorientasi pada suatu objek tertentu, semua data dan fungsi dibungkus dalam suatu

objek. Dalam Pemrograman berorientasi objek kita juga harus mengenal kelas, objek, dan

akses modifier .

OOP berputar pada konsep dari object sebagai dasar element dari program anda.

Ketika kita membandingkan dengan dunia nyata, kita dapat menemukan beberapa objek

disekitar kita, seperti mobil, singa, manusia dan seterusnya. Sifat / attributnya dan

tingkah lakunya.

Deklarasi class

Dapat dilakukan dengan sintaks sebagai berikut:

<modifier> class <nama_class> {

[deklarasi atribut]

Page 20: laporan3 pratikum bella

20

[deklarasi_konstruktor]

[deklarasi_metode]

Deklarasi atribut

Dapat dilakukan dengan sintaks sebagai berikut:

<modifier> <tipe> <nama_atribut> ;

Deklarasi metode

Dapat dilakukan dengan sintaks sebagai berikut:

<modifier> <return type> <nama_metode> {[daftar_argumen]}

{

[statement]

}

Pengaksesan anggota objek

Untuk dapat mengakses anggota-anggota dari suatu objek, maka harus dibuat

instance dari class tersebut terlebih dahulu. Berikut ini adalah contoh pengaksesan

anggota-anggota dari kelas siswa:

Public class siswa {

Pubic static void main(String args[]} {

Siswa it=new siswa();

it.nrp=5;

it.nama”Andi”;

it.info();

}

}

Dasar-dasar pemrograman berorientasi objek

Information hiding

Dapat menyembunyikan information dari suatu class sehingga anggota-anggota

class tersebut tidak dapat diakses dari luar. Adapun caranya adalah cukup dengan

memberikan akses kontrol private ketika mendeklarasikan suatu atribut atau

method.

Page 21: laporan3 pratikum bella

21

Enkapsulasi

Enkapsulasi adalah suatu cara untuk menembunyikan implementasi detail dari

suatu class. Enkapsulasi mempunyai dua hal mendasar, yaitu:

1. Information hiding

2. Menyediakan suatu perantara (method) untuk pengaksesan data.

Constructor

Konstruksi adalah suatu method yang pertama kali dijalankan pada saat

pembuatan suatu objek. Konstruktor mempunyai ciri yaitu :

1. Mempunyai nama yang sama dengan nama class

2. Tidak mempunyai return type ( seperti void, int, double, dan lain-lain)

Overloading constructor

Suatu class dapat mempunyai lebih dari 1 konstruktor dengan syarat daftar

parameternnya tidk boleh ada yang sama.

Page 22: laporan3 pratikum bella

22

BAB III

(Percobaan / Praktikum)

3.1 Ruang Lingkup Pemograman Java

Membuat program java menggunakan text editor dan console pada

environment.

Jalankan software Netbeans

melalui klik start All Programs

Netbeans .Netbeans IDE 7.3.1.

Pada menu klik File New

Project, kemudian pada

Categories pilih Java kemudian

klik Next

Pada Project Name Isikan

nama aplikasi yang akan

dibuat : PagiA, kemudian

hilangkan ceklist pada Set as

Main Project dan Create

Main Class kemudian klik

Finish.

Pada default package klik

kanan New, kemudian

pilih JFrame Form

Page 23: laporan3 pratikum bella

23

Beri nama frame contoh

“Modul2" dan nama package .

Jangan menggunakan spasi

dalam setiap penamaan dalam

project java.

kemudian klik Finish

Desain Frame seperti pada gambar berikut :

Page 24: laporan3 pratikum bella

24

Berikut adalah detail item-item yang diambil dari palette. Ganti variable name

sesuai dengan detail label dan textfield.

Objek Palette Propertis Nilai

JLabel1 Text NPM

JLabel2 Text Nama

JLabel3 Text Jenis Kelamin

JLabel4 Text Tanggal Lahir

JLabel5 text Alamat

JLabel6 Text Hobbi

JLabel7 Text Biodata

JTextField1 Text variable name txtnpm

JTextField2 Text variable name txtnpm

JTextField3 Text variable name txttanggallahir

JTextField4 Text variable name txtalamat

JTextField5 Text variable name txthobbi

JComboBox Text variable name

Model : Pria, wanita

cbojk

JButton1 Text variable name btnproses

JLabel7 text Biodata

JLabel8 NPM

Variable name lblnpm

JLabel9 Nama

Variable name lblnama

JLabel10 Jenis Kelamin

Variable name Lbljk

JLabel11 Tanggal Lahir

Variable name lbltl

JLabel12 Alamat

Variable name lblalamat

JLabel13 Hobi

Page 25: laporan3 pratikum bella

25

Variable name lblhobi

Ketikkan code program pada button proses seperti diberikut:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

lblnpm.setText(txtnpm.getText());

lblnama.setText(txtnama.getText());

lbljk.setText((String)cbojk.getSelectedItem());

lbltl.setText(txttl.getText());

lblalamat.setText(txtalamat.getText());

lblhobi.setText(txthobi.getText());

txtnpm.setText("");

txtnama.setText("");

txttl.setText("");

txthobi.setText("");

txtalamat.setText("");

cbojk.setSelectedItem("Pilih");

}

Compile program dengan mengklik menu Build> Build Main Project- Run

Program dengan mengklik menu Run> Run Main Project.

HASIL MODUL 2

Page 26: laporan3 pratikum bella

26

3.2 Mengidentifikasi dasar-dasar program Java

Membedakan beberapa hal yang penting pada Java seperti, Java literal, tipe data

primitif, tipe data variabel, identifier dan operator.

Buatlah program dengan nama frame “Modul3”

yang menghasilkan output desain frame seperti

pada gambar :

Berikut adalah detail navigator untuk pallete dan

variable name:

Palette Properties Nilai

jLabel1 Text Input Nilai Pertama

jLabel2 Text Input Nilai Kedua

jLabel3 Text Hasil

jTextField1 Variable name txtinput1

jTextField2 Variable name txtinput2

jTextField3 Variable name txthasil

JButton1 +

Variable name btntambah

JButton2 -

Variable name btnkurang

JButton3 X

Variable name btnkali

JButton4 /

Variable name btntambah

Masukan kode program dibawah sesuai pada 4 button dengan cara -klik kanan

button => Event => Action => Mouse=>pilih mouseClicked. Ketikan kode

program dibawah ini sesuai variable button masing masing:

private void btntambahActionPerformed(java.awt.event.ActionEvent evt) {

Integer nilai1=Integer.valueOf(txtinput1.getText());

Integer nilai2=Integer.valueOf(txtinput2.getText());

Page 27: laporan3 pratikum bella

27

Integer Hasil3 = nilai1 + nilai2;

String Hasil = String.valueOf(Hasil3);

txthasil.setText(Hasil);

}

private void btnkaliActionPerformed(java.awt.event.ActionEvent evt) {

Integer nilai1=Integer.valueOf(txtinput1.getText());

Integer nilai2=Integer.valueOf(txtinput2.getText());

Integer Hasil3 = nilai1 * nilai2;

String Hasil = String.valueOf(Hasil3);

txthasil.setText(Hasil);

}

private void btnkurangActionPerformed(java.awt.event.ActionEvent evt) {

Integer nilai1=Integer.valueOf(txtinput1.getText());

Integer nilai2=Integer.valueOf(txtinput2.getText());

Integer Hasil3 = nilai1 - nilai2;

String Hasil = String.valueOf(Hasil3);

txthasil.setText(Hasil);

}

private void btnbagiActionPerformed(java.awt.event.ActionEvent evt) {

Integer nilai1=Integer.valueOf(txtinput1.getText());

Integer nilai2=Integer.valueOf(txtinput2.getText());

Integer Hasil3 = nilai1 / nilai2;

String Hasil = String.valueOf(Hasil3);

txthasil.setText(Hasil);

}

Compile program dengan mengklik menu Build> Build Main Project- Run

Program dengan mengklik menu Run> Run Main Project

HASIL MODUL 3

Page 28: laporan3 pratikum bella

28

3.3 Struktur Kondisi

Menggunakan struktur kontrol pemilihan (if, else, switch) yang digunakan

untuk memilih blok kode

yang akan dieksekusi

Buatlah program dengan

nama frame “Modul4” yang

menghasilkan output desain

frame seperti pada gambar :

Berikut adalah propertise

Variable / Item-item yang diambil dari pallete sesuai pada desain frame diatas:

Palette 1 Edit Text Palette 2 Variable name Propertiies

Desktop Pane Background : Green

jLabel1Nama

PembeliText Field Txtnama -

jLabel2 Status Combo Box cbostatusModel : Umum,

Member

jLabel3 Jenis Barang Combo Box CbojenisModel : Pilih, iPad,

iPhone, iPod

jLabel4 Harga Text Field Txtharga Editable : False

jLabel5 Jumlah Text Field txtjumlah -

jLabel6 Button BtnbayarEvent –

ActionPerformed

jLabel7 Diskon Text Field txtdiskon Editable : False

jLabel8 Total Bayar Text Field Txttotal Editable : False

Pada Comco Box jenis barang. Tuliskan kode program berikut:Caranya klik

kanan cbojenis => Event=>Action=>ActionPerformed

Page 29: laporan3 pratikum bella

29

private void cbojenisActionPerformed(java.awt.event.ActionEvent evt) {

if(cbojenis.getSelectedItem()=="IPAD"){

txtharga.setText("4999000");

}else if(cbojenis.getSelectedItem()=="IPHONE"){

txtharga.setText("7999000");

}else if(cbojenis.getSelectedItem()=="IPOD"){

txtharga.setText("2999000");

}else{

txtharga.setText("");

}

}

klik btnbayar (button bayar) pilih event=> action=>Actionperformed. Tuliskan

kode program berikut:

private void btnbayarActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

int harga=Integer.parseInt(txtharga.getText());

int jumlah=Integer.parseInt(txtjumlah.getText());

double diskon,total,nilaidiskon;

if(cbostatus.getSelectedItem()=="MEMBER"){

diskon=0.05*harga;

nilaidiskon=harga-diskon;

total=nilaidiskon*jumlah;

}else{

diskon=0;

nilaidiskon=harga-diskon;

total=nilaidiskon*jumlah;

}

txtdiskon.setText(""+diskon);

txttotalbayar.setText(""+total);

}

Kemudian jalankan program Dengan cara klik kanan pada file program (frame)

pilih Run File atau tekan Shift + F

Page 30: laporan3 pratikum bella

30

HASIL MODUL 4

3.4 STRUKTUR KONDISI (Lanjutan)

Menggunakan struktur kontrol pemilihan (if, else, switch) yang digunakan untuk

memilih blok kode yang akan

dieksekusi

Buatlah program dengan

nama frame “Modul5” yang

menghasilkan output desain

frame seperti pada gambar :

Selanjutnya, tambahkan beberapa komponen pallete seperti pada tabel berikut::

Objek Palette Properties Nilai

JLabel1 Text Perhitungan Gaji

JLabel2 Text NIP

JLabel3 Text Nama

JLabel4 Text Jabatan

JLabel5 Text Gaji Pokok

JLabel6 Text Status

JLabel7 Text Tunjangan Istri(20% Gaji)

JLabel8 Text Jumlah Anak

JLabel9 Text Tunjangan Anak(15%Gaji)

JLabel10 Text Gaji Kotor

JLabel11 Text Pajak(10% Gaji)

JLabel12 Text Gaji Bersih

Page 31: laporan3 pratikum bella

31

JTextField1 Text

Variable Name

txtnip

JTextField2 Text

Variable Name

txtnama

JTextField3 Text

Variable Name

txtgajipokok

JTextField4 Text

Variable Name

txttunjanganistri

JTextField5 text

Variable Name

txtjumlahanak

JTextField6 text

Variable Name

txttunjangananak

JTextField7 Text

Variable Name

txtgajikotor

JTextField8 text

Variable Name

txtpajak

JTextField9 text

Variable Name

txtgajibersih

JRadioButton1 text

Variable Name

Menikah

Opsi1

JRadioButton text

Variable Name

Belum Menikah

Opsi2

JButtonGroup1 -

JButton1 text

Variable Name

Clear

btnbersih

JButton2 text

Variable Name

Hitung

btnhitung

Variable name

Model

Cmbjabatan

Direktur

Manager

Page 32: laporan3 pratikum bella

32

JComboBox Kabag

Sekretaris

Karyawan

Office Boy

HASIL MODUL 5

Selanjutnya tambahkan komponen ButtonGroup untuk komponen JRadioButton.

Ubah properti buttonGroup pada kedua JRadioButton (opsi1 dan opsi2) menjadi

buttonGroup1.

Setelah selesai desain form. Kemudian ke tab Source dan tuliskan kode program:

public class modul5 extends javax.swing.JFrame {

int gajipokok,gajikotor,pajak,gajibersih;

// Kode program dengan awalannya int adalah variabel dideklarasikan dengan tipe data

Integer.

int tunjanganistri,tunjangananak,jumlahanak;

String t_istri,t_anak;

String gajikotor_1 ,pajak_1,gajibersih_1;

//Kode program dengan awalannya String adalah variabel dideklarasikan dengan tipe

data string

/**

* Creates new form modul5 */

public modul5() {

setTitle("Form perhitungan gaji pegawai");

initComponents();

}

Selanjutnya di bagian bawah dari kode perintah initComponents(); }

Ketikkan kode berikut ini:

private void Gaji(){txtgajibersih

Page 33: laporan3 pratikum bella

33

//Method dengan nama Gaji yang berfungsi untuk menampilkan jumlah

gaji dengan pernyataan switch pada txtgajipokok ketika item model di

cmbjabatan dipilih.

int pilihan=cmbjabatan.getSelectedIndex();

switch(pilihan){

case 0:

txtgajipokok.setText("7500000");

break;;

case 1:

txtgajipokok.setText("5000000");

break;

case 2:

txtgajipokok.setText("3000000");

break;

case 3:

txtgajipokok.setText("2000000");

break;

case 4:

txtgajipokok.setText("1200000");

break;

case 5:

txtgajipokok.setText("750000");

break;

}

}

private void TunjanganAnak(){

// Method dengan nama TunjanganAnak berfungsi sebagai pernyataan kondisi jika

tunjangan anak dapat diperoleh maksimal 2 anak setiap pegawai.

gajipokok = Integer.valueOf(txtgajipokok.getText());

jumlahanak = Integer.valueOf(txtjumlahanak.getText());

if(jumlahanak<=2){

tunjangananak=((15*gajipokok)/100)*jumlahanak;

}

else if (jumlahanak>2){

tunjangananak=((15*gajipokok)/100)*2;

} else {

Page 34: laporan3 pratikum bella

34

tunjangananak=0;

}

t_anak = String.valueOf(tunjangananak);

txttunjangananak.setText(t_anak);

}

private void Menikah(){

// Method dengan nama Menikah digunakan untuk menyatakan pilihan opsi1

jRadioButton1 mendapat 20% tunjangan istri.

txttunjanganistri.setEnabled(true);

txttunjangananak.setEnabled(true);

txtjumlahanak.setEnabled(true);

gajipokok = Integer.valueOf(txtgajipokok.getText());

tunjanganistri=(20*gajipokok)/100;

}

private void BersihTeks(){

// Method dengan nama BersihTeks, maksudnya yaitu untuk membersihkan/

mengosongkan nilai pada tiap-tiap JTextField dengan tujuan untuk memulai nilai baru.

gajipokok=0;

gajikotor=0;

pajak=0;

gajibersih=0;

tunjanganistri=0;

tunjangananak=0;

jumlahanak=0;

txtgajipokok.setText("0");

txttunjanganistri.setText("0");

txtjumlahanak.setText("0");

txttunjangananak.setText("0");

txtgajikotor.setText("0");

txtpajak.setText("0");

txtgajibersih.setText("0");

}

Selanjutnya kembali lagi ke tab Desain.

Klik kanan pada JFrame setelah itu pilih Events Windows

Page 35: laporan3 pratikum bella

35

windowOpened.

Ketikkan kode perintah: BelumMenikah();

private void formWindowOpened(java.awt.event.WindowEvent evt) {

// TODO add your handling code here

BelumMenikah();

}

Klik kanan pada cmbjabatan setelah itu pilih Events =>Item =>

itemStateChanged. kemudian ketikkan kode berikut ini:

private void cmbjabatanItemStateChanged(java.awt.event.ItemEvent evt) {

BersihTeks();

Gaji();

if(opsi1.isSelected()==true){

Menikah();

}else{

BelumMenikah();

}

}

klik kanan jRadioButton1 Menikah (opsi1) lalu

events=>Action=>ActionPerformed:

private void opsi1ActionPerformed(java.awt.event.ActionEvent evt) {

Menikah();

}

Page 36: laporan3 pratikum bella

36

klik kanan jRadioButton1 Menikah (opsi1) lalau

events=>Action=>ActionPerformed:

private void opsi2ActionPerformed(java.awt.event.ActionEvent evt) {

TunjanganAnak();

}

klik kanan pada txtjumlahanak setelah itu pilih events=>Key+>keyRealesed:

private void txtjumlahanakkeyReleased(java.awt.event.KeyEvent evt) {

BelumMenikah();

}

klik kanan btnbersih pilih Events=>Mouse=>MouseClicked:

private void btnbersihMouseClicked(java.awt.event.MouseEvent evt) {

BersihTeks();

}

klik kanan btnhitung pilih Events=>Mouse=>MouseClicked:

private void btnhitungMouseClicked(java.awt.event.MouseEvent evt) {

Total();

}

Compile (F9) dan Run Program melalui menu Run Run (Shift + F6).

Isikan NIP, Nama, dan Pilih Jabatan, Status, Jika sudah Menikah isikan Jumlah

anak. Setelah itu klik tombol Hitung maka total gaji akan ditampilkan.

3.5 MDI (Multi Document Interface)

Aplikasi MDI (Multiple document Interface) merupakan

aplikasi yang bisa menampilkan beberapa dokumen sekaligus.

Buat Project baru dari Netbeans .dan tentukan lokasi penyimpanan project atau

Buka Project Sebelumnya caranya dari menu File Open Project cari

project folder pada computer anda kemudian klik Open Project.

Buat JFrame Form pada project pilih menu File New File pilih Project anda,

kemudian pada Categories pilih Swing GUI Forms dan pada File Types pilih

JFrame Form kemudian klik Next.

Isikan Class name “FormUtama” dan Pakage “MDI” Kemudian klik Finish.

Page 37: laporan3 pratikum bella

37

Tambahkan JFrame baru dan beri nama “Form Utama” lalu kalian tambahkan

lagi komponen Desktop Pane dan JMenu Bar dan sesuaikan dengan keinginan.

Tambahkan JMenuItem di Menu File dengan Cara klik kanan Menu File --> Add

From Palette --> Menu Item.

Ganti Text JMenuItem dengan 'New' caranya klik kanan JMenuItem1 -> Edit Text

Ulangi Langkah, buat tampilannya seperti berikut :

Buat Variable Global untuk dapat diakses semua method yang ada didalam class

FormUtama.

Tambahkan perintah berikut di dalam constructor FormUtama .

Buat Method baru dengan nama "FormBaru" dengan isi berikut :

package MDI;

import java.awt.Dimension;

import javax.swing.JInternalFrame;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

public class FormUtama extends javax.swing.JFrame {

private int jml;

private String judul;

public FormUtama() {

setTitle("MDI Form");

setExtendedState(MAXIMIZED_BOTH);

initComponents();

}

private void FormBaru(){

try{

JInternalFrame jin = new JInternalFrame(judul, false, true, true);

jin.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

JPanel pn = new JPanel();

jin.setBounds(10, 10, 500, 500);

jDesktopPane1.add(jin);

Page 38: laporan3 pratikum bella

38

jin.setVisible(true);

}catch (Exception e){

JOptionPane.showMessageDialog(null, e);

}

}

Isi Perintah pada Menu New ( JMenuItem ) dengan cara Klik kanan pada menu

New --> Events --> Action --> actionPerformed.

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here

jml = jml + 1;

judul = "Form Baru"+jml;

FormBaru();

}

Isi Perintah pada Menu Keluar (JMenuItem) dengan cara Klik kanan pada menu

New --> Events --> Action --> actionPerformed.

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent

evt) { System.exit(0);

}

Tambahkan JInternalFrame Form pada project pilih menu File New File pilih

Project anda, kemudian pada Categories pilih Swing GUI Forms dan pada File

Types pilih JInternalFrame Form kemudian klik Next.

Isikan Class name contoh “IFModul2” dan Pakage “MDI” kemudian klik

Finish.

Kemudian Desain persis seperti program pada modul2, atau copy paste dengan

cara :

Buka Modul2 yang

sebelumnya

kemudian pilih

navigator item

jDesktopPane1

klik kanan Copy.

Page 39: laporan3 pratikum bella

39

Buka IFModul2 yang sebelumnya kemudian pilih navigator item

jInternalFrame klik kanan Paste.

Lakukan hal yang sama (ikuti langkah-langkah sebelum ny) untuk membuat file

jInternalFrame Form untuk IFModul3, IFModul4, IFModul5.

A t u r P r o p e r t i s e p a d a m a s i n g - m a s i n g I n t e r n a l F r a m e , p i l i h n a v i g a t o r i t e m

jInternalFrame klik kanan Propertise. Cheklist Closable sehingga bernilai

true.

Kembali pada FormUtama kemudian berikan perintah-perintah untuk memanggil

form-form yang telah dibuat diatas.

Isi Perintah pada Menu Modul2 (JMenuItem) dengan cara Klik kanan pada

menu New --> Events --> Action --> actionPerformed.

private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {

IFModul2 form2 = new IFModul2();

jDesktopPane1.add(form2);

Dimension parentSize =jDesktopPane1.getSize();

Dimension childSize =form2.getSize();

form2.setLocation((parentSize.width - childSize.width)/2,

(parentSize.height-childSize.height)/2);

form2.setVisible(true);

}

Page 40: laporan3 pratikum bella

40

Isi Perintah pada Menu Modul3 (JMenuItem) dengan cara Klik kanan pada menu

New --> Events --> Action --> actionPerformed.

private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {

IFModul3 form3 = new IFModul3();

jDesktopPane1.add(form3);

Dimension parentSize =jDesktopPane1.getSize();

Dimension childSize =form3.getSize();

form3.setLocation((parentSize.width - childSize.width)/2,

(parentSize.height-childSize.height)/2);

form3.setVisible(true);

}

Isi Perintah pada Menu Modul4 (JMenuItem) dengan cara Klik kanan pada menu

New --> Events --> Action --> actionPerformed:

private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {

IFModul4 form4 = new IFModul4();

jDesktopPane1.add(form4);

Dimension parentSize =jDesktopPane1.getSize();

Dimension childSize =form4.getSize();

form4.setLocation((parentSize.width - childSize.width)/2,

(parentSize.height-childSize.height)/2);

form4.setVisible(true);

}

Isi Perintah pada Menu Modul5 (JMenuItem) dengan cara Klik kanan pada menu

New --> Events --> Action --> actionPerformed.

private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

IFModul5 form5 = new IFModul5();

jDesktopPane1.add(form5);

Dimension parentSize =jDesktopPane1.getSize();

Dimension childSize =form5.getSize();

form5.setLocation((parentSize.width - childSize.width)/2,

(parentSize.height-childSize.height)/2);

form5.setVisible(true);

}

Run Program melalui FormUtama menu Run Run File (Shift + F6).

Page 41: laporan3 pratikum bella

41

graman Java UNPAB

3.6 Form Input Data

Berikut ini adalah cara untuk membuat program input data customer dari Java dan

Netbeans dan menggunakan database MySQL

Buatlah database dan tabel terlebih dahulu :

CREATE DATABASE dbjava;

USE dbjava;

CREATE TABLE tcustomer (

id VARCHAR(6) PRIMARY KEY,

nama VARCHAR(25),

nohp VARCHAR(14),

alamat VARCHAR(100));

Buat Project baru dengan pilihan kategori Java Aplication, kemudian beri nama

ProgramPenjualan. Jika sudah klik Finish.

Buatlah Pakage baru caranya, klik kanan Project, New -> Java Pakage. Beri

nama koneksi, kemudian klik Finish.

Buatlah JClass

caranya, klik

Page 42: laporan3 pratikum bella

42

kanan pakage koneksi, New -> Java Class. Beri nama ClassDB, kemudian klik

Finish.

Di bagian bawah kode public class ClassDB {. ketikkan kode berikut ini:

package koneksi;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

/**

*

* @author lako

*/

public class ClassDB {

private static Connection koneksi;

public static Connection getkoneksi(){

if(koneksi==null){

try{

String url=new String();

String user=new String();

String password=new String();

url="jdbc:mysql://localhost:3306/dbjava";

user="root";

password="admin";

DriverManager.registerDriver(new com.mysql.jdbc.Driver());

koneksi=DriverManager.getConnection(url,user,password);

}

catch (SQLException t) {

System.out.println("Error Membuat Koneksi");

}

}

return koneksi;

}

}

Buatlah JFrame Form caranya, klik kanan Project, New -> JFrame Form. Beri

nama FrmInputData dan nama pakage gui, kemudian klik Finish

Selanjutnya, tambahkan beberapa komponen seperti yang ada di dalam tabel

berikut ini:

Page 43: laporan3 pratikum bella

43

Objek Properties Nilai

jDekstopPane1 Background Yellow

jPanel1 Border Title Border = Data Customer

JLabel1 text ID

JLabel2 text Nama

JLabel3 text No HP

JLabel4 text Alamat

JTextField1 text

Variable name

txtid

JTextField2 text

Variable name

Txtnama

JTextField3 text

Variable name

Txthp

JTextArea text

Variable name

Txtalamat

JButton1 text

Variable name

Save

Btnsave

JButton2 text

Variable name

Clear

Btncler

Susunan posisi dan

ukuran komponen

seperti pada gambar

berikut:

Selanjutnya Ketikkan kode berikut ini:

public FormInputData() {

initComponents();

bacaId();

txtid.setEnabled(false);

Page 44: laporan3 pratikum bella

44

btnsave.setEnabled(false);

}

private void bacaId() {

int kode = 0;

try{

Class.forName("com.mysql.jdbc.Driver");

try (Connection cn =

DriverManager.getConnection("jdbc:mysql://localhost/dbjava","root","");

Statement smt = cn.createStatement()){

String sql ="Select max(Id) as kd FROM tcustomer";

ResultSet rs = smt.executeQuery(sql);

if (rs.next()){

kode = rs.getInt("kd");

}else{

}

txtid.setText("000" +(kode+1));

}

catch (ClassNotFoundException | SQLException e) {

}

}

Deklarasikan class import berikut :

Package gui;

Import java.sql.* ;

Import javax.swing.JOptionPane;

Import koneksi.ClassDB;

private void simpan() {

String id = this.txtid.getText();

String nama = this.txtnama.getText();

String nohp = this.txthp.getText();

String alamat = this.txtalamat.getText();

String st = "Free";

if ("".equals(this.txtid.getText()) || ("".equals(this.txtnama.getText()))

|| ("".equals(this.txthp.getText())) ||

("".equals(this.txtalamat.getText()))) {

JOptionPane.showMessageDialog(this, "Lengkapi data");

} else {

Page 45: laporan3 pratikum bella

45

try {

Connection c = ClassDB.getkoneksi();

Statement s = c.createStatement();

String sql = "Insert into tcustomer values (?,?,?,?)";

try (com.mysql.jdbc.PreparedStatement

p= (com.mysql.jdbc.PreparedStatement) c.prepareStatement(sql))

{

p.setString(1, id);

p.setString(2, nama);

p.setString(3, nohp);

p.setString(4, alamat);

p.executeUpdate();

}J

OptionPane.showMessageDialog(this, "Sukses Tambah data");

} catch (SQLException e) {

System.out.println("Terjadi kesalahan " + e);

} finally {

bersih();

}

}

}

Selanjutnya di bagian bawah kode perintah:

private void () {

bacaId();

txtnama.setText(null);

txthp.setText(null);

txtalamat.setText(null);

btnsave.setEnabled(false);

btnclear.setEnabled(false);

txtid.setEnabled(false);

}

Klik kanan pada btnsave setelah itu pilih Events -> Action -> actionPerformed.

Ketikkan kode perintah:

simpan();

-Klik kanan pada btnclear setelah itu pilih Events -> Action -> actionPerformed:

Page 46: laporan3 pratikum bella

46

bersih();

Klik kanan pada txtnama setelah itu pilih Events -> Key -> KeyTyped:

btnsave.setEnabled(true);

btnclear.setEnabled(true);

-Tambahkan Library konektor MySQL caranya : klik kanan folder Libraries ->

Add Library -> pilih MySQL JDBC Driver, -> Add Library.

Kompile dan jalankan dari menu Run -> Run File atau tekan Shift + F6.

Id akan otomatis terisi. Isikan Nama, No HP, Alamat kemudian pilih tombol

Simpan.

3.7 Form Input Data (Lanjutan)

Membuat program input data transaksi dari Java dan Netbeans dan menggunakan

database MySQL. Namun sebelum itu anda

telah menyelesaikan dan menyiapkan program sebelumnya:

Buatlah database dan tabel terlebih dahulu :

CREATE DATABASE dbjava;

USE dbjava;

CREATE TABLE tpenjualan (

invoice VARCHAR(12) PRIMARY KEY,

tanggal DATE,

id VARCHAR(6),

nama VARCHAR(30),

status VARCHAR(15),

barang VARCHAR(30),

harga VARCHAR(12),

jumlah VARCHAR(6),

diskon VARCHAR(12),

bayar VARCHAR(12)

)

Buat Project baru dengan pilihan kategori Java Aplication, kemudian beri nama

Modul8. Jika sudah klik Finish.

Buatlah Pakage baru caranya, klik kanan Project, New -> Java Pakage. Beri

Page 47: laporan3 pratikum bella

47

nama koneksi, kemudian klik Finish.

Buatlah JClass caranya, klik

kanan pakage koneksi, New ->

Java Class. Beri nama

ClassDB, kemudian klik Finish.

Tambahkan Library konektor MySQL caranya : klik kanan folder Libraries ->

Add Library -> pilih MySQL JDBC Driver, -> Add Library

Di bagian bawah kode public class ClassDB {. ketikkan kode berikut ini:

package koneksi;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class ClassDB {

private static Connection koneksi;

public static Connection getkoneksi(){

if (koneksi==null) {

try{

tring url=new String();

String user=new String();

String password=new String();

url=”jdbc:mysql://localhost:3306/dbjava”;

user=”root”;

password=”1234”;

Driver Manager.registerDriver(new com.mysql.jdbc.Driver()):

koneksi:”Driver Manager.getConnection(url,user,password);

} atcth (SQLException t) {

System.out.println(“Error membuat konneksi”);

}

}

return koneksi;

}}

Buatlah JFrame Form caranya, klik kanan Project, New -JFrame Form. Beri

Page 48: laporan3 pratikum bella

48

nama FormTransaksi dan nama pakage gui, kemudian klik Finish.

Selanjutnya, tambahkan beberapa komponen seperti yang ada di dalam tabel

berikut ini:

Objek Propertis Nilai

jDekstopPane1 Background Red

JLabel1 text Tanggal

JLabel2 Text Invoice

JLabel3 Text Id Customer

JLabel4 Text Nama

JLabel5 Text No Hp

JLabel6 Text Alamat

JLabel7 Text Status Member

JLabel8 Text Jenis Barang

JLabel9 text Harga

JLabel10 Text Jumlah

JLabel11 Text Diskon

JLabel12 Text Total Bayar

JTextField1 Variable name Txttanggal

JTextField2 Variable name Txtinvoice

JTextField3 Variable name Txtnama

JTextField4 Variable name Txthp

JTextArea1 Variable name Txtalamat

JComboBox1 Variable name Cbostatus

JComboBox2 Variable name Cbojenis

JTextField6 Variable name Txtharga

JTextField7 Variable name Txtjumlah

JTextField8 Variable name Txtdiskon

JTextField9 Variable name txttotal

JButton1 text

Variable name

Bayar

Btnbayar

JButton2 Text Simpan

Page 49: laporan3 pratikum bella

49

Variable name

BtnSimpan

.Susun komponen

seperti pada gambar

berikut:

Deklarasikan class

import berikut :

package gui;

import java.awt.MeadlessException;

import java.sql;

import java.text.SimpleDataFormat;

import java.util.Date;

import javax.swing.JOptionPane;

import koneksi.ClassDB;

Selanjutnya Ketikkan kode berikut ini:

public class FrmTransaksi entends javax.swing.JFrame {

public FrmTransaksi() {

initComponents();

invoice();

Date current = new Date ();

SimpleDateFormat frmt = new SimpleDateFormat (“dd/MM/yyyy”);

String dataString1 = frmt.format(current);

txttanggal.setText(dateString1);

}

Lanjutkan ketik dibahwahnya kode berikut :

private void invoice(){

//Keterangan Kode: Method dengan nama invoice, digunakan untuk mencari data id

invoice pada database tpenjualan.

String kode = "14000" ;

try {

Page 50: laporan3 pratikum bella

50

Class.forName("com.mysql.jdbc.Driver");

try (Connection cn =

DriverManager.getConnection("jdbc:mysql://localhost/dbjava", "root", "");

Statement smt = cn.createStatement()) {

String sql = "SELECT max(invoice) as iv FROM tpenjualan";

ResultSet rs = smt.executeQuery(sql) ;

if (rs.next()) {

} else {

}

txtinvoice.setText((kode+1));

}

} catch (ClassNotFoundException | SQLException e) {

}

}

private void cariId(){

try {

Class.forName("com.mysql.jdbc.Driver");

try (Connection cn = DriverManager.getConnection("jdbc:mysql://localhost/dbjava",

"root", "");

Statement smt = cn.createStatement()) {

String sql = "SELECT * FROM tcustomer where id ='"+txtid.getText()+"' " ;

ResultSet rs = smt.executeQuery(sql) ;

if (rs.next()) {

txtnama.setText(rs.getString("Nama"));

txthp.setText(rs.getString("nohp"));

txtalamat.setText(rs.getString("alamat"));

} else {

JOptionPane.showMessageDialog(null,"Id Customer Tidak

Terdaftar","INFORMASI",JOptionPane.INFORMATION_MESSAGE) ;

txtid.setText(null);

txtnama.setText(null);

txtid.requestFocus() ;

}

}

} catch (ClassNotFoundException | SQLException | HeadlessException e) {

}

Page 51: laporan3 pratikum bella

51

}

private void simpan(){

String iv=this.txtinvoice.getText();

String tgl=this.txttanggal.getText().toString();

String id=this.txtid.getText();

String nama=this.txtnama.getText();

String status=this.cbostatus.getSelectedItem().toString();

String barang=this.cbojenis.getSelectedItem().toString();

String harga=this.txtharga.getText();

String jumlah=this.txtjumlah.getText();

String diskon=this.txtdiskon.getText();

String bayar=this.txttotal.getText();

String st="Free";

if ("".equals(this.txtinvoice.getText()) || ("".equals(this.txttanggal.getText()))

|| ("".equals(this.txtid.getText()) || ("".equals(this.txtnama.getText()))

|| ("".equals(this.cbostatus.getSelectedItem().toString())) ||

("".equals(this.cbojenis.getSelectedItem().toString()))

|| ("".equals(this.txtharga.getText())) || ("".equals(this.txtjumlah.getText()))

|| ("".equals(this.txtdiskon.getText())) || ("".equals(this.txttotal.getText()))))

{

JOptionPane.showMessageDialog(this, "Lengkapi data");

}else{

try {

Connection c=ClassDB.getkoneksi();

Statement s= c.createStatement();

String sql="Insert into tpenjualan values (?,?,?,?,?,?,?,?,?,?)";

try (com.mysql.jdbc.PreparedStatement p = (com.mysql.jdbc.PreparedStatement)

c.prepareStatement(sql)) {

p.setString(1, iv);

p.setString(2, tgl);

p.setString(3, id);

p.setString(4, nama);

p.setString(5, status);

p.setString(6, barang);

p.setString(7, harga);

p.setString(8, jumlah);

p.setString(9, diskon);

Page 52: laporan3 pratikum bella

52

p.setString(10, bayar);

p.executeUpdate();

}

JOptionPane.showMessageDialog(this, "Invoice Tersimpan");

}catch(SQLException e) {

System.out.println("Gagal Menyimpan " + e);

}finally{

bersih();

}

}

}

private void bayar(){

txtjumlah.setText("1");

int harga=Integer.parseInt(txtharga.getText());

int jumlah=Integer.parseInt(txtjumlah.getText());

int diskon, nilaidiskon, total ;

if(cbostatus.getSelectedItem()=="Silver"){

diskon = ((5 * harga)/100);

nilaidiskon = harga - diskon ;

total = (nilaidiskon * jumlah) ;

}else{

diskon = ((20 * harga)/100);

nilaidiskon = harga - diskon ;

total = (nilaidiskon * jumlah) ;

}

txtdiskon.setText(""+diskon);

txttotal.setText(""+total);

}

private void bersih(){

invoice();

txtid.setText(null);

txtnama.setText(null);

txthp.setText(null);

txtalamat.setText(null);

cbostatus.setSelectedItem("Pilih");

txtharga.setText(null);

txtjumlah.setText("1");

Page 53: laporan3 pratikum bella

53

txtdiskon.setText(null);

txttotal.setText(null);

}

Klik kanan pada cbojenis setelah itu pilih Events -> Action -> actionPerformed.

Ketikkan kode perintah:

private void cbojenisActionPerformed(java.awt.event.ActionEvent evt) {

//TODO add your handling code here :

if(cbojenis.getSelectedItem()==”iPad”){

ttxtharga.setText(“4999000”);

}else if (cbojenis.getSelectedItem()==”iPhone”){

txtharga.setText(“7999000”);

}else if (cbojenis.getSelectedItem()==”iPod”){

txtharga.setText(“2999000”);

}else{

txtharga.setText(“”);

}

}

Klik kanan pada btnbayar setelah itu pilih Events -> Action -> actionPerformed

Private void btnbayarActionPerformed(java.awt.event.ActionEvent evt) {

///TODO add your handling code here:

bayar();

}

Klik kanan pada txtnama setelah itu pilih Events -> Action -> MouseClicked:

private void txtnamaMouseClicked(java.awt.event.MouseEvent evt) {

//TODO add your handling code here:

cariId();

}

private void txtnamaMouseReleased(java.awt.event.MouseEvent evt) {

//TODO add your handling code here:

cariId();

}

Klik kanan pada btnsimpan setelah itu pilih Events -> Action -> actionPerformed.

Ketikkan kode perintah:

private void btnsimpanActionPerformed(java.awt.event.MouseEvent evt) {

//TODO add your handling code here:

Page 54: laporan3 pratikum bella

54

simpan();

bersih();

}

Kompile dan jalankan dari menu Run -> Run File atau tekan Shift + F6.

BAB IV

(Analisa Hasil Percobaan)

4.1 Analisa Ruang Lingkup Java

Untuk membuat program java ditulis dengan memanfaatkan text editor

seperti notepad, maupun editor yang lainnya. Sedangkan cara kedua adalah

dengan menggunakan NetBeans yang merupakan Integrated Development

Environment atau yang disebut IDE. IDE adalah sebuah peralatan dalam

pemrograman yang diintegrasikan ke dalam aplikasi software yang mendukung

pembangunan GUI, text atau penulisan kode, compiler dan debugger.

Kode program java umumnya memiliki susunan sebagai berikut :

//Daftar paket yang digunakan dalam program

import namapaket;

//Membuat kelas

public class namakelas

{

//Metode utama

Public statis void main(String[] args)

{

Page 55: laporan3 pratikum bella

55

Perintah;

................................

}

}

4.2 Analisa Dasar Pemrograman Java

1. Penjelasan Dasar Script Java

Baris 1 merupakan bagian untuk definisi class, berupa suatu blok yang

dibatasi oleh { dan ), class tersebut mempunyai metode main ().

Metode main() merupakan awalnya jalan program.

Public adalah metode ini dapat dipanggil dari mana saja.

Static adalah metode bersifat sama untuk semua instan class

String[] args adalah argument bawaan dari class main()

2. Java identifier

Java Identifier adalah suatu tanda yang mewakili nama-nama variabel,

methood, class, dsb. Contoh dari Identifier adalah : Hello, main,

System, out. Pendeklarasian java adalah case-sensitive. Hal ini berarti

bahwa Identifier : Hello tidak sama dengan hello. Identifier tidak

selalu menggunakan kata kunci dalam java seperti class, public, void,

dsb.

3. Keyword Dalam Java

Anda tidak dapat menggunakan keyword sebagai nama variabel, class,

method anda. True, false, dan null bukan kata kunci akan tetapi

mereka termasuk kata-kata khusus, jadi tidak dapat digunakan sebagai

nama variabel.

4. Tipe data

Data adalah sesuatu yang sangat penting . Dalam memilih tipe data

harus memperhatikan fakta, penggunaan memori, rentang data juga

ketelitiannya. Program biasanya menggunakan tipe integer, floating

point, karakter dan string.

5. Operator

Page 56: laporan3 pratikum bella

56

Operator mengikuti bermacam-macam prioritas yang pasti sehingga

compiler nya akan tahu yang operator untuk dijalankan terlebih

dahulu.

4.3 Analisa Struktur Kondisi

Struktur kontrol keputusan adalah statement dari Java yang mengijinkan

user untuk memilih dan mengeksekusi blok kode dan mengabaikan blok kode

yang lain. statement dieksekusi setelah statement sebelumnya dengan urutan

tertentu. Pada bagian ini, kita mempelajari tentang struktur kontrol yang bertujuan

agar kita dapat menentukan urutan statement yang akan dieksekusi.

Keterangan :

o Menggunakan struktur kontrol keputusan (if, else, switch) yang digunakan

untuk memilih blok kode yang akan dieksekusi.

o Menggunakan struktur kontrol pengulangan (while, do-while, for) yang

digunakan untuk melakukan pengulangan pada blok kode yang akan

dieksekusi Menggunakan statement percabangan (break, continue, return)

yang digunakan untuk mengatur redirection dari program

4.4 Analisa Struktur Kondisi (Lanjutan)

Peran struktur kondisi ialah mengatur alur jalannya program. Program

hanya menjalankan statement bernilai benar atau true.

Rangkaian perintah yang harus dituli untuk memenuhi beberapa keadaan:

1. Mengulang sebagian rutin karena tidak terpenuhnya suatu kondisi.

2. Melanjutkan sebuah pernyataan apabila kondisi terpenuhi.

3. Memilih sebuah pilihan dari beberapa alternative bila sebuah kondisi

terpenuhi.

Page 57: laporan3 pratikum bella

57

4.5 Analisa MDI(Multi Document Interface)

Aplikasi yang menampilkan dapat menampilkan beberapa

dokumen sekaligus. Terdiri dari jendela jendala internal berada dalam

jendela utama.

Menu dapat memiliki peran penting dalam aplikasi berbasis GUI

(Graphical User Interface). Ia dapat dikatakan sebagai “entry point” untuk

mengakses keseluruhan fungsional serta fitur aplikasi.

4.6 Analisa Input Data

Untuk membuat aplikasi harus terinstal netbeans dan MySql.

Database server yang dapat menyimpan data yang dapat diakses. Setelah

dibuat suatu database, dapat dibuat table basis data nya, dimana suatu

skema basis data terdiri atas banyak table basis data. Di samping itu,

Aplikasi berisi informasi yang benar benar dibutuhkan oleh pengguna

tepat saat pengguna menginginkannya. Dalam system ini kecepatan

transaksi akan meningkat dan me-manage database akan terasa lebih

mudah.

4.7 Analisa Input Data (Lanjutan)

Apliasi serba guna yang dapat dijalankan pada seluruh mesin yang

memiliki Java Runtime Environment (JRE).

Aplikasi bersifat sederhana sehingga dengan mudah pengoperasiannya.

sebuah peralatan pembangun, teknologi Java menyediakan banyak tools :

compiler, interpreter, penyusun dokumentasi, paket kelas dan sebagainya.

Tingkat ketelitian dapat dilihat misalnya dalam hal input data. Dapat

menampilkan laporan-laporan yang telah diinput.

Page 58: laporan3 pratikum bella

58

PENUTUP

Kesimpulan

Bahasa pemrograman digunakan oleh programmer. Di dalam struktur bahasa

pemrograman terdapat beberapa bagian deklarasi dan beberapa bagian statement. Adapun

bagian deklarasi variabel, deklarasi konstanta dan deklarasi tipe data.

Awalnya perlu diadakan pengenalan terhadap data data yang akan dimasukan ke

dalam bahasa pemrograman. Deklarasi variabel adalah identifier yang berisi data yang

dapat berubah-ubah nilai nya dalam program. Deklarasi variabel bisa disebut juga

memperkenalkan atau mendaftarkan variabel ke dalam program. Sedangkan deklarasi

konstanta yaitu nilai yang tetap.

Deklarasi tipe data dapat dikelompokan menjadi tiga yaitu tipe data sederhana,

tipe data terstruktur dan dan tipe data pointer. Adapun tipe data sederhana merupakan tipe

data yang paling kecil, yang hanya melibatkan satu item saja, tipe data terstruktur

merupakkan tepe data yang terdiri dari beberapa item data, sedangkan tipe data pointer

digunakan untuk menunjuk pada alamat memori suatu data yang lain.

Bagian statement merupakan bagian program berisi perintah yang akan

dieksekusi/dijalanakn.

Saran

Untuk menciptakan suatu bahasa pemrograman yang baik harus memenuhi

beberapaa kriteria yaitu:

Suatu bahasa pemrograman ditulis secara urut dan sesuai dengan prosedurnya.

Dalam penulisan struktur bahasa pemrograman sebaiknya perlu memperhatikaqn tipe-tipe

data yang akan digunakan dalam pembuatan program.

-Pada saat bagian deklarasi sebaiknya perlu memperhatikan syarat-syarat atau

ketentuan-ketentuan dalam suatu bahasa pemrograman.

-Pada saat bagian penulisan statement dalam suatu bahasa pmrograman sebaiknya

sesuai dengan syarat atau ketentuan dari suatu bahasa pmrograman masing-masing.

Page 59: laporan3 pratikum bella

59

DAFTAR PUSTAKA

http://one-inspirations.blogspot.bahasa-pemrograman-java.htmlm1

https://cuepricornz.wordpress.com/tutorial/pemrograman-berorientasi-objek/

http://25eundi2012tii.blogspot.in/2012/11/makalah-bahasa-pemrograman.html?

m=1

http://www.academia.edu/6290401/

MODUL_PRAKTIKUM_PEMROGRAMAN_BERORIENTASI_OBJEK

http://www.google.com/url?q=http://achsan.staff.gunadarma.ac.id/Downloads/

files/14848/pemrograman%2Bberorientasi

%2Bobjek.pdf&sa=U&ei=lueaV02IKoqoogSEtICYCA&ved=0CBIQFjAD&usg=

AFQjCNGhQkvQGMI8KW2E6luUe3oa0o52UQ