Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pendahuluan Dr. Anto Satriyo Nugroho, M.Eng Web: Mata Kuliah: Dasar Pemrograman.

Presentasi serupa


Presentasi berjudul: "Pendahuluan Dr. Anto Satriyo Nugroho, M.Eng Web: Mata Kuliah: Dasar Pemrograman."— Transcript presentasi:

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

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

3 Cara Belajar (1) 1.Datang tepat waktu 2.Baca basmalah 3.Membuat catatan: misalnya dengan mem-print slide dan membuat catatan pada slide 4.Ketinggalan sekali saja, akan berakibat fatal. Cukup berat memahami kuliah berikutnya. 5.Kalau tidak faham segera bertanya 6.Kalau terlalu cepat, jangan segan minta agar diperlambat 7.Kalau terlalu lambat, jangan segan minta agar dipercepat 8.Mengulang materi yang diajarkan di rumah 9.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 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 Definisi

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

7 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 Tahapan dalam Pemrograman

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 inputalas inputtinggi luas ← ( alas x tinggi ) / 2 printluas 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 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 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 Hubungan antara Algoritma & Struktur Data

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

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

17 Performa algoritma yang ideal –Memory yang diperlukan kecil , running time singkat Tradeoff antara waktu dan ruang (memory) BesarKecil Lama Singkat Memory Running time Hubungan antara Algoritma & Struktur Data

18 Bagaimana data harus direpresentasikan saat membuat program ? Algoritma yang baik + Struktur data yang tepat = program yang baik –Pemilihan algoritma dan struktur data yang tepat harus mempertimbangkan skala data, CPU, memori, dsb. –Perlu pengetahuan algoritma dan struktur apa saja yang ada dan mungkin dipakai Struktur data List, stack, queue, tree, dll Hubungan antara Algoritma & Struktur Data

19 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.

20 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


Download ppt "Pendahuluan Dr. Anto Satriyo Nugroho, M.Eng Web: Mata Kuliah: Dasar Pemrograman."

Presentasi serupa


Iklan oleh Google