• Tidak ada hasil yang ditemukan

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

N/A
N/A
Protected

Academic year: 2021

Membagikan "ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari"

Copied!
37
0
0

Teks penuh

(1)

ALGORITMA DAN

PEMROGRAMAN 2

(2)

MATERI

Teks/string

Pointer

File

Struktur

Kelas/Class

Konstruktor dan

Destruktor

Kelas dan Obyek

Overloading Operator

Inheritance (Pewarisan)

Polimorfisme

Template Fungsi dan

Kelas

Sort

(3)

KELAS DAN OBYEK

Pertemuan 09

(4)

Class & Obyek

Class

adalah suatu cara untuk

membuat tipe data yang baru

Mengapa butuh tipe data baru, agar

aplikasinya source code lebih

mudah dibaca

(5)

Class & Obyek

Variabel adalah tempat untuk data

Class dengan obyek

duluan class

nya

Instance adalah kata lain dari obyek

(6)

Class & Obyek

Static adalah variabel miliknya si class atau

static variebel miliknya class

nilai akan

berubah kesemua instance

Didalam class kita dapat :

1.

Constructor

selalu instance

2.

Method

bisa static atau instance

3.

Variabel/property

bisa static atau instance

4.

Buat class didalam class biasa disebut Inner

(7)

Class & Obyek

Constructor

selalu instance

Constructor dan method ada

overloading

argumen atau

parameter nya berbeda (yang berbeda

bisa jumlah, tipe data, urutan), tetapi

namanya bisa sama

(8)

Class & Obyek

Macam-macam method

method();

method(Int x, Int y);

method(String x, String y)

(9)

Class & Object

Didalam class bisa mennggunakan

banyak konstruktor

Contoh :

Mahasiswa m1 = new Mahasiswa();

(10)

Obyek

Terdiri dari 2, yaitu :

1. Obyek Lokal

2. Obyek Global

(11)

1. Obyek Lokal

Merupakan suatu obyek yang

didefinisikan di luar fungsi

Konstruktor dijalankan saat obyek

bersangkutan di ciptakan

Destruktor dijalankan dengan

sendirinya saat fungsi yang

mendefinisikannya berakhir

(12)

Obyek Lokal

Contoh Soal 01:

Menampilkan konstruktor dan destruktor

pada variabel R,S,T

(13)

Program

contoh 01

(14)

Algoritma...?????

Pseudocode...??????

Aturan :

1. tuliskan kelompok Anda

a. Siapa yang menulis di kertas

b. Siapa yang nulis di komputer

c. Siapa yang presentasi

(15)

