rencana pembelajaran semester (rps)sonia.soc.telkomuniversity.ac.id/cdn/rps/s1 teknik...

26
RENCANA PEMBELAJARAN SEMESTER (RPS) CSG3E3 SISTEM OPERASI Disusun oleh: Endro Ariyanto Erwid M Jadied Novian Anggis S SARJANA TEKNIK INFORMATIKA FAKULTAS INFORMATIKA UNIVERSITAS TELKOM

Upload: duongnhi

Post on 02-Feb-2018

261 views

Category:

Documents


0 download

TRANSCRIPT

RENCANA PEMBELAJARAN SEMESTER

(RPS)

CSG3E3

SISTEM OPERASI

Disusun oleh:

Endro Ariyanto Erwid M Jadied Novian Anggis S

SARJANA TEKNIK INFORMATIKA FAKULTAS INFORMATIKA

UNIVERSITAS TELKOM

LEMBAR PENGESAHAN

Rencana Pembelajaran Semester (RPS) ini telah disahkan untuk mata kuliah sbb:

Kode Mata Kuliah : CSG3E3

Nama Mata Kuliah : SISTEM OPERASI

Bandung, Juli 2015

Mengetahui Menyetujui

Kaprodi Informatika Ketua KK Telematika

MOCH. ARIF BIJAKSANA ANDRIAN RAKHMATSYAH

DAFTAR ISI

LEMBAR PENGESAHAN .............................................................................................................................. ii

DAFTAR ISI ................................................................................................................................................ iii

A. PROFIL MATA KULIAH....................................................................................................................... 1

B. RENCANA PEMBELAJARAN SEMESTER (RPS) ................................................................................... 3

C. RANCANGAN INTERAKSI DOSEN–MAHASISWA ............................................................................... 5

D. RANCANGAN TUGAS ........................................................................................................................ 7

E. PENILAIAN DENGAN RUBRIK .......................................................................................................... 12

F. PENENTUAN NILAI AKHIR MATA KULIAH ....................................................................................... 14

G. LAMPIRAN CONTOH TUGAS ........................................................................................................... 15

A. PROFIL MATA KULIAH

Mata kuliah Sistem Operasi (CSG3E3) merupakan mata kuliah wajib tingkat 3 yang harus diambil

oleh setiap mahasiswa program studi S1 Teknik Informatika dengan beban 3 sks.

Konsep dasar materi Sistem Operasi cenderung tetap, tidak ada perubahan ataupun

penambahan yang signifikan dalam konsep dasarnya. Akan tetapi, pengembangan dari produk

Sistem Operasi sangat bervariasi dan cepat (dapat dilihat dari varian/distro Linux, Unix dan

versi-versi Windows). Pemahaman tentang Sistem Operasi akan membantu mahasiswa (yang

akan menjadi: sistem analis, programmer dan developer sistem operasi) untuk dapat

menganalisis, troubleshooting , membuat dan mengembangkan sistem secara keseluruhan.

Materi sistem operasi dapat dikelompokkan berdasarkan kelompok materi menjadi 3 kelompok

besar seperti yang ditunjukkan pada Gambar A-1. Tiga kelompok itu adalah kelompok proses

dan thread, memori, dan file/Input dan Output/proteksi dan keamanan.

Gambar A-1 Pengelompokan Materi Sistem Operasi

Lanjutan dari mata kuliah ini adalah mata kuliah pilihan Sistem Operasi lanjut. Pada mata kuliah

Sistem Operasi lanjut spesialisasi pengembangan Sistem Operasi dapat dikelompokkan menjadi

Sistem Operasi untuk sistem terdistribusi, perangkat Mobile dan embedded system.

Learning outcome yang ingin dicapai dari mata kuliah ini adalah:

1. Mahasiswa mampu menjelaskan fungsi sistem operasi di dalam sistem komputer

2. Mahasiswa mampu menjelaskan konsep proses di dalam sistem operasi

3. Mahasiswa mampu menjelaskan konsep thread dan Symmetric Multiprocessing

4. Mahasiswa mampu membuat solusi permasalahan concurrency

5. Mahasiswa mampu menjelaskan metode penanganan deadlock

6. Mahasiswa mampu menjelaskan konsep manajemen memori

7. Mahasiswa mampu menjelaskan konsep memori virtual

8. Mahasiswa mampu membuat penjadwalan proses

9. Mahasiswa mampu menjelaskan konsep manajemen file

10. Mahasiswa mampu menjelaskan konsep manajemen input/output

11. Mahasiswa mampu menjelaskan berbagai ancaman terhadap sistem operasi

Dari daftar outcome diatas dapat dilihat bahwa hal yang ingin dicapai melalui mata kuliah

Sistem Operasi adalah Level 6 KKNI (Kerangka Kualifikasi Nasional Indonesia) dari Dikti terutama

bagian:

“Menguasai konsep teoritis bidang pengetahuan tertentu secara umum dan konsep teoritis

