LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA

93
  LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA Nama Praktikan Nomor Mahasiswa Tanggal Kumpul Tanda tangan Praktikan Abdu Rahman Irwanmay 1314370277 1 Januari 2015 Nama Penilai Tanggal Koreksi Nilai Tanda tangan Dosen Indri Sulistianingsih,S.Kom 1 Januari 2015 Universitas Pemban gunan Panca Budi Fakultas Teknik Jurusan Sistem Komputer Medan 2015 Kelas TI   5 Pagi E

Transcript of LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA

  • LAPORAN PRAKTIKUM

    BAHASA PEMROGRAMAN JAVA

    Nama Praktikan Nomor

    Mahasiswa Tanggal Kumpul

    Tanda tangan

    Praktikan

    Abdu Rahman Irwanmay 1314370277 1 Januari 2015

    Nama Penilai Tanggal Koreksi Nilai Tanda tangan

    Dosen

    Indri Sulistianingsih,S.Kom 1 Januari 2015

    Universitas Pembangunan Panca Budi

    Fakultas Teknik

    Jurusan Sistem Komputer

    Medan

    2015

    Kelas

    TI 5 Pagi E

  • ii

    KATA PENGANTAR

    Segala puji bagi Allah SWT yang telah memberikan kesehatan, kekuatan, kesempatan

    serta limpahan rahmat dan karunianya sehingga penulis dapat menyelesaikan laporan

    praktikum pada mata kuliah Bahasa Pemrograman Java ini dengan baik.

    Penulisan laporan ini dibuat agar dapat memenuhi sebagi salah satu syarat untuk

    mendapatkan nilai tambahan serta dalam mengikuti ujian semester.

    Dengan sepenuh hati penulis menyadari bahwa tersusunnya tugas ini berkat bantuan

    dan bimbingan dari semua pihak baik berupa material, spiritual, maupun informasi. Oleh

    karena itu dalam kesempatan ini penulis tidak lupa mengucapkan terima kasih sebanyak-

    banyaknya kepada :

    1. Kepada Tuhan Yang Maha Esa yaitu Allah Swt, karena dengan anugerahnya penulis

    dapat menyelesaikan laporan praktikum ini dengan baik.

    2. Orangtua saya yang telah memberikan semangat dan dukungan sehingga laporan

    praktikum ini dapat terselesaikan dengan baik serta mendapatkan nilai yang diinginkan.

    3. Ibu Indri Sulistianingsih, S.Kom , selaku dosen Bahasa Pemrograman Java.

    4. Semua pihak yang telah membantu dalam penyusunan laporan ini.

    Akhirnya penulis mohon maaf apabila ada kekurangan atau kesalahan dalam penyusunan

    laporan praktikum ini. Semoga laporan praktikum ini dapat bermanfaat bagi penulis, maupun

    pembacanya.

    Medan, 2015

    Penulis

  • iii

    DAFTAR ISI

    COVER ................................................................................................................................. i

    KATA PENGANTAR........................................................................................................... ii

    DAFTAR ISI ....................................................................................................................... iii

    BAB I PENDAHULUAN ..................................................................................................... 4

    a. Umum ................................................................................................................. 4

    b. Latar Belakang..................................................................................................... 4

    c. Tujuan Praktikum ................................................................................................ 6

    BAB II LANDASAN TEORI ................................................................................................ 7

    a. Pengenalan Java dan Netbeans ............................................................................. 7

    b. Operator ............................................................................................................ 19

    c. Class, Object, dan Metodh ................................................................................. 23

    d. Struktur Perulangan dan Percabangan ................................................................ 29

    e. Pemrograman Berorientasi Objek ...................................................................... 36

    BAB III HASIL PERCOBAAN / PRAKTIKUM (MODUL 2-8) ......................................... 39

    BAB IV ANALISA HASIL PERCOBAAN (MODUL 2-8) ................................................ 46

    PENUTUP .......................................................................................................................... 91

    DAFTAR PUSTAKA ......................................................................................................... 93

  • 4

    BAB I

    PENDAHULUAN

    a. Umum

    Bahasa Pemrograman Java tidak seperti banyak bahasa pemrograman yang tidak

    semakin populer dengan bertambahnya usia, Java semakin terkenal luas dan semakin

    menunjukkan kesungguhannya seiring alur waktu. Bahkan sekarang, Java masih

    merupakan pilihan pertama dan terbaik untuk aplikasi-aplikasi berbasis web.

    Salah satu alasan kesuksesan Java ialah agilitasnya. Java cepat beradaptasi

    terhadap perubahan-perubahan pada lingkungan pemrograman. Siklus rilis Java rata-

    rata 1,5 tahun, kemampuan Java untuk mengakomodasi laju perkembangan dunia

    komputasi merupakan bagian krusial mengapa Java masih merupakan bahasa

    pemrograman komputer yang terdepan.

    b. Latar Belakang

    Pada satu dekade atau dasawarsa ini peranan bahasa pemrograman didalam

    membuat sebuah program yang dimana akan mementingkan sebuah kualitas, daya

    tarik, nilai estetika, efisiensi, dan kuantitas sangat diperlukan dan menjadi prioritas

    utama bagi programmer yang akan bergelut didalam dunia pemrograman ini. Seperti

    yang diketahui, dari zaman sebelum Indonesia merdeka, perkembangan dalam dunia

    pemrograman memang sudah memiliki perkembangan yang cukup pesat, dari bahasa

    pemrograman yang memiliki bahasa tingkat rendah (low level language) seperti

    bahasa mesin, COBOL, FORTRAN, dll serta hingga sekarang kita mengetahui dan

    juga dipakai yaitu bahasa tingkat tinggi (high level language) seperti C, C++, Pascal,

    PHP, JAVA, dll. Apa perbedaan antara low level language (bahasa tingkat rendah)

  • 5

    dengan high level language (bahasa tingkat tinggi) ? Perbedaannya ialah pada bahasa

    tingkat rendah masih belum terciptanya komputer yang bebasis GUI (Graphic User

    Interface) yang mana berfungsi untuk lebih menguntungkan pengguna dengan grafis

    yang telah dibuat pada sistem operasi atau secara tidak langsung berinteraksi atau

    bertatap muka langsung dengan jendela komputer tersebut untuk mengetahui

    kekurangan dan kelebihan program yang akan dibuat serta cepat didalam

    penanggapan jika terjadi kesalahan didalam pengeksekusian. Sedangkan zaman

    dahulu sekitar 1900-an, fungsi komputer bukan digunakan untuk seperti zaman

    sekarang, membantu segala apapun yang akan dibuat manusia dengan fitur-fitur

    canggih yang ada didalamnya, namun komputer di zaman dahulu hanya sebagai

    sebuah mesin yang dimana tugasnya hanya melacak untuk sbeuah sinyal yang

    didapatkan pada area sekitarnya dan juga digunakan sebagai penghubung komunikasi

    pada zaman perang dunia kedua. Pada bahasa tingkat rendah juga masih

    menggunakan kode-kode (encoding/decoding) didalam pembuatan dan

    pengeksekusian program, misalnya jika ingin memasukkan angka 2 maka, yang

    diinputkan ialah kode berupa bilangan biner yaitu 0010.

    Pada bahasa tingkat timggi (high level language) dimana bahasa ini sudah bisa

    dipakai dan terealisasi pada GUI (Graphic User Interface) serta memiliki kecepatan

    memori dan prosesor yang maksimal. Pada bahasa tingkat tinggi pun programmer

    atau user bukan lagi memubuat sebuah komputer sebagai pengantar sinyal atau

    pemberi sinyal seperti yang dilakukan pada era sebelumnya, namun lebih

    mengembangkan bidang pemrograman ini sebagai aplikasi yang mana nantinya lebih

    menguntungkan dan membantu manusia (user) didalam pengerjaan apapun dan di

    segala bidang.

  • 6

    Pada bahasa Java yang dibahas pada laporan ini, dimana nantinya pemrograman

    ini lebih menguntungkan manusia dalam pengerjaan di bidang komputerisasi serta

    penggunaan nya bukan hanya bersifat statis atau bisa dikatakan hanya berdiam dan

    dilaksanakan/digunakan pada komputer saja, namun secara dinamis yaitu bisa diakses

    dimanapun dan kapanpun dengan berbasis web dan pengaksesan bisa mellui sistem

    mobile yang akan berbasis aplikasi mobile pada Java tersebut.

    c. Tujuan Pratikum

    Tujuan praktikum menggunakan bahasa pemrograman Java ialah :

    1. Untuk memudahkan user didalam penggunaan aplikasi yang dibuat dengan

    fitur-fitur andalanya.

    2. Agar pengguna (user) dapat secara cepat didalam pengaksesan data dan

    efisien.

    3. Pengguna nantinya dapat mengakses program aplikasi dari bahasa Java

    dalam segala platform OS (Operating System) seperti Windows, Linux, Unix,

    Mac OS, dll.

    4. Pengguna juga dapat menggunakan aplikasi di platform OS yang ada pada

    smartphone atau mobile yaitu Android.

    5. Koneksi database yang akan juga terhubung pada web juga dapat dilakukan

    pada pemrograman Java. Jadi dapat digunakan ketika online.

    6. Supaya pembaca ataupun user dapat memahami pemrograman Java lebih

    luas dengan adanya laporan praktikum ini.

  • 7

    BAB II

    LANDASAN TEORI

    a. Pengenalan Java dan Netbeans

    a) Pengenalan Java

    Java ialah bahasa pemrograman yang berorientasi objek (OOP(Object Orienation

    Program)) dan dapat dijalankan pada berbagai macam platform sistem operasi, seperti

    Windows, Unix, Linux, Mac OS, DOS dll. Java diciptakan oleh James Gosling dam

    Patrick Naughton yang berhasil mengembangkan Java dalam suatu proyek dari SUN

    Microsystem. Pada awalnya penemu Java yaitu James Gosling memberi nama OAK

    yang namanya berasal dari pohon yang terdapat pada kantor James Gosling, tetapi

    akhirnya diberi nama Java dikarenakan pada saat itu ia sedang minum sebuah kopi

    tubruk yang khas berasal dari Indonesia yaitu lebih tepatnya Pulau Jawa, karena nama

    Jawa dalam bahasa inggrisnya ialah Java, maka ia pun mematenkan nama prgram ini

    dengan nama Java.

    Java sering dugunakan oleh semua segmen, karena mampu merambah seluruh

    hal, dari pemrograman desktop (desktop programming) hingga pemrograman mobile

    (mobile programming).

    Java telah berkembang dari semula diciptakan untuk pemrograman Applet

    (program komputer yang telah dikompilasi menjadi bytecode, yaitu suatu keadaan

    program yang dapat deksekusi langsung; tambahan didalam suatu homepage selain

    gambar) yang berjalan di web browser menjadi pemrograman yang terkenal untuk

    pengembangan berbagai aplikasi komputer yang berjalan di berbagai perangkat mulai

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

    aplikasi khusus yang tersebar di berbagai macam komputer server. Perkembangan Java

    tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai

  • 8

    sistem operasi dan bersifat open source. Java merupakan program pengembangan dari

    bahasa C++ sehingga pada strukturnya terlihat seperti bahasa C++.

    Dari penjelasan diatas, timbul sebuah pertanyaan yaitu, Mengapa kita harus

    mempelajari Java? Berdasarkan white paper resmi dari SUN Microsystem, Java memiliki

    karakteristik sbb :

    1. Sederhana (Simple)

    Bahasa pemrograman Java menggunakan Sintaks mirip dengan C++ namun sintaks

    pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang

    rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation

    dan memory garbage collection.

    2. Berorientasi Objek (Object Oriented)

    Java mengunakan pemrograman berorientasi objek yang membuat program dapat

    dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi

    objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-

    objek tersebut.

    3. Terdistribusi (Distributed)

    Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya

    libraries networking yang terintegrasi pada Java. Libraries yang akan digunakan

    disini ialah Java Development Kit (JDK).

  • 9

    4. Interpreted

    Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM).

    Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java

    bytecodes dapat dijalankan pada platform yang berbeda-beda.

    5. Robust

    Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan

    mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java

    mempunyai runtime-Exception handling untuk membantu mengatasi error pada

    pemrograman.

    6. Secure

    Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki

    beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk

    merusak sistem komputer yang menjalankan aplikasi tersebut.

    7. Architecture Neutral

    Program Java merupakan platform independent. Program cukup mempunyai satu

    buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual

    Machine.

    8. Portable

    Source code maupun program Java dapat dengan mudah dibawa ke platform yang

    berbeda-beda tanpa harus dikompilasi ulang.

    9. Performance

  • 10

    Performance pada Java sering dikatakan kurang tinggi. Namun performance Java

    dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft

    ataupun Symantec yang menggunakan Just In Time Compilers (JIT).

    10. Multithreaded

    Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan

    beberapa pekerjaan secara sekaligus dan simultan.

    11. Dynamic

    Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada

    suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa

    menggangu program yang menggunakan class tersebut.

    Gambar diatas merupakan sebuah fase pemrograman Java yang menjelaskan

    aliran proses kompilasi dan eksekusi sebuah program Java.

    Langkah pertama dalam pembuatan sebuah program berbasis Java adalah

    menuliskan kode program pada text editor. Contoh text editor yang dapat digunakan

    yaitu notepad, vi, emacs dsb. Kode program yang dibuat kemudian disimpan dalam

    sebuah berkas berekstensi .java. Stelah membuat dan menyimpan kode program,

    Editor Java

    Compiler

    Java

    Interpreter

    Hello.java

    Satu kali Hello.java

    Berkali-kali

    setiap program

    dijalankan

  • 11

    kompilasi sebuah file yang berisi kode program tersebut dengan menggunakan Java

    Compiler. Hasilnya ialah berupa berkas bytecode berekstensi .class dan berkas yang

    mengandung bytecode tersebut kemudian akan dikonversikan oleh Java Interpreter

    (Penerjemah Java) menjadi machine language (bahasa mesin) dengan jenis dan platform

    yang digunakan.

    Proses Tool Hasil

    Menulis kode program Text Editor Berkas bereksistensi .java

    Kompilasi program Java Compiler

    Berkas bereksistensi .class

    (Java Bytecodes)

    Menjalankan program Java Interpreter Program Output

    Macam-macam Tool/Text Editor yang umum digunakan untuk menuliskan source

    code Java, antara lain :

    a. NotePad.

    b. JCreator.

    c. Edit Plus.

    d. JFrameBuilder.

    e. Eclipse.

    f. Netbeans.

    g. Borland JBuilder.

    h. JDeveloper.

  • 12

    i. Gel.

    b) Pengenalan NetBeans

    NetBeans ialah suatu tool umtuk membuat program dengan menggunakan sebuah

    bahasa pemrograman Java berbasis grafis. NetBeans mengacu pada dua hal, yaitu

    platform untuk pengembangan aplikasi desktop java, dan sebuah Integrated Development

    Environment (IDE) yang dibangun menggunakan platform NetBeans yang mendukung

    pengembangan semua tipe aplikasi Java (J2SE, Web, EJB, dan aplikasi mobile).

    NetBeans menyediakan cara membuat program dengan merancang tampilan

    menggunakan komponent visual dan proses diletakkan pada event driven. NetBeans juga

    menyediakan sekumpulan software modular yang disebut modul yang dipakai untuk

    membangun suatu aplikasi. Modul tersebut merupakan arsip Java (Java Archive) yang

    memuat kelas-kelas Java yang berinteraksi dengan NetBeans Open API, kemudian

    rancangan tampilan yang dibuat menggunakan NetBeans programnya secara otomatis

    akan digenerate menjadi sebuah kode.

    Platform NetBeans merupakan 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 pada sebuah registry didalam memori, dan tugas

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

    ketika ia diperlukan.

    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 pengaturan pengguna.

    Manajemen penyimapanan (menyimpan dan membuka berbagai macam data).

  • 13

    Manajemen jendela.

    Wizard framework (mendukung dialog langkah demi langkah).

    Manajemen antarmuka (misalnya : menu & toolbar).

    Berikut ini merupakan paket-paket tambahan yang ada pada NetBeans IDE

    (Integrated Environment Development) :

    1. NetBeans Mobility Pack

    NetBeans Mobility Pack adalah alat untuk mengembangkan aplikasi yang berjalan

    pada perangkat bergerak (mobile), umumnya telepon seluler, tetapi juga mencakup

    PDA, dan lain-lain. NetBeans Mobility Pack dapat digunakan untuk menulis, menguji,

    dan debugging aplikasi untuk perangkat bergerak yang menggunakan teknologi

    berplatform Java Micro Edition (platform Java ME). Paket ini mengintegrasikan

    dukungan terhadap Mobile Information Device Profile (MIDP) 2.0, Connected

    Limited Device Configuration (CLDC) 1.1, dan Connected Device Configuration

    (CDC). Emulator dari pihak ketiga dapat diintegrasikan dengan mudah untuk

    lingkungan pengujian yang lebih kokoh. NetBeans Mobility Pack saat ini tersedia

    dalam dua klaster yang berbeda, yang satu memuat CDC dan yang lainnya CLDC.

    2. NetBeans Profiler

    NetBeans Profiler adalah alat untuk mengoptimalkan aplikasi Java, membantu

    menemukan kebocoran memori dan mengoptimalkan kecepatan. Profiler ini

    berdasarkan sebuah proyek riset Sun Laboratories yang dahulu bernama Jfluid. Riset

    tersebut mengungkap teknik tertentu yang dapat digunakan untuk menurunkan

    overhead proses profiling aplikasi Java. Salah satu dari teknik tersebut adalah

    instrumentas i kode byte dinamis, yang berguna untuk profiling aplikasi Java yang

    besar. Dengan menggunakan instrumentasi kode byte dinamis dan algoritma-

  • 14

    algoritma tambahan, Netbeans Profiler mampu mendapatkan informasi runtime

    aplikasi yang terlalu besar atau kompleks bagi profiler lain. NetBeans IDE 6.0 akan

    mendukung Profiling Point yang memungkinkan kita memprofilkan titik yang tepat

    dari eksekusi dan mengukur waktu eksekusi.

    3. NetBeans Ruby Pack

    NetBeans versi 6.0 mengijinkan pengembangan IDE menggunakan Ruby dan Jruby,

    sebagaimana Rails untuk dua implementasi Ruby yang lain. Preview NetBeans Ruby

    Pack tersedia sejak rilis Milestone 7 NetBeans 6. Ruby Pack memasukkan

    fungsionalitas editor seperti:

    Pengeditan dasar.

    Pewarnaan sintaks untuk Ruby.

    Pelengkapan kode.

    Occurence highlighting.

    Pop-up dokumentasi yang terintegrasi untuk pemanggilan Ruby API.

    Analisis semantik dengan highlighting parameter dan variabel lokal yang tidak

    terpakai.

    4. NetBeans JavaScript Editor

    NetBeans JavaScript Editor menyediakan perluasan dukunagn terhadap JavaScript

    dan CSS. Fitur-fiturnya antara lain :

    i. Editor JavaScript

    Syntax highighting.

    Pelengkapan kode untuk objek dan fungsi native.

    Smua fitur dalam editor NetBeans.

    Pembuatan kerangka kelas JavaScript secara otomatis.

    Pembuatan pemanggilan AJAX dari template.

  • 15

    ii. Ekstensi editor CSS

    Navigasi cepat melalui panel navigator.

    Penampilan deklarasi aturan CSS di List View.

    Pelengkapan kode untuk nama-nama style.

    Penampilan struktur file di Tree View.

    Mengurutkan outline view berdasarkan nama, tipe, atau urutan deklarasi (List &

    Tree).

    Pembuatan geklarasi aturan (hanya Tree).

    Pemfaktoran kembali sebagian nama rule (hanya Tree).

    Berikut ini merupakan cara menjalankan NetBeans :

    Klik icon NetBeans IDE versi 8.0.1 (sesuaikan dengan NetBeans yang dimiliki).

    Tunggu selagi program menjalankan eksekusi yang kita buat.

  • 16

    Lalu, setelah itu akan muncul layar awal dari aplikasi NetBeans IDE versi 8.0.1.

    Selanjutnya, kita akan membuat sebuah project :

    Klik Flie > New Project.

    Pilih Categories : Java dan Project : Java Application > Klik Next.

  • 17

    Setelah itu akan muncul layar untuk mengisi Nama dan Lokasi Project yang akan

    dibuat. Isilah project nama sesuai dengan kebutuhan yang diinginkan. Contoh :

    Project Name : Latihan1

    Project Location : Klik Browse (lokasi drive pada komputer yang akan dipilih

    untuk penyimpanan project tersebut).

    Project Folder : keterangan file yang tersimpan pada lokasi.

    Setelah itu, non-aktifkan tanda centang pada Create Main Class dan Klik Finish.

  • 18

    Project telah dibuat.

    Setelah itu, klik kanan pada project Latihan1 > New > Pada option New terdapat

    Folder, Applet, Japplet, Jframe From, Java Class, Java Package, Java Inteface dll.

    Sesuaikan file yang akan dibuat pada project sesuai kebutuhan yang ditentukan.

  • 19

    b. Operator

    Java menyediakan lingkuangan yag kaya akan operator dimana operator ini

    fungsinya untuk membantu atau sebagai perantara dari sebuah operand yang digunakan

    pada bahasa Java dan kemudian akan dieksekusi/complie. Operator-operator Java dapat

    dikelompokkan menjadi beberapa kelompok; aritmatik, bitwise, relasional, dan logikal.

    Operator Aritmatik

    Operator-operator aritmatik dipakai dalam ekspresi-ekspresi matematik, seperti pada

    aljabar. Berikut ini merupakan tabel yang merangkum semua operator aritmatik.

    Operator Penjelasan

    + Penjumlahan

    - Pengurangan

    * Perkalian

    / Pembagian

    % Modulus

    ++ Increament

    += Penugasan penjumlahan

    -= Penugasan pengurangan

    *= Penugasan perkalian

  • 20

    /= Penugasan pembagian

    %= Penugasan modulus

    -- Decreament

    Tiap operand dari operator-operator aritmatik harus bertipe numerik. Kita tak dapat

    menerapkannya pada tipe-ripe boolean, tatapi kita dapat menerapkannya terhadap

    tipe-tipe char, karena tipe char pada Java adalah subhimpunan dari int.

    Operator Bitwise

    Java mendefinisikan beberapa opertaor bitwise yang dapat diterapkan pada tipe-tipe

    integer seperti long, int, short, char, dan byte. Semua operator ini berperan terhadap

    bit-bit individual dari operand-operandnya.

    Berikut ini merupakan tabel yang merangkum semua operator bitwise.

    Operator Penjelasan

    ~ Bitwise unary NOT

    & Bitwise AND

    | Bitwise OR

    ^ Bitwise XOR

    >> Geser Kanan

    >>> Geser kanan dengan pengganjalan nol

    >= Penugasan geser kanan

    >>>= Penugasan geser kanan dengan pengganjalan nol

  • 21

    A B A | B A & B A ^ B ~A

    0 0 0 0 0 1

    1 0 1 0 1 0

    0 1 1 0 1 1

    1 1 1 1 0 0

    Bitwise NOT

    Dikenal dengan bitwise complement atau operator NOT unary. Opertaor ini

    menginversi semua bit dari operandnya. Sebagai contoh, nilai 42 (desimal), memiliki

    pola bit :

    00101010

    menjadi

    11010101

    setelah operator NOT diterapkan.

    Bitwise AND

    Operator AND, &, menghasilkan bit 1 jika kedua operandnyajuga bernilai 1. Bit 0

    dihasilkan untuk kasus-kasus lain. Berikut adalah contohnya.

    00101010 (42)

    &00001111 (15)

    00001010 (10)

    Bitwise OR

    Operator OR, |, mengkombinasikan bit-bit sehingga jika terdapat sedikitnya salah satu

    bit operand bernilai 1, maka bit yang dihasilkan adalah 1, seperti ditunjukkan disini:

    00101010 (42)

    | 00001111 (15)

    00101111 (47)

    Bitwise XOR

  • 22

    Operator XOR, ^ , mengkombinasikan bit-bit sehingga jika hanya dan hanya satu bit

    operand bernilai 1, maka bit hasil adalah 1. Selain itu, bit hasil adalah 0. Berikut

    diberikan suatu contoh penggunaan operator XOR.

    00101010 (42)

    ^00001111 (15)

    00100101 (37)

    Operator Relasional

    Operator relasional menentukan relasi satu operand dengan operand lainnya. Operand

    ini biasanya diapakai untuk menentukan ekualitas dan pengurutan.

    Berikut ini merupakan tabel yang merangkum semua operator relasional.

    Operator Penjelasan

    == Sama dengan

    != Tidak sama dengan

    < Kurang dari

    > Lebih dari

    = Lebih dari atau sama dengan

    Operator Boolean

    Operator logikal boolean yang ditampilkan disini hanya bisa diterapkan terhadap

    operand-operand boolean, Setiap operaor logikal biner mengkombinasikan dua nilai

    boolean untuk menghasilkan suatu nilai boolean.

    Operator Penjelasan

    & AND logikal

    | OR logikal

  • 23

    ^ XOR logikal

    || OR short-circuit

    && AND short-cicuit

    ! NOT logikal

    &= Penugasan AND

    |= Penugasan OR

    ^= Penugasan XOR

    == Sama dengan

    != Tidak sama dengan

    ?: If-then-else

    Tabel berikut menunjukkan efek dari penggunaan tiap operasi logikal.

    A B A | B A & B A ^ B !A

    False False False False False True

    True False True False True False

    False True True False True True

    True True True True False False

    c. Class, Object, dan Method

    a) Class

    Class merupakan suatu konstruksi logikal dimana bahasa pemrograman Java akan

    dibangun, Class juga merupakan grup suatu object dengan kemiripan

    attributes/properties, behavior dan relasi ke object lain. Dengan kata lain Class

    merupakan kumpulan dari object yang saling berhubungan dan memiliki keterkaitan dan

    menggambarkan ciri-ciri umum dari object tersebut. Contoh : Class Orang, Pendidikan,

    Mobil, dll. Ada dua kelompok kelas, yaitu kelas standard dan kelas yang didefinisikan

  • 24

    sendiri. Kumpulan dari method/kelas standard dalam Java dikenal dengan API

    (Application Programming Interface).

    Secara umum, kelas pada Java mempunyai struktur penulisan sbb :

    Classbody terdiri dari attribute, contructor, dan method.

    Modifier 1 untuk menentukan sifat dari suatu kelas dan menentukan preveledge

    (hak akses) dari kelas lain. Modifier2 untuk menentukan relasi (extend atau implements)

    dengan kelas lainnya.

    Modifier pada anatomi kelas, sifatnya optional, digunakan berdasarkan

    kebutuhan. Modifier menunjukkan sifat-sifat tertentu ari : kelasnya, metodhnya, atau

    attributenya.

    Beberapa keyboard yang dapat digunakan sebagai modifier1 dapat

    dikelompokkan menjadi :

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

    2. Modifier final.

    3. Modifier static.

    4. Modifier abstract.

    5. Modifier synchronized.

    6. Modifier native.

    7. Modifier storage (transient, volatile).

    (modifier) class NamaKelas (modifier2) {

    classbody

    }

  • 25

    Modifier yang memiliki difat daling kontradiktif yaitu static an abstract.

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

    digunakan pada method static.

    Hak akses terhadap member dari ebuah modifier juga dibatasi seperti yang

    terlihat dari tabel berikut :

    Wilayah Akses Public Protected Default Private

    Di kelas yang sama

    Beda kelas, di package

    yang sama x

    Beda kelas, beda package,

    di kelas turunan X x

    Beda kelas, beda package,

    tidak di kelas turunan x X x

    Contoh salah satu sebuah source code Class pada Class DemoKotak pada

    program sederhana :

    NB : Keterangan ada pada comment ( // ).

    b) Object

    Object merupakan segala sesuatu yang ada di dunia ini baik berupa makhluk

    hidup maupun benda mati. Didalam pemrograman, objek-objek tersebut akan dikonversi

  • 26

    menggunakan bahasa pemrograman sehingga menjadi Objek Pemrograman. Secara

    umum, object dalam dunia nyata mempunyai 2 komponen utama yaitu keadaan dan

    sifat/perilaku. Pada bidang pemrograman, Object adalah instance of class. Jika class

    secara umum mempresentasikan (template) sebuah object, sebuah instance adalah

    representasi nyata dari class itu sendiri. Contoh : Dari class Mobil kita dapat membuat

    object MobilPribadi, AngkutanUmum, dll. Sama halnya dengan Object Nyata, Object

    dalam pemrograman memiliki dua karakteristik utama yaitu :

    1. Atribut sebagai status (state).

    2. Tingkah laku (behaviour).

    Berikut ini merupakan contoh dari penggunaan object dalam lanjutan contoh class

    sebelumnya dalam soal berikut ini :

    Setiap objek memilki salinan dari setiap variabel instansnya sendiri. Ini berarti

    bahwa jika Anda memiliki dua objek Kotak, maka tiap objaek memiliki salinan dari

    dalam, lebar, dan tinggi. Hal ini penting dipahami bahwa perubahan yang terjadi pada

    variabel instans dari satu objek tidak berpengaruh terhadap variabel instans dari objek

    lain. Tulislah program yang mengilustrasikan konsep ini !

    Penyelesaian :

  • 27

    NB : Keterangan ada pada comment ( // ).

    c) Method

    Method adalah aksi-aksi dan perilaku yang bisa dilakukan oleh suatu objek.

    Didalam Java, kita dapat mendefinisikan banyak Method yang akan kita panggil dari

    Method yang berbeda. Method juga bisa dikatakan suatu runtun deklarasi dan statement

    yang dapat dieksekusi dan dibungkus bersama menjadi program-mini sederhana. Dalam

    beberapa bahasa pemrograman lain, method dikenal dengan fungsi, prosedur, subrutin,

    atau subprogram.

    Method mempunyai 4 (empat) bagian dasar :

    1. Nama metode

    2. Tipe objek atau tipe primitive yang dikembalikan metode.

    3. Daftar parameter

    4. Badan atau isi kode

  • 28

    Berikut ini merupakan 2 contoh cara penulisan method dalam pemrograman Java

    :

    Deklarasi Method Definisi

    public char charAt(int index) Mengambil karakter pada indeks tertentu

    public boolean equalsIgnoreCase (String

    anotherString)

    Membandingkan antar String, tidak case

    sensitive

    Contoh dari Method di salah satu program sederhana :

    Penjelasan mengenai method diatas ialah dimana method tersebut digunakan

    untuk menghapus atau meng-clear kan data yang telah diisi oleh field yang sebelumnya

    pada program yang dieksekusi. Data dapat terhapus dikarenakan pada method yang

    dibuat field-field atau button yang digunakan bernilai null dan false.

    Setelah dibuat method, maka masukkan nama method (yaitu: Bersih(); ) pada

    button hapus atau bersih yang ada pada program yang telah didesign, dengan cara

    dimasukkan pada perintah AcitonPerformed.

  • 29

    d. Struktur Perulangan dan Percabangan

    a) Perulangan

    Statement-statement iterasi (perulangan) pada Java adalah while, for, dan do-

    while. Ketiga statement inilah yang dinamakan dengan loop. Loop secara berulang

    mengeksekusi sehimpunan instruksi sampai kondisi terminasi terpenuhi.

    While

    Loop while merupakan satatement loop paling fundamental pada Java.

    Statement ini mengeksekusi secara berulang suatu statement atau blok

    statement ketika ekspresi pengendali bernilai true. Berikut adalah format

    umumnya :

    inisialisasi;

    while (kondisi) {

    // statement yang akan diulang

    perulangan (iterasi);

    }

    Ekspresi?

    Statement

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

  • 30

    Contoh program while dalam JApplet atau JClass :

    Do-While

    Loop do-while selalu mengeksekusi tubuhnya minimal sebanyak sekali, karena

    ekspresi kondisional berada dibawah loop. Format umumnya adalah :

    inisialisasi;

    do {

    //statement yang akan diulang

    iterasi;

    } while (kondisi);

    Contoh dari program do-while dari JApplet dan JClass :

    Statement

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

    Ekspresi?

  • 31

    For

    Looping For umumnya digunakan pada pengulangan yang jumlah iterasinya

    sudah pasti atau sudah diketahui sebelumnya. Berikut adalah formula atau

    formatnya :

    for (inisialisasi; kondisi; iterasi) {

    //statement yang akan diulang

    }

    Contoh perulangan (looping) dari program JApplet atau JClass :

    Star

    t

    inisialisasi

    kond

    isi End

    Statement

    yang diulang

    Iterasi

    (perulangan)

  • 32

    b) Percabangan

    Java menyediakan statement percabangan if, if-else, dan switch, yang bisa

    dipakai untuk membuat keputusan.

    If (.....)

    Pernyataan if ialah dimana kondisi adalah suatu ekspresi boolean (Y/N).

    Ekspresi boolean merupakan suatu ekspresi yang yang menghasilkan

    nilai bertipe boolean. Berikut contoh formulanya :

    If (ekspresi_boolean)

    statements

    N Y

    Contoh dari program percabangan if :

    Logical

    expressi

    on

    Statement

  • 33

    If-else

    Percabangan if-else ialah percabangan dimana ekspresi boolean (Y/N)

    memilki dua satatement yaitu statement keputusan yang benar (1) dan

    jika statement tersebut bukan statement yang diminta, maka fungsi else-

    lah yang berfungsi untuk mengeksekusi pada stetement (2).

    Formula :

    If (ekspresi_boolean)

    Statement 1

    else

    statement 2

    Logical

    Expression

    Statements 1 Statements 2

  • 34

    Contoh program if-else :

    If-else-if

    Percabangan if-else-if ialah percabangan yang disebut if-else bertangga

    atau bersarang, dimana percabangan ini memiliki 3 buah pernyataan

    ekspresi boolean yang berbeda dan 3 buah statment-statement yang

    berbeda pula. Berikut ini merupakan formula :

    if (ekspresi_boolean1)

    statement1;

    else if (ekspresi_boolean2)

    statement2;

    else

    statement3;

    Contoh dari program if-else-if menggunakan JApplet atau JClass :

    Logical

    Expression

    Statements 1 Statements 2 Statements 3

  • 35

    Switch

    Switch ialah percabangan yang sama fungsinya dengan percabangan

    lainnya, hanya saja ia menggunakan switch sebagai ekspresi yang akan

    menjelaskan case, dan case merupakan isi dari statement-statement yang

    digunakan, setelah itu ditutup oleh perintah break dan perintah default

    untuk statement yang berisi pernyataan yang menyatakan tidak

    ada/digunakan dari statement-statement yang ada sebelumnya . Berikut

    formulanya :

    switch ( switch_ekspresi ) {

    case case_pilihan1:

    statement1; //

    statement2; //blok 1

    Break;

    case case_pilihan2:

    statement1; //

    statement2; //blok 2

    break;

    default:

    statement1; //

    statement2; //blok n

    }

  • 36

    Berikut merupakan contoh dari penggunaan switch darip program

    sederhana menggunakan JAplet atau JClass :

    e. Pemrograman Berorientasi Objek (OOP)

    Seperti yang diketahui dari penjelasan mengenai Java diatas, Java merupakan

    salah satu bahasa pemrograman berorientasi objek ( OOP Object Oriented

    Programming). Paradigma OOP sendiri ialah menyelesaikan masalah dengan

    mempresentasikan masalah ke model objek, hanya saja Java memiliki keutamaan

    dibanding bahasa pemrograman yang lain yaitu Cross Platform dengan adanya Java

    Virtual Machine (JVM), pengembangannya didukung oleh programmer secara luas dan

    Automatic Garbage Collection yang membebaskan programmer secara luas dan

    Automatic Garbage Collection yang membebaskan programmer dari tugas manajemen

    memori.

    OOP merupakan salah satu teknik yang memusatkan rancangan pada data (objek)

    dan interface. Fasilitas pemrograman berorientasi objek pada Java, pada dasarnya adalah

  • 37

    sama dengan peemrograman C++. Feature pemrograman berorientasi objek pada Java

    benar-benar sebanding dengan C++, perbedaan Java dengan C++ terletak pada

    penurunan berganda (multiple inheritance), untuk ini Java memiliki cara penyelesaian

    yang lebih baik.

    i. Pencontohan Objek dalam OOP

    Objek-objek dalam dunia nyata, mempunyai 2 karakteristik khusus :

    Status dan Perilaku. Contohnya, sepeda punya status(jumlah gir, jumlah

    pedal, dua buah ban) dan perilaku(mengerem, mempercepat, ubah gir).

    Bahasa yang berorientasi pada objek pun mempunyai karakteristik yang

    sama dengan objek-objek di dunia nyata. Yaitu status yang dalam bahasa

    pemrograman biasanya disimpan sebagai Variabel dan perilaku yang

    diimplementasikan sebagai Method.

    ii. Karakteristik OOP (Object Oriented Programming)

    o Enkapsulasi (Pembungkusan)

    Enkapsulasi adalah pelindung program dan data yang sedang diolah.

    Enkapsulasi mendefinisikan perilaku dan melindungi program dan data

    agar tidak diakses secara sembarangan oleh program lain. Dalam Java,

    dasar enkapsulasi adalah class. Anda membuat suatu class yang

    menyatakan bahwa variable atau method sebuah class tidak dapat

    diakses oleh class lain dengan menjadikan class tersebut private, atau

    menjadikan class tersebut protected yaitu hanya bisa diakses oleh

    turunannya, atau menjadikan class tersebut public yaitu bisa diakses

    oleh sembarang class.

    o Inheritansi

  • 38

    Objek-objek yang berada di sekitar kita adalah objek-objek yang saling

    terhubung secara hirarkis. Misalnya :

    Lingkaran dan Bujur Sangkar adalah turunan dari bentuk 2D dan

    bentuk 2D tersebut merupakan turunan dari Objek Gambar.

    Lingkaran dan Bujur Sangkar mewarisi(inherit) sifat-sifat dari bentuk

    2D, juga mewarisi sifat-sifat dari objek gambar Lingkaran dan Bujur

    Sangkar dapat dikatakan subclass dari bentuk 2D. Bentuk 3D adalah

    superclass dari Bola dan Piramida, dan seterusnya.

    o Polimorfisme

    Walaupun Lingkaran dan Bujur Sangkar sama-sama turunan dari

    Bentuk 2D, tetapi cara mengubah ukuran masing-masing berbeda,

    untuk lingkaran anda harus merubah besar jari-jarinya, sedang untuk

    bujur sangkar anda harus mengubah panjang sisinya.

    Objek Gambar

    Bentuk 2D

    Bujur Sangkar Lingkaran

    Bentuk 3D

    Piramida Bola

  • 39

    BAB III

    HASIL PERCOBAAN / PRAKTIKUM (MODUL 2 -8)

    a. Modul 2

    Hasil Pecobaan / Praktikum :

    b. Modul 3

    Hasil Pecobaan / Praktikum :

  • 40

    Penambahan

    Perkalian

  • 41

    c. Modul 4

    Hasil Percobaan / Praktikum :

    Pembagian

    Pengurangan

  • 42

    d. Modul 5

    Hasil Percobaan / Praktikum :

  • 43

  • 44

    e. Modul 6

    Hasil Percobaan / Praktikum :

    f. Modul 7

    Hasil Percobaan / Praktikum :

  • 45

    g. Modul 8

    Hasil Percobaan / Praktikum :

  • 46

    BAB IV

    ANALISA HASIL PERCOBAAN (MODUL 2-8)

    a. Modul 2

    Sebelum mengetahui analisa mengenai modul 2, mari lihat terlebih dahulu

    source kode atau perintah yang digunakan untuk menjalankan program tersebut.

    Pada source kode diatas, terlihat kode atau perintah yang digunakan berada

    pada perintah btnprosesActionPerformed yang ada pada button Proses

    (kotak merah) yang digunakan untuk mengeksekusi dari output yang telah diisi.

    Sedangkan isi perintahnya utnuk membuat program tersebut berjalan dengan

    semestinya dan sesuai dengan keinginan user ialah source kode yang berada

    didalam btnproses tersesbut (kotak hitam). Berikut merupakan keterangannya :

    lblnpm.setText(txtnpm.getText()); ialah bisa dibaca seperti ini, dimana

    lblnpm ter-setText atau bisa dikatakan text nya ditetapkan oleh atau dari field

    txtnama yang telah diisi oleh user, dan ketika button Proses pada output di

    klik, maka fungsi getText lah yang berfungsi disini, dimana ia berfungsi

  • 47

    sebagai pengirim data yang telah diisi pada field txtnpm ke lblnpm pada saat

    eksekusi terjadi. Keterangan fungsi ini sama kaitannya dengan

    lblnama.setText(txtnma.getText()); , lbltgl.setText(txttgl.getText()); ,

    lblalamat.setText(txtalamat.getText()); , dan lblhobi.setText(txthobi.getText()); .

    Sedangkan pada lbljenkel.setText(cbojenkel((String).getSelectedIndex()); ialah

    dimana kode atau perintah ini hampir sama penjelasannya dengan yang telah

    dijelaskan sebelumnya, hanya saja dikarenakan ia menggunakan combobox

    untuk memilih sebuah pilihan dari jenkel (jenis kelamin) maka pada perintah

    pengiriman data atau text yang telah dimasukkan user ialah dengan

    menggunakan getSelectedIndex, lalu lbljenkel yang menset (menetapkan) text

    yang telah dipilih dari combobox (cbojenkel) pada saat pengeksekusian

    program.

    Setelah itu, pada baris selanjutnya dibawah lblhobi terdapat perintah yang

    dimana fungsinya untuk mengosongkan seluruh field-field yang telah diisi user

    dengan mengklik button Proses kembali. Hanya saja pada cbojenkel ter-set jenis

    kelamin Pria pada lbljenkel , sedangkan yang lainnya kosong atau bersih.

  • 48

    b. Modul 3

    Analisa mengenai percobaan atau praktikum pada Modul 3 dapat dilihat

    pada source kode nya sebagai berikut :

  • 49

    Pada praktikum ini, dimana akan membuat sebuah program kalkulator

    sederhana yang digunakan hanya operator + (tambah), * (kali), - (kurang), dan /

    (bagi). Perintah atau source code yag diletakkan ialah akan dijelaskan sebagai

    berikut :

  • 50

    Pada gambar diatas merupakan source kode (private void

    btntambahActionPerformed(java.awt.event.ActionEvent evt) { ) yang diletakkan

    pada button tambah (+) dengan peintah yang telah tertera (kotak hitam).

    Sekarang kita akan membahas dari perintah yang diletakkan untuk membuat

    dari button + (tambah) jika dieksekusi maka akan berjalan dengan semestinya

    (kotak biru).

    Integer nilai1=Integer.valueOf(txtinput1.getText()) , dimana maksudnya

    ialah fungsi dari tipe data Integer ialah untuk mendeklarasikan sebuah tipe data

    dari nilai1. Setelah itu, operator = (sama dengan) mendeklarasikan perintah

    yang akan dilakukan dari nilai1 yang telah dideklarasikan tipe data sebelumnya.

    Integer.valueOf(txtinput1.getText()); , dimana maksudnya ialah tipe data Integer

    yang mewakili atau yang mendeklarasikan nilai1 memiliki nilai (valueOf) dari

    pengiriman text (getText) yang telah diisi user dari field txtinput1.

    Penjelasan yang telah dijelaskan sebelumnya pada Integer nilai1 sama

    dengan pendeklarasian dengan Integer nilai2 , hanya saja nilai2 memiliki nilai

    (valueOf) dari pengiriman text (getText) yang telah diisi user dari field txtinput2.

    Pada baris selanjutnya yaitu Integer hasil3 = nilai1 + nilai2; , dimana disini

    menjelaskan hasil3 yang memiliki tipe data Integer mendeklarasikan perintah

    dengan operator = (sama dengan) meletakkan rumus nilai1 + nilai2 yang mana

    rumus ini menyatakan bahwa nilai1 yang memiliki nilai (valueOf) dari

  • 51

    pengiriman text (getText) yang telah diisi user dari field txtinput1 dan nilai2

    memiliki nilai (valueOf) dari pengiriman text (getText) yang telah diisi user dari

    field txtinput2 dioperasikan pada operator penambahan (+) untuk mengeksekusi

    program yang akan terjadi setelah menginputkan datanya di field pada button +

    (tambah).

    Dibaris selanjutnya yaitu String hasil = String.valueOf(hasil3); , dimana

    hasil dideklarasikan oleh tipe data String (tipe data yang mendeklarasikan

    karakter maupun bilangan) dan dihubungkan oleh operator sama dengan (=)

    yang isinya String.valueOf(hasil3); , yang mana tipe data String

    mendeklarasikan daripada hasil yang telah ditetapkan sebelumnya, dan

    valueOf(hasil3); yang artinya memilki nilai dari hasil3 yaitu dimana tempat

    peletakkan rumus yang telah dibuat.

    Baris selanjutnya ialah txthasil.setText(hasil); , yang mana maksudnya ialah

    txthasil men-set text atau menetapkan text daripada hasil yang telah

    dideklarasikan pada baris sebelumnya dengan menggunakan tipe data String.

    Pada source code btnkurang, btnkali, dan btnbagi semua sama

    penjelasannya dengan btntambah yang telah kita jelaskan sebelumnya, hanya

    saja pada btnkali , btnkurang, btnbagi pada baris Integer hasil3 = nilai1 +

    nilai2; yang mendeklarasikan rumus, hanya diganti operatornya saja dimana

    btnkurang diganti dengan (-), btnkali diganti dengan (*) , dan btnbagi diganti

    dengan (/).

    Sedikit penambahan, pada btnbagi dimana tipe data Integer yang biasanya

    digunakan oleh btntambah, btnkurang, dan btnkali diganti oleh Float (tipe data

    yang mendeklarasikan bilangan desimal atau pecahan) karena didalam

    pembagian, hasil daripada bagi tidak selalu menghasilkan bilangan bulat.

  • 52

    Perkalian

  • 53

    c. Modul 4

    Berikut ini merupakan analisa mengenai praktikum Modul 4 pada Program

    Penjualan Gadget. Berikut source code nya dan ulasannya :

    Pembagian

    Pengurangan

  • 54

    Pertama, mari analisis pada perintah yang ada dalam cbojenis ( private void

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

    Pada isi perintah dari cbojenis ini, kita menggunakan perintah percabangan

    if-else-if untuk menyatakan statement yang dialam item pada combobox jenis

    (cbojenis) yaitu iPad, iPhone, dan iPod. Berikut formatnya dalam format bagan.

    Logical

    Expression

    Statements 1 Statements 2 Statements 3

  • 55

    NB : Keterangan dan pengertian atau maksud terletak pada comment (//).

    Berikut ini analisa mengenai pengeksekusian program ketika data telah

    dimasukkan dan siap untuk dihitung keseluruhannya dari jumlah total, diskon,

    dll dimana perintah ini diletakkan pada btnbayar atau button Bayar (private void

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

    if(cbojenis.getSelectedItem()=="iPad"){ //dimana dibaca, jika cbojenis yang dipilih dari

    item adalah iPad

    txtharga.setText("4999000"); //maka, field yang ada pada txtharga ter-set

    4999000

    }else if (cbojenis.getSelectedItem()=="iPhone"){ // else if (jika tidak), cbojenis yang

    dipilih dari item adalah iPhone

    txtharga.setText("7999000"); //maka, field yang ada pada txtharga ter-set

    7999000

    }else if (cbojenis.getSelectedItem()=="iPod"){ // else if (jika tidak), cbojenis yang

    dipilih dari item adalah iPod

    txtharga.setText("2999000"); //maka, field yang ada pada txtharga ter-set

    2999000

    }else{ // tidak, dimana jika kesemuanya yang terpilih tidak ada daripada item,

    maka...

    txtharga.setText(""); //maka, field yang ada pada txtharga ter-set kosong/bersih

    }

    }

  • 56

    int harga=Integer.parseInt(txtharga.getText()); //dimana harga disini bertipe integer

    (bilangan bulat) dan operator = (sama dengan) berfungsi sebagai pendeklarasian dari

    int harga, yang mana tipe data Integer pada harga diuraikan (parse) dari Integer pada

    field txtharga yang datanya akan dikirim oleh fungsi getText.

    int jumlah=Integer.parseInt(txtjumlah.getText()); // dimana jumlah disini bertipe

    integer (bilangan bulat) dan operator = (sama dengan) berfungsi sebagai

    pendeklarasian dari int jumlah, yang mana tipe data Integer pada harga diuraikan

    (parse) dari Integer pada field txtjumlah yang datanya akan dikirim oleh fungsi getText.

    long diskon,total,nilaidiskon; //pendeklarasian dari data yang akan digunakan

    untuk menghitung diskon, total, dan nilai diskon, dengan menggunakan tipe integer

    long (tipe integer yang hampir mirip dengan float).

    if(cbostatus.getSelectedItem()=="Member"){ //dibaca sebagai, jika combobox

    status yang bervariabel name cbostatus, getSelectedItem (memilih item dari) Member ( yang ada dalam item cbostatus).

    diskon=((5*harga)/100); //deklarasi dari rumus perhitungan diskon yang akan

    berjalan jika program tereksekusi, diskon dideklarasikan dari tipe data long yang telah

    dibuat sebelumnya, dimana harga yang ada pada perumusan ialah dari pendeklarasian int harga di awal yang sesuai dengan penetapan di field pada harga gadget yang dipilih user.

    nilaidiskon=harga-diskon; //deklarasi dari rumus perhitungan nilaidiskon yang

    akan berjalan jika program tereksekusi, diskon dideklarasikan dari tipe data long yang

    telah dibuat sebelumnya, dimana harga yang ada pada perumusan ialah dari pendeklarasian int harga di awal dan dikurangi diskon berasal dari data yang ada pada tipe data long dan sudah dideklarasi sebelumnya.

    total=nilaidiskon*jumlah; //deklarasi dari rumus perhitungan total yang akan

    berjalan jika program tereksekusi, nilaidiskon dideklarasikan dari tipe data long yang

    telah dibuat sebelumnya serta dikali jumlah yang dideklarasian diawal, dimana jumlah

    ini sesuai dengan pengisian berapa banyak jumlah gadget yang dibeli dari yang dipilih

    user, kemudian dieksekusi pada btnbayar.

    }else{ //tidak, dimana jika bukan status Member yang dipilih oleh user atau

    customer, maka....

    diskon=0; //tidak ada diskon

    nilaidiskon=harga-diskon; //pendeklarasian rumus

    total=nilaidiskon*jumlah; //pendeklarasian rumus

    }

    txtdiskon.setText(""+diskon); //dimana field txtdiskon ter-set oleh variable diskon

    yang ada pada tipe data long, yang telah dideklarasi.

    txttotal.setText(""+total); //dimana field txttotal ter-set oleh variable total yang

    ada pada tipe data long, yang telah dideklarasi.

    }

  • 57

    NB : Keterangan dan pengertian atau maksud terletak pada comment (//).

    d. Modul 5

    Berikut ini merupakan analisa mengenai praktikum Modul 5 pada Program

    Perhitungan Gaji Pegawai. Berikut source code nya dan ulasannya :

  • 58

    public class Program_Gaji_Pegawai extends javax.swing.JFrame { //disini, variabel-

    variabel yang diperlukan untuk program ini akan di konstruksikan pada class

    Program_Gaji_Pegawai, dimana nanti akan menggunakan method sebagai kaitannya

    dengan class yang dibuat.

    int gajipokok,gajikotor,pajak,gajibersih; //pendeklarasian variabel sebagai objek yang

    akan digunakan pada method.

    int tunjanganistri,tunjangananak,jumlahanak; //pendeklarasian variabel sebagai objek

    yang akan digunakan pada method.

    String t_istri,t_anak; //pendeklarasian variabel sebagai objek yang akan digunakan

    pada method.

    String s_gajikotor,s_pajak,s_gajibersih; //pendeklarasian variabel sebagai objek yang

    akan digunakan pada method.

  • 59

    public Program_Gaji_Pegawai() { //menyatakan nama program

    setTitle("Program Gaji Pegawai"); //berfungsi menyatakan nama program ketika program dieksekusi pada layar output.

    initComponents(); //menyatakan didalam keseluruhan komponen yang ada program.

    }

    private void Gaji() { //deklarasi dari method Gaji.

    int pilihan=cbojabatan.getSelectedIndex(); //dimana pilihan sebagai variabel yang

    bertipe integer (int) dan deklarasi dari cbojabatan pada combobox jabatan dimana yang perintahnya getSelectedIndex (yang memilih bukan berdasarkan item yang dideklarasi pada

    percabangan if, tetapi pada deklarasi switch menggunakan Index yang mana memilih tidak

    secara langsung tetapi dikelompokkan)

    switch(pilihan){ //mendeklarasikan dari percabangan switch yang dimana variabel

    pilihan diawal tadi digunakan untuk mendeklarasikan isi yang akan dipilih menggunakan

    case.

    case 0: //panggilan ke-1

    txtgajipokok.setText("7500000"); //field pada gaji pokok (txtgajipokok) akan ter-

    set 7500000

    break; //pernyataan tutup.

    case 1: //panggilan ke-2

    txtgajipokok.setText("5000000"); //field pada gaji pokok (txtgajipokok) akan ter-

    set 5000000

    break; //tutup.

    case 2: //panggilan ke-3

    txtgajipokok.setText("3000000"); //field pada gaji pokok (txtgajipokok) akan ter-

    set 3000000

    case 3: //panggilan ke-4

    txtgajipokok.setText("2000000"); //field pada gaji pokok (txtgajipokok) akan ter-

    set 7500000

    break; //tutup

    case 4: //panggilan ke-5

    txtgajipokok.setText("1200000"); //field pada gaji pokok (txtgajipokok) akan ter-

    set 7500000

    break; //tutup

    case 5: //panggilan ke-6

    txtgajipokok.setText("750000"); //field pada gaji pokok (txtgajipokok) akan ter-set

    750000

    break; //tutup

    } }

  • 60

    private void TunjanganAnak(){ //deklarasi dari method TunjanganAnak

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

    yang telah dideklarasikan pada class diatas sebelumnya yang menyatakan

    Integer dari variabel gajipokok yang memiliki nilai dari field txtgajipokok yang

    dimana datanya yang dimasukkan pada txtgajipokok terkirim oleh fungsi getText

    ketika program tereksekusi.

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

    jumlahanak yang telah dideklarasikan pada class diatas sebelumnya yang

    menyatakan Integer dari variabel jumlahanak yang memiliki nilai dari field

    txtjumlahanak yang dimana datanya yang dimasukkan pada txtjumlahanak

    terkirim oleh fungsi getText ketika program tereksekusi.

    //pendeklarasian percabangan if-else-if, yang mana untuk menentukan tunjangan

    yang didapatkan pegawai.

    if(jumlahanak 2){ //jika tidak, jika jumlah anak lebih besar dari 2.

    tunjangananak=((15*gajipokok)/100) *2; //maka, tunjangananak 15%

    dikali gajipokok dikali 2.

    }else{ //jika tidak lagi, artinya jika pernyataan yang diinputkan

    (menggunakan radiobutton (rbStatus)) selain dari pernyataan-pernyataan diatas

    maka,,,

    tunjangananak=0; //tunjangananak tidak ada atau kosong.

    }

    t_anak=String.valueOf(tunjangananak); //dibaca, t_anak yang bertipe

    data String memiliki nilai dari tunjangananak yang telah dideklarasi tadi.

    txttunjangananak.setText(t_anak); //field pada txttunjangananak

    (Tunjnagan Anak) akan ter-set oleh t_anak yang memiliki nilai dari

    pendeklarasian tunjangananak sebelumnya.

    }

  • 61

    private void Menikah() { //method untuk Menikah

    txttunjanganistri.setEnabled(true); //pada field Tunjangan Istri ter-set true

    (muncul) pernyataan dari field tersebut. setEnabled digunakan karena void

    Menikah nantinya diletakkan pada option radiobutton Status.

    txttunjangananak.setEnabled(true); //kurang lebih sama artinya dengan

    pernyataan txttunjanganistri, hanya disini pada txttunjangananak (Tunjangan

    Anak).

    txtjumlahanak.setEnabled(true); //sama pengetiannya dari yang sebelumnya.

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

    bertipe Integer yang memiliki nilai dari field txtgajipokok (Gaji Pokok) yang

    datanya akan dikirim setelah pengisian data semuanya selesai dan

    pengeksekusian hitung dilakuakan.

    tunjanganistri=(20*gajipokok)/100; //menyatakan tunjanganistri (Tunjangan

    Istri) dimana pada tunjangan tersebut, gajipokok dikali 20%.

    t_istri=String.valueOf(tunjanganistri); //t_istri yang bertipe data String di

    pendeklarasian class diatas sebelumnya, memiliki nilai dari tunjanganistri yang

    baru saja dideklarasikan juga sebelumnya.

    txttunjanganistri.setText(t_istri); //field pada txttunjanganistri (Tunjnagan

    Istri) akan ter-set oleh t_istri yang memiliki nilai dari pendeklarasian

    tunjanganistri sebelumnya.

    TunjanganAnak(); //dimana ini bermaksud untuk memanggil method

    TunjanganAnak, karena jika yang dipilih user ialah option1 (Menikah) maka

    TunjanaganAnak juga berfungsi didalam pemanggilan data dari perintah

    method-nya.

    } //tutup method.

  • 62

    NB :Keterangan ada pada comment (//).

    private void BelumMenikah(){ //pernyataan untuk method Belum Menikah.

    tunjanganistri=0; //tunjanganisri adalah kosong atau null.

    tunjangananak=0; //tunjangananak adalah kosong atau null.

    jumlahanak=0; //jumlahanak adalah kosong atau null.

    txttunjanganistri.setText("0"); //field txttunjanganistri (Tunjangan Istri) akan ter-

    set kosong atau null.

    txttunjangananak.setText("0"); //field txttunjangananak (Tunjangan Anak) akan

    ter-set kosong atau null.

    txtjumlahanak.setText("0"); //field txtjumlahanak (Jumlah Anak) akan ter-set

    kosong atau null.

    txttunjanganistri.setEnabled(false); //field txttunjanganistri (Tunjangan Istri) ter-

    set False (tak muncul), karena method ini nantinya akan berkaitan dengan method

    Menikah yang mana di method Menikah pada field txttunjanganistri ter-set true

    (muncul), maka jika belum menikah akan tak muncul (false) pernyataan tunjangan

    istri tersebut pada field. setEnabled digunakan karena option1 (Menikah) dan

    option2 (Belum Menikah) berupa radiobutton.

    txttunjangananak.setEnabled(false); //kurang lebih, sama pengertiannya pada

    penjelasan txttunjnaganistri sebelumnya, hanya saja ini berada di

    txttunjangananak.

    txtjumlahanak.setEnabled(false); //kurang lebih, sama pengertiannya pada

    penjelasan txttunjnaganistri sebelumnya, hanya saja ini berada di txtjumlahanak.

    }

  • 63

    private void Total(){ //pernyataan untuk method Total.

    gajipokok=Integer.valueOf(txtgajipokok.getText()); //menyatakan gajipokok bertipe Integer

    yang memiliki nilai dari field txtgajipokok (Gaji Pokok) yang datanya akan dikirim setelah pengisian data semuanya selesai dan pengeksekusian hitung dilakuakan.

    //percabangan if-else

    if(opsi1.isSelected()==true){ //jika opsi1 (Menikah) ddipilih sama dengan true (terpilih).

    Pernyataan if agak sedikit berbeda dari sebelumnya karena percabangan if disini diletakkan pada radiobutton (opsi1).

    gajikotor=gajipokok+tunjangananak+tunjanganistri; /statemenet yang menyatakan rumus

    daripada gajikotor yang akan dihitung, gajikotor ini telah dideklarasikan tipe datanya

    sebelumnya pada awal yaitu integer, begitu juga dengan gajipokok, tunjangananak, dan

    tunjanganistri.

    }else{ //jika tidak, maksudnya jika bukan opsi1 yang terpilih artinya jika opsi2 (Belum

    Menikah) yang terpilih, maka...

    gajikotor=gajipokok; //statement yang menyatakan rumus gajikotor sama dengan gajipokok,

    berarti tidak didukung oleh tunjangananak, tunjanganistri, dll karena pegawai/user belum

    menikah.

    } //tutup percabangan if

    pajak=(gajikotor*10)/100; //pajak yang telah dideklarasikan bertipe data integer menyatakan

    atau mengdeklarasikan bahwa gajikotor (integer) dikali 10%.

    gajibersih=gajikotor-pajak; //pernyataan gajibersih (integer) atau gaji sebenarnya sama

    dengan gajikotor (integer) yang telah ditentukan dikurangi dengan pajak yag telak dideklarasi

    sebelumnya.

    s_gajikotor=String.valueOf(gajikotor); //s_gajikotor atau menyatakan simpan gajikotor yang

    bertipe String memiliki nilai dari gajikotor yang telah dideklarasi.

    s_pajak=String.valueOf(pajak); //kurang lebih sama artinya dengan s_gajikotor sebelumnya,

    hanya saja ini untuk s_pajak yang telah dideklarasi.

    s_gajibersih=String.valueOf(gajibersih); //kurang lebih sama artinya dengan s_gajikotor

    sebelumnya, hanya saja ini untuk s_gajibersih yang telah dideklarasi.

    txtgajikotor.setText(s_gajikotor); //field txtgajikotor akan ter-set dari s_gajikotor yang

    dideklarasi dari gajikotor sebelumnya.

    txtpajak.setText(s_pajak); //field txtpajak akan ter-set dari s_pajak yang dideklarasi dari pajak

    sebelumnya.

    txtgajibersih.setText(s_gajibersih); //field txtgajibersih akan ter-set dari s_gajibersih yang

    dideklarasi dari gajibersih sebelumnya.

    } //tutup method.

  • 64

    private void BersihTeks(){ //pernyataan method untuk membersihkan atau

    mengosongkan seluruh field.

    gajipokok=0; //gajipokok (integer) sama dengan bersih atau null.

    gajikotor=0; //gajikotor (integer) sama dengan bersih atau null.

    pajak=0; //pajak (integer) sama dengan bersih atau null.

    gajibersih=0; //gajibersih (integer) sama dengan bersih atau null.

    tunjanganistri=0; //tunjanganistri (integer) sama dengan bersih atau null.

    tunjangananak=0; //tunjangananak (integer) sama dengan bersih atau null.

    jumlahanak=0; //jumlahanak (integer) sama dengan bersih atau null.

    txtgajipokok.setText("0"); //field txtgajipokok ter-set kosong atau null.

    txttunjanganistri.setText("0"); //field txttunjanganistri ter-set kosong atau

    null.

    txtjumlahanak.setText("0"); //field txtjumlahanak ter-set kosong atau null.

    txttunjangananak.setText("0"); //field txttunjangananak ter-set kosong atau

    null.

    txtgajikotor.setText("0"); //field txtgajikotor ter-set kosong atau null.

    txtpajak.setText("0"); //field txtpajak ter-set kosong atau null.

    txtgajibersih.setText("0"); //field txtgajibersih ter-set kosong atau null.

    }

  • 65

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

    //pernyataan untuk meletakkan perintah yang akan diisi dari form

    WindowOpened jendela yang akan dibuka pada awal output keluar.

    // TODO add your handling code here:

    BelumMenikah(); //method dari BelumMenikah dimasukkan pada

    perintah ini, karena pada saat Window ata jendela terbuka maka field-

    field akan kosong dan itu sesuai dengan perintah didalam method ini.

    } //tutup perintah WindowOpened.

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

    //pernyataan untuk meletakkan perintah pada cbojabatan yang akan

    dipilih, disini menggunakan ItemStateChanged dikarenakan perintah ini

    berada pada combobox yang mana item nya nanti akan berganti-ganti

    sesuai keinginan user.

    // TODO add your handling code here:

    BersihTeks(); //method yang diperlukan ialah BersihTeks yang mana

    teks nya akan terset null atau bersih seluruhnya.

    Gaji(); //method gaji diperlukan pada perintah panggilan cbojabatan

    karena akan menjelaskan pernyataan dari pegawai yang memilih opsi1

    atau opsi2 dari berbagai pilihan item pada cbojabatan.

    //percabangan if-else

    if (opsi1.isSelected()==true) { //jika opsi1 (Menikah) ddipilih sama

    dengan true (terpilih). Pernyataan if agak sedikit berbeda dari sebelumnya

    karena percabangan if disini diletakkan pada radiobutton (opsi1).

    Menikah(); //statement pertama yang digunakan ialah dari method

    Menikah.

    }else{ //jika tidak, maksudnya jika bukan opsi1 yang terpilih artinya

    jika opsi2 (Belum Menikah) yang terpilih, maka...

    BelumMenikah(); /method BelumMenikah lah yang berfungsi pada

    perintahnya.

    }

    }

  • 66

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

    //pernyataan panggilan pada opsi1 jika terpilih.

    // TODO add your handling code here:

    Menikah(); //method Menikah yang berfungsi didalam pemanggilan action

    opsi1.

    }

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

    //pernyataan panggilan pada opsi1 jika terpilih

    // TODO add your handling code here:

    BelumMenikah();//method BelumMenikah yang berfungsi didalam

    pemanggilan action opsi2.

    }

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

    //pemanggilan txtjumlahanak, dengan aksi KeyReleased (artinya field akan

    hidup dan mengisi jumlahanak).

    // TODO add your handling code here:

    TunjanganAnak(); //method TunjanganAnak mengisi untuk perintah

    didalam txtjumlahanak.

    }

  • 67

    e. Modul 6

    Modul 6 akan dianalisa mengenai Multi Document Interface (MDI) yang

    dimana modul ini akan berfungsi untuk menggabungkan hasil output diantara

    modul-modul yang telah dibuat sebelumnya (Modul 2-5) didalam satu form.

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

    //pemanggilan perintah untuk button Bersih jika melakukan aksi.

    // TODO add your handling code here:

    BersihTeks(); //method yang digunakan ialah BersihTeks, karena akan

    berfungsi untuk membersihkan atau men-null kan semua field yang telah

    ditentukan pada method ini.

    }

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

    //pemanggilan perintah untuk button Hitung jika melakukan aksi.

    // TODO add your handling code here:

    Total(); //method Total yang digunakan pada perintah aksi ini, karena di

    method Total telah berisi perhitungan yang telah dideklarasikan dan dirincikan.

    }

  • 68

    Sebelum menganalisa dari source-source kode yang akan diisi pada program ini,

    mari lihat terlebih dahulu apa saja yang diperlukan untuk mengisi program pada

    Modul 6.

    Pada Modul 6, ada 2 package yang diperlukan yaitu :

    MDI adalah dimana package ini meletakkan FormUtama (parentsize)

    yang mana form inilah yang berfungsi untuk menggabungkan seluruh

    output (childsize) modul-modul yang telah dibuat. Selain FormUtama,

    terdapat 4 form lainnya dimana form ini berisi copy-an JDesktopPane

    daripada modul-modul yang telah dibuat (Modul 2-5) yang dinamakan

    IFModul(sesuai dengan modul ke berapa).

    Form adalah package yang berisi seluruh program modul-modul yang

    telah dibuat sebelumnya. Sebenarnya package ini tidak mempengaruhi

    apapun daripada package utama yaitu MDI, tetapi ia hanya

    memperjelas dari modul-modul yang ada didalamnya lah yang

    digunakan pada MDI.

    Berikut penjelasan Menu ataupun Submenu pada FormUtama :

  • 69

  • 70

    Keterangan :

    File tersebut dibuat dari Swing Menu > Menu Bar. Setelah itu ganti nama

    menjadi File dan tambahkan Menu Item pada Menu Bar tersebut yaitu

    New yag berfungsi untuk membuat form baru untuk mengisi keluaran

    (output) dari program modul serta Exit yang berfungsi untuk

    mengeluarkan semua program.

    Data, dimana Menu Bar data berisi Menu Item dari modul-modul yang

    akan dimasukkan ( Modul 2-5).

    Help ialah Menu Bar yang didalamnya berisi Menu Item berisi Tentang

    yang bermaksud untuk menjelaskan tentang program-program ini, atau

    kalau bisa dikatakan ini hanya menu tambahan saja.

    Langsung saja, berikut ini merupakan analisa dan keterangan mengenai

    source code yang ada didalam program MDI.

  • 71

  • 72

    public class FormUtama extends javax.swing.JFrame {

    private int jml; //menjelaskan variabel Integer yang dideklarasikan sebagai

    method yang akan digunakan.

    private String judul; //menjelaskan variabel String yang dideklarasikan sebagai

    method yang akan digunakan.

    /**

    * Creates new form FormUtama

    */

    public FormUtama() { //penerangan atau keterangan dari FormUtama yang akan

    dimulai untuk membuat source code dialamnya.

    setTitle("MDI Form"); //berfungsi untuk meberikan nama Program di atas

    Window yang sejajar dengan Minimize, Maximize, dan Close.

    setExtendedState(MAXIMIZED_BOTH); /fungsinya menset untuk memperluas form nya denagn perintah yang didalamnya ialah MAXIMIZED BOTH.

    initComponents(); //menyatakan berada didalam komponen program ini.

    }

    private void FormBaru(){ //method dari Form Baru

    try{ //berfungsi untuk menguji code yang akan dimasukkan untuk menjalankan program.

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

    JinternalFrame dideklarasikan menjadi variabel jin yang menyatakan jika yang diminta New maka JinternalFrame mengeluarkan childsize dengan nama judul,

    false(close),true (maximized), true (pilihan).

    jin.setDefaultCloseOperation(DISPOSE_ON_CLOSE); variabel jin di-set

    kan dalam operasi perintah tutup yang dijelaskan kembali oleh DISPOSE (yang

    menentukan).

    JPanel pn=new JPanel(); //pn sebagai variabel Jpanel yang menyatakan akan

    new JPanel (membuat baru).

    jin.setBounds(200,200,500,500); //jin mensetkan panjang dan lebar form

    yaitu dengan panjang x lebar (200 x 500)

    jDesktopPane1.add(jin); //menambahkan JinternalFrame pada

    jDesktopPane1

    jin.setVisible(true); //JInternalFrame terlihat.

    }catch(Exception e){ //menyatakan eksepsi (jika perintah diminta tak ada didalam program ini, maka...

    JOptionPane.showMessageDialog(null, e); //JOptionPane menunjukkan message (pesan) / Warning.

    } }

  • 73

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

    //pernyataan untuk memanggil fungsi daripada menu item New.

    // TODO add your handling code here:

    jml=jml+1; // jml (int) menyatakan jika New diklik maka ditambah 1, begitu

    selanjutnya.

    judul="FormBaru"+jml; //judul (String) menyatakan Form Baru yang telah

    ditambahkan sesuai dengan jumlah.

    FormBaru(); //method dari FormBaru dipanggil disini untuk

    menghubungkan kepada Menu Item New.

    } //tutup method

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

    //pernyataan untuk memanggil fungsi daripada menu item New.

    // TODO add your handling code here:

    System.exit(0); //berfungsi memanggil untuk keluar dari program.

    }

  • 74

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

    //pemanggilan menu item modul 2 yang akan diisi kode.

    // TODO add your handling code here:

    IFModul2 form2 = new IFModul2(); //dibaca IFModul2 sebgai form2

    (variabel) dinyatakan untuk membuat form baru dari IFModul2.

    jDesktopPane1.add(form2); //jDesktopPane1 melakukan penambahan dari

    variabel form2.

    Dimension parentSize=jDesktopPane1.getSize(); //dimensi FormUtama

    (parentsize) menyatakan ukuran yang sama dengan JDesktopPane1.

    Dimension childSize=form2.getSize(); //dimensi output keluaran dari

    IFModul2 (childsize) sama dengan variabel dari form2 ukurannya.

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

    //pendeklarasian lokasi dari parentsize dan childsize.

    (parentSize.height - childSize.height)/2); //menyatakan tinggi parentsize

    (FormUtama) dikurangi tinggi chilsize (form2) dibagi 2, karena dalam satu

    program terdapat 2 hasil yang akan dieksekusi yaitu formutama dan form2.

    form2.setVisible(true); //menyatakan form2 terlihat.

    }

  • 75

    Keterangan IFModul3, IFModul4, dan IFModul5 ialah sama dengan

    penjelasan dari IFModul2.

  • 76

    f. Modul 7 dan 8

    Modul 7 dan Modul 8 disini akan menggunakan database sebagai koneksi

    untuk menambah data yang dilakukan program dengan Java. Berikut yang

    diperlukan untuk mempersiapkan project Program Penjualan ini.

    a) Project program ini dinamakan ProgramPenjualan.

    b) Pada Source Package, package-package yang digunakan ialah package

    gui, icon, dan koneksi.

  • 77

    c) Package gui digunakan untuk meletakkan form-form yang akan

    dijalankan.

    d) Package icon, dimana berisi ikon-ikon untuk diletakkan pada button

    sebagai simbol.

    e) Koneksi ialah package yang dimana berisi sebuah class untuk

    mengkoneksikan program-program tersebut dengan database.

    f) Libraries, ialah dimana berisi MYSQL JDBC Driver sebagai konektor

    atau penghubung mysql database pada Java. Libraries inilah yang akan

    mengaturnya.

    Berikut penjelasan dan analisa singkat mengenai source kode yang

    digunakan pada ProgramPenjualan ini.

    Pada source ini, dideklarasikan pada package gui, mengenai apa-apa saja

    yang akan diimport pada program ini.

    package gui; //mendeklarasikan dari isi package gui.

    import java.sql.*; //mengimport java sql untuk support dari jalannya

    program.

    import javax.swing.JOptionPane; //mengimport javax swing pada

    JOptionPane.

    import koneksi.ClassDB; //import dari package koneksi yag berisi ClassDB

  • 78

    Dimana yang telah kita ketahui dari FrmInputData yang ada pada

    komponen dalamnya ialah bacaId(); , yang mana bacaId ini merupakan method

    yang akan terhubung pada database untuk membaca Id. Pada field txtid dan

    btnsave bersifat false karena belum hidup (true) jika belum dimasukkan semua

    data keseluruhan.

    Dalam gambar diatas dijelaskan pendeklarasian method dari bacaId() yang

    telah dimasukkan pada class sebelumnya. Ada penambahan kode bertipe integer

    yang berisi null (0). Setelah itu, melakukan percobaan (try) daripada Class

    (classDB) yang mana untuk nama berasal dari database mysql (disini kita akan

    menggunakan SQLyog yang sebagai penghubungannya). Dibaris selanjutnya

    dimana menenrangkan untuk menghubungkan koneksi ke mysql

    (("jdbc:mysql://localhost/dbjava","root","");), berikutnya keterangan mengenai

    statement dan pendeklarasian sql untuk menyeleksi Id sebagai kode dari

  • 79

    tcustomer (tabel yang ada pada database). Selanjutnya hasil execute query

    berdasarkan kode yang telah dmasukkan secara otomatis yaitu (mis :0001) yang

    mana ini berfungsi pada txtid, setiap user menyimpan (Save) data tersebut maka

    kode tersebut melangkah satu langkah berurut.

    Penganalisaan saya disini intinya ialah dimana method Simpan ini

    fungsinya ialah untuk menyimpan data atau mentransferkan data yang telah

    diisi oleh user ke database (dbjava) pada tcustomer (tcustomer) yang telah diisi

    semua datanya oleh user. Jika telah terisi dan di klik tombol Save, maka

    JOptionPane muncul dengan pernyataan Sukses Tambah Data kalau tidak

    akan muncul pesan Lengkapi Data.

  • 80

    Method Bersih berfungsi untuk meng-clear kan atau mebersihkan data yang

    telah diisi.

  • 81

    Seperti yang diketahui private void ActionPerformed untuk memanggil

    perintah data yang ada pada method yang telah dibuat untuk dieksekusi yaitu

    Simpan(); (btnsave) dan Bersih(); (btnclear). Pada txtnama yang dipanggil ialah

    perintah KeyTyped yang mana perintahnya jika field txtnama diisi maka btnsave

    (Simpan) dan btnclear (Clear) akan hidup atau true. Contoh output sebelum

    diisi nama (txtnama) :

  • 82

    Sesudah terisi nama :

  • 83

    Maka button Save true (hidup). Setelah itu data data yang telah terisi akan

    terkirim ke database dan melakukan penambahan, namun itu akan dibahas pada

    pembahsan classDB.

    Sekarang kita akan membahas FormTransaksi yang ada pada package gui.

    Silahkan cermati baik-baik.

    Seperti pada FormInputData, maka di FormTransaksi package gui

    dideklarasikan lagi import-import yang diperlukan untuk menjalankan program

    ini.

  • 84

    FormTransaksi memiliki komponen yang didalamnya terdapat method

    invoice, dan penggunaan penangglan hari, bulan, dan tahun yang akan

    dideklarasikan pada output di txttanggal yang telah dibuat.

    Pada method invoice , disini kurang lebih sama dengan penjelasan bacaId

    pada FormInputData hanya saja kode dimulai dari 14000 dan string sql yang

    diseleksi semaksimal invoice dari tabel panjualan (tpenjualan).

    Disini pembuatan dari method cariId, yang berfungsi untuk mencari Id

    yang telah diisi pada FormInputData.

  • 85

    Intinya fingsi method simpan disini ialah menyimpan data yang telah diisi

    akan ditransferkan datanya tersebut ke tpenjualan (tabel panjualan).

    Method untuk membersihkan semua data yang nantinya akan dipanggil

    pada button Simpan yang mana fungsinya sekaligus mentransfer data ke

    database.

    Method bayar diletakkan pada perintah button Bayar yang berfungsi untuk

    menghitung keselurhan data yang telah dimasukkan.

  • 86

    Disini perintah pemanggilan yang diletakkan pada cbojenis (combobox

    jenis) yang memilih dari item-item yang ada didalamnya.

    Intinya disini dimasukkan perintah-perintah untuk menjalankan program

    tersebut dari method yang telah dideklarasi.

    Sekarang penjelasan tentang ClassDB.

  • 87

    Singkat penjelasan, disini yang paling mengatur untuk database yang mana

    penentuan pada url, localhost :3306, user=root, dan password= , dan databes

    yang dipilih ialah dbjava seperti gambar berikut ini :

  • 88

    Berikut pengeksekusian ketika koneksi database pada FormInputData :

    Seelah Klik Save, data sudah berada pada database SQLyog.

  • 89

    Berhasil tereksekusi !.

    Berikut ini koneksi database dengan FormTransaksi.

    Selah itu klik Simpan , maka akan terkoneksi ke database dan tersimpan.

  • 90

    Data tersimpan !.

    Kode masukan yang digunakan untuk menjalankan tcustomer pada

    database.

    Kode masukan yang digunakan untuk menjalankan tpenjualan pada

    database.

  • 91

    PENUTUP

    a. Kesimpulan

    Kesimpulan mengenai laporan praktikum ini ialah dimana bahasa Java sebagai

    bahasa pemrograman yang berkembang pesat pada saat ini memiliki peranan penting,

    bukan hanya untuk user yang merasakan manfaat lebih dengan menggunakan aplikasi

    bahasa pemrograman Java, tetapi programmer juga dapat berkaraya dan

    meningkatkan nilai estetika yang baik dan lebih baik, yang bagus dan lebih bagus,

    yang efesien dan lebih efisien dengan mengandalkan fitur-fitur yang berada

    didalamnya untuk mengoperasikan pemrograman bahasa Java ini serta memiliki

    kualitas yang akan meningkatkan daya saing dibidang komputer maupun marketing

    atau pemasarannya yang akan mendapatkan kuantitas atau keuntungan dari apa yang

    telah dibuat operator atau programmer dengan bahasa Java ini.

    b. Saran

    Saran penulis menegenai pemrograman bahasa Java ialah supaya bahasa Java ini

    dapat dikembangkan lagi dalam penerapan akses dan penambahan fitur-fitur nya agar

    dapat memudahkan programmer dalam membuat aplikasi serta penggunaan bahasa

    yang memungkinkan untuk dapat dimudahkan atau dibuat sesederhana mungkin agar

    programmer dapat mudah dan mengerti serta tanggap fungsi, maksud dan syntaks

    yang berada didalamnya. Mengapa saya berpendapat sepert itu? Karena sya rasa

    masih sedikit orang yang mau belajar dan mendalami bahasa Java ini baik mahasiswa,

    programmer amatir, sampai programmer yang expert, alasannya berbagai macam

    seperti karena penggunaan bahasa yang begitu rumit serta bertele-tele yang tak mudah

  • 92

    diserap maksudnya. Penulis berharap ada yang akan menuntaskan permasalahan ini,

    apalagi bahasa pemrograman Java ini berbahasa inggris, dimana jika pada negara

    yang bahasa ibu (mother language) nya tidak menggunakan bahasa inggris tentu akan

    sangat sulit didalam menghafal dan menelaahnya. Mungkin, saran saya apakah pihak

    dari pengembang bahasa Java ingin mengembangkan bahasa Java yang dapat

    dikonvert ke bahsa Indonesia maupun bahasa lainnya yang ada didunia ini ? Mungkin

    ini dapat menjadi referensi bagi produsen Java yaitu SUN Microsystem untuk

    mempertimbangkan hal ini, tujuannya agar semua orang yang mempelajari bahasa

    Java dengan adanya pengembangan bahasa lainnya sebagai penggunaan syntaks untuk

    membuat program dapat mengembangkan kreatifitas juga dan sama-sama

    mengembangkan Java untuk lebih baik lagi agar bisa seperti Windows yang dijuluki

    OS friendly, begitu juga bahasa pemrograman Java yang harusnya diberi julukan

    Language programming Friendly

  • 93

    DAFTAR PUSTAKA

    Sianipar, R.H . 2014 . Soal, Kasus, dan Penyelesaian Pemrograman Java . INFORMATIKA

    : Bandung.

    Deitel . 2006. Java; How To Program . Diete & Associates : New Jersey.

    http%3A%2F%2Fuzihayuri.files.wordpress.com%2F2012%2F03%2Fpertemuan-ke-5.pdf

    http//muhammadichwanuddin/oop_bab_02_pdf.com

    https://www.google.com/search?es_sm=93&q=pengertian+class,+object+dan+method+pada

    +java+pdf.