Materi OOP

download Materi OOP

of 25

description

konsep oop materi java pemrogaman

Transcript of Materi OOP

  • Oleh :

    1. Setyo Nugroho Wibowo (1101134486)

    2. Dewanto Meilano Ega (1101130197)

    3. Syarahbil Pawellang (1101130194)

    4. Rendy dwi Rendragraha (1101134507)

    5. M. Riza yusron (1101130193)

    Kelas : TT-37-10

    OOP (OBJECT ORIENTED PROGRAMMING)

    OOP (Object Oriented Programming) adalah suatu metode pemrograman yang berorientasi

    kepada objek. Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan program

    dengan cara mengikuti model yang telah ada di kehidupan sehari-hari. Jadi setiap bagian dari suatu

    permasalahan adalah objek, jadi objek itu sendiri merupakan gabungan dari beberapa objek yang lebih

    kecil lagi. Contoh Pesawat, Pesawat adalah sebuah objek. Pesawat itu sendiri terbentuk dari beberapa

    objek yang lebih kecil lagi seperti mesin, roda, baling-baling, kursi, dll. Pesawat sebagai objek yang

    terbentuk dari objek-objek yang lebih kecil saling berhubungan, berinteraksi, berkomunikasi dan saling

    mengirim pesan kepada objek-objek yang lainnya. Begitu juga dengan program, sebuah objek yang

    besar dibentuk dari beberapa objek yang lebih kecil, objek-objek itu saling berkomunikasi, dan saling

    berkirim pesan kepada objek yang lain.

    Kenapa harus menggunakan OOP ? Kode-kode di breakdown agar lebih mudah di-manage.

    Breakdown berdasarkan objek-objek yang ada pada program tersebut. Dianjurkan diimplementasikan

    ukuran karena lebih mudah untuk mendebug.

    A. Apa sih Objek (Object)

    Setiap objek memiliki dua karakteristik yaitu Attribute (State) dan Behavior.Attribute (State)

    merupakan identitas atau informasi objek itu sendiri atau disebut juga sebagai variable,

    sedangkan Behavior adalah tingkah laku atau apa yang dapat dilakukan oleh objek itu atau disebut

    juga sebagai method.

    Sebagai contoh Attribute (State) dari pesawat adalah nama pesawat, tipe, warna, tahun produksi,

    roda, dll. Sedangkan Behavior dari pesawat adalah cara menghidupkan mesin, cara menerbangkan

    pesawat (take off), cara menurunkan pesawat (landing), dll.

    Contoh :

  • Titik

    Titik merupakan sebuah objek yang terdiri dari posisi x dan posisi y

    Persegipanjang

    Persegipanjang merupakan objek yang mempunyai panjang dan lebar

    B. Apa sih Kelas (Class)

    Kelas merupakan cetakan atau blueprint atau prototype, hasil dari cetakan itu disebut objek. Contoh

    pesawat Boeing 737 dibuat dengan rancangan yang sama, rancangan pesawat ini disebut kelas.

    Hasil rancangan itu menjadi pesawat Boeing 737 yang disebut objek. Pesawat-pesawat hasil

    rancangan tadi bisa memiliki warna, nama yang berbeda-beda tergantung perusahaan

    penerbangannya. Disini jelas bahwa objek memiliki sifat independen. Objek adalah instance dari

    kelas, satu kelas bisa memiliki beberapa objek.

    C. Instan (Instance)

    Kelas yang telah terdefinisi dapat dijalankan (run-time) dalam bentuk instan di memori.

    Contoh :

    PersegiPanjang pp = new PersegiPanjang();

    Maksud dari perintah di atas adalah sebagai berikut :

    Instan pp merupakan sebuah objek kelas PersegiPanjang dimana pp dibentuk oleh konstruktor

    Persegipanjang();

    Konstruktor (Constructor) merupakan sebuah method dimana nama method tersebut sama

    dengan nama kelas. Konstruktor tidak mengembalikan nilai tetapi dapat dilewati atau diberikan

    parameter.

    Instan pp berjalan pada memory komputer.

    D. Method

    Method atau fungsi atau operasi atau behaviour merupakan perintah-perintah prosedural yang

    ditempatkan pada kelas untuk mendapat hasil dari perintah-perintah tersebut.

    E. Pengiriman Pesan (Message Passing)

    Setiap objek dapat menerima atau mengirimkan pesan. Pesan-pesan tersebut bukan hanya

    berbentuk primitif variable (integer, double, dll), tetapi pesan-pesan tersebut dapat berupa objek

    lainnya.

    Contoh :

    pp.setPanjang(10);

    Maksud perintah diatas adalah sebagai berikut :

  • pp diberikan nilai panjan sebesar 10

    KONSEP-KONSEP OOP PADA JAVA

    1. Kelas Abstrak (Class Abstraksi)

    Kelas merupakan deskripsi abstrak informasi dan tingkah laku dari sekumpulan data.

    Kelas dapat diilustrasikan sebagai suatu cetak biru(blueprint) atau prototipe yang digunakan

    untuk menciptakan objek.

    Kelas merupakan tipe data bagi objek yang mengenkapsulasi data dan operasi pada data dalam

    suatu unit tunggal.

    Kelas mendefinisikan suatu struktur yang terdiri atas data kelas (data field), prosedur atau

    fungsi (method), dan sifat kelas (property).

    2. Enkapsulasi (encapsulation)

    Istilah enkapsulasi sebenarnya adalah kombinasi data dan fungsionalitas dalam sebuah unit

    tunggal sebagai bentuk untuk menyembunyikan detail informasi.

    Proses enkapsulasi memudahkan kita untuk menggunakan sebuah objek dari suatu kelas

    karena kita tidak perlu mengetahui segala hal secara rinci.

    Enkapsulasi menekankan pada antarmuka suatu kelas, atau dengan kata lain

    bagaimana menggunakan objek kelas tertentu.

    Contoh: kelas mobil menyediakan antarmuka fungsi untuk menjalankan mobil tersebut, tanpa

    kita perlu tahu komposisi bahan bakar, udara dan kalor yang diperlukan untuk proses tersebut.

    Contoh penggunaannya antara lain :

    o Private

    Variabel atau method hanya dapat diakses oleh objek itu saja.

    o Public

    Variabel atau method dapat diakses oleh objek itu sendiri dan objek lainnya

    o Protected

    Variabel dan method dapat diakses oleh objek itu sendiri dan turunannya.

    3. Pewarisan (Inheritance)

    Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah

    ada.

    Penurunan sifat ini bisa dilakukan secara bertingkattingkat, sehingga semakin ke bawah kelas

    tersebut menjadi semakin spesifik.

  • Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan perilaku khusus dari

    kelas supernya.

    Dengan konsep pewarisan, seorang programmer dapat menggunakan kode yang telah ditulisnya

    pada kelas super berulang kali pada kelas-kelas turunannya tanpa harus menulis ulang semua

    kodekode itu.

    4. Polimorfisme (polymorphism)

    Polimorfisme merupakan kemampuan objekobjek yang berbeda kelas namun terkait dalam

    pewarisan untuk merespon secara berbeda terhadap suatu pesan yang sama.

    Polimorfisme juga dapat dikatakan kemampuan sebuah objek untuk memutuskan method mana

    yang akan diterapkan padanya, tergantung letak objek tersebut pada jenjang pewarisan.

    Method overriding.

    Method name overloading.

    Contoh :

    PersegiPanjang pp = new PersegiPanjang

    Titik ttk = pp;

    Maksud pada 2 baris perintah diatas adalah

    Instan pp merupakan objek kelas PersegiPanjang PersegiPanjang dimana pp dibentuk oleh

    konstruktor Persegipanjang();

    Instan ttk merupakan objek kelas Titik

    Instan ttk dibentuk dari instan pp yang merupakan turunan dari pp (Polimorphisme)

    Nilai instan ttk sama dengan instan pp

    Nilai instan pp yang dianggap pada instan ttk adalah x,y. Sedangkan panjang dan lebar

    diabaikan.

    KARAKTERISTIK OOP

    1. Semua adalah objek.

    2. Komputasi dilakukan dengan komunikasi antar objek. Setiap objek berkomunikasi dengan

    objek yang lain melalui pengiriman dan penerimaan pesan.

    3. Sebuah pesan merupakan permintaan atas sekumpulan aksi dengan semua argumen yang diperlukan

    untuk menyelesaikan suatu tugas tertentu.

    4. Setiap objek memiliki memori sendiri, yang dapat terdiri dari objek-objek lainnya.

    5. Setiap objek adalah wakil atau representasi dari suatu kelas. Sebuah kelas dapat

    mewakili sekelompok objek yang sama.

  • 6. Kelas merupakan kumpulan tingkah laku yang berkaitan dengan suatu objek. Jadi, semua

    objek yang merupakan wakil dari kelas yang sama dapat melakukan aksi yang sama pula.

    7. Kelas-kelas diorganisasikan ke dalam struktur pohon yang berakar tunggal, yang dinamakan

    dengan jenjang pewarisan (inheritance hierarchy).

    8. Setiap objek pada umumnya memiliki tiga sifat, yaitu keadaan, operasi dan identitas objek.

    9. Operasi merupakan tindakan yang dapat dilakukan oleh sebuah objek.

    10. Keadaan objek merupakan koleksi dari seluruh informasi yang dimiliki oleh objek pada suatu saat.

    11. Informasi yang terkandung pada objek tersebut pada akhirnya memberikan identitas khusus

    yang membedakan suatu objek dengan objek lainnya.

    SOURCE CODE KELOMPOK KAMI

    package tugas_oop;

    public class Menghitung_Nilai extends javax.swing.JFrame {

    private String str= "Nilai Anda Adalah : ";

    private String str2="Grade Nilai Anda : ";

    private String str3="Jumlah Persentase Tidak 100%";

    public Menghitung_Nilai() {

    private void initComponents() {

    jTabbedPane1 = new javax.swing.JTabbedPane();

    jPanel2 = new javax.swing.JPanel();

    jPanel1 = new javax.swing.JPanel();

    jLabel1 = new javax.swing.JLabel();

    jPanel3 = new javax.swing.JPanel();

    Persen = new javax.swing.JLabel();

    persen_uts = new javax.swing.JLabel();

    uts = new javax.swing.JTextField();

    persen_uas = new javax.swing.JLabel();

  • uas = new javax.swing.JTextField();

    persen_quis = new javax.swing.JLabel();

    quis = new javax.swing.JTextField();

    hasil = new javax.swing.JLabel();

    gradenilai = new javax.swing.JLabel();

    wajib = new javax.swing.JLabel();

    jPanel4 = new javax.swing.JPanel();

    Nilai_anda = new javax.swing.JLabel();

    nilai_uts = new javax.swing.JLabel();

    nil_uts = new javax.swing.JTextField();

    nilai_uas = new javax.swing.JLabel();

    nilai_quis = new javax.swing.JLabel();

    nil_quis = new javax.swing.JTextField();

    nil_uas = new javax.swing.JTextField();

    hit = new javax.swing.JButton();

    clean = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    jPanel2.setBackground(new java.awt.Color(0, 0, 0));

    jPanel1.setBackground(new java.awt.Color(255, 255, 255));

    jLabel1.setBackground(new java.awt.Color(255, 255, 51));

    jLabel1.setFont(new java.awt.Font("Bell Gothic Std Black", 0, 14));

    jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

    jLabel1.setText("PROGRAM MENGHITUNG NILAI");

    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

    jPanel1.setLayout(jPanel1Layout);

    jPanel1Layout.setHorizontalGroup(

  • jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

    jPanel1Layout.createSequentialGroup()

    .addContainerGap()

    .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 544,

    Short.MAX_VALUE)

    .addContainerGap())

    );

    jPanel1Layout.setVerticalGroup(

    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 45,

    javax.swing.GroupLayout.PREFERRED_SIZE)

    );

    jPanel3.setBackground(new java.awt.Color(255, 255, 102));

    Persen.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

    Persen.setText("Persentase Nilai :");

    persen_uts.setText("UTS");

    uts.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    utsActionPerformed(evt);

    }

    });

    persen_uas.setText("UAS ");

    uas.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    uasActionPerformed(evt);

    }

  • });

    persen_quis.setText("Quis & Tugas");

    quis.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    quisActionPerformed(evt);

    }

    });

    hasil.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

    hasil.setForeground(new java.awt.Color(204, 0, 0));

    gradenilai.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

    gradenilai.setForeground(new java.awt.Color(204, 0, 0));

    wajib.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N

    wajib.setForeground(new java.awt.Color(255, 0, 0));

    javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);

    jPanel3.setLayout(jPanel3Layout);

    jPanel3Layout.setHorizontalGroup(

    jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(jPanel3Layout.createSequentialGroup()

    .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

    G)

    .addGroup(jPanel3Layout.createSequentialGroup()

    .addGap(22, 22, 22)

    .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

    G)

  • .addComponent(hasil)

    .addComponent(Persen)

    .addComponent(gradenilai)))

    .addGroup(jPanel3Layout.createSequentialGroup()

    .addGap(44, 44, 44)

    .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

    G)

    .addComponent(wajib, javax.swing.GroupLayout.DEFAULT_SIZE, 204,

    Short.MAX_VALUE)

    .addGroup(jPanel3Layout.createSequentialGroup()

    .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

    G)

    .addComponent(persen_uas)

    .addComponent(persen_uts,

    javax.swing.GroupLayout.PREFERRED_SIZE, 34,

    javax.swing.GroupLayout.PREFERRED_SIZE)

    .addComponent(persen_quis,

    javax.swing.GroupLayout.PREFERRED_SIZE, 81,

    javax.swing.GroupLayout.PREFERRED_SIZE))

    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

    G, false)

    .addComponent(uts)

    .addComponent(uas)

    .addComponent(quis, javax.swing.GroupLayout.DEFAULT_SIZE, 50,

    Short.MAX_VALUE))))))

  • .addContainerGap(20, javax.swing.GroupLayout.PREFERRED_SIZE))

    );

    jPanel3Layout.setVerticalGroup(

    jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(jPanel3Layout.createSequentialGroup()

    .addGap(36, 36, 36)

    .addComponent(Persen)

    .addGap(18, 18, 18)

    .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI

    NE)

    .addComponent(persen_uts)

    .addComponent(uts, javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI

    NE)

    .addComponent(persen_uas, javax.swing.GroupLayout.PREFERRED_SIZE, 28,

    javax.swing.GroupLayout.PREFERRED_SIZE)

    .addComponent(uas, javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI

    NE)

    .addComponent(persen_quis)

    .addComponent(quis, javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

  • .addGap(18, 18, 18)

    .addComponent(wajib, javax.swing.GroupLayout.PREFERRED_SIZE, 26,

    javax.swing.GroupLayout.PREFERRED_SIZE)

    .addGap(24, 24, 24)

    .addComponent(hasil)

    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

    .addComponent(gradenilai)

    .addContainerGap(38, Short.MAX_VALUE))

    );

    jPanel4.setBackground(new java.awt.Color(255, 255, 102));

    Nilai_anda.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

    Nilai_anda.setText("Nilai Anda :");

    nilai_uts.setText("UTS");

    nil_uts.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    nil_utsActionPerformed(evt);

    }

    });

    nilai_uas.setText("UAS");

    nilai_quis.setText("Quis & Tugas");

    nil_quis.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

  • nil_quisActionPerformed(evt);

    }

    });

    nil_uas.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    nil_uasActionPerformed(evt);

    }

    });

    hit.setText("Hitung!!");

    hit.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    hitActionPerformed(evt);

    }

    });

    clean.setText("Clear ");

    clean.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    cleanActionPerformed(evt);

    }

    });

    javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);

    jPanel4.setLayout(jPanel4Layout);

    jPanel4Layout.setHorizontalGroup(

    jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(jPanel4Layout.createSequentialGroup()

  • .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

    G)

    .addGroup(jPanel4Layout.createSequentialGroup()

    .addGap(47, 47, 47)

    .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

    G)

    .addComponent(nilai_quis)

    .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILI

    NG)

    .addComponent(nilai_uts)

    .addComponent(nilai_uas)))

    .addGap(43, 43, 43)

    .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

    G, false)

    .addComponent(nil_uas)

    .addComponent(nil_uts, javax.swing.GroupLayout.Alignment.TRAILING)

    .addComponent(nil_quis, javax.swing.GroupLayout.Alignment.TRAILING,

    javax.swing.GroupLayout.DEFAULT_SIZE, 47, Short.MAX_VALUE)))

    .addGroup(jPanel4Layout.createSequentialGroup()

    .addGap(23, 23, 23)

    .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

    G)

    .addGroup(jPanel4Layout.createSequentialGroup()

    .addComponent(hit, javax.swing.GroupLayout.PREFERRED_SIZE, 105,

    javax.swing.GroupLayout.PREFERRED_SIZE)

  • .addGap(28, 28, 28)

    .addComponent(clean, javax.swing.GroupLayout.PREFERRED_SIZE, 103,

    javax.swing.GroupLayout.PREFERRED_SIZE))

    .addComponent(Nilai_anda))))

    .addContainerGap(18, Short.MAX_VALUE))

    );

    jPanel4Layout.setVerticalGroup(

    jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(jPanel4Layout.createSequentialGroup()

    .addGap(36, 36, 36)

    .addComponent(Nilai_anda)

    .addGap(18, 18, 18)

    .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI

    NE)

    .addComponent(nilai_uts)

    .addComponent(nil_uts, javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

    .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI

    NE)

    .addComponent(nilai_uas)

    .addComponent(nil_uas, javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI

    NE)

  • .addComponent(nilai_quis)

    .addComponent(nil_quis, javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

    .addGap(33, 33, 33)

    .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

    G)

    .addComponent(clean, javax.swing.GroupLayout.DEFAULT_SIZE, 60,

    Short.MAX_VALUE)

    .addComponent(hit, javax.swing.GroupLayout.DEFAULT_SIZE, 60,

    Short.MAX_VALUE))

    .addGap(27, 27, 27))

    );

    javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);

    jPanel2.setLayout(jPanel2Layout);

    jPanel2Layout.setHorizontalGroup(

    jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(jPanel2Layout.createSequentialGroup()

    .addContainerGap()

    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

    G)

    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

    .addGroup(jPanel2Layout.createSequentialGroup()

    .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

    .addGap(18, 18, 18)

  • .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))

    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

    Short.MAX_VALUE))

    );

    jPanel2Layout.setVerticalGroup(

    jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(jPanel2Layout.createSequentialGroup()

    .addContainerGap()

    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

    G)

    .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

    .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

    .addContainerGap())

    );

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

    getContentPane().setLayout(layout);

    layout.setHorizontalGroup(

    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(layout.createSequentialGroup()

    .addContainerGap()

  • .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

    Short.MAX_VALUE))

    );

    layout.setVerticalGroup(

    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(layout.createSequentialGroup()

    .addContainerGap()

    .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

    .addContainerGap())

    );

    pack();

    }//

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

    // TODO add your handling code here:

    }

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

    // TODO add your handling code here:

    }

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

    // TODO add your handling code here:

    }

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

    // TODO add your handling code here:

  • }

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

    // TODO add your handling code here:

    }

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

    // TODO add your handling code here:

    }

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

    float uts1= Float.valueOf(uts.getText());

    float uas1=Float.valueOf(uas.getText());

    float quis1=Float.valueOf(quis.getText());

    float niluts= Float.valueOf(nil_uts.getText());

    float niluas= Float.valueOf(nil_uas.getText());

    float nilquis= Float.valueOf(nil_quis.getText());

    float tot,peruts,peruas,perquis,total;

    String grade;

    String kata1,status=" ";

    tot= uts1+uas1+quis1;

    if (tot>100){

    wajib.setText(str3)

    ; }

    if (tot

  • perquis=quis1/100;

    total=(peruts*niluts)+(peruas*niluas)+(perquis*nilquis);

    if (total>=80){

    grade ="A";

    } else

    if (total=70)

    { grade = "AB";

    } else

    if (total=65)

    { grade="B";

    } else

    if (total=60)

    { grade="BC";

    } else

    if (total=50)

    {grade="C";

    } else

    if (total=40)

    { grade="D";

    }else

    { grade="E";

    }

    if (tot==100){

    hasil.setText(str+total);

    gradenilai.setText(str2+grade);

  • }

    }

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

    uts.setText(" ");

    uas.setText(" ");

    quis.setText(" ");

    nil_uts.setText(" ");

    nil_uas.setText(" ");

    nil_quis.setText(" ");

    hasil.setText(" ");

    gradenilai.setText(" ");

    wajib.setText(" ");

    public static void main(String args[]) {

    /* Set the Nimbus look and feel */

    //

    /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

    * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

    */

    try {

    for (javax.swing.UIManager.LookAndFeelInfo info :

    javax.swing.UIManager.getInstalledLookAndFeels()) {

    if ("Nimbus".equals(info.getName())) {

    javax.swing.UIManager.setLookAndFeel(info.getClassName());

    break;

  • }

    }

    } catch (ClassNotFoundException ex) {

    java.util.logging.Logger.getLogger(Menghitung_Nilai.class.getName()).log(java.util.logging.Lev

    el.SEVERE, null, ex);

    } catch (InstantiationException ex) {

    java.util.logging.Logger.getLogger(Menghitung_Nilai.class.getName()).log(java.util.logging.Lev

    el.SEVERE, null, ex);

    } catch (IllegalAccessException ex) {

    java.util.logging.Logger.getLogger(Menghitung_Nilai.class.getName()).log(java.util.logging.Lev

    el.SEVERE, null, ex);

    } catch (javax.swing.UnsupportedLookAndFeelException ex) {

    java.util.logging.Logger.getLogger(Menghitung_Nilai.class.getName()).log(java.util.logging.Lev

    el.SEVERE, null, ex);

    }

    //

    /* Create and display the form */

    java.awt.EventQueue.invokeLater(new Runnable() {

    public void run() {

    new Menghitung_Nilai().setVisible(true);

    }

    });

  • }

    // Variables declaration - do not modify

    private javax.swing.JLabel Nilai_anda;

    private javax.swing.JLabel Persen;

    private javax.swing.JButton clean;

    private javax.swing.JLabel gradenilai;

    private javax.swing.JLabel hasil;

    private javax.swing.JButton hit;

    private javax.swing.JLabel jLabel1;

    private javax.swing.JPanel jPanel1;

    private javax.swing.JPanel jPanel2;

    private javax.swing.JPanel jPanel3;

    private javax.swing.JPanel jPanel4;

    private javax.swing.JTabbedPane jTabbedPane1;

    private javax.swing.JTextField nil_quis;

    private javax.swing.JTextField nil_uas;

    private javax.swing.JTextField nil_uts;

    private javax.swing.JLabel nilai_quis;

    private javax.swing.JLabel nilai_uas;

    private javax.swing.JLabel nilai_uts;

    private javax.swing.JLabel persen_quis;

    private javax.swing.JLabel persen_uas;

    private javax.swing.JLabel persen_uts;

    private javax.swing.JTextField quis;

    private javax.swing.JTextField uas;

    private javax.swing.JTextField uts;

  • private javax.swing.JLabel wajib;

    // End of variables declaration

    }

    OUTPUT

    Gambar 1. Program di run.

    Gambar 2. Output program ketika jumlah prosentase tidak 100%

  • Gambar 3. Program akan di clear

    Gambar 4. Program setelah di clear

  • Gambar 5. Output program ketika di tekan hitung