bagian khusus dalam bidang pengetahuan tersebut secara mendalam, serta mampu

memformulasikan penyelesaian masalah procedural”.

B. RENCANA PEMBELAJARAN SEMESTER (RPS)

Rencana Pembelajaran Semester merupakan pengembangan SAP dan GBPP berbasis SCL.

Pertemuan ke-

Kemampuan Akhir yang Diharapkan

Bahan Kajian (Materi Ajar) Metode/ Strategi

Pembelajaran Kriteria Penilaian

(Indikator) Bobot Nilai

1-2 Mampu menguasai materi yang diajarkan

Overview Sistem Operasi

Discovery Learning Belajar mandiri memanfaatkan elearning

Tidak ada (mahasiswa

belajar sendiri)

Mampu bekerja sama; mampu menganalisis

Overview Sistem Operasi

Cooperative Learning Tugas 1: Rangkuman tentang sistem operasi

7%

Mampu untuk berpikir logis, sistematis, kritis dan inovatif;

Overview Sistem Operasi

Tatap muka; Small Group Discussion

Diskusi dan penilaian langsung

2%

3-8 Mampu menguasai materi yang diajarkan

Proses Threads

Discovery Learning Belajar mandiri memanfaatkan elearning

Tidak ada (mahasiswa

belajar sendiri)

Mampu bekerja sama; mampu menganalisis

Proses Threads

Cooperative Learning Tugas 2: Makalah dan presentasi

7%

Mampu untuk berpikir logis, sistematis, kritis dan inovatif;

Proses Threads

Tatap muka; Small Group Discussion

Diskusi dan penilaian langsung

2%

9-14 Mampu menguasai materi yang diajarkan

Sinkronisasi Proses Deadlock

Discovery Learning Belajar mandiri memanfaatkan elearning

Tidak ada (mahasiswa

belajar sendiri)

Mampu bekerja sama; mampu menganalisis

Sinkronisasi Proses Deadlock

Cooperative Learning Tugas 3: Praktek membuat program sinkronisasi

7%

Mampu untuk berpikir logis, sistematis, kritis dan inovatif;

Sinkronisasi Proses Deadlock

Tatap muka; Small Group Discussion

Diskusi dan penilaian langsung

2%

UTS Mampu menganalisis; mampu bekerja mandiri yang berkualitas;

Overview Sistem Operasi Proses Threads

Self Learning Jawaban UTS 15%

Sinkronisasi Proses Deadlock

15-17 Mampu menguasai materi yang diajarkan

Penjadwalan Discovery Learning Belajar mandiri memanfaatkan elearning

Tidak ada (mahasiswa

belajar sendiri)

Mampu bekerja sama; mampu menganalisis

Penjadwalan Cooperative Learning Tugas 4:

Penjadwalan 7%

Mampu untuk berpikir logis, sistematis, kritis dan inovatif;

Penjadwalan Tatap muka; Small Group Discussion

Diskusi dan penilaian langsung

2%

18-20 Mampu menguasai materi yang diajarkan

Manajemen Memori Memori Virtual

Discovery Learning Belajar mandiri memanfaatkan elearning

Tidak ada (mahasiswa

belajar sendiri)

Mampu bekerja sama; mampu menganalisis

Manajemen Memori Memori Virtual

Cooperative Learning Tugas 5: Makalah dan presentasi

7%

Mampu untuk berpikir logis, sistematis, kritis dan inovatif;

Manajemen Memori Memori Virtual

Tatap Muka; Small Group Discussion

Diskusi dan penilaian langsung

2%

21 Mampu menganalisis; mampu bekerja mandiri yang berkualitas;

Penjadwalan Manajemen Memori Memori Virtual

Self Learning Jawaban Quiz 10%

22-28 Mampu membuat laporan ilmiah, mampu menganalisis; mampu bekerja sama; mampu bertanggung jawab atas hasil kerja dan mengevaluasi kerja tim; mampu menerapkan kaidah ilmiah untuk menjamin kesahihan dan mencegah plagiasi.

Manajemen File Manajemen I/O Proteksi dan Keamanan

Discovery Learning; Cooperative Learning

-presentasi -diskusi -penilaian -Tugas 6: Tugas besar

30%

C. RANCANGAN INTERAKSI DOSEN–MAHASISWA

Nama Strategi: Discovery Learning Kemampuan Akhir yang Diharapkan: Mahasiswa mampu mencari dan mendapatkan informasi secara mandiri Pertemuan Penggunaan Strategi (Metode): 1-2, 3-8, 9-14, 15-17, 18-20,22-28 Deskripsi Singkat Strategi (Metode) pembelajaran: Pada metode pembelajaran ini, mahasiswa diminta untuk memanfaatkan fasilitas e-learning yang ada di telkomuniversity dan dapat mencari informasi di Internet

RANCANGAN INTERAKSI DOSEN–MAHASISWA

