Tugas OOP1

KE-SATU:Apa yang dimaksud Class (Kelas), Attribute dan Method?

1.Pengertian class(kelas) adalah

Kelas merupakan sarana pengkapsulan kumpulan data dan kumpulan method

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

Kumpulan method berfungsi untuk mengoperasikan kumpulan data dalam kelas

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

Contoh : Class Person, Vehicle, Tree, Fruit dan lain-lain.

Object

2.Pengertian attribute adalah

Attributes merupakan nilai data yang terdapat pada suatu object yang berasal dari

class. Attributes merepresentasikan karakteristik dari suatu object.

Contoh : pada Class Fruit terdapat attribute : warna, berat pada object mangga :

warna berisi kuning dan berat misalkan 0.25 kg pada object apel : warna berisi

merah dan berat misalkan 0.30 kg

3.Pengertian method adalah

Method merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh

suatu object. Method didefinisikan pada class akan tetapi dipanggil melalui object.

Contoh : pada object mangga : terdapat method ambilRasa , kupasKulit dan lain-lain.

Metode menentukan perilaku objek, yakni apa yang terjadi ketika objek itu dibuat serta

berbagai operasi yang dapat dilakukan objek sepanjang hidupnya.

Metode memiliki 4 (empat) bagian dasar :

1. Nama metode

2. Tipe Objek atau tipe primitive yang dikembalikan metode.

3. Daftar parameter.

4. Badan atau isi metode.

Tiga bagian pertama mengindikasikan informasi penting tentang metode itu sendiri.

Dengan kata lain, nama metode tersebut=metode lain dalam program. Dalam java kita

dapat memiliki metode-metode berbeda yang memiliki nama sama tetapi berbeda tipe

kembalian atau daftar argumennya, sehingga bagian-bagian definisi metode ini menjadi

penting. Ini disebut overloading metode.

Untuk menjalankan program yang memiliki sifat polymorphism tersebut, diperlukan

suatu kemampuan overloading, yaitu suatu kemampuan untuk menentukan fungsi

yang mana yang harus digunakan atau dijalankan jika terdapat nama fungsi yang sama.

Polimorfisme bisa diartikan seperti kemampuan suatu variable untuk mengubah

perangai sesuai dengan objek hasil instansiasi yang digunakan. Polimorfisme

membiarkan lebih dari 1 objek dari sub class sub class dan diperlakukan sebagai

objek dari super class tunggal.

KE-DUA:Jelaskan modifier untuk method dan attribute? misalnya modifer public, private, protected dsb.

1.jelaskan modifier untuk method dan attribute adalah

Secara penjelasan, access modifier adalah batasan dan cara mengakses suatu properti dan/atau fungsi dari sebuah kelas. Dengan access modifier inilah salah satu tujuan belajar OOP dapat dicapai yaitu enkapsulasi data. Enkapsulasi data merupakan cara melindungi atribut/fungsi tertentu dari sebuah kelas agar tidak sembarangan diakses dan dimodifikasi di suatu bagian program sehingga validitas data bisa terjaga.
Waktu saya belajar OOP dulu, katanya access modifier ada 4 macam, tapi di referensi lain disebutkan 3, karena yang 1 lagi jarang sekali dipakai dan cukup rumit. Jadi, mungkin akan kita bahas yang 3 saja, yang umum dan sering digunakan.

  1. Public
    Public, seperti namanya, atribut atau fungsi yang diberi access modifier ini bebas diakses dari manapun dari program. Umumnya, sebuah fungsi constructor dan destructor pasti public. Kemudian fungsi-fungsi accessor dan modifier juga diberi akses public. Namun, tidak semua juga harus dijadikan public, karena tidak semua fungsi juga boleh diakses dari luar kelas, tergantung kebutuhan.
  2. Private
    Atribut atau fungsi yang diberi akses private hanya bisa diakses didalam kelas itu sendiri. Umumnya atribut yang menggambarkan sifat objek diberi akses private. Hal ini dilakukan untuk melindungi validitas data dan keperluan error handling. Karena itulah, ditambahkan fungsi accessor dan/atau modifier untuk setiap atribut private. Fungsi accessor atau yang sering disebut fungsi getter dibuat untuk mengambil properti kelas tanpa bisa mengubahnya. Jadi fungsi accessor ini tipe datanya sama seperti atribut yang akan diambil nilainya, dan isinya hanya return value dari atribut yang bersangkutan saja. Sedangkan fungsi modifier atau yang disebut setter dibuat untuk mengubah nilai atribut kelas. Tentunya, dengan disertai error handling dan batasan lain didalamnya. sehingga atribut kelas tetap bisa diubah namun terkontrol dan tepat. Sama halnya dengan fungsi yang tidak selalu diberi akses public, atribut juga tidak harus dan tidak selalu diberi akses private, public, atau protected.
  3. Protected
    Protected merupakan access modifier yang hanya akan muncul jika ada lebih dari 1 kelas dalam suatu soalus permasalahan dan ada kelas yang mendapat pewarisan sifat(inheritance) dari kelas lain. Jadi, dengan memberi akses protected, suatu atribut dan/atau fungsi bisa diakses penuh dari kelas turunan(child). Mungkin untuk pembahasan inheritance dan akses protected akan saya bahas lebih lanjut di postingan yang akan datang insyaAllah. Karena akan lebih baik jika belajarnya satu persatu, dari yang paling sederhana hingga yang agak sedikit rumit dan butuh pemahaman lebih.

