Gambaran Kuliah Pemrograman Terstruktur
Pemrograman Terstruktur SKS/Semester : 3/4 Prasyarat : Struktur Data Sifat : Wajib Pustaka : Buku Pemrograman Terstruktur. Jeri R. Hanly, Elliot B. Koffman, Problem Solving and Program Design in C, 3th edition, Addison Wesley, 2002. Thomas H. Cormen, Charles E.Leiserson, Ronald L. Rivest, Introduction to Algorithms, McGraw-Hill, 2003.
Tujuan Pembelajaran / Kompetensi Mahasiswa : Mahasiswa memahami metodologi pengembangan software (analisis, design, coding, testing, dokumentasi) dan mampu menerapkan metodologi tersebut pada persoalan-persoalan sederhana. Mahasiswa mampu berkomunikasi dan bekerja sama dalam sebuah tim melalui mekanisme dokumentasi program. Mahasiswa mampu merancang program secara modular/terstruktur dengan menggunakan fungsi-fungsi. Mahasiswa mampu merancang algoritme dengan benar dan efisien, serta mampu melakukan analisis kompleksitas terhadap algoritme tersebut. Mahasiswa memahami elemen-elemen bahasa pemrograman C dan mampu mengimplementasikan hasil rancangannya secara benar. Mahasiswa mampu menuangkan hasil pemikirannya dalam bahasa lisan maupun tulisan dengan baik.
Prasyarat ??? Struktur Data Pemrograman Terstruktur Pemrograman Berorientasi Obyek Design dan Analisis Algoritme Rekayasa Perangkat Lunak Analisis dan Design Terstruktur Pemrograman Berbasis Web ??? Pemrograman API Analisis dan Design Berorientasi Obyek Proyek Perangkat Lunak Tugas Akhir
Materi Pert. Materi Global Materi Rinci 1 Gambaran Umum Mengenai Pemrograman Metodologi Pengembangan Software (analisis, design, coding, testing, dokumentasi) Contoh penerapan metodologi pengembangan software pada persoalan-persoalan sederhana: konversi satuan jarak dari mil ke kilometer, konversi suhu dari Fahrenheit ke Celcius Langkah-langkah utama penulisan program (coding) dalam bahasa C menggunakan Borland C++ versi 2
Materi Pert. Materi Global Materi Rinci 2 Gambaran Umum tentang C Elemen-elemen bahasa C, deklarasi variable, executable statement, bentuk umum program C, ekspresi aritmetika, tipe data sederhana Macam-macam error : syntax error, logical error, run time error, undetected error Menulis program-program sederhana : hello world, 2 program pada pertemuan sebelumnya Studi kasus: Konversi uang dengan satuan besar ke dalam uang dengan satuan kecil.
Materi Pert. Materi Global Materi Rinci 3 Pemrograman Terstruktur /Modular Perancangan Top-Down menggunakan Fungsi Macam-macam fungsi : tanpa argumen, input argumen, output argument Pointer, alokasi memori dinamik, passing parameter by value, passing parameter by reference Fungsi-fungsi pustaka dalam C Structure chart, pseudocode, flowchart Studi kasus : Menggambar bentuk-bentuk sederhana
Materi Pert. Materi Global Materi Rinci 4 Percabangan Statement if If bersarang Statement switch Studi kasus : tagihan listrik 5 Perulangan Statement while Statement for Perulangan bersarang Studi kasus : menghitung greatest common divisor (gcd)
Materi Pert. Materi Global Materi Rinci 6 Array Deklarasi dan penggunaan Array Array Multidimensi Array sebagai parameter fungsi Studi kasus : Analisa data pemasaran 7 Algoritme Notasi dan fungsi pertumbuhan Analisis algoritme : worst-case, average-case, best-case Perancangan algoritme : pendekatan incremental, rekursif, divide-and-conquer
Materi Pert. Materi Global Materi Rinci 8 Sorting Definisi sorting Sorting menggunakan pendekatan incremental (insertion sort, selection sort) beserta analisis kompleksitas Sorting menggunakan pendekatan divide-and-conquer beserta analisis kompleksitas 9 Searching Definisi searching Teknik-teknik searching dasar (sequential searching, index sequential searching, binary searching, interpolation searching) beserta analisis kompleksitas
Materi Pert. Materi Global Materi Rinci 10 String String sebagai “array of char” Fungsi-fungsi dalam pustaka “string.h” untuk mengakses string Studi kasus : text editor 11 Fungsi Rekursif Definisi rekursif Contoh-contoh fungsi rekursif : factorial, fibonacci Tracing fungsi rekursif Studi kasus : Towers of Hanoi
Materi Pert. Materi Global Materi Rinci 12 Structure dan Union User-defined Structure Types Structure/Union sebagai parameter fungsi Studi kasus : Konversi unit measurement universal 13 Pemrosesan File Variabel “file pointer” I/O data menggunakan file teks dan file binary Studi kasus : Basis Data mahasiswa
Materi Pert. Materi Global Materi Rinci 14 Program Berukuran Besar Penggunaan abstraksi untuk mengelola kompleksitas: abstraksi prosedural, abstraksi data, information hiding, reusable code Membuat file pustaka sendiri (file header, file implementasi) Studi kasus : Membuat fungsi-fungsi pustaka untuk mengelola basis data kamus 15 Struktur Data Dinamik Linked List Penelurusan node-node dalam list Studi kasus : ordered list of integer