• Tidak ada hasil yang ditemukan

RPKPS Pemrograman Dasar id. doc

N/A
N/A
Protected

Academic year: 2018

Membagikan " RPKPS Pemrograman Dasar id. doc"

Copied!
16
0
0

Teks penuh

(1)

RENCANA PROGRAM KEGIATAN

PEMBELAJARAN SEMESTER (RPKPS)

PEMROGRAMAN DASAR

OLEH :

Indriyana Hidayah

Silmi Fauziati

JURUSAN TEKNIK ELEKTRO DAN TEKNOLOGI INFORMASI

FAKULTAS TEKNIK

(2)
(3)

Nama 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 :

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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 BahasaPemrograman

(9)

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)

Rencana Kegiatan Pembelajaran Mingguan (RKBM):

Minggu ke

Topik (Pokok Bahasan) Metode Pembelajaran

1 1. Pengantar Pemrograman Dasar

1.1. Pengenalan Sistem Komputer 1.2. Konsep Pemrograman

1.3. Paradigma Pemrograman

1.4. Metodologi Perancangan Program

o Ceramah

o Menggunakan media OHP, papan tulis, notebook dan Infokus

2 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 solusi

o Ceramah

o Menggunakan media OHP, papan tulis, notebook dan Infokus

3 3. Tipe Data dan Struktur Data

3.1. Tipe data asal (primitif) 3.2. Tipe data bentukan 3.3. Konsep Struktur Data

o Ceramah

o Menggunakan media OHP, papan tulis, notebook dan Infokus

4 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

o Ceramah

o Menggunakan media OHP, papan tulis, notebook dan Infokus

5 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.2 Trailer Record atau Sentinel 5.2 Struktur REPEAT..UNTIL

5.2.1 Trailing Decision Loop

o Ceramah

(11)

5.3 Counted Repetition 5.4 Problem pemrograman

6 6. Kombinasi Kontrol Struktur Seleksi, Repetisi dan Sekuensial

6.1 Contoh-contoh problem pemrograman menggunakan kombinasi struktur 6.2 Implementasi ke Bahasa Pemrograman C

o Tugas Kelompok, Diskusi

o Menggunakan media OHP, papan tulis, notebook dan Infokus

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

o Ceramah

o Menggunakan media OHP, papan tulis, notebook dan Infokus

8 UTS o

9 9 o

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

o Ceramah

(12)

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

9 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

o Ceramah

o Menggunakan media OHP, papan tulis, notebook dan Infokus

10 10. Pengenalan Desain Berorientasi Obyek

10.1 Pengantar

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

o Ceramah

o Menggunakan media OHP, papan tulis, notebook dan Infokus

11 11. Special Algorithm

11.1 Sorting Algorithms 11.2 Dynamic data structures

o Ceramah

o Menggunakan media OHP, papan tulis, notebook dan Infokus

(13)

o Menggunakan media OHP, papan tulis, notebook dan Infokus

13 o Ceramah

o Menggunakan media OHP, papan tulis, notebook dan Infokus 14 14. 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

o Ceramah

(14)

PENJABARAN RKBM:

1. Kuliah Minggu 1

Menjelaskan 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 2

Menjelaskan 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 3

Menjelaskan secara detail tipe data asal, tipe data bentukan dan konsep struktur data yang bisa digunakan dalam sebuah program .

4. Kuliah Minggu 4

Menjelaskan 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 5

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

(15)

Menjelaskan dan memberi contoh pengembangan algoritma solusi menggunakan kombinasi struktur kontrol; Menjelaskan implementasi program ke dalam bahasa pemrograman C.

7. Kuliah Minggu 7

Ujian Tengah Semester

8. Kuliah Minggu 8

Menjelaskan Array dan penggunaannya; Menjelaskan pengembangan algoritma pseudocode pada operasi-operasi dalam array; Menjelaskan manipulasi pada array tunggal dan dua dimensi.

9. Kuliah Minggu 9

Menjelaskan 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 10

Menjelaskan 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 11

Menjelaskan 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 12

Menjelaskan 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 13

(16)

14. Kuliah Minggu 14

Menjelaskan diagram Nassi-Schneidermann sebagai alternatif representasi sebuah algoritma dan penggunaannya pada tiga struktur kontrol dasar.

15. Kuliah Minggu 15

Menjelaskan 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 16

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

Referensi

Dokumen terkait

19 RANCANG BANGUN APLIKASI JOINT SPORTS BERBASIS ANDROID ILFIYANTRI INTYAS judul lebih diperjelas lagi masalahnya apa, tujuannya apa, metodenya apa 20 RANCANG BANGUN

menunjukan bahwa kualitas jaringan komputer LAN dan WLAN pada SOHO tersebut tergolong memuaskan, pengiriman data melalui file sharing dengan NAS lebih cepat

Hasil uji ketahanan BAL yang diisolasi dari kimchi terhadap pH rendah menunjukkan bahwa 15 isolat BAL dengan sifat homofermentatif, katalase negatif, gram

Penerapan sistem pengelolaan kehadiran berbasis sidik jari (Finger Print Time Attendance) yang telah dilakukan di lokasi mitra pengabdian dapat menyelesaikan

Mata agenda ini membahas dan mengesahkan rancangan resolusi baik yang telah dibahas pada Standing Committee maupun yang diusulkan oleh individu negara pihak.. Terdapat 27

Indonesia (YLBHI), sebagai salah satu lembaga Bantuan Hukum tertua di Indonesia, dengan memberikan berbagai bentuk pendidikan dan pelatihan.. 20 hukum bagi

Karena proses pendataan yang dipakai di PT.Kharisma Prima Abadi sela ma ini masih menggunakan proses manual dan menggunakan Microsoft Office Excel, maka penulis ingin membuat

Ban truk yang menggunakan rantai pada kelerengan berupa jalan tanjakan dengan kadar air 77,43% menghasilkan kedalaman alur tanah sedalam 20,5 cm, sedangkan dengan ban truk yang