Modifier adalah sifat yang dimiliki oleh atribut, method maupun class dalam java.

Contoh :

1.      public

2.      Abstrak, diimplementasikan secara parsial yang tujuannya untuk kenyamanan perancangan.

3.      protektif (dilindungi).

4.      private (lebih dilindungi).

Bentuk umum struktur anatomi kelas sebagai berikut :

(modifier1) class NamaKelas (modifier2) {

classbody

}

Classbody terdiri dari satu atau beberapa attribute, constructor, dan

method. Modifier 1 dan 2 pada anatomi kelas, sifatnya optional, digunakan

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

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

sebagai modifier 1 dan dikelompokkan menjadi :

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

2. Modifier final

3. Modifier static

4. Modifier abstract

5. Modifier synchronized

6. Modifier native

7. Modifier storage (transient, volatile)

Modifier yang memiliki sifat saling kontradiktif yaitu static dan abstract.

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

boleh digunakan pada method static.

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

Final (no extended, no overrided)

• Menyatakan bahwa suatu kelas tidak dapat menurunkan (extend) kelas

lain.

• Menyatakan bahwa suatu method tidak dapat dioverride oleh method lain.

• Membentuk suatu attribute menjadi konstanta.

Static (no need instanciation, no overrided)

Method dan attribute ada dua jenis, yaitu method dan attribute milik kelas

serta method dan attribute milik suatu objek.

Method dan attribute milik kelas, diakses melalui tiga cara, pertama

melalui nama kelasnya, kedua melalui nama objek yang diinstant dari kelasnya,

dan ketiga bebas tanpa didahului nama kelas atau nama objeknya.

Method dan attribute milik objek, diakses hanya melalui nama objeknya.

Method static tidak bisa dioverride. Method main() harus memiliki

modifier static.

Modifier static artinya method dan attribute milik kelas, menjadi sifat

bersama dari semua objek dalam kelas tersebut (tidak memerlukan instansiasi

objek untuk menjalankannya).

Contoh System.out.println() bersifat static artinya untuk memanggil

method println() tidak harus dilakukan instansiasi dari kelas System.

2.6.6. Abstract (no instanciation, should be overrided)

Abstract class adalah kelas murni (tanpa objek) dan tidak boleh memiliki

objek (tidak boleh ada instansiasi) serta method-method yang abstract harus

disempurna-kan oleh kelas turunannya melalui override.

Kelas seperti ini biasanya merupakan root suatu struktur kelas.

Konsekuensi penggunaan sifat abstract :

1. Tidak dapat dibuat constructor yang abstract.

2. Tidak dapat dibuat method yang static dan abstract (kedua sifat sali ng

kontradiktif).

3. Tidak diijinkan membuat method yang private dan abstract (kedua sifat ini

juga saling kontradiktif).

2.6.7. Synchronized (khusus modifier method)

Pada lingkungan multithread, dimungkinkan lebih dari satu jalui eksekusi

yang berjalan di kode yang sama, kondisi tersebut dapat diatur sehingga pada

selang waktu tertentu hanya ada satu jalur eksekusi yang diijinkan di method yang

synchronized (eksekusi dilakukan secara mutual exclusive).

2.6.8. Native (khusus modifier method)

Modifier ini digunakan untuk memanggil/mengakses method yang ditulis

dalam bahasa C/C++.

Seperti method yang abstract, method yang native hanya berupa

prototype, implementasi method ini berada di file external (dalam folder yang

sama).

2.6.9. Transient (khusus modifier attribute)

Java memiliki konsep serialisasi, yaitu kemampuan untuk

mentransformasikan objek menjadi suatu stream, sehingga objek dapat ditransfer

dari suatu aplikasi ke aplikasi lainnya, atau dari suatu workstation ke workstation

