RPKPS Pemrograman Dasar

download RPKPS Pemrograman Dasar

of 16

description

RPKPS Pemrograman Dasar

Transcript of RPKPS Pemrograman Dasar

RENCANA PROGRAM KEGIATAN

RENCANA PROGRAM KEGIATAN

PEMBELAJARAN SEMESTER (RPKPS)PEMROGRAMAN DASAR

OLEH :

Indriyana Hidayah

Silmi Fauziati

JURUSAN TEKNIK ELEKTRO DAN TEKNOLOGI INFORMASI

FAKULTAS TEKNIK

UNIVERSITAS GADJAH MADA

2012Nama Matakuliah

: Pemrograman Dasar

Kode / SKS

: TEI103 / 3 SKS

Prasyarat

: -

Status Matakuliah

: Wajib

Deskripsi Singkat Matakuliah:

Matakuliah Pemrograman Dasar mempelajari konsep dan teori dasar pemrograman. Materi secara garis besar ditekankan pada komponen-komponen program, elemen-elemen dasar pemrograman, dan penguasaan teknik menyelesaikan permasalahan pemrograman. Algoritma dituliskan dalam bentuk pseudocode dan diagram alir (flowchart), sedangkan implementasi dari algoritma ke source code diberikan dengan bahasa pemrograman C.

Matakuliah ini diberikan pada semester 1 dan bersifat wajib bagi mahasiswa Program Studi Teknik Elektro dan Teknologi Informasi. Matakuliah prasyarat tidak ada.

Materi pembelajaran diberikan dalam bentuk ceramah di dalam kelas, diskusi grup antar mahasiswa, latihan-latihan di akhir sesi kelas, dan tugas-tugas pemrograman di rumah untuk memecahkan masalah pemrograman menggunakan teknik pemrograman yang baru saja diberikan.

Tujuan Pembelajaran :

Setelah menyelesaikan matakuliah ini mahasiswa dapat memahami konsep dasar sistem komputer, komponen-komponen program, elemen-elemen dasar pembentukan sebuah program dan bagaimana membangun algoritma untuk menyelesaikan masalah yang diberikan.

Materi Pembelajaran :

1 Pengantar Pemrograman Dasar 1.1 Pengenalan Sistem Komputer 1.2 Konsep Pemrograman 1.3 Paradigma Pemrograman 1.4 Metodologi Perancangan Program

2 Pengembangan Program 2.1 Langkah-langkah Pengembangan Program

2.2 Perancangan program dengan algoritma dan pseudocode 2.3 Representasi algoritma dengan flowchart 2.4 Pengecekan algoritma 3 Tipe Data dan Struktur Data 3.1 Tipe data asal (primitif) 3.2 Tipe data bentukan 3.3 Konsep Struktur Data 4 Struktur Kontrol Seleksi 4.1 Struktur Kontrol Seleksi

4.1.1 Statement IF Sederhana

4.1.2 Statement Null ELSE

4.1.3 Statement Kombinasi IF

4.1.4 Operator NOT

4.1.5 Statement nested IF

4.1.5.1 Linear nested IF statement

4.1.5.2 Non-linear nested IF statement

4.2 Algoritma dengan seleksi

4.3 Struktur Case

4.4 Problem pemrograman 5 Struktur Kontrol Perulangan 5.1 DOWHILE structure

5.1.1 Leading Decision Loop

5.1.2 DOWHILE dan perulangan tertentu (counted repetition)

5.1.3 DOWHILE dan perulangan tak tertentu (uncounted repetition)

5.1.4 Trailer Record atau Sentinel

5.2 Struktur REPEAT..UNTIL

5.2.1 Trailing Decision Loop

5.3 Counted Repetition

5.4 Problem pemrograman

6 Kombinasi Kontrol Struktur Seleksi, Repetisi dan Sekuensial 6.1 Contoh-contoh problem pemrograman menggunakan kombinasi struktur 6.2 Implementasi ke Bahasa Pemrograman C 7 Proses Array

7.1 Pengantar

7.1.1 Operasi-operasi pada Array

7.1.2 Algoritma sederhana untuk memanipulasi Array

7.2 Inisialisasi elemen array

7.2.1 Memasukkan nilai konstan ke dalam Array