Aktivitas Dosen Aktivitas Mahasiswa

Membuat bahan-bahan e-learning Mahasiswa mengakses e-learning

Membuat soal-soal e-learning Mengerjakan soal-soal yang ada di e-

learning

Dosen memberikan topik-topik sederhana yang

dapat dicari di web

Mahasiswa mencari informasi di internet

kemudian merangkum dalam bentuk blog.

Nama Strategi: Tatap muka; Small Group Discussion Kemampuan Akhir yang Diharapkan: Mahasiswa mampu berpikir logis, sistematis serta mampu menyampaikan ide di dalam kelas. Pertemuan Penggunaan Strategi (Metode): 1, 3-6, 9-12,15, 18-19, 22-24 Deskripsi Singkat Strategi (Metode) pembelajaran: Dosen menyampaikan materi. Dosen memfasilitasi mahasiswa berdiskusi berdasarkan kelompok menggunakan bahan materi yang disampaikan

RANCANGAN INTERAKSI DOSEN–MAHASISWA

Aktivitas Dosen Aktivitas Mahasiswa

Pertemuan sebelum kuliah menugaskan

mahasiswa untuk membaca textbook

Mahasiswa membaca textbook

Saat awal kuliah dosen memberikan pertanyaan

singkat untuk menguji apakah mahasiswa telah

membaca bab yang dikuiahkan hari ini

Mahasiswa menjawab pertanyaan

Dosen memberikan materi kuliah Mahasiswa menyimak dan mendengarkan

Dosen memberikan kasus-kasus menarik dan

dekat dengan masalah nyata berdasarkan materi

kuliah hari ini

Mahasiswa menjawab kasus/pertanyaan

secara berkelompok.

Dosen memfasilitasi dan menilai diskusi. Contoh:

setelah diberikan kasus terdapat 2 atau 3

jawaban dipersilahkan setiap kelompok untuk

mempertahankan jawabannya dan diadu dengan

jawaban kelompok lain.

Mahasiswa berdiskusi.

Nama Strategi: Cooperative Learning Kemampuan Akhir yang Diharapkan: Mahasiswa mampu bekerjasama, berpikir logis, sistematis, kritis dan inovatif di luar kelas. Pertemuan Penggunaan Strategi (Metode): 2, 7-8,13-14,17,20,25-28 Deskripsi Singkat Strategi (Metode) pembelajaran: Dosen memfasilitasi mahasiswa berdiskusi berdasarkan kelompok menggunakan bahan materi soal yang dikerjakan pada kegiatan tugas terstruktur.

RANCANGAN INTERAKSI DOSEN–MAHASISWA

Aktivitas Dosen Aktivitas Mahasiswa

Dosen memberikan tugas terstruktur yang

berfokus pada “learning by doing” dan

mendekati permasalahan di dunia nyata

Mahasiswa mengerjakan soal secara berkelompok.

Dosen menilai presentasi dan memfasilitasi

diskusi.

Mahasiswa mempresentasikan hasil tugas kepada kelas.

Nama Strategi: Self learning Kemampuan Akhir yang Diharapkan:Mahasiswa menguasi materi, mampu menganalisis dan mampu bekerja mandiri. Pertemuan Penggunaan Strategi (Metode): UTS, 21 Deskripsi Singkat Strategi (Metode) pembelajaran: Mahasiswa mengerjakan soal yang diberikan oleh dosen secara individu.

RANCANGAN INTERAKSI DOSEN–MAHASISWA

Aktivitas Dosen Aktivitas Mahasiswa

Dosen memberikan soal yang bersifat open ended question.

Mahasiswa mengerjakan soal secara mandiri di dalam kelas. Kelengkapan dan kebenaran jawaban mahasiswa akan menentukan tingkat kemampuan mahasiswa menguasai materi.

Dosen mengevaluasi dan menyerahkan kembali hasil jawaban ke mahasiswa.

Mahasiswa memperoleh feedback

D. RANCANGAN TUGAS

Rancangan Tugas 1: Overview Sistem Operasi

Mata kuliah : Sistem Operasi

Semester : Ganjil sks : 3

Pertemuan ke : 2 Tugas ke : 1

1. Tujuan tugas:

a. Mengetahui sejarah sistem operasi

b. Mahasiswa memperoleh pengalaman langsung bagaimana menggunakan

sistem operasi di masa lalu

c. Softskill: kerjasama tim, kemampuan menyampaikan ide/pendapat

2. Uraian Tugas:

- Obyek garapan: tulisan mengenai sejarah sistem operasi

- Yang harus dikerjakan dan batasan-batasan :

- Alasan memilih OS tersebut! mengapa OS tersebut bersejarah. Boleh

OS yang gagal atau berhasil

- Deskripsi OS dan sejarah

- Fitur utama OS yang benar-benar baru

- Kelebihan dan kekurangan OS

