Anda di halaman 1dari 26

RENCANA PEMBELAJARAN SEMESTER (RPS)

CSG3E3

SISTEM OPERASI

RENCANA PEMBELAJARAN SEMESTER (RPS) CSG3E3 SISTEM OPERASI Disusun oleh: Endro Ariyanto Erwid M Jadied Novian Anggis

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

Nama Mata Kuliah

Mengetahui Kaprodi Informatika

: CSG3E3

: SISTEM OPERASI

MOCH. ARIF BIJAKSANA

Bandung,

Juli 2015

Menyetujui Ketua KK Telematika

ANDRIAN RAKHMATSYAH

DAFTAR ISI

LEMBAR PENGESAHAN

ii

DAFTAR ISI

iii

A. PROFIL MATA KULIAH

1

B. RENCANA PEMBELAJARAN SEMESTER (RPS)

3

C. RANCANGAN INTERAKSI DOSENMAHASISWA

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.

memori, dan file/Input dan Output/proteksi dan keamanan. Gambar A-1 Pengelompokan Materi Sistem Operasi Lanjutan dari

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

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

Kemampuan Akhir yang

Bahan Kajian (Materi Ajar)

Metode/ Strategi

Kriteria Penilaian

Bobot Nilai

ke-

Diharapkan

Pembelajaran

(Indikator)

 

Mampu menguasai materi yang diajarkan

Overview Sistem Operasi

Discovery Learning

Belajar mandiri

Tidak ada

1-2

memanfaatkan

(mahasiswa

elearning

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;

Diskusi dan penilaian langsung

2%

Small Group

 

Discussion

 

3-8

Mampu menguasai materi yang diajarkan

Proses

Discovery Learning

Belajar mandiri

Tidak ada

Threads

memanfaatkan

(mahasiswa

 

elearning

belajar sendiri)

 

Mampu bekerja sama; mampu menganalisis

Proses

Cooperative Learning

Tugas 2: Makalah dan presentasi

7%

Threads

 

Mampu untuk berpikir logis, sistematis, kritis dan inovatif;

Proses

Tatap muka;

Diskusi dan penilaian langsung

2%

Threads

Small Group

 

Discussion

 

9-14

Mampu menguasai materi yang diajarkan

Sinkronisasi Proses

Discovery Learning

Belajar mandiri

Tidak ada

Deadlock

memanfaatkan

(mahasiswa

 

elearning

belajar sendiri)

 

Mampu bekerja sama; mampu menganalisis

Sinkronisasi Proses

Cooperative Learning

Tugas 3: Praktek membuat program sinkronisasi

7%

Deadlock

 

Mampu untuk berpikir logis, sistematis, kritis dan inovatif;

Sinkronisasi Proses

Tatap muka;

Diskusi dan penilaian langsung

2%

Deadlock

Small Group

 

Discussion

 

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

Tidak ada

memanfaatkan

(mahasiswa

 

elearning

belajar sendiri)

 

Mampu bekerja sama; mampu menganalisis

Penjadwalan

Cooperative Learning

Tugas 4:

7%

Penjadwalan

 

Mampu untuk berpikir logis, sistematis, kritis dan inovatif;

Penjadwalan

Tatap muka;

Diskusi dan penilaian langsung

2%

Small Group

 

Discussion

 

18-20

Mampu menguasai materi yang diajarkan

Manajemen Memori Memori Virtual

Discovery Learning

Belajar mandiri

Tidak ada

memanfaatkan

(mahasiswa

   

elearning

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;

Diskusi dan penilaian langsung

2%

Small Group

   

Discussion

 

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 DOSENMAHASISWA

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 DOSENMAHASISWA

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 DOSENMAHASISWA

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:

Mahasiswa berdiskusi.

setelah diberikan kasus terdapat 2 atau 3 jawaban dipersilahkan setiap kelompok untuk mempertahankan jawabannya dan diadu dengan jawaban kelompok lain.

Nama Strategi: Cooperative Learning

Nama Strategi: Cooperative Learning Kemampuan Akhir yang Diharapkan: Mahasiswa mampu bekerjasama, berpikir logis,
Kemampuan Akhir yang Diharapkan: Mahasiswa mampu bekerjasama, berpikir logis, sistematis, kritis dan inovatif di luar

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

Pertemuan Penggunaan Strategi (Metode): 2, 7-8,13-14,17,20,25-28

Deskripsi Singkat Strategi (Metode) pembelajaran: Dosen memfasilitasi mahasiswa berdiskusi berdasarkan kelompok

Deskripsi Singkat Strategi (Metode) pembelajaran: Dosen memfasilitasi mahasiswa berdiskusi berdasarkan kelompok menggunakan bahan materi soal yang dikerjakan pada kegiatan tugas terstruktur.

RANCANGAN INTERAKSI DOSENMAHASISWA

RANCANGAN INTERAKSI DOSEN – MAHASISWA

Aktivitas Dosen

Dosen memberikan tugas terstruktur yang berfokus pada “learning by doing” dan mendekati permasalahan di dunia nyata

Dosen menilai presentasi dan memfasilitasi diskusi.

Aktivitas Mahasiswa

Mahasiswa mengerjakan soal secara berkelompok.

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 DOSENMAHASISWA

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

dan

di

internet/paper/textbook,

merangkumnya,

memberi

analisis

mempresentasikannya

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

3. Kriteria Penilaian:

a.

Presentasi

40%

-

slide

b.

-

penyampaian 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

Pertemuan ke : 20

sks : 3

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

 

Tugas tidak terlambat, hasil bagus, pembagian tugas jelas

bagus (A)

80-100

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

 

Tidak mengumpulkan tugas

Lulus (E)

0

Rubrik Presentasi

 

Jenjang

   

(Grade)

Angka (Skor)

Deskripsi perilaku (Indikator)

Sangat

 

Isi jelas, “to the poin” dan menarik, Menyampaikan isi dengan jelas dan menarik

bagus (A)

80-100

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

 

Tidak presentasi

Lulus (E)

0

Rubrik Program

 

Jenjang

   

(Grade)

Angka (Skor)

Deskripsi perilaku (Indikator)

Sangat

 

Program berjalan benar

bagus (A)

80-100

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

 

Tidak mengumpulkan

(E)

0

Rubrik Diskusi

Jenjang

   

(Grade)

Angka (Skor)

Deskripsi perilaku (Indikator)

Sangat

 

Mahasiswa mengerti materi, mampu menyampaikan ide sendiri, mendengarkan ide orang lain

bagus (A)

80-100

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

 

Tidak hadir

Lulus (E)

0

Rubrik Makalah, Resume, Ringkasan

Jenjang

   

(Grade)

Angka (Skor)

Deskripsi perilaku (Indikator)

Sangat

 

Materi lengkap, analisis benar, terdapat tambahan hasil pemikiran mahasiswa, sesuai kaidah penulisan (struktur, rapi, dll)

bagus (A)

80-100

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

 

Tidak mengumpulkan

Lulus (E)

0

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

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

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

an item

is being added to or removed from the

buffer,

the

buffer

is

in

an

• 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()

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

constraints.

synchronization

code

for

oxygen

and

hydrogen

molecules

that

enforces

these

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

requirements.

code

for

customers

The Child Care Problem

entering

and

leaving

the

sushi

bar

that

enforces

these

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.