0% menganggap dokumen ini bermanfaat (0 suara)
377 tayangan48 halaman

Class, Object, Method, Variable, and Algorithm

Dokumen tersebut membahas konsep dasar pemrograman berorientasi objek meliputi class, object, method, dan variable. Secara singkat, class digunakan untuk mendefinisikan tipe data baru yang akan digunakan untuk membuat object, sedangkan object merupakan instance dari class yang memiliki atribut dan method."

Diunggah oleh

akungbgl4475
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPT, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
377 tayangan48 halaman

Class, Object, Method, Variable, and Algorithm

Dokumen tersebut membahas konsep dasar pemrograman berorientasi objek meliputi class, object, method, dan variable. Secara singkat, class digunakan untuk mendefinisikan tipe data baru yang akan digunakan untuk membuat object, sedangkan object merupakan instance dari class yang memiliki atribut dan method."

Diunggah oleh

akungbgl4475
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPT, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 48

#2

Class, Object, Method,


Variable, and Algorithm
Outline
 Simple Program
 Class
 Object
 Method
 Variable
 Algoritma

11/02/21 Algoritma & Pemrograman 2


Example: Simple Program
public class Hello
{
public static void main(String[] args)
{
System.out.println("Hello, World!");
}
}
 Nama class dan nama file (.java) harus sama dan
case-sensitive
 Program tersebut harus disimpan dengan nama file:
Hello.java

11/02/21 Algoritma & Pemrograman 3


Kode Program: Class [1]
public class Hello
 Programmer ingin mendefinisikan suatu
class/tipe Hello:
 class Hello  “factory”/cetakan/blueprint
untuk membuat object yang bertipe Hello.
 public  menunjukkan class Hello bersifat
publik (dapat digunakan oleh class yang lain).

11/02/21 Algoritma & Pemrograman 4


Kode Program: Class [2]
public class Hello
{

}
 Java: setiap source file hanya dapat mempunyai
satu class publik
 Nama class dan nama file (*.java) harus sama
dan case-sensitive (huruf besar dan kecil
dianggap berbeda)
 Contoh source file: Hello.java
 Hello  nama dari class & nama source file
11/02/21 Algoritma & Pemrograman 5
Java: “Structure / syntax /
sintaks / tata bahasa”

11/02/21 Algoritma & Pemrograman 6


Kode Program: Method [1]
public static void main(String[] args)
{

}
 Di dalam class dapat didefinisikan satu atau lebih
method
 Task/fungsi yang berisi instruksi program lebih detil.
 Mendefinisikan sebuah method (fungsi) bernama main
yang dapat diakses oleh class/object yang lain
(public).
 Sebuah method berisi urutan-urutan instruksi yang
menjelaskan bagaimana melakukan sesuatu pekerjaan
tertentu
11/02/21 Algoritma & Pemrograman 7
Kode Program: Method [2]
public static void main(String[] args)
 Setiap aplikasi Java harus mempunyai method
main
 Dengan parameter: String[] args
(menyimpan/passing command line)
 Kata static menyatakan method main tidak
akan mengubah/update object dari kelas Hello
(nanti akan dipelajari lebih lanjut)

11/02/21 Algoritma & Pemrograman 8


Kode Program: Statements [1]
System.out.println("Hello, World!");
 Methods dapat berisi statements

 Statements: instruksi spesifik yang diinginkan:

 Setiap statement/perintah harus diakhiri dengan


simbol ; (titik koma / semicolon)
 Statement ini akan mencetak string:

"Hello, World! "

11/02/21 Algoritma & Pemrograman 9


Kode Program: Statements [2]
System.out.println("Hello, World!");
 Dimana dicetak data tersebut? object yang
mana?
 System.out: object "out" dari System 
display/standard output
 Methods yang akan digunakan: println (print line),
dari object System.out  mencetak satu baris pada
layar.
 Apa yang akan dicetak, parameter dari println:
"Hello, World! "
 System  class library (telah disediakan dan dapat
digunakan tanpa menulis program-nya).