- Demo OS (virtualbox, VMware, emulator, website). Agar bisa

merasakan bagaimana menggunakan OS jaman dulu

- Kesimpulan

- Metode/cara pengerjaan tugas: masing-masing kelompok mencari sejarah OS

di internet/paper/textbook, merangkumnya, memberi analisis dan

mempresentasikannya

- Deskripsi luaran tugas yang dihasilkan: tulisan/makalah dan presentasi

3. Kriteria Penilaian:

a. Presentasi 40%

- slide

- penyampaian

b. Makalah 40%

- kelengkapan materi

- kebenaran analisis

c. Kerjasama tim 20%

Rancangan Tugas 2: Makalah dan presentasi proses dan threads

Mata kuliah : Sistem Operasi

Semester : Ganjil sks : 3

Pertemuan ke : 7-8 Tugas ke : 2

1. Tujuan tugas:

- Mahasiswa mengetahui bagaimana proses/thread diciptakan, struktur data

proses/thread, state-state proses/thread

- Mahasiswa mampu membuat proses/thread di OS

- Softskill: kerjasama, kemampuan menyampaikan pendapat

2. Uraian Tugas:

a. Obyek garapan: proses dan thread

b. Yang harus dikerjakan dan batasan-batasan :

a. Deskripsi/penjelasan detail proses (thread)

b. Struktur data proses (thread)

c. Bagaimana OS menangani PCB (TCB)?

d. State-state dari proses (thread). Buat animasi sederhana

e. Demo membuat proses (thread) dengan menulis kode

f. Bisa ditambahkan hal-hal lain yang berhubungan dengan proses (misal:

interrupt, ipc, dst)

g. Kesimpulan

c. Metode/cara pengerjaan tugas: masing-masing kelompok mencari informasi

mengenai proses (thread) kemudian menjelaskan di depan kelas. Harus ada

referensi dan referensi minimal dari website universitas, paper atau textbook.

Dalam kelas maksimal 8 kelompok: 4 kelompok untuk proses, 4 kelompok

untuk thread. Disetiap kategori terdapat 4 pilihan OS: unix, linux, windows dan

Mac.

d. Deskripsi luaran tugas yang dihasilkan: tulisan/makalah dan presentasi

3. Kriteria Penilaian:

a. Penulisan makalah 40%

- kelengkapan materi

- kebenaran analisis

b. Presentasi 40%

- slide

- penyampaian

c. Kerjasama kelompok 20%

Rancangan Tugas 3: Praktek membuat program sinkronisasi dan deadlock

Mata kuliah : Sistem Operasi

Semester : Ganjil sks : 3

Pertemuan ke : 13-14 Tugas ke : 3

1. Tujuan tugas:

- Mahasiswa memahami konsep sinkronisasi dalam OS (deadlock, mutex,

semaphore, rendezvous, dll), mengetahui masalah-masalah yang muncul pada

saat sinkronisasi

- Mahasiswa mampu mengetahui cara untuk mengatasi masalah sinkronisasi

dengan membuat program

- Softskill: kerjasama tim, kemampuan menyampaikan ide

2. Uraian Tugas:

a. Obyek garapan: Sinkronisasi proses

b. Yang harus dikerjakan dan batasan-batasan :

- Deskripsi masalah sinkronisasi. Masalah sinkronsasi yang diambil dapat

merupakan masalah sinkronisasi "klasik" (dining philosopher,

barbershop problem, santa clause problem, river crossing problem,

roller coster problem, building H2O, dining savage, dll) atau bisa

mengambil latihan di Andrews’s Concurrent Programming (Gregory R.

Andrews. Concurrent Programming: Principles and Practice, Addison-

Wesley)

- Penjelasan detail dan analisis bagaimana masalah diselesaikan

- Pembuatan dan demo program

c. Metode/cara pengerjaan tugas: mahasiswa mencari kasus, menyelesaikannya

kasus dengan program yang dibuat

d. Deskripsi luaran tugas yang dihasilkan: program dan presentasi

3. Kriteria Penilaian:

a. Program 50%

- fungsionalitas program

- performansi program

b. Presentasi 30%

- slide

- penyampaian

c. Kerjasama kelompok 20%

Rancangan Tugas 4: Presentasi penjadwalan

Mata kuliah : Sistem Operasi

Semester : Ganjil sks : 3

Pertemuan ke : 17 Tugas ke : 4

1. Tujuan tugas:

- Mahasiswa mengetahui jenis-jenis penjadwalan

- Mahasiswa mengetahui kelebihan dan kekurangan suatu algoritma

penjadwalan

- Mahasiswa mampu memecahkan masalah penjadwalan

- Softskill: kerjasama, kemampuan menyampaikan pendapat

2. Uraian Tugas:

a. Obyek garapan: Penjadwalan

b. Yang harus dikerjakan dan batasan-batasan :

- Mahasiswa mencari kasus penjadwalan nyata di OS.