7.2.2 Memasukkan nilai inisial melalui file input ke dalam Array

7.2.2.1 Array of variable size

7.2.2.2 Paired Array

7.3 Pencarian pada Array

7.3.1 Linear Search

7.3.2 Binary Search

7.4 Penulisan isi Array

7.5 Array Dua Dimensi

7.5.1 Memuat nilai ke dalam array 2 dimensi

7.5.2 Pencarian

7.6 Contoh problem pemrograman menggunakan array

8 Modularisasi

8.1 Pengantar Modularisasi

8.1.1 Proses Modularisasi

8.1.2 Mainline

8.1.3 Keuntungan penggunaan

8.1.4 Contoh algoritma solusi menggunakan modul

8.2 Hierarchy Chart

8.3 Komunikasi antar modul

8.3.1 Lingkup variabel

8.3.2 Global data

8.3.3 Local data

8.3.4 Side effects

8.3.5 Passing parameter

8.3.6 Parameter formal dan aktual

8.3.7 Value parameter

8.3.8 Reference parameter

8.4 Parameter dalam perancangan program

8.5 Langkah-langkah modularisasi

8.6 Contoh problem pemrograman menggunakan modul

9 Modularisasi Lanjutan 9.1 Modul Cohesion

9.1.1 Coincidental cohesion

9.1.2 Logical cohesion

9.1.3 Temporal cohesion

9.1.4 Procedural cohesion

9.1.5 Communicational cohesion

9.1.6 Sequential cohesion

9.1.7 Functional cohesion

9.2 Modul Coupling

9.2.1 Common coupling

9.2.2 External coupling

9.2.3 Control coupling

9.2.4 Stamp coupling

9.2.5 Data coupling

9.3 Problem pemrograman

10 Pengenalan Desain Berorientasi Obyek 10.1 Pengantar

10.1.1 Desain Prosedural vs Desain Beorientasi Obyek

10.1.2 Enkapsulasi dan information hiding

10.1.3 Obyek

10.1.4 Class

10.1.5 Attribute

10.1.6 Operasi

10.1.7 Constructor

10.1.8 Accessor dan Mutator

10.1.9 Message

10.1.10 Visibility

10.2 Langkah perancangan algoritma solusi berorientasi obyek

10.3 Contoh pemrograman menggunakan desain berorientasi obyek

11 Special Algorithm

11.1 Sorting Algorithms

11.2 Dynamic data structures

12 Flowchart 12.1 Tiga Struktur Kontrol Dasar

12.2 Algoritma sederhana menggunakan struktur kontrol sekuensial

12.3 Flowchart dan struktur kontrol seleksi

12.4 Algoritma sederhana menggunakan struktur kontrol sekuensial

12.5 Representasi flowchart untuk struktur case

12.6 Flowchart dan struktur kontrol berulang

12.7 Algoritma sederhana menggunakan struktur kontrol berulang

12.8 Contoh-contoh lanjutan menggunakan flowchart

12.9 Flowchart dan modul

13 Diagram Nassi-Scheidermann

13.1 Tiga Struktur Kontrol Dasar

13.2 Algoritma sederhana menggunakan struktur kontrol sekuensial

13.3 Diagram N-S dan struktur kontrol seleksi

13.4 Algoritma sederhana menggunakan struktur kontrol seleksi

13.5 Representasi N-S diagram untuk struktur case

13.6 N-S diagram dan struktur kontrol berulang

13.7 Algoritma sederhana menggunakan struktur kontrol berulang

14 Bahasa Pemrograman

14.1 Komparasi syntax Bahasa Pemrograman VB, Pascal, Delphi dan C

14.2 Translasi pseudocode ke dalam bahasa pemrograman

Outcome Pembelajaran:

1. Menjelaskan langkah-langkah dalam proses pengembangan program; mendiskusikan metodologi perancangan program terkini; pembentukan algoritma dan program data.

2. Mendiskusikan metode untuk menganalisa problem dan membentuk solusi; menjelaskan metode pengecekan manual bagi sebuah algoritma yang sudah dibangun.

3. Menjelaskan struktur kontrol seleksi dengan mengenalkan struktur seleksi ganda, seleksi bersarang dan konstruksi case dalam pseudocode; Menjelaskan pembentukan algoritma menggunakan variasi struktur kontrol seleksi.