lainnya. Prinsip ini digunakan dalam aplikasi client-server.

Salah satu ketentuan serialisasi adalah tidak boleh ada perubahan nilai

attribute suatu objek, saat objek tersebut ditransformasikan menjadi stream, dan

sebaliknya, namun suatu objek dapat memiliki nilai attribute yang boleh berubah

(bersifat transient).

2.6.10. Volatile (khusus modifier attribute)

Dalam manajemen thread, java dapat menyimpan nilai suatu attribute

(yang sering diakses thread) menjadi cache value, sehingga tidak perlu selalu

merujuk ke lokasi memori aslinya.

Attribute tersebut bersifat volatile, karena nilainya rentan berubah bila diakses oleh lebih dari satu thread.

2.6.11. Extends

Bila terjadi pewarisan, kelas yang mewariskan method dan attributenya

disebut kelas super, sedangkan yang diwariskan disebut subkelas.

Kelas yang memiliki modifier ini berarti merupakan subkelas dari suatu

kelas super.

2.6.12. Implements

Kelas yang memilki modifier2 implements artinya kelas tersebut

mengimplementasikan satu atau lebih interface. Bila terdapat lebih dari satu

interface, gunakan tanda koma di antara interface-interface tersebut.

KE-TIGA:Buatlah program dg menggunakan C#,C++,dan JAVA

Program C#,C++,JAVA

Baiklah hari ini kta akan menbahas dan mencoba belajar pemograman dalam C#

A. PROGRAM C#


using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;

namespace latihan_2
 {
 class Program
 {
 static void Main(string[] args)
 {

{
 String nama;
 byte umur;
 String alamat;
 String hobby;
 String kampus;

Console.Write("masukkan nama anda= ");
 nama = Console.ReadLine();
 Console.Write("masukkan umur anda= ");
 umur = Convert.ToByte(Console.ReadLine());
 Console.Write("masukkan alamat anda= ");
 alamat = Console.ReadLine();
 Console.Write("masukkan hobby anda= ");
 hobby = Console.ReadLine();
 Console.Write("masukkan kampus anda= ");
 kampus = Console.ReadLine();

Console.Write("siapa nama anda" + nama);
 Console.Write("berapakah umur anda" + umur);
 Console.Write("dimana alamat anda" + alamat);
 Console.Write("apa anda hobby" + hobby);
 Console.Write("dimana kamus anda" + kampus);

Console.WriteLine("Press any key to continue..... ");
 Console.ReadKey(true);

}
 }
 }
 }

Dan ini dia hasilnya

B. PROGRAM  C++


#include <iostream>
 #include <cstdlib>
 using namespace std;

int main()
 {
 char nama[100];
 byte umur;
 char alamat[100];
 char hobby[100];
 char kampus[100];

std::cout<<"\n"<<"masukkan nama anda :";
 cin>>nama;

std::cout<<"\n"<<"masukkan umur anda :";
 cin>>umur;

std::cout<<"\n"<<"masukkan alamat anda :";
 cin>>alamat;

std::cout<<"\n"<<"masukkan hobby anda :";
 cin>>hobby;

std::cout<<"\n"<<"masukkan kampus anda :";
 cin>>kampus;

std::cout << "nama anda adalah " <<nama<<endl;
 std::cout << "umur anda adalah" <<nama<<endl;
 std::cout << "alamat anda adalah" << nama<<endl;
 std::cout << "hobby anda adalah " << hobby<<endl;
 std::cout << "dimana kampus anda" <<kampus<<endl;

system("pause");
 return 0;
 }

ini hasilnya yach

C. PROGRAM  JAVA

 package javaapplication2;
 import java.util.Scanner;

public class Main {

public static void main(String[] args) {
 Scanner inp= new Scanner(System.in);

String nama;
 byte umur;
 String alamat;
 String hobby;
 String kampus;

System.out.println("masukkan nama anda= ");
 nama = inp.next();
 System.out.println("masukkan umur anda= ");
 umur = inp.nextByte();
 System.out.println("masukkan alamat anda= ");
 alamat =inp.next();
 System.out.println("masukkan hobby anda= ");
 hobby = inp.next();
 System.out.println("masukkan kampus anda= ");
 kampus = inp.next();

System.out.println("tentang data pribadi anda");

System.out.println("siapa nama anda" + nama);
 System.out.println("berapakah umur anda" + umur);
 System.out.println("dimana alamat anda" + alamat);
 System.out.println("apa anda hobby" + hobby);
 System.out.println("dimana kamus anda" + kampus);

}

}

Ini lah hasilnya.. coba di lihat yaa

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s