T 0456 Algoritma dan Metode Object Oriented Programming
T 0456 – Algoritma dan Metode Object Oriented Programming Week 1 – Pengertian Algoritma dan Pemrograman
Learning Outcome Pada akhir pertemuan ini, diharapkan: • Mahasiswa dapat menerangkan definisi algoritma dan kriteria penulisan algoritma yang baik. Buku Referensi: ØC++ - How to program, Deitel & Deitel, Prentice Hall, 2001. Websites: Øhttp: //www. deitel. com
Outline Materi • • • Pengertian Algoritma dan Pemrograman. Kriteria dan Penyajian Algoritma Pemrograman. Procedural Oriented Programming (POP). Object Oriented Programming (OOP). Perbedaan POP dan OOP Bahasa C++
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
Definisi Algoritma • Secara umum: Algoritma merupakan sekumpulan langkah-langkah atau instruksi-instruksi yang terbatas untuk mencari solusi suatu masalah. • Dalam bidang pemrograman, Algoritma didefinisikan sebagai suatu metode yang terdiri dari serangkaian langkah – langkah yang terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan masalah dengan bantuan komputer.
Contoh Algoritma Sederhana • Algoritma berangkat kerja 1. 2. 3. 4. 5. Bangun tidur Pergi mandi Berpakaian Sarapan pagi Pergi kerja
KRITERIA DAN PENYAJIAN ALGORITMA DAN PEMROGRAMAN
Kriteria Algoritma dan Pemrograman • Memiliki logika perhitungan / metode yang tepat untuk memecahkan masalah. • Menghasilkan output yang tepat dan benar dalam waktu yang singkat. • Ditulis dengan bahasa yang standard secara sistematis, sehingga tidak menimbulkan arti ganda. • Ditulis dengan format yang mudah dipahami sehingga mudah diimplementasikan ke dalam bahasa pemrograman. • Semua operasi yang dibutuhkan terdefinisi dengan jelas dan selalu berakhir setelah sejumlah langkah dilakukan.
Penyajian Algoritma • Teknik penulisan : Pseudo-code • Teknik gambar : Flow chart
Contoh Pseudocode • Algoritma menggunakan sebuah kalkulator Start Set the calculator ON Empty any values Do Input price Push plus button (+) while all prices have been input print total_price turn OFF calculator End
Flow Chart
Contoh Flow Chart Start Input a, b, c hasil = (a+b+c)/3 hasil > 65 Y T print “Tidak Lulus” Stop Print “Lulus”
Definisi Pemrograman • Program adalah implementasi dari suatu algoritma • Berdasarkan algoritma, akan dibuat solusi dengan bahasa pemrograman menjadi suatu software.
Ukuran Kualitas Program 1. 2. 3. 4. 5. 6. Sebuah program harus dapat mengerjakan tugasnya dengan benar Dapat melakukan tugasnya secara cepat Tidak menggunakan banyak sumber daya (processor time, memory, disk capasity, network capacity) Program mudah dibaca dan dimengerti Sebuah program harus independent dan tidak bergantung pada program lain Mudah pemeliharaannya
Ukuran Kualitas Program Lanjutan 7. Adanya kesalahan tidak mempengaruhi bagian program (error locality) 8. Proses pembuatan program selesai tepat Waktu 9. Mempunyai dokumentasi yang baik 10. Teknik OOP memungkin programmer membuat program dengan kualitas tinggi pada saat perancangan dan pembuatan kode program. 11. Ukuran kualitas software harus tertanam dalam pikiran setiap programer.
Paradigma Pemrograman Prosedural Pemrogaman Modular Pemrogaman abstraksi data Pemrogaman berorientasi obyek
Paradigma Pemrograman 1. 2. 3. 4. Pemrograman Prosedural, Pemrogaman dengan fungsi dan prosedur. Pemrogaman Modular, Pemrograman dengan menggabungkan fungsi dan prosedur ke dalam modul untuk menyembunyikan data. Pemrogaman abstraksi data, Pemrograman dengan menggunakan tipe data abstrak yang diperlukan dengan setiap tipe menyediakan semua operasi yang diperlukan tipe tersebut. Pemrogaman berorientasi obyek, Pemrograman dengan menggunakan konsep inheritance, polymorphism dan generic programming.
PROCEDURAL ORIENTED PROGRAMMING (POP)
Procedural Oriented Programming 1. 2. 3. Metode pemrograman ini memecah program menjadi beberapa fungsi dan modul. Tidak ada hubungan antara fungsi dan data, Fungsi tidak dapat membatasi akses terhadap data yang global. Data lokal tersembunyi dalam fungsi dan digunakan secara eklusif oleh fungsi tersebut, tetapi pada saat dua fungsi mengakses data yang sama, maka data tersebut harus dibuat.
Procedural Oriented Programming 4. Dalam program yang besar, terdapat banyak fungsi dan data global, sehingga timbul masalah: o Struktur program rumit. o Program sulit dimodifikasi, karena perubahan pada data global dapat menyebabkan penulisan program diulang kembali. 5. Pemrograman terstruktur menggunakan teorema terstruktur: o Sequence (berurutan). o Selection (pemilihan). o Repetition (pengulangan).
OBJECT ORIENTED PROGRAMMING
Object Oriented Programming 1. 2. Gagasan dasar dari OOP adalah menggabungkan data dengan fungsi menjadi satu kesatuan yang utuh. Karakteristik utama dari OOP adalah: o Encapsulation. o Inheritance. o Polymorphism 3. Encapsulation adalah pengemasan data dan fungsi dalam satu wadah bernama obyek.
Object Oriented Programming 4. 5. Inheritance (pewarisan) merupakan sifat dari OOP yang dimungkinkan menurunkan sifat-sifat dari suatu kelas pada kelas yang lain. Polymorphism merupakan suatu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai berbagai bentuk dan perilaku yang berbeda.
PERBEDAAN POP DAN OOP
Perbedaan OOP dan Non-Obyek 1. Penggunaan alat: Untuk menggambarkan model dalam PBO digunakan object diagram sedangkan dalam Non-PBO digunakan data flow diagram, entity relationship diagram dan structure chart 2. Data dan proses : Untuk menggambarkan model dalam PBO digunakan object diagram sedangkan dalam Non-PBO digunakan data flow diagram, entity relationship diagram dan structure chart
Struktur program dari POP
Struktur program dari OOP
BAHASA C++
Bahasa C++ 1. 2. 3. 4. Bahasa C yang dikembangkan diberi kemampuan OOP. Dikembangkan oleh Bjarne Stroustrup di AT&T Bell Labs pada 1980. Digunakan pertama kali diluar Bell Labs pada Juli 1983. Sejak 1987 mulai dikembangkan oleh ANSI dan vendor lainnya.
Bahasa C++ 5. 6. Karena merupakan subset dari bahasa C, maka library yang ditulis dalam bahasa C dapat dipergunakan dalam C++. Mendukung metode pemrograman: • Pemrograman abstraksi data, kemampuan menciptakan tipe data. • Pemrograman berorientasi obyek, pemrograman dengan hirarki kelas dan polymorphism. • pemrograman generic, dengan parameterisasi pada data dan fungsi (algoritma).
Struktur Program • Setiap program C/C++ terdiri dari satu atau lebih fungsi. Bila program tersebut adalah program/modul utama maka dalam program tersebut harus mempunyai fungsi bernama main(). • Fungsi main() adalah fungsi yang pertama kali dikerjakan dalam setiap program.
Contoh Program 1. 2. 3. 4. 5. 6. 7. 8. // program C++ sederhana #include <iostream. h> main() { cout << "Selamat belajar AMOOP“ << endl; return 0; }
Penjelasan Program • Baris (1), merupakan komentar yang tidak dieksekusi pada saat kompilasi • Baris (2), merupakan header file yangdigunakan untuk proses pembacaan dan penulisan • Baris (3), merupakan fungsi main(). Tipe data dari fungsi ini secara default adalah int, sehingga perlu return nilai integer. • Baris (4) dan (8), adalah tanda pembuka dan penutup tubuh program/fungsi main() • Baris (5), digunakan untuk menuliskan “selamat belajar AMOOP” di monitor. • Baris (6), digunakan untuk mengarahkan kursor ke baris berikutnya. • Baris (7), digunakan untuk mengembalikan nilai 0 jika program berjalan baik dan telah selesai.
Thank You
- Slides: 35