3. Learning Objective Students are able to solve problems by designing Class Diagram and build applications using object oriented approach as well, both work individually and work in a team Mahasiswa mampu memodelkan permasalahan di dalam diagram kelas dan membangun aplikasinya berdasarkan pendekatan berorientasi obyek dengan baik, baik secara mandiri atau juga dalam kerjasama tim 25/08/2009 Hadziq Fabroyir - Informatics ITS 3
4. Competencies – (1) Students are able to explain the differences between OOP concept and traditional-structured approachMampu menjelaskan perbedaan konsep pemrograman berorientasi obyek dengan pendekatan tradisional lainnya Students are able to write code on C++Mampu menulis program menggunakan bahasa C++ Students are able to build executable from C++ codesMampu membangun executable file dari sekumpulan source code berbahasa C++ Students are able to solve some problems into OOP codesMampu memecahkan suatu permasalahan ke dalam bentuk program yang berorientasi obyek 25/08/2009 4 Hadziq Fabroyir - Informatics ITS
5. Competencies – (2) Students are able to specify problems into Class DiagramMampu memodelkan permasalahan di dalam diagram kelas Students are able to use C++ standard libraryMampu menggunakan library standard dari C++ Students are able to build GUI application in OOPMampu membangun aplikasi GUI dalam bentuk program yang berorientasi obyek 25/08/2009 Hadziq Fabroyir - Informatics ITS 5
6. Competencies – (3) Students are able to build multithreading application in OOPMampu membangun aplikasi multithreading dalam bentuk program yang berorientasi obyek Students are able to build network-based application in OOPMampu membangun aplikasi berbasis jaringan dalam bentuk program yang berorientasi obyek Students are able to test the application using unit testing methodMampu menguji program menggunakan metode unit testing 25/08/2009 Hadziq Fabroyir - Informatics ITS 6
7. Subject Matter What are we going to learn and explore … 25/08/2009 Hadziq Fabroyir - Informatics ITS 7
11. Others … Class Diagram:Class notation &Relation notation between classes Exception and Error Handling C++ Standard Libraries:Input/Output, Mathematics, Random Thread, Event Handling, Networking Unit Testing 25/08/2009 Hadziq Fabroyir - Informatics ITS 11
12. References E. Balgurusamy, “Object-Oriented Programming with C++”, Tata McGraw-Hil Publishing Company Limited,1995. Peter Müller, “Introduction to Object-Oriented Programming with C++”, GlobeWide Network Academy, 1996. http://www.gnacademy.org Jesse Liberty and Vishwajit Aklecha, ”C++ Unleashed”, SAMS, 1998. Stanley B. Lippman, Jose Lajoie, Barbara E. Moo, “C++ Primer”, 4th-Edition, Addison-Wesley Professional, 2005. 25/08/2009 Hadziq Fabroyir - Informatics ITS 12
13. Evaluation Mode How is the score going to be … 25/08/2009 13 Hadziq Fabroyir - Informatics ITS
14. Notice that … There will be no mid-exam and final exam anymore [ 14 ] Hadziq Fabroyir - Informatics ITS 25/08/2009
15. Students have to work on the problem set individually. They should make an appointment with lecturer assistant for demo/presentation issues. It might be any problem sets in every single meeting. Sometimes lecturer assistant will arrange some response laboratory session to discuss about how to solve the “weekly” problem set practice. Students might join it. The score range is up to 70 “Weekly” Practice [ 15 ] Hadziq Fabroyir - Informatics ITS 25/08/2009
16. This is the final project subtituting the final-exam Students have to accomplish it within a team by the end Students ought to build the team as early as possible. They could start the project from now on and might have some guiding from the teaching team if they wish The project will be assessed by following criterion (score: 0-70): Ideas Design Logical Data Presentation Ultimate Project [ 16 ] Hadziq Fabroyir - Informatics ITS 25/08/2009
17. Psychomotoric Evaluation How should we do for gaining the rest point … [ 17 ] Hadziq Fabroyir - Informatics ITS 25/08/2009
18. [ 18 ] Hadziq Fabroyir - Informatics ITS 25/08/2009
19. Cendol Ijo Doing the “weekly” practice (1 point) Asking question / Giving opinion (1 point in a day) Accidental occasion (x point) [ 19 ] Hadziq Fabroyir - Informatics ITS 25/08/2009
20. Bata Merah Using Instant Messaging (Y!M, Skype, MSN, G-Talk, Fring, etc) and having a chat during lecture session (1 point penalty) Using internet for browsing except all the things related to the lecture (1 point penalty) Not doing the “weekly” practice (1 point penalty) Plagiarism (1 point penalty) … [ 20 ] Hadziq Fabroyir - Informatics ITS 25/08/2009
21. Special Award for the Winners Join competition! Win it! Get 100 score for your course (“A” mark) [ 21 ] Hadziq Fabroyir - Informatics ITS 25/08/2009
22. We realize it … [ 22 ] Hadziq Fabroyir - Informatics ITS 0,5 hour O hour 1 hour 25/08/2009
23. We might get break … If you wish … [ 23 ] Hadziq Fabroyir - Informatics ITS 25/08/2009
24. OOP (D) Teaching Team Hadziq Fabroyirhadziq@gmail.com Firman Rosdiasnyahfirman@cs.its.ac.id 25/08/2009 Hadziq Fabroyir - Informatics ITS 24
25. Please, join the group [ 25 ] Hadziq Fabroyir - Informatics ITS 25/08/2009
26. ☺~ Any Question ?¿ ~☺ [ 26 ] Hadziq Fabroyir - Informatics ITS 25/08/2009
27. ☺~ See You Later ~☺ 2nd meeting: C++ Getting Started [ 27 ] Hadziq Fabroyir - Informatics ITS 25/08/2009
Editor's Notes
Pengenalan Konsep Pemrograman Tradisional dan Permasalahannya: Pemrograman Tak Terstruktur, Pemrograman Prosedural, Pemrograman Modular, Permasalahan; Pengenalan Pemrograman Berbahasa C++; Struktur Program, Debugging, Menggabungkan file-file, Membangun executable file; Pengenalan Pemrograman Berorientasi Obyek; Pengenalan Konsep Obyek, Paradigma Berorientasi Obyek, Produk, Proses, dan Organisasi, Modularitas; Pemrograman Obyek dengan C++; Abstraksi Tipe Data, Deklarasi kelas, Deklarasi atribut dari kelas, Deklarasi perilaku dari kelas, Deklarasi konstruktor, Deklarasi destruktor, Mengakses Object Members, Information Hiding dan Enkapsulasi, Identifier, Keyword, dan Tipe Data, Array, Pointer, Ekspresi dan Alur Kontrol; Perancangan Kelas: Asosiasi, Inheritance, Multiple Inheritance, Kelas Abstrak, Overridden, Polymorphism, Overloading, Manipulasi Tipe Obyek saat Runtime; Diagram Kelas: Notasi kelas, Notasi relasi/asosiasi antar kelas, notasi lainnya; Exception and Error Handling; Menggunakan Library Standard C++: Input/Output, Matematika, Random; Thread; Event Handling; Networking; Unit Testing.
Pengenalan Pemrograman Berbahasa C++; Struktur Program, Debugging, Menggabungkan file-file, Membangun executable file;
Pengenalan Pemrograman Berorientasi Obyek; Pengenalan Konsep Obyek, Paradigma Berorientasi Obyek, Produk, Proses, dan Organisasi, Modularitas; Pemrograman Obyek dengan C++; Abstraksi Tipe Data, Deklarasi kelas, Deklarasi atribut dari kelas, Deklarasi perilaku dari kelas, Deklarasi konstruktor, Deklarasi destruktor, Mengakses Object Members, Information Hiding dan Enkapsulasi, Identifier, Keyword, dan Tipe Data, Array, Pointer, Ekspresi dan Alur Kontrol;
Perancangan Kelas: Asosiasi, Inheritance, Multiple Inheritance, Kelas Abstrak, Overridden, Polymorphism, Overloading, Manipulasi Tipe Obyek saat Runtime;
Latihan tiap pekanMahasiswa harus mengerjakan setiap latihan sendiri. Mereka perlu melakukan janji ketemuan sama asisten dosen untuk mendemokan hasil latihanBoleh jadi tiap pekan akan ada problem set untuk dikerjakanKadangkali asisten dosen akan menyelenggarakan responsi di lab untuk mendiskusikan problem set berikut cara menyelesaikannya.Nilai yang diberikan hanya sampai 70 saja