4. Menjelaskan metode pengembangan algoritma menggunakan kontrol struktur repetisi dalam bentuk DOWHILE, REPEAT...UNTIL, dan loop repetisi tertentu.

5. Mendiskusikan metode pengembangan algoritma dalam memecahkan problem yang menggunakan kombinasi kontruksi sekuensial, seleksi dan repetisi.

6. Menjelaskan Array, operasi pada array dan algoritma untuk memanipulasi array; menjelaskan algoritma untuk array satu dan dua dimensi, meliputi inisialisasi array, pencarian dalam array, dan menampilkan isi dari array.

7. Mendiskusikan konsep modularisasi sebagai teknik pembagian problem menjadi subtask; Menjelaskan konsep hierarchy chart dan parameter passing; Menjelaskan algoritma pembentuk struktur modular.

8. Menjelaskan konsep kohesi dan coupling serta tingkatan-tingkatannya; Menjelaskan aplikasi pseudocode pada setiap level yang ada.9. Menjelaskan Flowchart dan diagram N-S, beserta semua komponennya sebagai representasi grafis dari algoritma pemrograman.

10. Menjelaskan algoritma-algoritma khusus yang digunakan dalam bahasa pemrograman, seperti sorting dan struktur data dinamis.

Rencana Kegiatan Pembelajaran Mingguan (RKBM):

Minggu keTopik (Pokok Bahasan)Metode Pembelajaran

11. Pengantar Pemrograman Dasar1.1. Pengenalan Sistem Komputer

1.2. Konsep Pemrograman1.3. Paradigma Pemrograman1.4. Metodologi Perancangan Program

Ceramah

Menggunakan media OHP, papan tulis, notebook dan Infokus

22. Pengembangan Program

2.1 Langkah-langkah pengembangan program2.2 Perancangan program dengan algoritma dan pseudocode2.3 Representasi Algoritma dengan flowchart2.4 Pengecekan algoritma solusi

Ceramah

Menggunakan media OHP, papan tulis, notebook dan Infokus

33. Tipe Data dan Struktur Data3.1. Tipe data asal (primitif)3.2. Tipe data bentukan3.3. Konsep Struktur Data

Ceramah

Menggunakan media OHP, papan tulis, notebook dan Infokus

44. Struktur Kontrol Seleksi4.1 Struktur Kontrol Seleksi

4.1.1 Statement IF Sederhana

4.1.2 Statement Null ELSE

4.1.3 Statement Kombinasi IF

4.1.4 Operator NOT

4.1.5 Statement nested IF

4.1.5.1 Linear nested IF statement

4.1.5.2 Non-linear nested IF statement

4.2 Algoritma dengan seleksi

4.3 Struktur Case

Ceramah

Menggunakan media OHP, papan tulis, notebook dan Infokus

55. Struktur Kontrol Perulangan5.1 DOWHILE structure

5.1.1 Leading Decision Loop

5.1.2DOWHILE dan perulangan tertentu (counted repetition)

5.1.3DOWHILE dan perulangan tak tertentu (uncounted repetition)

5.1.2 Trailer Record atau Sentinel

5.2 Struktur REPEAT..UNTIL

5.2.1

Trailing Decision Loop

5.3 Counted Repetition

5.4 Problem pemrograman

Ceramah

Menggunakan media OHP, papan tulis, notebook dan Infokus

66. Kombinasi Kontrol Struktur Seleksi, Repetisi dan Sekuensial6.1 Contoh-contoh problem pemrograman menggunakan kombinasi struktur 6.2 Implementasi ke Bahasa Pemrograman C

Tugas Kelompok, Diskusi

Menggunakan media OHP, papan tulis, notebook dan Infokus

77. Proses Array 7.1 Pengantar

7.1.1 Operasi-operasi pada Array

7.1.2 Algoritma sederhana untuk memanipulasi Array

7.2 Inisialisasi elemen array

7.2.1 Memasukkan nilai konstan ke dalam Array

7.2.2 Memasukkan nilai inisial melalui file input ke dalam Array

7.2.1 Array of variable size

7.2.2 Paired Array