- Mahasiswa mendeskrisikan masalah/kasus dengan jelas

- Mahasiswa menjelaskan algoritma penjadwalan (bagaimana algoritma

penjadwalan dapat menyelesaikan masalah)

- Mahasiswa melakukan analisis (kelebihan dan kekurangan, kebenaran

algoritma, efisiensi, dll)

- Kesimpulan

c. Metode/cara pengerjaan tugas: masing-masing kelompok mencari contoh kasus

penjadwalan OS kemudian menjelaskan di depan kelas

d. Deskripsi luaran tugas yang dihasilkan: tulisan/makalah dan presentasi

3. Kriteria Penilaian:

a. Penulisan makalah 40%

- kelengkapan materi

- kebenaran analisis

b. Presentasi 40%

- slide

- penyampaian

c. Kerjasama kelompok 20%

Rancangan Tugas 5: Makalah dan presentasi memori dan memori virtual

Mata kuliah : Sistem Operasi

Semester : Ganjil sks : 3

Pertemuan ke : 20 Tugas ke : 5

1. Tujuan tugas:

- Mahasiswa mengetahui mekanisme virtual memori pada sistem operasi

- Mahasiswa mampu membandingkan mekanisme virtual memori di 2 OS yang

berbeda

- Softskill: kerjasama, kemampuan menyampaikan pendapat

2. Uraian Tugas:

a. Obyek garapan: tulisan mengenai manajemen memori dan virtual memori

b. Yang harus dikerjakan dan batasan-batasan:

- Deskripsi mekanisme virtual memori di OS

- Perbandingan mekanisme virtual memori dari 2 OS yang berbeda

- Hasil analisis dan kesimpulan

c. Metode/cara pengerjaan tugas: mahasiswa mencari paper/topik kemudian

mempresentasikannya. Dalam kelas maksimal 8 kelompok, terdapat 5 pilihan

OS: unix, linux, windows, Mac dan selain (4 sebelumnya).

d. Deskripsi luaran tugas yang dihasilkan: tulisan/makalah

3. Kriteria Penilaian:

a. Penulisan makalah 40%

- kelengkapan materi

- kebenaran analisis

b. Presentasi 40%

- slide

- penyampaian

c. Kerjasama kelompok 20%

Rancangan Tugas 6: Tugas besar

Mata kuliah : Sistem Operasi

Semester : Ganjil sks : 3

Pertemuan ke : 25-28 Tugas ke : 6

1. Tujuan tugas:

- Mahasiswa mampu mengaplikasikann konsep/teori sistem operasi yang telah

didapatkan untuk menyelesaikan masalah secara umum

- Mahasiswa mampu membuat paper

- Softskill: kerjasama tim

2. Uraian Tugas:

a. Obyek garapan: paper/jurnal tentang sistem dasar sistem operasi

b. Yang harus dikerjakan dan batasan-batasan :

- Memahami dan menganalisis 3 paper tentang dasar sistem operasi

berdasarkan topik yang berbeda

- Membuat makalah/paper sesuai dengan format standar

c. Metode/cara pengerjaan tugas: masing-masing kelompok mencari 3 paper

atau jurnal sesuai dengan plotting tugas konsep dasar sistem operasi.

Paper/jurnal tersebut diberikan kepada dosen untuk divalidasi. Masing-masing

kelompok membuat paper baru dari 3 paper yang diacu dan membuat slide

presentasi. Mahasiswa akan diberikan kesempatan untuk mempresentasikan

hasil tugasnya dan akan dinilai oleh kelompok lain. Pada saat presentasi akan

dilaksanakan diskusi untuk memperdalam pemahaman terhadap materi

konsep dasar sistem operasi.

d. Deskripsi luaran tugas yang dihasilkan: paper hasil analisis masing-masing

kelompok, slide presentasi dan file pendukung paper. Format dan ketentuan

paper akan didefinisikan lebih lanjut.

3. Kriteria Penilaian:

a. Pemilihan paper referensi 5 %

- kekomplekan paper

- kerelevansian paper

- kabaruan paper

b. Penulisan makalah 50%

- kelengkapan materi

- kebenaran analisis

c. Presentasi 20%

- slide

- penyampaian

d. Kerjasama kelompok 15%

e. Diskusi 10%

E. PENILAIAN DENGAN RUBRIK

Rubrik Kerjasama Kelompok

Jenjang (Grade)

Angka (Skor) Deskripsi perilaku (Indikator)

Sangat

bagus (A) 80-100 Tugas tidak terlambat, hasil bagus, pembagian tugas jelas

Bagus (B) 60-80

Tugas tidak terlambat, hasil jelek, pembagian tugas jelas

Kurang (C) 40-60

Tugas tidak terlambat, hasil jelek, pembagain tugas tidak jelas

Buruk (D) 1-40

Tugas terlambat

Tidak

Lulus (E) 0 Tidak mengumpulkan tugas