11/02/21 Algoritma & Pemrograman 10


How to Call a Method
 Menggunakan “methods” perlu memenuhi:
 object yang mempunyai methods tersebut (method
yang akan digunakan: System.out).
 Nama dari method yang akan dipakai, kemungkinan
terdapat banyak methods pada object tersebut
(methods: println).
 Parameter, atau data yang
diperlukan oleh methods
tersebut (parameter:
"Hello World!").
11/02/21 Algoritma & Pemrograman 11
Parameter
 Apa yang akan dilakukan methods:
 Menentukan apa yang akan dimanipulasi oleh
methods yang dipanggil.
 "Hello World!"  string parameter
(untaian karakter)
 Perhatikan diperlukan pasangan " .. " untuk
batasan data tersebut adalah String.
 Contoh lain:
System.out.println(5 + 5);
 mencetak: 10

11/02/21 Algoritma & Pemrograman 12


Handling Error
 Compiler: sangat ketat dalam melakukan evaluasi
terhadap kode program:
 Kepastian: kode program benar (sesuai dengan kaidah, aturan)
 Ingat: compiler adalah program, hanya mengerti dapat
memproses input tertentu (mis. Hanya kode Java).
 Contoh: (kode program salah)
if (intRate > 100)
System.Out.Print("Nilai Persen Bunga Salah);
 Java Compiler akan melaporkan “error” karena tidak terdapat
pasangan double quote: “ <string> “ pada kode program.

11/02/21 Algoritma & Pemrograman 13


Common Errors
 Tidak terdapat ";" di akhir statements
 Suatu statements harus diakhiri dengan “semicolon”
 Contoh:
System.out.println ("Halo, juga! ");
 Salah mengeja nama class, methods, object
 Harus membedakan antara huruf kecil dan besar (case
sensitive).
 Nama class biasanya diawali dengan huruf besar / kapital
 Nama method biasanya diawali dengan huruf kecil
 Error lain:
 Compiler error: “undefined object”
System.ouch.println("Hello,World!");
 Compile sukses, tapi terdapat run time error -- logic error
System.out.println("Hell,World!");
11/02/21 Algoritma & Pemrograman 14
Compiler Error
 Kesalahan syntax penulisan program
HelloWorld.java:7: ';' expected.
System.out.println ("Hello World!")
^
1 error
 public static void Main(String[] args)

11/02/21 Algoritma & Pemrograman 15


Run-time Error
 Kesalahan ketika program dijalankan
 Pembagian angka bulat dengan 0 (nol)
 Class tidak ditemukan
 Exception in thread "main"
java.lang.NoClassDefFoundError: test

11/02/21 Algoritma & Pemrograman 16


Logic Error
 Program benar secara syntax, tetapi jika
dijalankan tidak sesuai dengan apa yang
seharusnya
 Untuk melacak logic error (bug) digunakan
debugger

11/02/21 Algoritma & Pemrograman 17


Coding Guideline [1]
 Mengapa perlu?
 Mudah untuk dibaca
 Programmer bisa menjadi lebih produktif

 Penting untuk team work (kerja tim)

 Penamaan Class
 Huruf pertama selalu huruf besar
 Jika nama kelas lebih dari 2 kata, setiap huruf
pertama kata berikutnya harus huruf besar
 Contoh: AbstractWindow

11/02/21 Algoritma & Pemrograman 18


Coding Guideline [2]
 Identasi menggunakan 4 spasi
 Kurung kurawal harus segaris / lurus secara horisontal
atau vertikal
 Gunakan baris kosong
public class Hello
{
public static void main(String[ ] args)
{
System.out.println ("Hello, World!");
}
}
Identasi (indent)
11/02/21 Algoritma & Pemrograman 19
Coding Guideline [3]
 Setiap baris tidak boleh melebihi 80 kolom
 Jika harus memecah sebuah statement, tambahkan
identasi untuk selanjutnya
a[n] = ..............
+ .................;
 Awali baris baru dengan sebuah operator (jika
dimungkinkan)
Identasi (indent)

11/02/21 Algoritma & Pemrograman 20


Object: What objects do?
 object
 Entitas pada program yang mewakili sesuatu (object).
 Konsep utama dari object-oriented  menentukan object yang
mewakili/merepresentasikan “real thing” / hal nyata
 Contoh: object mobil, pelajar, TabunganTahapan dll.

 Setiap object akan “hidup” dalam program (“instance”):

 Create (dibuat dan diberikan tempat/alokasi)


 Aktif (beroperasi)
 Destroy (hilang)
 Object mempunyai karakteristik (atribut) yang dapat membedakan
object-object yang sama
 Contoh: atribut object mobil  warna, ukuran, bentuk mobil.

11/02/21 Algoritma & Pemrograman 21


Object: Methods
 object dapat dimanipulasi dan melakukan
aksi dengan menggunakan “methods” pada
object tersebut
 Contoh: System.out  object yang
mengontrol display / tampilan
 Memanggil method: println  terjadi aktivitas
pada object System.out yang mengakibatkan
display / tampilan parameter ke layar.
 println  interface dari object dengan dunia luar
supaya dapat dimanfaatkan (public).
11/02/21 Algoritma & Pemrograman 22
Methods: Tasks
 Methods: menggambarkan fungsi atau kemampuan
objects tersebut melakukan operasi/tugas:
 Melakukan prosesing, task yang diinginkan oleh
programmer spesifik untuk object tersebut.
 Contoh: object mobil  change_color(), start_run() dll.
 Implementasi methods tidak perlu diketahui oleh
object lain yang memakai methods tersebut
 Contoh: untuk mengubah warna mobil, object
“student” dapat menggunakan methods
change_color(). Tanpa harus mengetahui bagaimana
methods tsb bekerja (berfungsi).
11/02/21 Algoritma & Pemrograman 23
Methods: Idea
 IDEA: Object menyediakan berbagai
fungsi/fasilitas yang dapat digunakan 
interface
 BIG IDEA: Implementasi detil tidak perlu
diketahui oleh pemakai (object yang lain)
 encapsulation

11/02/21 Algoritma & Pemrograman 24


Class: Where object belongs to [1]
 Apa yang membedakan object-object yang
berbeda jenis?
 Salah satu: interface (method) yang dapat digunakan.
 Object dengan jenis yang berbeda mempunyai
method-method yang berbeda.
 Misalkan: methods println, tidak dapat digunakan
oleh object string: "Hello, World",
 object-object String tidak mempunyai (mengerti) method
println.

11/02/21 Algoritma & Pemrograman 25


Class: Where object belongs to [2]
 Dimana definisi object-object tersebut?
 object yang jenisnya sama  berada pada
satu class yang sama.
 Class: mendefinisikan implementasi detil dari
object
 Semua methods yang dapat digunakan
 Instruksi/kode dari methods tersebut 
perilaku/behaviour
 Berdasarkan definisi class  object dapat dibuat.

11/02/21 Algoritma & Pemrograman 26


Contoh Atribut & Method
 Object “Cup”  Object “Hand”
 Atribut:  Atribut:
 Capacity  Hand size
 Fluid level  Method:
 Method: -  Extend
 Open
 Grasp
 Close

11/02/21 Algoritma & Pemrograman 27


Class: Purpose [1]
 Class mencakup:
 Implementasi detil (blue print) dari suatu
object yang akan dibuat  sejenis pabrik
object.
 Class: menampung “methods” dengan sifat
“static” dan object-object yang dibuat.

11/02/21 Algoritma & Pemrograman 28


Class: Purpose [2]
 Class  object:
 Contoh: class mobil  object mobilA, mobilB dst.
 Library: class Rectangle
 merepresentasikan object “rectangle”

 Bagaimana melakukan representasi “rectangle” di


komputer? (ingat dalam bentuk bits)?
 IDEA: harus memudahkan untuk manipulasi (misalkan
ukuran, posisi (move), dll).
 Atribut yang perlu untuk class: Koordinat (x,y) sudut
atas, lebar dan tinggi (x, y, width, height)

11/02/21 Algoritma & Pemrograman 29


Example
import java.awt.*;

public class TestRectangle


{
public static void main (String[] args)
{
Rectangle kotak =
new Rectangle (10, 20, 50, 20);
System.out.println (kotak);
kotak.translate (15, 25);
System.out.println (kotak);
}
}
11/02/21 Algoritma & Pemrograman 30
Object Construction

 object dapat dibuat dari class


Rectangle:
new Rectangle(5, 20, 30, 5);
 Buat object rectangle pada windows, dengan
posisi koordinat (5, 20), lebar 30 dan tinggi 5
(point).
(5,20) 30

11/02/21 Algoritma & Pemrograman 31


Object: Constructor
 Operator: new ClassName(parameters);
 Membuat object baru menurut parameter yang
diperlukan untuk class tersebut.
 Class yang berbeda mempunyai “constructor” yang
berbeda dari nilai, jenis dan jumlah parameter.
 “Default Constructor”: tidak memberikan nilai
parameter (0 parameter)  Class yang akan
mendefinisikan sendiri parameter yang digunakan
 new Rectangle();

11/02/21 Algoritma & Pemrograman 32


Constructor
Mobil mobilku = new Mobil();
 Pada object creation tersebut, constructor
Mobil() merupakan “Default Constructor”
dengan 0 argumen / parameter.
 Constructor merupakan sebuah method yang:
 Mempunyai nama yang sama dengan nama class
 Tidak harus ada dalam sebuah class
 Tidak mempunyai return values
 Dijalankan hanya sekali ketika object dibuat

11/02/21 Algoritma & Pemrograman 33


Object Name
 Bagaimana melakukan identifikasi
object (jika object lebih dari satu?)
 Dapat dibuat banyak object dari class yang
sama.
 Identifikasi object  secara spesifik dapat
dilakukan manipulasi pada object tersebut.
 Variabel nama object  menyimpan object
yang dibuat dengan new.

11/02/21 Algoritma & Pemrograman 34


Object Variable [1]
Rectangle gambarKotak;
 gambarKotak  variabel dengan object
bertipe class Rectangle
 Tapi variabel ini belum menunjuk ke object
manapun yang telah dibuat (construct).

gambarKotak = new Rectangle(5,10,20,30);

11/02/21 Algoritma & Pemrograman 35


Object Variable [2]
 Operator new  membuat satu object
baru tipe Rectangle dan memberikan
“reference” object tersebut ke variabel
gambarKotak.
 Dengan memakai variabel gambarKotak,
sebagai referensi  object tersebut dapat
dimanipulasi.

11/02/21 Algoritma & Pemrograman 36


Object Reference

Rectangle gambarKotak;
Rectangle drawKotak;

gambarKotak = new Rectangle(5,10,20,30);


drawKotak = gambarKotak;

11/02/21 Algoritma & Pemrograman 37


Object Creation
 Gunakan operator: new, dengan nama/variabel
object.
 Jangan lupa memberikan parameter (jika perlu).

11/02/21 Algoritma & Pemrograman 38


Problem Solving [1]
 Apa itu problem/masalah?
 Apakah mencari pasangan hidup adalah
problem?
 Apakah semua problem bisa diselesaikan
dengan menggunakan komputer?
 Secara umum, ada 2 jenis problem:
 problem to find
 problem to prove
11/02/21 Algoritma & Pemrograman 39
Problem Solving [2]

 Termasuk problem yang manakah?


 Apakah ‘stop’ dan ‘pots’ adalah palindrome?
 Cetak semua kelompok kata palindrom dari sebuah
file.
 Prinsip terpenting dalam memecahkan masalah:
pahamilah masalahmu!
11/02/21 Algoritma & Pemrograman 40
11/02/21 Algoritma & Pemrograman 41
Algoritma [1]
 Program = Sekumpulan urutan (tahapan) instruksi untuk
mencapai task/tujuan tertentu.
 Contoh: “Selera Nusantara”
Bagaimana membuat “gulai kepala ikan”?
1) Bahan, bumbu, kompor, alat dapur, dan celemek
2) Koki.
3) Resep.
 Input: bahan, bumbu.
 Output: “gulai kepala ikan”
 Resep: tahapan, aktifitas yang mengandung proses