Obyek Lokal …….. Contoh 1 (rizki firmanda, ringga candra,putri,rizki candra

PSEUDOCODE :

Algoritma Obyek Lokal

KAMUS/DEKLARASI VARIABEL KONSTRUKTOR *Jurusan=char ALGORITMA/DESKRIPSI KONSTRUKTOR Jurusan= Jurusan Print (Jurusan) KAMUS/DEKLARASI VARIABEL DESTRUKTOR -ALGORITMA/DESKRIPSI DESTRUKTOR Jurusan= Jurusan Print (Jurusan) ALGORITMA/DESKRIPSI DESTRUKTOR Jurusan= Jurusan Print (Jurusan)

KAMUS/DEKLARASI VARIABEL

jurusan[20] = char

ALGORITMA/DESKRIPSI

Private : class INFORMATIKA

{Jurusan [20]}

Public : class INFORMATIKA

{INFORMATIKA (*Jurusan),

~INFORMATIKA}

INFORMATIKA R (“”R”)

INFORMATIKA S (“S”)

INFORMATIKA T (“T”)

(16)

Contoh : 1 – Algoritma (obyek lokal) (SISYLIA .P , MUSI.H , REZKY.R , WAHYU.H

1. mendefinisikan class ( class INFORMATIKA { jurusan 120} ) dengan penentu akses secara private

2. mendefinisikan class ( class INFORMATIKA { INFORMATIKA (*jurusan ), ~INFORMATIKA () } )dengan penentu akses secara public

3. membuat konstruktor INFORMATIKA (*jurusan) dengan penentu akses secara public

4. pengaksesan konstruktor INFORMATIKA ( jurusan = jurusan ) 5. mencetak konstruktor INFORMATIKA (jurusan)

6. membuat destruktor ~INFORMATIKA () dengan penentu akses secara public 7. pengaksesan destruktor ~IINFORMATIKA() (jurusan=jurusan)

8. Mencetak ( jurusan )

9. Definisi objek ( INFORMATIKA R ( “ R “ )) dengan format objek secara global 10. mencetak , menjalankan perintah fungsi main ()

11. definisi objek ( INFORMATIKA S ( “ S “ ) ) dengan format objek secara local 12. definisi objek ( INFORMATIKA T ( “ T “ ) ) dengan format objek secara local 13. mencetak, mengakhiri perintah fungsi main ( )

(17)

2. Obyek Global

Merupakan suatu obyek yang didefinisikan

secara global

Konstruktor dijalankan saat awal eksekusi

program, yaitu sebelum fungsi main() di proses

Destruktor dijalankan saat fungsi main()

berakhir

Apabila ada exit() destruktor obyek global akan

dijalankan terlebih dahulu, tetapi destruktor

(18)

Obyek Global

Contoh Soal 02:

Menampilkan konstruktor dan destruktor

pada variabel R,S,T dengan menambahkan

perintah exit()

(19)

Program

contoh 02

(20)

Algoritma...?????

Pseudocode...??????

(21)

Contoh 2 (mufi, yunus, rara, ines)

PSEUDOCODE : KAMUS/DEKLARASI VARIABEL KONSTRUKTOr *Jurusan = char ALGORITMA/DESKRIPSI KONSTRUKTOR jurusan=jurusan print(jurusan) KAMUS/DEKLARASI DESTRUKTOR -ALGORITMA/DESKRIPSI DESTRUKTOR jurusan=jurusan Print(jurusan) KAMUS/DEKLARASI VARIABEL jurusan [20] = char ALGORITMA/DESKRIPSI private: class INFORMATIKA{jurusan[20]} public: class INFORMATIKA{INFORMATIKA(*jurusan),( ~INFORMATIKA ( ))} INFORMATIKA R (“R”) INFORMATIKA S (“S”) INFORMATIKA T (“T”) exit(1)

(22)

Contoh : 2 – Algoritma (Vivi, nurfa, yadi)

1. Deklarasi class (class INFORMATIKA{jurusan[20]}) dengan penentu akses private 2. Deklarasi class (class INFORMATIKA{~INFORMATIKA(*jurusan)}) dengan penentu

akses public

3. Membuat konstruktor INFORMATIKA (*jurusan) dengan penentu akses public 4. Pengaksesan konstruktor INFORMATIKA (*jurusan)= jurusan

5. Mecetak konstruktor INFORMATIKA (jurusan)

6. Membuat desstruktor ~INFORMATIKA () dengan penentu akses public 7. Pengakssan destruktor destruktor ~INFORMATIKA() = jurusan

8. Mencetak destruktor ~INFORMATIKA() 9. Definisi objek global INFORMATIKA R (“R”) 10. Definisi objek lokal INFORMATIKA S (“S”) 11. Definisi objek lokal INFORMATIKA T (“T”) 12. Mengakhiri program exit(1)

(23)

Menyimpan kelas dan fungsi anggota

pada file tersendiri

Apabila class digunakan untuk sejumlah

program, maka class harus

dideklarasikan pada file tersendiri

Didefinisikan fungsi-fungsi anggotanya

File header bisa kita buat sendiri

Caranya dengan memisahkan

pendefinisian kelas kedalam suatu file

tersendiri yaitu file .H

(24)

Menyimpan kelas dan fungsi anggota

pada file tersendiri

Definisi fungsi anggota juga dimasukkan

kedalam file .H ini

File .H ini kemudian disimpan di folder

BC31\Include atau disimpan pada tempat lain

Penulisan file header:

- #include “matkul.h”

jika file disimpan di folder

Include

- #include “d:\matkul.h”

jika file disimpan

ditempat lain, misal di drive d:

(25)

Class dan Obyek

Contoh Soal 03:

Buat header untuk deklarasi kelas majalah

Buat file untuk mendefinisikan fungsi-fungsi

anggota dari class majalah

Menampilkan majalah dengan

menggunakan class yang di deklarasikan

pada file header majalah.h

(26)

Program

contoh 03

(27)

Program

contoh 03

(28)

Algoritma...?????

Pseudocode...??????

(29)

Obyek Sebagai Parameter

Ada 3 kemungkinan melewatkan obyek

sebagai parameter:

1. Melewatkan obyek berdasarkan nilai

(passing parameter by value)

2. Melewatkan obyek sebagai referensi

(passing parameter by reference)

(30)

1. Melewatkan Obyek Berdasarkan Nilai

Definisi fungsi

void lihat_matkul(

Matkul matakuliah

)

{

matakuliah.lihat_data();

}

Pemanggilan

Matkul jur_it;

lihat_matkul(jur_it);

(31)

2. Melewatkan Obyek Sebagai Referensi

Definisi fungsi

void lihat_matkul(

Matkul &matakuliah

)

{

matakuliah.lihat_data();

}

Pemanggilan

Matkul jur_ti;

lihat_matkul(jur_ti);

(32)

3. Melewatkan Obyek Sebagai Pointer

Definisi fungsi (cara 1)

void lihat_matkul(Matkul *matakuliah)

{

(*matakuliah).lihat_data();

}

Definisi fungsi (cara 2)

void lihat_matkul(Matkul *matakuliah)

{

matakuliah->lihat_data();

}

Pemanggilan

Matkul jur_ts;

lihat_matkul(&jur_ts)

(33)

Array Obyek

Suatu array juga bisa mempunyai elemen berupa obyek

Sintaks:

NamaKelas NamaObyek[jumlah_data];

Contoh:

Matkul data_matakuliah[10];

Inisialisasi:

Matkul data_matakuliah[2] =

{

{Matkul(“PBO”, 3, ‘A’)}, //Matkul : nama konstruktor

{Matkul(“Prak PBO”, 2, ‘B’)}

(34)

Nilai Balik Berupa Obyek

Sebuah fungsi dapat menggunakan obyek sebagai

tipe nilai balik

Sintaks:

TipeNilaiBalik NamaFungsi(TipeData

NamaVariabel)

Contoh:

Matkul IsiData(char *nama_mk, int sks_mk, char

nilai_mk);

(35)

Pointer ke Fungsi Anggota

Fungsi anggota dapat diakses melalui pointer

Sintaks:

TipeNilaiBalik (NamaKelas::*NamaPointer) (Parameter, …);

TipeNilaiBalik dan Parameter dari pointer tergantung pada tipe

nilai balik dan parameter dari fungsi yang akan diakses

Contoh:

Class Contoh { public: void FContoh1() {cout << “tes”;} int FContoh2(int x, int y)

{return(x+y);} };

(36)

Pointer ke Fungsi Anggota

Pointer ke fungsi dengan nilai balik void dan tidak

mempunyai parameter:

- Deklarasi:

void (Contoh::*ptr_contoh1) ();

- Mengakses fungsi FContoh1 dengan pointer:

ptr_contoh1 = &Contoh::FContoh1;

- Menjalankan fungsi yang ditunjuk oleh pointer:

(x.*ptr_contoh1)();

(37)

Pointer ke Fungsi Anggota

Pointer ke fungsi dengan nilai balik int dan dua

parameter bertipe int:

- Deklarasi:

int (Contoh::*ptr_contoh2) (int, int);

- Mengakses fungsi FContoh2 dengan pointer:

ptr_contoh2 = &Contoh::FContoh2;

- Menjalankan fungsi yang ditunjuk oleh

pointer:

(x.*ptr_contoh2)(2,3);

x adalah nama obyek

Referensi

Dokumen terkait

Solusi masalah dalam rantai pasokan yang di dukung TI  Area Masalah.  Komunikasi

 Program Java yang ditulis dapat dieksekusi di paltform manapun tanpa memerlukan kompilasi ulang (portable) asalkan Java Virtual Machine untuk platform tersebut tersedia..

- Ketika kita memindah fokus dari sebuah form ke form lain, maka form yang kehilangan fokus akan menerima event deactivate dan form yang menerima fokus akan menerima event