Rubrik Presentasi

Rubrik Program

Jenjang (Grade)

Angka (Skor) Deskripsi perilaku (Indikator)

Sangat

bagus (A) 80-100 Program berjalan benar

Bagus (B) 60-80

Program berjalan tetapi ada sedikit bug

Kurang (C) 40-60

Program berjalan dan banyak error

Buruk (D) 1-40

Program tidak berjalan, ada source code

Tidak lulus

(E) 0 Tidak mengumpulkan

Rubrik Diskusi

Jenjang (Grade)

Angka (Skor) Deskripsi perilaku (Indikator)

Sangat

bagus (A) 80-100 Mahasiswa mengerti materi, mampu menyampaikan ide sendiri,

mendengarkan ide orang lain

Jenjang (Grade)

Angka (Skor) Deskripsi perilaku (Indikator)

Sangat

bagus (A) 80-100 Isi jelas, “to the poin” dan menarik, Menyampaikan isi dengan jelas

dan menarik

Bagus (B) 60-80

Komposisi tulisan dan gambar bagus, terstruktur, mempresentasikan

dengan baik tetapi kurang menguasai materi

Kurang (C) 40-60

Tidak terstruktur, terlalu banyak tulisan, baca presentasi/catatan,

kurang menguasai materi

Buruk (D) 1-40

Presentasi asal-asalan, tidak menguasai materi

Tidak

Lulus (E) 0 Tidak presentasi

Bagus (B) 60-80

Mampu mengikuti diskusi secara baik

Kurang (C) 40-60

Mampu mengikuti diskusi tetapi dengan kekurangan (suka

mendominasi, tidak mendengarkan pendapat orang lain, dll)

Buruk (D) 1-40

Tidak mengikuti diskusi, ribut dalam kelas.

Tidak

Lulus (E) 0 Tidak hadir

Rubrik Makalah, Resume, Ringkasan

Jenjang (Grade)

Angka (Skor) Deskripsi perilaku (Indikator)

Sangat

bagus (A) 80-100 Materi lengkap, analisis benar, terdapat tambahan hasil pemikiran

mahasiswa, sesuai kaidah penulisan (struktur, rapi, dll)

Bagus (B) 60-80

Materi lengkap, analisis benar, sesuai kaidah penulisan (struktur, rapi,

dll)

Kurang (C) 40-60

Materi kurang lengkap, analisis benar

Buruk (D) 1-40

Materi tidak lengkap, analisis tidak benar

Tidak

Lulus (E) 0 Tidak mengumpulkan

F. PENENTUAN NILAI AKHIR MATA KULIAH

Index penilaian akhir mengikuti aturan akademik telkomuniversity yaitu:

Berdasarkan rata-rata kelas

Rata-rata + 1,2xSB < NSM = A

Rata-rata + 0,6xSB < NSM ≤ Rata-rata + 1,2 xSB = AB

Rata-rata < NSM ≤ Rata-rata + 0,6 xSB = B

Rata-rata – 0,6 xSB < NSM ≤ Rata-rata = BC

Rata-rata – 1,2 xSB < NSM ≤ Rata-rata – 0,6xSB = C

40 < NSM ≤ Rata-rata – 0,6xSB = D

NSM ≤ 40 = E

Rata-rata = rataan nilai-nilai mahasiswa kelas dengan NSM > 40

SB = simpangan baku nilai-nilai kelas dengan NSM > 40

Penentuan rata-rata kelas bisa berdasarkan kelas paralel yang diajar oleh dosen yang sama

(beda dosen bisa beda rata-rata kelasnya)

Berdasarkan nilai absolut

Nilai Akhir (NA) Nilai Mata Kuliah

80 < NA A

70 < NA ≤ 80 AB

65 < NA ≤ 70 B

60 < NA ≤ 65 BC

50 < NA ≤ 60 C

40 < NA ≤ 50 D

NA < 40 E

G. LAMPIRAN CONTOH TUGAS

Dining Philosopher

The problem can be stated quite simply as follows. Five philosophers are seated around a

circular table. Each philosopher has a plate of spaghetti. The spaghetti is so slippery that a

philosopher needs two forks to eat it. Between each pair of plates is one fork. The layout of the

table is:

The life of a philosopher consists of alternate periods of eating and thinking. When a

philosopher gets hungry, she tries to acquire her left and right forks, one at a time, in either

order. If successful in acquiring two forks, she eats for a while, then puts down the forks, and

continues to think. The key question is: Can you write a program for each philosopher that

does what it is supposed to do and never gets stuck?

Producer Consumer Problem

The general statement is this: There are one or more producers generating some type of

data (records, characters,event) and placing these in a buffer. Whenever an event occurs, a

producer thread creates an event object and adds it to the event buffer. Concurrently,

consumer threads take events out of the buffer and process them. In this case, the

consumers are called “event handlers.”

