610 likes | 1k Views
Konsep Pemrograman Berorientasi Objek , Modular dan Terstruktur. Konsep Object-Oriented. Ide dasarnya adalah menggabungkan data dan fungsi menjadi satu kesatuan unit yang dikenal sebagai object. Yang harus diperhatikan :. Object Class Attribute Method Inheritance
E N D
Konsep Object-Oriented Ide dasarnya adalah menggabungkan data dan fungsi menjadi satu kesatuan unit yang dikenal sebagai object.
Yang harus diperhatikan : • Object • Class • Attribute • Method • Inheritance • Encapsulation/data hiding • Polymorphism
Object (Obyek) • Di dunia nyata, tiap obyek memiliki ciri dan tingkah laku (behavior). • Misalnya : • Obyek-obyek mahasiswa, ciri bisa dilihat dari warna kulit, suara, jenis kelamin. • Tingkah laku : berlari, menulis, makan.
Object (Obyek) • Di programming, ciri dari tiap obyek diimplementasikan menjadi “attribute” (atau variabel) • Tingkah laku diimplementasikan menjadi “method” (atau fungsi)
Contoh : • Pada Balok: • Objek : balok • Data : panjang, lebar dan tinggi • Fungsi : menghitung volume dan menghitung luas permukaan balok itu • Untuk menghitung volume dan luas permukaan beberapa Balok, maka harus ada beberapa objek Persegi Panjang. • Tiap Objek memiliki Data dan fungsi sendiri-sendiri
Class (Kelas) • Di dunia nyata, kita sering melihat banyak obyek dengan model yang sama. Obyek-obyek tersebut bisa memiliki perbedaan atau tidak. • Misalnya : Mobil, mahasiswa • Class adalah blueprint dalam membentuk obyek • Obyek-obyek yang sama adalah merupakan anggota dari suatu kelas.
Contoh Class Nama class atribut Metoda/ method
Person Budi Lusi Sri Contoh hubungan Antara Kelas dan Obyek Object = an instance of
Atribut dan Metode • Atribut adalah data atau field yang menentukan ciri dari suatu class / obyek. Bisa disebut juga data anggota. • Metode adalah fungsi yang dilakukan oleh class atau yang dikenakan terhadap class. Bisa disebut juga sebagai fungsi anggota (member function).
Inheritance (Pewarisan) • Sifat dari suatu kelas diturunkan kepada kelas yang lain. • Superclass : class yang diturunkan ke kelas lain. • Subclass : class yang diturunkan dari kelas lain. • Contoh : class “tabung” diturunkan dari kelas “lingkaran”
superclass Bidang Lingkaran Segi empat subclass Tabung Kubus Contoh inheritance
Encapsulation • Data hiding • Cara kerja dari suatu metode (fungsi) dalam mengakses data (atribut) bersifat tertutup. • Bersifat seperti “black box”
Polymorphism • Metode (fungsi) yang dapat melakukan tugas lebih dari satu jenis. • Dikarenakan karena terdapat beberapa metode dengan nama yang sama namun parameternya berbeda-beda.
Pemrograman Terstruktur • Adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program • Adalah teknik pemrograman secara berurut dan terstruktur dalam: analisa, cara dan penulisan program • Prinsip dari pemrograman terstruktur adalah bahwa apabila kita sudah sampai pada langkah tertentu, kita tidak boleh mengeksekusi langkah sebelumnya. Hal ini dikecualikan pada langkah-langkah untuk proses berulang.
Tujuan PT • Untuk meningkatkan kualitas dan kehandalan program • Untuk memudahkan pemahaman terhadap isi program • Untuk menyederhanakan program • Untuk maintenance (pemeliharaan) program • Untuk meningkatkan produktifitas program
Sifat / Ciri PT • Gunakan rancangan pendekatan dari atas ke bawah (top down design) -> program dimulai dengan gambaran global yang dinyatakan dengan nama prosedur/sub-rutin dan bukan isi detailnya • Bagi program ke dalam modul-modul logika yang sejenis, • Gunakan sub-program untuk proses-proses sejenis yang sering digunakan. • Gunakan pengkodean terstruktur: IF ... THEN, DO ... WHILE dan lain-lainnya. • Menghindari penggunaan perintah GO TO bila tidak diperlukan
Contoh PT • COBOL(Common Busines Oriented Language). • FORTRAN(FORmula TRANslator) • BASIC(Beginner All Purpose Symbolic Interchange Code). • Pascal(Dinamakan untuk menghormati Blaise Pascal) • Ada (Dinamakan untuk menghormati Ada Lovelace) • C
Bentuk / Struktur Dasar PT • Sequence Structure: dieksekusi berdasarkan urutannya. • Selection Structure: terdapat sejumlah perintah yang dikerjakan tergantung dari kondisi yang dipenuhinya. • Loop/Iteration Structure: menggambarkan perulangan dari satu atau lebih instruksi.
Ex. PT • COBOL(Common Busines Oriented Language). • FORTRAN(FORmula TRANslator) • BASIC(Beginner All Purpose Symbolic Interchange Code). • Pascal(Dinamakan untuk menghormati Blaise Pascal) • Ada (Dinamakan untuk menghormati Ada Lovelace) • C
Review PT dengan C • Susunan C: • Diawali dengan header library • #include<stdio.h> • Diikuti body • Variable Global • Function / Procedure / Method • Harus ada function main() sebagai titik masuk program • int main() { statements; return 0;}
Variable • Deklarasi variable: • <data type> <variable_name>(, <variable_name_2 dst>); • int height; • int height, width;
signed unsigned Modifier • short • long
Struct • Digunakan untuk mendeklarasikan tipe data baru yang berisikan kumpulan sejumlah variable.
Array & Pointer • Array: kumpulan data sejenis • char j[20]; • char j[] = {‘a’, ‘b’}; • Pointer: variable yang berisi alamat memori • Bentuk umum: <tipe data> *<nama var>; • int v = 5; • int *p = &v; • printf("the value of p is %p\n", p); • printf("the value at that address is %d\n", *p);
Flow Control • Selection / Branching • If Else • ? : Operator • Switch Case • Iteration / Looping • While • For • Break & Continue
If Else • if (expression) statement; or • if (expression) { Block of statements; } or • if (expression) { Block of statements; }else { Block of statements; } or • if (expression) { Block of statements; } else if(expression) { Block of statements; }else { Block of statements; }
? : Operator • condition ? X : Y;
Switch Case • switch( expression ) {case constant-expression1: statements1; break; [case constant-expression2: statements2; break;][case constant-expression3: statements3; break;][default : statements4; break;]}
While • while ( expression ) { Single statement; or Block of statements;} • do { Single statement; or Block of statements;} while (expression);
For • for(expression1; expression2; expression3) { Single statement; or Block of statements;} • expression1 - Initializes variables. • expression2 - Conditional expression, as long as this condition is true, loop will keep executing. • expression3 - expression3 is the modifier which may be simple increment of a variable.
Break & Continue • break -- exit form loop or switch. • continue -- skip 1 iteration of loop.
Function / Procedure / Method • Adalah sebuah module / blok code program yang berurusan dengan sebuah tugas tertentu. • Functions punya 2 tujuan: • They allow a programmer to say: `this piece of code does a specific job which stands by itself and should not be mixed up with anyting else', • Second they make a block of code reusable since a function can be reused in many different contexts without repeating parts of the program text. • Function dapat memiliki sejumlah parameter, melakukan pemrosesan dan kemudian dapat mengembalikan sebuah nilai (bisa Y/N).
Function • <return type> <name>(<param1, [param2, dst]>) { statements; [return value;]} • return type: • void • data type ttn
Tujuan Mahasiswa mampu memecah sebuah program besar menjadi sejumlah subprogram.
Filosofi Untuk mencapai suatu tujuan besar, maka tujuan tsb harus dibagi-bagi menjadi tujuan kecil sampai tujuan kecil itu merupakan tujuan yang dapat dicapai berdasarkan potensi yang dimiliki saat itu (Al Khuwarizmi)
Definisi Pemrograman modular adalah teknik pemecahan sebuah program besar menjadi sejumlah subprogram. Sebuah program yang besar sebaiknya dipecah menjadi beberapa subprogram dimana setiap subprogram melakukan komputasi yang spesifik.
Keuntungan Pemrograman Modular Modularisasi program memberikan dua keuntungan: Pertama, untuk aktivitas yang harus dilakukan lebih dari satu kali, modularisasi menghindari penulisan teks program yang sama. Keuntungan kedua adalah kemudahan dalam menulis dan menemukan kesalahan (debug) program.
Contoh #include <stdio.h> void main() { int A, B, C, D, temp; printf("Masukkannilai A B C D: "); scanf("%d %d %d %d",&A, &B, &C, &D); temp = A; A = B; B = temp; if (C > D) { temp = C; C = D; D = temp; } printf("Nilai A B C D setelahpertukaranadalah:%d %d %d %d\n", A, B, C, D); }