laporan 2

Embed Size (px)

DESCRIPTION

Laporan 2 tentang pemrograman OOP berbasis JAVA

Citation preview

  • LAPORAN II

    PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK

    Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berbasis Objek Yang

    Dibimbing oleh Azhar Ahmad Smaragdina,

    Asisten Praktikum:

    Tantri Hari Mukti

    Endah Puji Rohmawati

    Wildan Setyo

    Oleh:

    Izzati Alvandiar

    130533608186

    S1 PTI 2013 offering F

    UNIVERSITAS NEGERI MALANG

    FAKULTAS TEKNIK

    JURUSAN TEKNIK ELEKTRO

    S1 PENDIDIKAN TEKNIK INFORMATIKA

    Agustus, 2014

  • LEMBAR PENGESAHAN LAPORAN

    Nama : Izzati Alvandiar

    Nim : 130533608179

    Off : F

    Judul Laporan

    Tgl/bln/Thn

    (Pengumpulan)

    Tgl/bln/Thn

    (Pengembalian)

    Tanda Tangan

    Asisten

    Keterangan

  • LAPORAN KE-2

    PENGENALAN DASAR PEMPROGRAMAN JAVA II

    A. TUJUAN

    1. Mehasiswa mampu membuat class sendiri

    2. Mahasiswa mampu mendeklarasikan struktur dan method pada class

    3. Mahasiswa mampu menerapkan overload method

    B. DASAR TEORI

    A. Class

    Class adalah wadah yang berisi abstraksi (pemodelan) dari suatu fungsi

    objek (benda), yang mendeskripsikan data (sifat karakteristik) dan fungsi

    yang dimiliki oleh objek tersebut. Karena kelas merupakan wadah yang

    akan digunakan untuk menciptakan objek, maka jelaslah bahwa kita harus

    membuat kelas terlebih dahulu sebelum membuat objek.

    Dalam pendefinisian class, umumnya dituliskan sebagai berikut:

    class f

    *

    *

    *

    B. Object

    Object adalah sekumpulan software yang terdiri dari variable dan method-

    method terkait. Object saling berinteraksi dengan saling memanggil

    metode dari satu object ke object lainnya, disebut message. Dengan kata

    lain, object merupakan instance sebenarnya dari sebuah class. Instance

    dibuat sewaktu kita melakukan inisialisasi class dengan menggunakan

    kata kunci new.

    Dalam bahasa pemrograman Java, object dapat ditulis

    dengan sintaks sebagai berikut:

    nama_class nama_instance = new nama_class();

  • C. Attribute

    Dalam pendeklarasian atribut, dapat dituliskan:

    [= ];

    D. Scoope Variable

    Variabel Scoope (cakupan variabel) menentukan seberapa luas variabel

    dapat diakses. Ruang lingkup atau scoope suatu variabel merupakan

    penempatan lokasi dimana variabel tersebut dideklarasikan dan dapat

    berlaku. Lingkup variabel terbagi dua, yaitu lingkup Global dan Local.

    E. Overloading Methods

    Dalam class yang kita buat, kadangkala kita menginginkan untuk

    membuat method dengan nama yang sama namun mempunyai fungsi

    yang berbeda menurut parameter yang digunakan. Kemampuan ini

    dimungkinkan dalam pemrograman Java, dan dikenal sebagai overloading

    method.

    F. Input / Output

    Berikut ini adalah langkah-langkah yang perlu dilakukan untuk

    mendapatkan input :

    1. Tambahkan di bagian paling atas code anda:

    import java.io.*;

    2. Tambahkan statemen berikut pada method main:

    BufferedReader dataIn = new BufferedReader (new

    InputStreamReader(System.in));

    3. Deklarasikan variabel String temporary dan gunakan fungsi readLine()

    untuk mendapatkan input serta ketikkan pada blog try-catch.

    try {

    String temp = dataIn.readLine();

    } catch ( IOException e ){

    System.out.println("Terjadi kesalahan saat anda melakukan input

    ")

    }

  • Berikut ini adalah langkah-langkah yang perlu dilakukan untuk

    mendapatkan input dari console dengan Scanner:

    1. Menambahkan

    Import java.util.Scanner;

    2. Membuat objek dari class Scanner Scanner input = new

    Scanner

    (System.in) ;

    3. Memasukan nilai dari masing-masing variabel dengan

    menggunakan

    object dari Scanner

    System.out.print("Masukan nama);

    String nana = input.nextLine(); system.out .println (nama) ;

    G. LATIHAN

    Latihan 1 :

    Kode Program :

    o Mahasiswa.java

    /*

    * To change this template, choose Tools | Templates

    * and open the template in the editor.

    */

    /**

    *

    * @author Izzati Alvandiar

    */

    public class Mahasiswa {

    public String nama;

    public int angkatan;

    public String asal;

    public Mahasiswa()

    {

    nama = "Ani";

    angkatan = 2010;

    asal = "Magelang";

    }

  • public void ubah (String nm, int ak, String as)//method untuk

    mengisi value dari variable yang bersangkutan

    {

    nama = nm;//penyalur dari data dari testMahasiswa menuju

    Mahasiswa

    angkatan = ak;//penyalur dari data dari testMahasiswa menuju

    Mahasiswa

    asal=as;//penyalur dari data dari testMahasiswa menuju

    Mahasiswa

    }

    public void cetak(){//method untuk mencetak value dari variable

    yang bersangkutan

    System.out.println("nama : "+nama);

    System.out.println("angkatan : "+angkatan);

    System.out.println("asal : "+asal);

    }

    }

    o TestMahasiswa.java

    /*

    * To change this template, choose Tools | Templates

    * and open the template in the editor.

    */

    /**

    *

    * @author Izzati Alvandiar

    */

    public class TestMahasiswa {

    public static void main (String args[])

    {

    Mahasiswa MHS = new Mahasiswa();//objek baru yg

    tersambung pada class mahasiswa

    Mahasiswa MahasiswaPTI = new Mahasiswa();//objek baru yg

    tersambung pada class mahasiswa

    Mahasiswa MahasiswaPTE = new Mahasiswa();//objek baru yg

    tersambung pada class mahasiswa

    System.out.println("Identitas Awal : ");

  • MHS.cetak();//menghasilkan output berupa data dari class

    mahasiswa yang telah didefinisikan

    MHS.ubah("Ani", 2010, "Malang");//input data untuk

    method ubah()

    System.out.println("Identitas Akhir : ");

    MHS.cetak();

    MahasiswaPTI.ubah("Yogiswara Utama", 2013,

    "Malang");//input data untuk method ubah()

    System.out.println("Identitas Akhir : ");

    MahasiswaPTI.cetak();//memanggil method cetak()

    MahasiswaPTE.ubah("Utamakan belajar", 2013,

    "Batu");//input data untuk method ubah()

    System.out.println("Identias Akhir : ");

    MahasiswaPTE.cetak();//memanggil method cetak()

    }

    }

    Hasil Eksekusi :

    Deskripsi program :

    Program berguna untuk menampilkan isi dari atribut class mahasiswa, mahasiswa

    terdiri dari nama,angkatan dan asal. Data diinputkan pada program tanpa

  • menggunakan keyboard dari end user. Data ditambilkan dengan method cetak,

    data diinputkan pada variable dengan method ubah.

    Latihan 2 :

    Kode Program :

    o Lingkup.java

    /*

    * To change this template, choose Tools | Templates

    * and open the template in the editor.

    */

    /**

    *

    * @author Izzati Alvandiar

    */

    public class Lingkup {

    String sifat = "Marah";

    void infoLingkup()

    {

    String sifat = "Malu";

    System.out.println("sifat pada metode : "+sifat);

    System.out.println("sifat milik kelas : "+this.sifat);/*

    * menambahkan this. agar bisa memanggil variable dari

    luar namun 1 file

    */

    }

    }

    o TestLingkup.java

    /*

    * To change this template, choose Tools | Templates

    * and open the template in the editor.

    */

    /**

    *

    * @author Izzati Alvandiar

  • */

    public class TestLingkup {

    public static void main (String args[])

    {

    Lingkup varx = new Lingkup();

    varx.infoLingkup();

    }

    }

    Hasil Eksekusi :

    Deskripsi program :

    Program berguna untuk menampilkan pesan pada layar, yang mana pesan

    tersebut berasal dari class Lingkup, lalu nilai dari class lingkup tersebut dipanggil

    dengan menggunakan method infoLingkup(); . dengan memanfaatkan

    konstraktor Lingkup(). Di tambahkan this. Agar nilai untuk ditampilkan pada layar

    mengacu pada value untuk variable paling atas (variable deklarasi).

    Latihan 3 :

    Kode Program :

    o Scoope.java

    /*

    * To change this template, choose Tools | Templates

    * and open the template in the editor.

    */

    /**

    *

    * @author Izzati Alvandiar

    */

    public class Scoope {

    double angka = 20;//angka dengan tipe data double

    void infoScoope()

    {

    double angka1 = 12;

    System.out.println("angka di method : "+angka1);

    System.out.println("angka di kelas : "+this.angka);/*

    * ditambahkan .this agar bisa memanggil nilai dari suatu

  • variable yang dengan class public pada class Scoope

    */

    double modulus = angka % angka1;

    System.out.println("sisa hasil :"+modulus);

    double bagi = angka / angka1;

    System.out.println("hasil bagi "+bagi);

    }

    }

    o TestScoope.java

    /*

    * To change this template, choose Tools | Templates

    * and open the template in the editor.

    */

    /**

    *

    * @author Izzati Alvandiar

    */

    public class TestScoope {

    public static void main (String args[])

    {

    Scoope varx = new Scoope();/*

    * membuat objek baru bernama varx yang terhubung dengan

    class scoope

    */

    varx.infoScoope();//menambilkan data dari class

    infoScoope dengan memanggil vaiable batu (varx)

    }

    }

    Hasil Eksekusi :

  • Deskripsi program :

    Fungsi utama progam ialah untuk mendapatkan sisa hasil bagi dan hasil

    pembagian dari nilai pada variable angka dan angka1. Data diinputkan dari

    program tanpa interaksi dengan end user. Data menggunakan tipe data double

    untuk variable angka dan angka1, untuk mencetak hasil eksekusi program

    menggunkan method infoScoope yang terkoneksi menggunakan konstruktor/class

    Scoope()/Scoope.java;

    Latihan 4 :

    Kode Program :

    o Report.java

    /*

    * To change this template, choose Tools | Templates

    * and open the template in the editor.

    */

    /**

    *

    * @author Izzati Alvandiar

    */

    import java.io.*;//mengimport semua library dalam java.io (untuk

    input dari keyboard dsb)

    public class Report {

    public static String inputkeyboard(){/*

    * API membaca inputan dari keyoard

    */

    String baca = "";//menyimpan ketikan dari keyboard pada

    variable baca

    InputStreamReader masukan = new

    InputStreamReader(System.in);//objek baru bernama masukan

    BufferedReader garisi = new BufferedReader(masukan);//objek

    baru bernama garisi

    try {

    baca = garisi.readLine();

    } catch ( IOException e) {

    System.out.println("Error!");

  • }

    return baca;

    }

    public static void main (String args [])

    {

    String nama = "";//variable nama dengan data kosong type

    string

    int nilaiMatematika;

    int nilaiFisika;

    int nilaiKimia;

    System.out.print("Masukan Nama : ");

    nama=inputkeyboard();//masukan data dari user untuk variable

    nama;

    System.out.print("Masukkan nilai Matematika : ");

    nilaiMatematika=Integer.parseInt(inputkeyboard());//masukan

    data integer untuk vairbale nilai

    System.out.print("Masukkan nilai Fisika : ");

    nilaiFisika=Integer.parseInt(inputkeyboard());//masukan data

    integer untuk vairbale nilai

    System.out.print("Masukkan nilai Kimia : ");

    nilaiKimia=Integer.parseInt(inputkeyboard());//masukan data

    integer untuk vairbale nilai

    System.out.println("\n-------------------------");

    System.out.println(""+nama);

    System.out.println("Nilai kamu adalah ");

    System.out.println("Matematika :"+nilaiMatematika);

    System.out.println("Fisika : "+nilaiFisika);

    System.out.println("Kimia : "+nilaiKimia);

    }

    }

    Hasil Eksekusi :

  • Deskripsi program :

    Fungsi utama program adalah untuk menghasilkan report dari inputan end user,

    yang mana data untuk report tersebut diinputkan oleh end user itu sendiri

    (melalui keyboard), end user melakukan input untuk nama, nilai untuk

    matematika,fisika dan kimia, jika user telah melakukan input, maka hasil inputan

    user tadi akan ditampilkan kembali.

    Latihan 5 :

    Kode Program :

    o Persegi.java

    /*

    * To change this template, choose Tools | Templates

    * and open the template in the editor.

    */

    /**

    *

    * @author Izzati Alvandiar

    */

    import java.io.*;//mengimport semua library dalam java.io (untuk

    input dari keyboard dsb)

    public class Persegi {

    public static void main (String args[])

    {

    BufferedReader baca = new BufferedReader(new

    InputStreamReader(System.in));

    String dataawal = "";

    int hitungLuas = 0;

    System.out.println("---Luas Persegi---");

  • System.out.println("Masukan nilai sisi : ");

    try {

    dataawal = baca.readLine();

    int angka = Integer.parseInt(dataawal);/*input data

    dari dataawal bertipe string

    *dan disimpan pada variable angka bertipe integer

    */

    hitungLuas = angka * angka;

    } catch (Exception e) {/*jika data inputan tidak bertipe

    data int seperti yg diminta

    * akan menghasilkan pesan error

    */

    System.out.println("error");

    }

    System.out.println("Luas persegi dengan sisi "

    +dataawal+ " adalah " +hitungLuas);

    }

    }

    Hasil Eksekusi :

    Deskripsi program :

    Fungsi utama program adalah untuk menghitung luas sebuah persegi, dengan

    inputan berasal dari end user.

    H. TUGAS PRAKTIKUM

    1. Tugas Praktikum 1

    o Tambah.java

    public class Tambah { /** * @param args */

  • public static void main(String[] args){ System.out.println("1. " + tambah(2,3)); System.out.println("2. a(2) + b(3) = " + tambah(2,3)); System.out.println("3. " + tambah(2,3,5)); System.out.println("4. " + tambah(2.0,6.5)); } static int tambah(int a, int b){ return a+b; } static double tambah(double a, double b){ return a+b; }

    static int tambah(int a, int b, int c){ return a+b+c; }

    }

    Hasil Eksekusi :

    Deskripsi program :

    Program ini menggunakan overloading method untuk mengeksekusi program.

    Program dijalankan menurut masukan dari nilai tersebut. Program ini memiliki

    beberapa constructor. Setiap constructor memiliki metoda masing masing.

    2. Tugas Praktikum 2

    o Boolean.java

    public class Boolean { static boolean b = true; public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Nilai b = " + b); System.out.println("Statemen awal eksekusi"); System.out.println("Nilai b = " + !b); System.out.println("Statemen ahir eksekusi"); b = (2>=7) ? true: false; System.out.println("2>=7mengembalikan nilai " + b); b = (3>9) ? true: false; System.out.println("3>9mengembalikan nilai " + b); b = (9

  • Deskripsi program :

    Program ini menggunakan overloading method untuk mengambil nilai balikan dari suatu

    assignment.

    3. Tugas Praktikum 3

    o InputSederhana.java

    public class InputSederhana { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    String inputNama = null; String inputChar = null; System.out.print("Input your name = "); try { inputNama = br.readLine(); } catch(IOException e){ e.printStackTrace(); } System.out.print("Input your character = "); try { inputChar = br.readLine(); } catch(IOException e){ e.printStackTrace(); } System.out.println("Hello..My Name is " + inputNama + "\nI'm a " + inputChar); } }

    Hasil Eksekusi :

    Deskripsi program :

    Program ini method/fungsi I/O yaitu BufferedReader. BufferedReader hanya mengenal

    String. Jika ingin input selain String harus mengkonversinya.

  • I. TUGAS RUMAH

    1.Tugas Rumah 1

    o SegitigaSamaSisi.java

    import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class SegitigaSamaSisi { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Membuat segitiga sama sisi"); String nilai = null; System.out.print("Masukkan sisi : "); try { nilai = br.readLine(); } catch(IOException e){ e.printStackTrace(); } int Nilai = Integer.valueOf(nilai).intValue(); for(int i = 0; i < Nilai; ++i) { for(int j = Nilai; j > i; --j) { System.out.print(" "); } for(int k = 0; k

  • /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub BufferedReader br = new BufferedReader(newInputStreamReader(System.in)); System.out.println("Masukkan sisi : "); String sisi = null; int i, j; try { sisi = br.readLine(); } catch(IOException e){ e.printStackTrace();}

    int Data = Integer.valueOf(sisi).intValue(); for(i = 1; i i; j--){ System.out.print(" ");}

    for(int k = 1; k

  • e.printStackTrace(); }

    int Data = Integer.valueOf(angka).intValue(); System.out.print("Masukkan string : ");

    try { nama = br.readLine();

    } catch(IOException e){ e.printStackTrace(); } for(int i = 1;i

  • hapusData(); default: System.exit(0); break; } } private static void tampilData() { for(int i = 0; i < x; i++){ System.out.println(i + ". " + siswa[i]); } } public static void Menu(){ System.out.println("MENU : "); System.out.print("1. Menambah Siswa \n2. Lihat Siswa \n3. Hapus Siswa \n4. Exit\nPilihan Anda : ");

    } public static void tambahData(){ System.out.println("Masukkan jumlah siswa : "); String input = null; try { input = br.readLine(); }catch(IOException e){ e.printStackTrace(); } int x = Integer.valueOf(input).intValue(); for(int i = 0; i < x; ++i){ System.out.print("Masukkan String ke - " + i + " : "); String string = null; try { string = br.readLine(); }catch(IOException e){ e.printStackTrace(); } siswa[i] = string; } }

    Hasil Eksekusi :

    Deskripsi program :

    Program ini method/fungsi I/O yaitu BufferedReader. BufferedReader hanya mengenal

    String. Jika ingin input selain String harus mengkonversinya.

    J. KESIMPULAN

  • Pada praktikum kali ini membahas tentang overloading method dimana kita dapat

    menggunakan/memanggil method tertentu sesuai kebutuhan sehingga dapat

    menghapus duplikasi data pada saat kode.

    K. REFERENSI / DAFTAR PUSTAKA

    Modul 2 Praktikum OOP

    Velocity Documentation

    https://tutorialspoint.com

    Khannedy, Eko. 2011. Belajar Java Dasar.