transformasi input ke output  program
 Resep dapat ditulis dengan aturan standard, kode,
konvensi, dll.
11/02/21 Algoritma & Pemrograman 42
Algoritma [2]
 Bagaimana memulai menulis program?
Problem, task yang harus diselesaikan/dilakukan oleh

komputer!
 Keyakinan program akan dapat menyelesaikan task
tersebut?
 Problem-solving: menentukan step/tahapan supaya
proses/aktifitas dapat dijalankan untuk mencapai goal
(solved).
 Algoritma: representasi lebih detil dari problem-solving
 start
 input, tahapan, aktifitas, control-flow, mengolah data, if-
error, output (hasil, solved).
 terminate.

11/02/21 Algoritma & Pemrograman 43


Algoritma [3]
 Contoh: <<menghitung total gaji>>
1. Start: set total = 0;
2. Ambil data dari daftar pegawai;
3. Jumlahkan gaji pegawai dengan total;
4. Jika data pegawai belum habis,lakukan 2.
5. Jika data pegawai telah habis, output total.
6. Terminate.
 Computing Problem:
 Bagaimana jika tidak ada pegawai, sangat banyak pegawai (tak
berhingga?).
 Bagaimana jika data gaji pegawai: tidak ada, negatif, 3-juta,
“classified – hanya Boss yang tahu”  hanya untuk input
tertentu.
11/02/21 Algoritma & Pemrograman 44
Algoritma [4]
 Karakteristik Algoritma:
 Unambiguous
 Executable
 Terminating
 Program komputer hanya dapat memecahkan