• While an item is being added to or removed from the buffer, the buffer is in an

inconsistent state. Therefore, threads must have exclusive access to the buffer.

• If a consumer thread arrives while the buffer is empty, it blocks until a producer adds a

new item.

Producer code

1 event = waitForEvent()

2 buffer.add(event)

Consumer code

1 event = buffer.get()

2 event.process()

Access to the buffer has to be exclusive, but waitForEvent and event.process can run

concurrently.

Add synchronization statements to the producer and consumer code to enforce the

synchronization constraints!

Producer Consumer Problem with Finite Buffer

Same as Producer consumer problem but If a producer arrives when the buffer is full, it

blocks until a consumer removes an item. Write producer-consumer code that handles the

finite-buffer constraint.

Reader Writer Problem

The readers/writers problem is defined as follows: There is a data area shared among a

number of processes. The data area could be a file, a block of main memory, or even a bank

of processor registers. There are a number of processes that only read the data area

(readers) and a number that only write to the data area (writers). The conditions that must

be satisfied are as follows:

1. Any number of readers may simultaneously read the file.

2. Only one writer at a time may write to the file.

3. If a writer is writing to the file, no reader may read it.

In other words, a writer cannot enter the critical section while any other thread (reader or

writer) is there, and while the writer is there, no other thread may enter. Use semaphores to

enforce these constraints, while allowing readers and writers to access the data structure,

and avoiding the possibility of deadlock!

Cigarette Smoker Problem

The cigarette smokers problem problem was originally presented by Suhas Patil. Four

threads are involved: an agent and three smokers. The smokers loop forever, first waiting for

ingredients, then making and smoking cigarettes. The ingredients are tobacco, paper, and

matches.

We assume that the agent has an infinite supply of all three ingredients, and each smoker

has an infinite supply of one of the ingredients; that is, one smoker has matches, another

has paper, and the third has tobacco.

The agent repeatedly chooses two different ingredients at random and makes them

available to the smokers. Depending on which ingredients are chosen, the smoker with the

complementary ingredient should pick up both resources and proceed.

For example, if the agent puts out tobacco and paper, the smoker with the matches should

pick up both ingredients, make a cigarette, and then signal the agent.

To explain the premise, the agent represents an operating system that allocates resources,

and the smokers represent applications that need resources. The problem is to make sure

that if resources are available that would allow one more applications to proceed, those

applications should be woken up. Conversely, we want to avoid waking an application if it

cannot proceed.

Agent

1 agentSem = Semaphore(1)

2 tobacco = Semaphore(0)

3 paper = Semaphore(0)

4 match = Semaphore(0)

Agent A

1 agentSem.wait()

2 tobacco.signal()

3 paper.signal()

Agent B

1 agentSem.wait()

2 paper.signal()

3 match.signal()

Agent C

1 agentSem.wait()

2 tobacco.signal()

3 match.signal()

Dining Savage Problem

A tribe of savages eats communal dinners from a large pot that can hold M servings of

stewed missionary. When a savage wants to eat, he helps himself from the pot, unless it is

empty. If the pot is empty, the savage wakes up the cook and then waits until the cook has

refilled the pot.

Savage

1 while True:

2 getServingFromPot()

3 eat()

Cook

1 while True:

2 putServingsInPot(M)

The synchronization constraints are:

• Savages cannot invoke getServingFromPot if the pot is empty.

• The cook can invoke putServingsInPot only if the pot is empty.

Add code for the savages and the cook that satisfies the synchronization constraints.

The Barber Shop

A barbershop consists of a waiting room with n chairs, and the barber room containing the

barber chair. If there are no customers to be served, the barber goes to sleep. If a customer

enters the barbershop and all chairs are occupied, then the customer leaves the shop. If the

barber is busy, but chairs are available, then the customer sits in one of the free chairs. If the

barber is asleep, the customer wakes up the barber. Write a program to coordinate the

barber and the customers.

• Customer threads should invoke a function named getHairCut.

• If a customer thread arrives when the shop is full, it can invoke balk, which does not

return.

• Barber threads should invoke cutHair.

• When the barber invokes cutHair there should be exactly one thread invoking getHairCut

concurrently.

The Santa Claus Problem

Santa Claus sleeps in his shop at the North Pole and can only be wakened by either (1) all

nine reindeer being back from their vacation in the South Pacific, or (2) some of the elves

having difficulties making toys; to allow Santa to get some sleep, the elves can only wake

him when three of them have problems. When three elves are having their problems solved,

any other elves wishing to visit Santa must wait for those elves to return. If Santa wakes up

to find three elves waiting at his shop’s door, along with the last reindeer having come back

from the tropics, Santa has decided that the elves can wait until after Christmas, because it

is more important to get his sleigh ready. (It is assumed that the reindeer do not want to

leave the tropics, and therefore they stay there until the last possible moment.) The last

reindeer to arrive must get Santa while the others wait in a warming hut before being

