• Tidak ada hasil yang ditemukan

REKAYASA PERANGKAT LUNAK (RPL) Implementasi PL

N/A
N/A
Protected

Academic year: 2021

Membagikan "REKAYASA PERANGKAT LUNAK (RPL) Implementasi PL"

Copied!
18
0
0

Teks penuh

(1)

REKAYASA PERANGKAT

REKAYASA PERANGKAT

LUNAK (RPL)

LUNAK (RPL)

Implementasi PL

Implementasi PL

(2)

Pendahuluan

Pendahuluan

Relevansi

Relevansi

Perkuliahan

Perkuliahan

Akankah

Akankah

kita

kita

bisa

bisa

menikmati

menikmati

gedung/rumah

gedung/rumah

dari

dari

sebuah

sebuah

gambar

gambar

rancangan

rancangan

tanpa

tanpa

membangunnya

membangunnya

?

?

Implementasi

Implementasi

PL

PL

adalah

adalah

satu

satu

-

-

satunya

satunya

jalan

jalan

agar PL

agar PL

yang

yang

sudah

sudah

dirancang

dirancang

dengan

dengan

baik

baik

dapat

dapat

digunakan

digunakan

Tujuan

Tujuan

Instruksional

Instruksional

Khusus

Khusus

Mahasiswa

Mahasiswa

akan

akan

dapat

dapat

menjabarkan

menjabarkan

bagaimana

bagaimana

mentransformasikan

mentransformasikan

hasil

hasil

perancangan

perancangan

PL

PL

ke

ke

dalam

dalam

bahasa

(3)

Agenda

Agenda

Pembahasan

Pembahasan

Pengertian

Pengertian

dan

dan

Metode

Metode

Bahasa

Bahasa

Object Oriented Programming

Object Oriented Programming

-

-

OOP

OOP

OOP

OOP

: C++

: C++

OOP

OOP

: Java

: Java

Implementasi

(4)

Pengertian

Pengertian

,

,

Metode

Metode

Implementasi

Implementasi

hasil

hasil

dari

dari

perancangan

perancangan

ke

ke

dalam

dalam

kode

kode

(

(

coding

coding

)

)

sesuai

sesuai

dengan

dengan

sintaks

sintaks

dari

dari

bahasa

bahasa

pemrograman

pemrograman

yang

yang

digunakan

digunakan

Metode

Metode

:

:

Pemrograman

Pemrograman

terstruktur

terstruktur

(

(

Structured Programming

Structured Programming

-

-SP

SP

)

)

Pemrograman

Pemrograman

berorientasi

berorientasi

objek

objek