masalah tertentu yang secara algoritma
dapat dipecahkan:
 Untuk input yang terbatas (legal), walaupun jumlah
dapat bervariasi (0, sampai tak-hingga)
 Dapat dijabarkan dalam urutan aktifitas dimana output
yang diinginkan merupakan fungsi dari input
11/02/21 Algoritma & Pemrograman 45
Algoritma [5]
 Terdapat “class of algorithmic problem”
yang secara komputasi sangat sulit/tidak
dapat diselesaikan, karena urutan aktifitas
sangat “complex”.
 Contoh: bagaimana komputer dapat
mengenali wajah anda? Bagaimana robot
dapat “melihat”?

11/02/21 Algoritma & Pemrograman 46


Ringkasan [1]
 Blok kode program dalam bentuk: class
 Terdapat banyak class, tetapi hanya satu class publik
 Class  blueprint dari object (tempat object-
object yang sejenis berada)
 Object  Representasi “sesuatu” (benda,
pengertian, dll) dalam dunia nyata.
 Class mempunyai methods untuk melakukan
task, atau menyelesaikan problem.
 Algoritma: sekumpulan instruksi yang jelas
pada komputer untuk menyelesaikan sebuah
permasalahan
11/02/21 Algoritma & Pemrograman 47
Ringkasan [2]
 Library
 Kumpulan “class” (object) yang telah disediakan (dibuat oleh
programmer lain) dan siap untuk digunakan.
 Kita dapat menggunakan library untuk mempercepat penulisan
program (sangat mudah membuat gambar grafik di Java karena
terdapat library yang membantu menggambar “rectangle”,
“circle”)
 IDEA: “Reuse” code yang ada sehingga mempercepat
penyelesaian suatu program.
 Contoh Library:
 Untuk membuat gambar 2 dimensi, java menyediakan library 2D
dalam bentuk “package”: java.awt (awt = abstract windows
toolkit)

11/02/21 Algoritma & Pemrograman 48

Anda mungkin juga menyukai