harnessed to the sleigh. Solve this problem using semaphores!

Building H2O

There are two kinds of threads, oxygen and hydrogen. In order to assemble these threads

into water molecules, we have to create a barrier that makes each thread wait until a

complete molecule is ready to proceed.

As each thread passes the barrier, it should invoke bond. You must guarantee that all the

threads from one molecule invoke bond before any of the threads from the next molecule

do.

In other words:

• If an oxygen thread arrives at the barrier when no hydrogen threads are present, it has to

wait for two hydrogen threads.

• If a hydrogen thread arrives at the barrier when no other threads are present, it has to

wait for an oxygen thread and another hydrogen thread.

We don’t have to worry about matching the threads up explicitly; that is, the threads do not

necessarily know which other threads they are paired up with. The key is just that threads

pass the barrier in complete sets; thus, if we examine the sequence of threads that invoke

bond and divide them into groups of three, each group should contain one oxygen and two

hydrogen threads.

Write synchronization code for oxygen and hydrogen molecules that enforces these

constraints.

River Crossing Problem

Somewhere near Redmond, Washington there is a rowboat that is used by both Linux

hackers and Microsoft employees (serfs) to cross a river. The ferry can hold exactly four

people; it won’t leave the shore with more or fewer. To guarantee the safety of the

passengers, it is not permissible to put one hacker in the boat with three serfs, or to put one

serf with three hackers. Any other combination is safe.

As each thread boards the boat it should invoke a function called board. You must guarantee

that all four threads from each boatload invoke board before any of the threads from the

next boatload do.

After all four threads have invoked board, exactly one of them should call a function named

rowBoat, indicating that that thread will take the oars. It doesn’t matter which thread calls

the function, as long as one does. Don’t worry about the direction of travel. Assume we are

only interested in traffic going in one of the directions.

Write synchronization that enforces these constraints.

The Rollercoaster Problem

Suppose there are n passenger threads and a car thread. The passengers repeatedly wait to

take rides in the car, which can hold C passengers, where C < n. The car can go around the

tracks only when it is full.

Here are some additional details:

• Passengers should invoke board and unboard.

• The car should invoke load, run and unload.

• Passengers cannot board until the car has invoked load

• The car cannot depart until C passengers have boarded.

• Passengers cannot unboard until the car has invoked unload.

Write code for the passengers and car that enforces these constraints.

Non-Classical Problem

The Unisex Bathroom Problem

She was working in a cubicle in the basement of a concrete monolith, and the nearest

women’s bathroom was two floors up. She proposed to the Uberboss that they convert the

men’s bathroom on her floor to a unisex bathroom.

The Uberboss agreed, provided that the following synchronization constraints can be

maintained:

• There cannot be men and women in the bathroom at the same time.

• There should never be more than three employees squandering company time in the

bathroom.

Of course the solution should avoid deadlock. For now, though, don’t worry about

starvation. You may assume that the bathroom is equipped with all the semaphores you

need.

The Sushi Bar Problem

Imagine a sushi bar with 5 seats. If you arrive while there is an empty seat, you can take a

seat immediately. But if you arrive when all 5 seats are full, that means that all of them are

dining together, and you will have to wait for the entire party to leave before you sit down.

Write code for customers entering and leaving the sushi bar that enforces these

requirements.

The Child Care Problem

At a child care center, state regulations require that there is always one adult present for

every three children.

Write code for child threads and adult threads that enforces this constraint in a critical

section.

The Room Party Problem

The following synchronization constraints apply to students and the Dean of Students:

1. Any number of students can be in a room at the same time.

2. The Dean of Students can only enter a room if there are no students in the room (to

conduct a search) or if there are more than 50 students in the room (to break up the party).

3. While the Dean of Students is in the room, no additional students may enter, but students

may leave.

4. The Dean of Students may not leave the room until all students have left.

5. There is only one Dean of Students, so you do not have to enforce exclusion among

multiple deans.

Write synchronization code for students and for the Dean of Students that enforces all of

these constraints.

The Bus Problem

This problem was originally based on the Senate bus at Wellesley College. Riders come to a

bus stop and wait for a bus. When the bus arrives, all the waiting riders invoke boardBus, but

anyone who arrives while the bus is boarding has to wait for the next bus. The capacity of

the bus is 50 people; if there are more than 50 people waiting, some will have to wait for the

next bus.

When all the waiting riders have boarded, the bus can invoke depart. If the bus arrives when

there are no riders, it should depart immediately.

Write synchronization code that enforces all of these constraints

The Dining Hall Problem

Students in the dining hall invoke dine and then leave. After invoking dine and before

invoking leave a student is considered “ready to leave”.

The synchronization constraint that applies to students is that, in order to maintain the

illusion of social suave, a student may never sit at a table alone. A student is considered to

be sitting alone if everyone else who has invoked dine invokes leave before she has finished

dine.

Write code that enforces this constraint.