7.3 Pencarian pada Array

7.3.1 Linear Search

7.3.2 Binary Search

7.4 Penulisan isi Array

7.5 Array Dua Dimensi

7.5.1 Memuat nilai ke dalam array 2 dimensi

7.5.2 Pencarian

7.6 Contoh problem pemrograman menggunakan array

Ceramah

Menggunakan media OHP, papan tulis, notebook dan Infokus

8UTS

99

88.Modularisasi 8.1 Pengantar Modularisasi

8.1.1 Proses Modularisasi

8.1.2 Mainline

8.1.3 Keuntungan penggunaan

8.1.4 Contoh algoritma solusi menggunakan modul

8.3 Hierarchy Chart

8.4 Komunikasi antar modul

8.4.1 Lingkup variabel

8.4.2 Global data

8.4.3 Local data

8.4.4 Side effects

8.4.5 Passing parameter

8.4.6 Parameter formal dan aktual

8.4.7 Value parameter

8.4.8 Reference parameter

8.5 Parameter dalam perancangan program

8.6 Langkah-langkah modularisasi

8.7 Contoh problem pemrograman menggunakan modul

Ceramah

Menggunakan media OHP, papan tulis, notebook dan Infokus

99. Modularisasi Lanjutan9.1 Modul Cohesion

9.1.1 Coincidental cohesion

9.1.2 Logical cohesion

9.1.3 Temporal cohesion

9.1.4 Procedural cohesion

9.1.5 Communicational cohesion

9.1.6 Sequential cohesion

9.1.7 Functional cohesion

9.2 Modul Coupling

9.2.1 Common coupling

9.2.2 External coupling

9.2.3 Control coupling

9.2.4 Stamp coupling

9.2.5 Data coupling

9.3 Problem pemrograman

Ceramah

Menggunakan media OHP, papan tulis, notebook dan Infokus

1010. Pengenalan Desain Berorientasi Obyek10.1Pengantar

10.1.1 Desain Prosedural vs Desain Beorientasi Obyek

10.1.2 Enkapsulasi & information hiding

10.1.3 Obyek

10.1.4 Class

10.1.5 Attribute

10.1.6 Operasi

10.1.7 Constructor

10.1.8 Accessor dan Mutator

10.1.9 Message

10.1.10 Visibility

10.2 Langkah perancangan solusi berorientasi obyek

10.3 Contoh pemrograman menggunakan desain berorientasi obyek

Ceramah

Menggunakan media OHP, papan tulis, notebook dan Infokus

1111. Special Algorithm 11.1 Sorting Algorithms

11.2 Dynamic data structures

Ceramah

Menggunakan media OHP, papan tulis, notebook dan Infokus

12 Ceramah

Menggunakan media OHP, papan tulis, notebook dan Infokus

13 Ceramah

Menggunakan media OHP, papan tulis, notebook dan Infokus

1414. Bahasa Pemrograman 1.1 Komparasi syntax Bahasa Pemrograman VB, Pascal, Delphi dan C

1.2 Translasi pseudocode ke dalam bahasa pemrograman

1.3 Introduksi Bahasa C

Ceramah

Menggunakan media OHP, papan tulis, notebook dan Infokus

PENJABARAN RKBM:

1. Kuliah Minggu 1Menjelaskan mengenai sistem komputer secara keseluruhan, cara kerja komputer dalam menerima informasi, menampilkan informasi, memroses data dengan melakukan perhitungan aritmatika, memasukkan sebuah nilai ke dalam variabel atau lokasi memori, membandingkan dua variabel dan memilih salah satunya, mengulang sekelompok aksi, serta menerangkan tentang komponen serta fungsi sistem komputer; Menjelaskan konsep dasar pemrograman; Menjelaskan paradikma-paradikma pemrograman; Menjelaskan metodologi perancangan program: procedure-driven, event-driven, data-driven.2. Kuliah Minggu 2Menjelaskan langkah-langkah pengembangan program: pendefinisian masalah, menetapkan solusi, mengembangkan solusi menjadi sebuah algoritma, mengecek kebenaran algoritma, melakukan coding algoritma ke dalam bahasa pemrograman tertentu, menjalankan program di komputer, dokumentasi dan perawatan program; Menjelaskan kedudukan algoritma dan pseudocode dalam perancangan program; Menjelaskan cara merepresentasikan algoritma dengan flow chart; Menjelaskan metode pengecekan manual bagi algoritma yang sudah dibangun (desk checking).3. Kuliah Minggu 3Menjelaskan secara detail tipe data asal, tipe data bentukan dan konsep struktur data yang bisa digunakan dalam sebuah program .4. Kuliah Minggu 4Menjelaskan penggunaan struktur seleksi sederhana, seleksi berganda dan nested seleksi dalam algoritma; Menjelaskan konstruksi case dalam pseudocode; Mengembangkan algoritma dengan menggunakan variasi struktur kontrol seleksi.5. Kuliah Minggu 5Menjelaskan pengembangan algoritma dengan menggunakan kontrol struktur DOWHILE dan REPEAT...UNTIL; Menjelaskan struktur pseudocode untuk loop perulangan tertentu (counted repetition); Menjelaskan pengembangan algoritma menggunakan variasi konstruksi repetisi.

6. Kuliah Minggu 6Menjelaskan dan memberi contoh pengembangan algoritma solusi menggunakan kombinasi struktur kontrol; Menjelaskan implementasi program ke dalam bahasa pemrograman C.7. Kuliah Minggu 7Ujian Tengah Semester8. Kuliah Minggu 8Menjelaskan Array dan penggunaannya; Menjelaskan pengembangan algoritma pseudocode pada operasi-operasi dalam array; Menjelaskan manipulasi pada array tunggal dan dua dimensi.9. Kuliah Minggu 9Menjelaskan konsep modularisasi sebagai sarana untuk membagi problem menjadi subtask; Menjelaskan hierarchy chart sebagai representasi gambar dari struktur program modular; Menjelaskan komunikasi antar modul, variabel lokal dan global serta parameter yang dilewatkan antar modul; Menjelaskan cara pengembangan program yang menggunakan struktur modular.10. Kuliah Minggu 10Menjelaskan konsep cohesion sebagai ukuran untuk menentukan internal strenght dari sebuah modul; Menjelaskan konsep coupling sebagai ukuran untuk menentukan luas jangkauan pertukaran informasi antar modul.11. Kuliah Minggu 11Menjelaskan metode perancangan program berorientasi obyek; Menjelaskan definisi obyek, class, attributes, operasi dan information hiding; Menjelaskan langkah-langkah dalam merancang solusi berorientasi obyek dari suatu masalah.12. Kuliah Minggu 12Menjelaskan beberapa algoritma spesial yang banyak digunakan dalam teknik pemrograman modern: Algoritma sorting (Bubble sort, insertion sort, selection sort) dan struktur data dinamis (queues, stacks dan linked list).13. Kuliah Minggu 13Menjelaskan flowchart sebagai alternatif representasi sebuah algoritma dan penggunaannya pada tiga struktur kontrol dasar.

14. Kuliah Minggu 14Menjelaskan diagram Nassi-Schneidermann sebagai alternatif representasi sebuah algoritma dan penggunaannya pada tiga struktur kontrol dasar.15. Kuliah Minggu 15Menjelaskan bahasa pemrograman modern yang ada; Membandingkan kode-kode dasar masing-masing bahasa pemrograman; Menjelaskan proses pengubahan pseudocode menjadi bahasa pemrograman; Pengenalan Bahasa C.16. Kuliah Minggu 16Ujian Akhir Semester.EVALUASI:

1. Pemahaman Langkah-langkah Pengembangan Program

2. Pemahaman Metodologi Perancangan Program

3. Pemahaman Tiga Struktur Kontrol Dasar Pemrograman

4. Pemahaman Konsep Modularisasi Program

5. Pemahaman penggunaan pseudocode, flowchart dan diagram Nassi-Scheidermann sebagai representasi logika program

BAHAN, SUMBER INFORMASI DAN REFERENSI:

1. Robertson, L. Anne, 2004, Simple Program Design, Thomson Course Technology, United States of America.

2. A.B. Tucker, 1995, Fundamentals of Computing I, McGraw-Hill, Inc., United States of America.

3. L.L. Wear, 1991, Computers, McGraw-Hill, Inc., United States of America.