Professional Documents
Culture Documents
Belajar memrogram adalah belajar mengenai strategi pemecahan persoalan/masalah, juga metodologi dan sistematika pemecahan tersebut kemudian menuliskannya dalam notasi yang disepakati bersama. Belajar memrogram lebih bersifat pemahaman persoalan, analisis, dan sintesis Program harus dihasilkan dari proses pemahaman masalah, analisis, sintesis dan baru kemudian dituangkan menjadi kode dalam bahasa komputer secara sistematis dan metodologis.
@2005 Electrical Engineering Department UGM
Slide 1
Lanjutan
Ilmu pemrograman berkembang menggantikan seni memrogram dan memrogram secara cobacoba (trial and error) Produk yang dihasilkan oleh seorang pemrogram adalah program dengan rancangan yang baik (metodologis dan sistematis) yang dapat dieksekusi oleh mesin, berfungsi dengan benar, sanggup melayani segala kemungkinan masukan /input, dan didukung dengan adanya dokumentasi
Slide 2
Proses vs Produk
Proses pembuatan program yang baik akan menjamin dihasilkannya produk yang baik Proses pembuatan program yang kurang baik atau buruk mungkin saja menghasilkan produk yang baik tapi setelah adanya poles sana sini secara tambal sulam
Slide 3
Problem ada untuk dipecahkan Kebanyakan problem bersifat tidak sederhana dan tidak memiliki spesifikasi yang tepat Banyak problem yang tidak mungkin diformulasikan dalam bentuk yg berlaku dalam pemecahan masalah di dunia komputer Kalaupun bisa dipecahkan oleh komputer biasanya tergantung pada beberapa parameter yang nilai layaknya hanya bisa didapatkan dengan jalan eksperimen.
Slide 4
Lanjutan
Formulasi baku atau Pemodel dan penggunaan properti model tersebut akan membantu dalam mengkontruksi sebuah solusi yang baik Cabang-cabang dalam matematika dan sain dapat digunakan sebagai layanan untuk membantu pemodelan Bila aspek-aspek tertentu dari problem dapat dinyatakan dalam model formal akan sangat bermanfaat karena sekali problem dirumuskan, maka pencarian solusi dalam model yg tepat dan tertentu sudah tersedia untuk memecahkan problem tersebut.
@2005 Electrical Engineering Department UGM
Slide 5
Lanjutan
Problem pada dasarnya bersifat numerik dan dapat dimodelkan dengan konsep matematik umum seperti persamaan linier simultan (menemukan arus atau tegangan dalam rangkaian listrik), persamaan diferensial (prediksi pertumbuhan populasi atau laju reaksi kimia). Problem pemrosesan simbol dan teks dapat dimodelkan dengan string karakter dan grammar baku Problem pemrosesan grafik dapat dimodelkan dengan format piksel dan spasial
@2005 Electrical Engineering Department UGM
Slide 6
Paradigma Pemrograman
Paradigma pemrograman adalah sudut pandang/pendekatan yang diprioritaskan atau strategi analisis yang diprioritaskan dalam pemecahan persoalan
1.
2.
3. 4. 5. 6.
Paradigma Prosedural
Paradigma ini didasarkan pada konsep mesin Von Newmann (stored program concept) yaitu : sekelompok tempat penyimpanan /memori yang dibedakan menjadi memori instruksi dan memori data, masing-masing dapat diberi nama dan harga. Instruksi akan dieksekusi satu persatu secara sekuensial oleh sebuah pemroses tunggal. Beberapa instruksi menentukan instruksi berikutnya yang akan dieksekusi (percabangan kondisional). Data diperiksa dan dimodifikasi secara sekuensial juga. @2005 Electrical Engineering Department UGM Slide 8
Lanjutan
Program dalam paradigma ini berdasarkan pada strukturasi informasi di dalam memori dan manipulasi dari informasi yang tersimpan tersebut Program = Algoritma + struktur data Kelebihan : efisiensi eksekusi karena dekat dengan mesin Kekurangan : tidak manusiawi / tidak alamiah karena harus berpikir dalam batasan mesin/komputer dan batasan ini lebih megikat daripada problematikannya sendiri
@2005 Electrical Engineering Department UGM
Slide 9
Paradigma Fungsional
Paradigma fungsional didasari atas konsep pemetaan dan fungsi pada matematika. Fungsi dapat berbentuk sebagai fungsi primitif atau komposisi dari fungsifungsi lain yang telah terdefinisi. Pemrogram mengasumsikan adanya fungsi-fungsi dasar yang dapat dilakukan Penyelesaian masalah didasari atas aplikasi fungsifungsi tersebut Jadi dasar pemecahannya adalah transformasional Semua kelakuan program adalah suatu rantai transformasi dari satu keadaan awal menuju ke rantai keadaan akhir yang mungkin melelui keadaan antara
@2005 Electrical Engineering Department UGM
Slide 10
Lanjutan
Yang menjadi perhatian di sini adalah keadaan awal dan akhir, tidak perlu mengetahui bagaimana mesin mengeksekusi instruksi dan bagaimana data di simpan dan dimanipulasi karena pada dasarnya sebuah fungsi adalah sebuah kotak hitam
Slide 11
Paradigma Logic
Paradigma ini didasari dari pendefinisian relasi antar individu yang dinyatakan sebagai predikat Sebuah pemrograman logic adalah kumpulan aksioma (fakta dan aturan deduksi) Pada paradigma ini pemrogram menguraikan sekumpulan fakta-fakta dan aturan-aturan (inference rules) Ketika program dieksekusi, pemakai mengajukan pertanyaan (Query) dan program akan menjawab apakah pernyataan itu dapat dideduksi dari aturan dan fakta yang ada
Slide 12
Lanjutan
Program akan memakai aturan deduksi dan mencocokkan pertanyaan dengan fakta-fakta yang ada untuk menjawab pertanyaan
Slide 13
Paradigma ini didasari oleh obyek Tiap obyek memiliki atribut (kumpulan sifat) dan kelakuan (kumpulan relasi dan methoda) Obyek yang satu dapat berkomunikasi dengan obyek yang lain lewat pesan dengan tetap terjaga integritasnya Kelas adalah obyek yang mempunyai atribut sama dan diturunkan ke semua obyek yang memiliki kelas yang sama Kelas memiliki hierarki, anggota dari sebuah kelas akan mendapatkan turunan atribut dari kelas di atasnya
@2005 Electrical Engineering Department UGM
Slide 14
Lanjutan
Paradigma ini menawarkan class, generic, inheritance, polymorphism dan menekankan pentingnya pendefinisian statik kelas untuk menciptakan obyek pada saat runtime yang kemudian dimanipulasi atau saling berinteraksi Definisi kelas memungkinkan adanya penurunan kelas dengan obyek pada saat runtime yang dapat berubah bentuk dengan bentuk kelakuan yang disesuaikan
Slide 15
Paradigma Konkuren
Paradigma konkuren erat kaitannya dengan arsitektur perangkat keras yang memungkinkan pemrosesan secara paralel atau perangkat lunak sistem terdistribusi yang mengelola akses konkuren
Slide 16
Paradigma Relasional
Paradigma Relasional yang didasari atas entity dan relasi dan pemrograman dalam bahasa Query yang memungkinkan diperolehnya suatu himpunan nilai
Slide 17
Identifikasi problem dan analisis kebutuhan Perancangan solusi Implementasi Testing dan dokumentasi Evaluasi
Slide 18
Identifikasi penyebab dan titik problem sehingga problem dapat didefinisikan /ditentukan untuk kemudian dapat diformulasikan Menganalisis adalah proses mengurai masalah sehingga akan diidentifikasi kebutuhankebutuhan untuk menyelesaikan masalah tersebut
Slide 19
Analisis Masalah
1. 2. 3.
4.
5.
Identifikasi dan jelaskan proses apa saja yang dibutuhkan Identifikasi dan jelaskan masukan / input apa saja yang diperlukan Identifikasi dan jelaskan keluaran / output apa saja yang dihasilkan Jelaskan bagaimana tipe dan struktur data yang akan dipakai Tetapkanlah batasan-batasan dan aturan-aturan untuk menyelesaikan masalah
Slide 20
Perancangan solusi
Perancangan dilaksanakan dengan membuat algoritma dan diagram alir (flowchart) sesuai dengan poin-poin hasil dari proses identifikasi dan analisis
Slide 21
Implementasi
Implementasi dengan jalan coding dengan salah satu bahasa pemrograman yang menerapkan salah satu paradigma pemrograman tertentu
Slide 22
Bahasa Pemrograman
1. 2. 3. 4. 5. 6.
Bahasa pemrograman mulai berkembang sekitar tahun enampuluahan Untuk tiap paradigma pemrograman tersedia bahasa pemrograman yang mempermudah implementasi rancangan penyelesaian masalahnya Contoh : Prosedural : Fortran, Algol, Pascal, Basic, C, Cobol Fungsional : LOGO, APL, LISP Logic : Prolog Berorientasi Obyek : Eifel, Java, C++, Smalltalk Konkuren : Java, C#, Ada, OCCM Relasional : SQL pada basisdata relasional
@2005 Electrical Engineering Department UGM
Slide 23
Lanjutan
Belajar bahasa pemrograman adalah belajar memakai suatu bahasa, aturan sintaksnya tiap instruksi yang ada, dan tata cara pengoperasian compiler pada bahasa yang bersangkutan Belajar bahasa pemrograman adalah belajar memanfaatkan instruksi-instruksi dan kiat yang spesifik yang ada bahasa tersebut Belajar bahasa pemrograman lebih bersifat ketrampilan daripada kepakaran karena proses coding lebih bersifat semi otomatikdengan aturan pengkodean
Slide 24
Contoh sederhana
read three numbers, add them together and print their total.
Slide 25
Contoh
Membaca dua buah bilangan pecahan yang masingmasing direpresentasikan sebagai dua buah bilangan integer yang menyatakan pembilang dan penyebut, mengalikan dua bilangan pecahan tadi dan menuliskan hasil perkaliannya Proses Output Baca 2 bilangan pecahan Hasil Perkalian Kalikan kedua bilangan tersebut Cetak Hasil Perkalian
Slide 26
Lanjutan
Slide 27