(O

(O

bject Oriented

bject Oriented

Programming

(5)

Bahasa

Bahasa

Structured Programming

Structured Programming

:

:

C

C

Pascal

Pascal

Basic,

Basic,

dll

dll

.

.

Object Oriented Programming

Object Oriented Programming

:

:

C++

C++

Java

Java

Smalltalk,

Smalltalk,

dll

dll

.

.

(6)

Object Oriented Programming

Object Oriented Programming

Enkapsulasi

Enkapsulasi

(

(

encapsulation

encapsulation

)

)

abstraksi

abstraksi

data

data

dan

dan

fungsi

fungsi

direpresentasikan

direpresentasikan

dalam

dalam

sebuah

sebuah

klas

klas

:

:

atribut

atribut

dan

dan

operasi

operasi

Penyembunyian

Penyembunyian

Informasi

Informasi

(

(

information hiding

information hiding

)

)

pengaturan akses terhadap anggota klas (atribut dan operasi) dar

pengaturan akses terhadap anggota klas (atribut dan operasi) dar

i sebuah

i sebuah

klas maupun klas itu sendiri

klas maupun klas itu sendiri

public

public

, private

,

private

, protected

,

protected

dan

dan

friend

friend

Pewarisan

Pewarisan

(

(

inheritance

inheritance

)

)

penurunan

penurunan

karakteristik

karakteristik

dan

dan

perilaku

perilaku

sebuah

sebuah

klas

klas

klas

klas

turunan

turunan

(derived class/sub class)

(derived class/sub class)

klas

klas

induk/dasar

induk/dasar

(super class)

(super class)

Polimorfisme

Polimorfisme

(

(

polymorphism

polymorphism

)

)

sebuah

sebuah

operasi/antar

operasi/antar

muka

muka

yang

yang

memiliki

memiliki

banyak

banyak

bentuk

bentuk

implementasi

implementasi

(7)

Object Oriented Programming : C++

Object Oriented Programming : C++

Class/Object

Class/Object

sifat

sifat

akses

akses

anggota

anggota

klas

klas

(

(

atribut

atribut

&

&

operasi

operasi

) : private

) :

private

(

(

klas

klas

ybs

ybs

.),

.),

protected

protected

(

(

klas

klas

ybs

ybs

.

.

dan

dan

turunannya

turunannya

), public

),

public

(

(

semua

semua

klas

klas

)

)

dan

dan

friend

friend

(

(

klas

klas

tertentu

tertentu

yg

yg

diberi

diberi

hak

hak

)

)

memiliki

memiliki

konstruktor

konstruktor

dan

dan

destruktor

destruktor

class Sensor

{

friend class Display;

public: enum OperatingState {Off, StandBy, Monitor}; // Create a Sensor

Sensor (); // Destructor ~Sensor ();

int ConvertTo (float theScale, float theBias, char* unitsOfMeasure); int AddressOf ();

OperatingState StateOf (); void WaitForMonitor (); // Initialize and Monitor the Sensor

int Initialize (int theInitSequence); void MonitorForAlarmCondition (); ……

(8)

Object Oriented Programming : C++

Object Oriented Programming : C++

Class/Object (

Class/Object (

lanjutan

lanjutan

)

)

protected: // Attribute for Sensor – accessible only to derived classes char* ModelNumber; char* Manufacturer; int InitSequence; float Interval; int Address; OperatingState State; float Threshold; float Value; ……

private: // Class variable identifying object type static char* theObjectType = “Sensor”; float Sample();

int SetModelNumber (char* aModelNumber); int SetManufacturer (char* aManufacturer); ……

};

// Declaration of object

(9)

Object Oriented Programming : C++

Object Oriented Programming : C++

Generalization

Generalization

Specialization

Specialization

mendukung single

mendukung

single

dan multiple inheritance

dan

multiple inheritance

klas turunan dpt dideklarasikan sbg.

klas turunan dpt dideklarasikan sbg.

public

public

(semua anggota klas

(semua anggota klas

dasarnya dibuat public di klas turunannya) atau

dasarnya dibuat public di klas turunannya) atau private

private

(semua

(semua

anggota klas dasarnya dibuat private di klas turunannya)

anggota klas dasarnya dibuat private di klas turunannya)

class CriticalSensor : public Sensor {

public: // Create and destroy a CriticalSensor CriticalSensor ();

CriticalSensor (const CriticalSensor& aSensor, int theAddress); ~CriticalSensor ();

// Access

float ToleranceOf ();

void MonitorForAlarmCondition (); protected: float Tolerance;

private: int SetTolerance (float theTolerance); ……

(10)

Object Oriented Programming : C++

Object Oriented Programming : C++

Aggregation

Aggregation

mendukung pendefinisian klas dalam klas

mendukung pendefinisian klas dalam klas

Attribute, Service : member

Attribute, Service : member

sifat akses : private

sifat akses :

private

,

,

protected

protected

,

,

public

public

dan

dan

friend

friend

atribut dpt dideklarasikan sbg. static

atribut dpt dideklarasikan sbg.

static

(satu instansiasi untuk semua

(satu instansiasi untuk semua

objek dari klas ybs.)

objek dari klas ybs.)

konstruktor dan destruktor harus memiliki nama yg sama dengan

konstruktor dan destruktor harus memiliki nama yg sama dengan

nama klasnya, destruktor diawali dengan tanda

nama klasnya, destruktor diawali dengan tanda

tilde

tilde

(~)

(~)

class Sensor

{

public: Building BuildingAttachedTo (); protected: Building AssociatedBuilding; };

(11)

Object Oriented Programming : C++

Object Oriented Programming : C++

Attribute, Service : member (lanjutan)

Attribute, Service : member (lanjutan)

void Sensor::MonitorForAlarmCondition (); {

float SensorReading = 0.0;

AlarmDevice* WarningAlarmDevice = NULL; AlarmEvent* WarningAlarmEvent = NULL;

// Precondition State = StandBy if (StateOf () != StandBy)

ReportError (“Invalid State”); else

{

this.WaitForMonitor (); // trigger on State = Monitor while (StateOf () == Monitor)

{ delay (Interval); …… } }; delete WarningAlarmDevice; delete WarningAlarmEvent; };

(12)

Object Oriented Programming : Java

Object Oriented Programming : Java

Class/Object

Class/Object

sifat akses anggota klas (atribut & operasi) : private

sifat akses anggota klas (atribut & operasi) :

private

(klas ybs.),

(klas ybs.),

protected

protected

(klas ybs. dan turunannya) dan public

(klas ybs. dan turunannya) dan

public

(semua klas)

(semua klas)

memiliki konstruktor dan tidak ada destruktor

memiliki konstruktor dan tidak ada destruktor

public class Sensor

{ // Create a Sensor public Sensor () { // kode di sini }

public int ConvertTo (float theScale, float theBias, String unitsOfMeasure) { // kode di sini }

public int AddressOf () { // kode di sini }

public OperatingState StateOf () { // kode di sini } public void WaitForMonitor () { // kode di sini } // Initialize and Monitor the Sensor

public int Initialize (int theInitSequence); public void MonitorForAlarmCondition (); ……

(13)

Object Oriented Programming : Java

Object Oriented Programming : Java

Class/Object (lanjutan)

Class/Object (lanjutan)

// Attribute for Sensor – accessible only to derived classes protected String ModelNumber;

protected String Manufacturer; protected int InitSequence; protected float Interval; protected int Address; protected OperatingState State; protected float Threshold; protected float Value; ……

// Class variable identifying object type

private static String theObjectType = “Sensor”; // Attribute for Sensor – accessible only to this classes private float Sample();

private int SetModelNumber (String aModelNumber); private int SetManufacturer (String aManufacturer); ……

};

// Object instantiation

(14)

Object Oriented Programming : Java

Object Oriented Programming : Java

Generalization

Generalization

Specialization

Specialization

mendukung single inheritance

mendukung

single inheritance

saja

saja

menggunakan istilah

menggunakan istilah

extends

extends

untuk mewarisi, dan

untuk mewarisi, dan

‘super

super

untuk

untuk

menunjuk ke klas induknya

menunjuk ke klas induknya

klas turunan akan mendapatkan akses atribut dan operasi dari kla

klas turunan akan mendapatkan akses atribut dan operasi dari kla

s

s

induk yang bukan

induk yang bukan

private

private

public class CriticalSensor extends Sensor { // Create a CriticalSensor public CriticalSensor () { // kode di sini } // Access

public float ToleranceOf () { // kode di sini )

public void MonitorForAlarmCondition () { // kode di sini ) protected float Tolerance;

private int SetTolerance (float theTolerance) { // kode di sini ) ……

(15)

Object Oriented Programming : Java

Object Oriented Programming : Java

Aggregation

Aggregation

mendukung pendefinisian klas dalam klas

mendukung pendefinisian klas dalam klas

Attribute, Service

Attribute, Service

sifat akses : private

sifat akses :

private

,

,

protected

protected

dan

dan

public

public

atribut dpt dideklarasikan sbg. static

atribut dpt dideklarasikan sbg.

static

(satu instansiasi untuk semua

(satu instansiasi untuk semua

objek dari klas ybs.)

objek dari klas ybs.)

tidak ada destruktor

tidak ada destruktor

deklarasi dan definisi operasi harus dalam satu klas yang sama

deklarasi dan definisi operasi harus dalam satu klas yang sama

public class Sensor

{

public Building BuildingAttachedTo (); protected Building AssociatedBuilding;

(16)

Object Oriented Programming : Java

Object Oriented Programming : Java

Attribute, Service (lanjutan)

Attribute, Service (lanjutan)

public class Sensor {

private staticString theObjectType = “Sensor”; // Create a Sensor

public Sensor () {

} ……

public void MonitorForAlarmCondition () {

float SensorReading = 0.0;

AlarmDevice WarningAlarmDevice = NULL; AlarmEvent WarningAlarmEvent = NULL; // Precondition State = StandBy

if (StateOf () != StandBy)

ReportError (“Invalid State”); else { // kode di sini } // kode di sini } ……

(17)

Implementasi Perancangan (1)

Implementasi Perancangan (1)

Pemrograman Terstruktur

Pemrograman Terstruktur

Monitor sensors executive Establish alarm conditions Alarm output controller Produce display Generate alarm signal Set up conn. to phone net Generate pulses to line Acquire response info Read sensors /* File MonitorSensorsExecutive.c */ # include MonitorSensorsExecutive.h; void ResetSensor (int IDSensor); void ResetAlarm (int IDAlarm); ……

/* File MonitorSensorsExecutive.h */ # include ……

void ResetSensor (int IDSensor); void ResetAlarm (int IDAlarm); ……

(18)

Implementasi Perancangan (2)

Implementasi Perancangan (2)

Pemrograman Berorientasi Objek

Pemrograman Berorientasi Objek

Vehicle color style year make VehicleOTS VIN validateVIN()

public class VehicleOTS {

privateString VIN; public VehicleOTS () {

}

public void validateVIN (String theVIN) {

// kode di sini }

}

public class Vehicle extends VehicleOTS { privateString color; privateString style; privateDate year; privateString make; public Vehicle () { } }

Referensi

Dokumen terkait

Puji syukur kehadiran ALLAH SWT atas petunjuk dan karunia-nya akhirnya penulis dapat menyelesaikan laporan akhir ini yang berjudul “Analisis pengendalian intern atas

Lembar tugas yang diselesaikan siswa secara individu, dimaksudkan untuk mengetahui proses berpikir siswa dalam pemahaman matematis sebelum mendapatkan bantuan dari

Kriteria: Rubrik Deskriptif Bentuk non-test: • - Bentuk test: UAS • Kuliah; • Diskusi; [TM: 1x(2x50”)] • Tugas: Membuat Gambaran Ekonomi Indonesia

Pola spasial indikator pembangunan berkelanjutan dapat diketahui dengan cara menghitung nilai autokorelasi spasial indikator pembangunan berkelanjutan antar daerah, dan

Kehadiran Galeri foto dengan sifat fleksibilitas ruang dengan pendekatan tata cahaya alami ini menjadi salah satu wadah kegiatan apresiasi dan edukasi Seni Fotografi di Yogyakarta

Penyusunan RPP dilaksanakan setelah kegiatan assesmen. Mahasiswa menyusun rencana pembelajaran untuk kelas yang akan dilakukan untuk praktik mengajar. Kegiatan awal

Meskipun demikian, pada mata tanpa pterigium juga ditemukan BUT > 10 detik (lebih singkat dibanding nilai BUT normal pada orang dewasa sekitar 30 detik), TFT grade 2

Puji dan Syukur saya panjatkan kepada Allah SWT, karena berkat rahmat dan karunia-Nya saya dapat menyelesaikan Tugas Akhir ini yang berjudul “Pengembangan Manajemen VLAN