Home > OO Programming > Prosedural vs OO (Part 1)

Prosedural vs OO (Part 1)

seorang project manager menandingkan kedua programmernya dalam membangun sebuah aplikasi. Tentu saja akan memberikan hadiah kepada yg terbaik. Kedua programmer tersebut adalah Larry, programmer aliran prosedural dan Brad yg beraliran OO. Mereka sama2 anggap ini tugas yg mudah..

Ok.. Spesifikasi tugasnya adalah sebagai berikut ..

akan ada beberapa bentuk image yg akan ditampilkan di GUI. Persegi (bujur sangkar), lingkaran dan segitiga. Ketika user menclick image tersebut. Maka image tersebut akan berotasi sebesar 360 derajat dan mengeluarkan suara yg dari file .mp3 yg sesuai dengan bentuknya.

Nah kita akan melihat cara kedua programmer tersebut berpikir ..

Larry …
Apa ya … yg akan dilakukan program ini ? Prosedur apa yg dibutuhkannya ? Tentu saja rotasi dan memainkan suara. rotate and playSound. Nah dia kemudian langsung membuat kedua prosedur tersebut.

Brad …
Apa2 saja object yg ada dalam program ini ? siapa2 saja yg terlibat ? Oke. Bentuk Image atau The Shape. Juga ada object lain seperti User, Sound, Clicking Event. Tapi ga yg itu ga usah dibangun lagi dari awal. Udah ada kok librarynya. Jadi kita fokus ke Shape saja.

Kemudia kedua programmer tersebut pun mulai coding.

Code prosedural Larry

void rotate(shapeNum) {
	// putar shape tersebut 360
        // kelihatannya di sini make array karena dan shapeNum adalah 
       // indexnya ....
}

void playSound(shapeNum) {
	if (shapeNum == 1)
	 playSoundFileNum1();
	else if (shapeNum == 2)
     playSoundFileNum2();
    ....
}

code oo dari Brad

class Square {
	void rotate() {
		// code untuk memutar Square	
	}
	
	void playSound() {
		// mainkan mp3 sound yg sesuai untuk square	
	}
}

class Circle {
	void rotate() {
		// code untuk memutar Circle	
	}
	
	void playSound() {
		// mainkan mp3  sound yg sesuai untuk circle	
	}
}

class Triangle {
	void rotate() {
		// code untuk memutar Triangle	
	}
	
	void playSound() {
		// mainkan mp3  sound yg sesuai untuk Triangle	
	}
}

bersambung …

Categories: OO Programming Tags: , ,
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: