1 / 18

Pendahuluan

Dr. Anto Satriyo Nugroho, M.Eng Email: asnugroho@gmail.com Web: http://asnugroho.net/lecture/dp.html. Pendahuluan. Mata Kuliah: Dasar Pemrograman. Penentuan nilai akhir. Bobot tiap nilai Quiz: 30% UTS: 30% UAS: 40%. Cara Belajar (1). Datang tepat waktu Baca basmalah

Faraday
Download Presentation

Pendahuluan

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dr. Anto Satriyo Nugroho, M.Eng Email: asnugroho@gmail.com Web: http://asnugroho.net/lecture/dp.html Pendahuluan Mata Kuliah: Dasar Pemrograman

  2. Penentuan nilai akhir • Bobot tiap nilai • Quiz: 30% • UTS: 30% • UAS: 40%

  3. Cara Belajar (1) • Datang tepat waktu • Baca basmalah • Membuat catatan: misalnya dengan mem-print slide dan membuat catatan pada slide • Ketinggalan sekali saja, akan berakibat fatal. Cukup berat memahami kuliah berikutnya. • Kalau tidak faham segera bertanya • Kalau terlalu cepat, jangan segan minta agar diperlambat • Kalau terlalu lambat, jangan segan minta agar dipercepat • Mengulang materi yang diajarkan di rumah • Melatih SENDIRI kemampuan programming dari materi yang diajarkan

  4. Cara belajar (2) • Materi dari dosen sifatnya hanya pengantar • Tidak semua hal diajarkan dalam kelas • Siswa dituntut untuk belajar sendiri • Utamakan banyak latihan ! • Pemrograman lebih mudah dikuasai lewat memperbanyak jam terbang, tidak sekedar menghafal materi yang diajarkan

  5. Definisi • Algoritma • sejumlah langkah komputasi yang mengubah masukan • (input) menjadi keluaran (output) yang benar. • Struktur data • cara pengaturan data agar bisa disimpan • memory komputer secara efisien Program algoritma yang diimplementasikan dalam bahasa pemrograman tertentu

  6. Tahapan dalam Pemrograman • Analisa masalah • Memilih algoritma dan struktur data untuk menyelesaikan masalah itu • Coding (implementasi algoritma memakai bahasa pemrograman tertentu)

  7. Tahapan dalam Pemrograman • Analisa masalah • Mendefinisikan masalah • Membuat model Memilih algoritma dan struktur data untuk menyelesaikan masalah itu 3. Merancang algoritma Coding (implementasi algoritma memakai bahasa pemrograman tertentu) 4. Menulis program 5. Kompilasi: source code diubah menjadi executable code 6. Memeriksa hasil kompilasi 7. Menjalankan dan menguji program 8. Perbaikan kesalahan 9. Dokumentasi

  8. Contoh Algoritma • GCD: Greatest Common Divisor (Faktor Persekutuan Terbesar) • Menguji apakah sebuah bilangan adalah bilangan prima • Menghitung luas segitiga

  9. Contoh 1: Menghitung Luas Segitiga • Definisi masalah: bagaimana menghitung luas sebuah segitiga jika diketahui alas dan tingginya • Membuat model matematika untuk menghitung luas segitiga luas = alas x tinggi 2 Masalah telah diketahui dan diformulasikan secara matematis. Formulasi tsb. bisa berupa tulisan tangan, ketikan, dsb.

  10. Menuliskan algoritma memakai Pseudocode • input alas • input tinggi • luas ← ( alas x tinggi ) / 2 • print luas Formulasi itu dituangkan ke dalam langkah-langkah Implementasi. Ada standardisasi cara penulisan yang dipakai yang lebih dekat ke arah bahasa pemrograman. Misalnya flowchart, bahasa indonesia terstruktur, pseudo code, dsb.

  11. Menuliskan program • Mengubah algoritma menjadi program (source code) dalam bahasa tertentu (Contoh bahasa pemrograman: C, Pascal, Basic, dsb) #include <stdio.h> main() { float alas, tinggi, luas; alas=10.0; tinggi=3.5; luas = alas*tinggi/2; printf(“luas: %f\n”,luas); } Flowchart atau pseudocode diterjemahkan ke bahasa pemrograman tertentu dengan mematuhi kaidah penulisan syntax (kalimat) pada bahasa tersebut. Hasilnya berupa source code.

  12. Kompilasi dan Eksekusi • Pada tahap ini source code (kode sumber) diubah menjadi kode yang bisa dijalankan oleh komputer (executable). • Kode yang executable inilah yang kemudian dieksekusikan.

  13. Syarat-syarat Algoritma • Finiteness Algoritma harus berakhir setelah melakukan sejumlah langkah proses • Definiteness Setiap langkah algoritma harus didefinisikan dengan tepat dan tidak menimbulkan makna ganda • Input Setiap algoritma memerlukan data sebagai masukan untuk diolah • Output Setiap algoritma memberikan satu atau beberapa hasil keluaran • Effectiveness Langkah-langkah algoritma dikerjakan dalam waktu yang “wajar” (Donald E. Knuth)

  14. Hubungan antara Algoritma & Struktur Data • Wirth: algoritma + struktur data = program • Algoritma →penyelesaian satu masalah secara matematis • Turing machine • Model matematika komputer • Memiliki tape dengan panjang tak terhingga sebagai alat penyimpan ingatan (memory) • Running time, kecepatan tak terhingga • Padahal komputer yang ada sangat terbatas baik memory maupun kecepatannya

  15. Turing Machine • Head bergeser ke kiri-kanan dengan kecepatan tak terbatas • Head membaca/menulis data pada pita • Panjang pita tak terbatas Status controller head … … Pita 1 dimensi dengan panjang tak terhingga

  16. Hubungan antara Algoritma & Struktur Data • Di dunia nyata, kemampuan komputer maupun memory sangat terbatas 1234.345 42.0 12.4 19.902 14.5 17.8

  17. Urutan pelajaran pemrograman • Dasar Pemrograman : Mempelajari bahasa pemrograman C • Struktur kendali proses (if-else, for, while, do-while, …) • Fungsi • Array • Pointer • Structure • Struktur Data • Linear List • Stack • Queue • Doubly Linked List • Tree structure • Hash • Algoritma • Sequential & Binary Search • Sort (Bubble, Selection, Insertion, Quick, Merge) • Dll.

  18. Apakah bahasa C ? • Dikembangkan sekitar tahun 1970, oleh Brian W. Kernighan & Dennis M. Ritchie (peneliti pada Bell Laboratory) untuk dipakai pada UNIX Operating System • Procedural Programming Language • Compiled Language : C compiler diperlukan untuk mengubah source code (human readable) ke dalam bahasa yang difahami oleh hardware komputer • C sering dipakai dalam system programming (memanage & control hardware agar software aplikasi dapat dijalankan)‏ • Recursion • Akses ke memory lewat pointer

More Related