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

16
RENCANA PEMBELAJARAN SEMESTER (RPS) CSG2H3 PEMROGRAMAN BERORIENTASI OBJEK Disusun oleh: Tim Dosen Pemrograman Berorientasi Objek PROGRAM STUDI S1 TEKNIK INFORMATIKA FAKULTAS INFORMATIKA TELKOM UNIVERSITY

Upload: vodan

Post on 08-Feb-2018

225 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik Informatika/MK... · Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

RENCANA PEMBELAJARAN SEMESTER

(RPS)

CSG2H3

PEMROGRAMAN BERORIENTASI OBJEK

Disusun oleh:

Tim Dosen Pemrograman Berorientasi Objek

PROGRAM STUDI S1 TEKNIK INFORMATIKA FAKULTAS INFORMATIKA

TELKOM UNIVERSITY

Page 2: RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik Informatika/MK... · Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

ii

LEMBAR PENGESAHAN

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

Kode Mata Kuliah : CSG2H3

Nama Mata Kuliah : Pemrograman Berorientasi Objek

Bandung, 2015 Mengetahui Menyetujui

Kaprodi S1 Teknik Informatika Ketua KK <Nama KK>

M. Arif Bijaksana, PhD <Nama Ketua KK>

Page 3: RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik Informatika/MK... · Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

iii

DAFTAR ISI

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

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

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

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

C. RANCANGAN INTERAKSI DOSEN–MAHASISWA ............................................................................... 9

D. RANCANGAN TUGAS ...................................................................................................................... 10

E. PENILAIAN DENGAN RUBRIK .......................................................................................................... 10

F. PENENTUAN NILAI AKHIR MATA KULIAH ....................................................................................... 13

Page 4: RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik Informatika/MK... · Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

1

A. PROFIL MATA KULIAH

IDENTITAS MATA KULIAH

Nama Mata Kuliah : Pemrograman Berorientasi Objek

Kode Mata Kuliah : CSG2H3

SKS : 3

Jenis : Wajib

Jam pelaksanaan : Tatap muka di kelas = 3 jam per minggu

Tutorial / responsi =1 jam per minggu

Semester / Tingkat : 4 (empat) / 2 (dua)

Pre-requisite : Algoritma & Pemrograman, Struktur Data

Co-requisite :

Bidang Kajian :

DESKRIPSI SINGKAT MATA KULIAH Mata kuliah ini mempelajari konsep-konsep dasar pada object oriented programming (OOP), seperti

class – object, encapsulation, inheritance, polymorphism, interface, abstract class. Secara spesifik

konsep-konsep tersebut akan dipelajari dengan bantuan bahasa pemrograman Java. Selain konsep-

konsep dasar OOP, pada mata kuliah ini juga akan dipelajari konsep exception handling,

multithreading, object persistence, berbagai Collection, Java API, database connection, GUI

(Graphical User Interface), serta deployment.

DAFTAR PUSTAKA

1. Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

2. Java™ How to Program, 9th, 2012, Prentice Hall

3. Head First Object Oriented Design and Analysis, 1st edition, 2006, Brett D. McLaughlin, Gary

Pollice, David West, O'Reilly Media

Page 5: RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik Informatika/MK... · Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

2

B. RENCANA PEMBELAJARAN SEMESTER (RPS)

Pertemuan

ke- Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)

Bentuk/

Metode/

Strategi

Pembelajaran

Kriteria Penilaian

(Indikator)

Bobot

Nilai

1 Mahasiswa mengetahui sejarah OOP.

Mahasiswa memahami perlunya OOP untuk menyelesaikan permasalahan, yang kurang tepat jika procedural oriented diterapkan.

Mahasiswa mengetahui bahasa pemrograman Java yang akan digunakan untuk mempelajari OOP.

Course Introduction OOP history compare procedural and

oop by giving a simple case study

Introduction to java

Ceramah -

2,3 Mahasiswa memahami perbedaan antara kelas dan object.

Mahasiswa mampu membuat kelas (sederhana) dan object dalam bahasa Java.

Mahasiswa memahami penggunaan serta dapat membuat program sederhana menggunakan tipe primitif, array, keyword, reference variable, deklarasi dan assignment objek,

Mahasiswa memahami dan mengimplementasikan dalam prograam tentang siklus objek (penggunaan constructor dan garbage collector)

Classes and object The difference between

class and object, by giving some examples

making a simple first object (Fokus: first programming with java)

Primitive and reference: Type, keywords, reference variable, object declaration & assignment, objects in garbage collector, arrays

Object cycle: life and death Constructor & Garbage

Ceramah Demo

-

Page 6: RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik Informatika/MK... · Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

3

Pertemuan

ke- Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)

Bentuk/

Metode/

Strategi

Pembelajaran

Kriteria Penilaian

(Indikator)

Bobot

Nilai

collector

4 Mahasiswa memahami makna dan perlunya enkapsulasi.

Mahasiswa memahami dan dapat mengimplementasikan enkapsulasi dalam suatu program sederhana.

Encapsulation Why do we need

encapsulation? Object state Instance variable vs local

variables Methods argument &

return type Pass by value Getters and setters Sample class diagram

representing encapsulation

Ceramah Demo practice

5,6 Mahasiswa memahami diagram kelas beserta makna simbol relasi yang terdap at pada diagram kelas.

Class relationship (class diagram) association, aggregation,

composition Example: simple class

diagram & code in java related *) Hanya mengenalkan saja, karena nantinya satu persatu relasi yg ada pada diagram kelas akan dibutuhkan saat

Ceramah Demo practice

Ketepatan dalam mengimplementasikan class diagram ke dalam kode program

15%

Page 7: RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik Informatika/MK... · Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

4

Pertemuan

ke- Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)

Bentuk/

Metode/

Strategi

Pembelajaran

Kriteria Penilaian

(Indikator)

Bobot

Nilai

menjelaskan materi inheritance, polimorfisme, kelas abstrak, interface

7,8 Mahasiswa memahami makna dan perlunya inheritance dan 4olymorphism.

Mahasiswa memahami dan dapat mengimplementasikan inheritance dan 4olymorphism dalam suatu program sederhana.

Inheritance & polymorphism Why do we need

inheritance & polymorphism?

How inheritance promotes software reusability

Designing for inheritance Superclass and subclass

relationship & access modifier

Method Overriding Polymorphism: in object

declaration & assignment, in method argument & return type

Method overloading Constructor overloading

(revisited) & superclass constructor

Calls to super(), this () Sample class diagram

representing inheritance & polymorphism

Ceramah Demo Practice

9,10 Mahasiswa memahami perlunya dan Interface & abstract classes Ceramah Ketepatan dalam 15%

Page 8: RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik Informatika/MK... · Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

5

Pertemuan

ke- Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)

Bentuk/

Metode/

Strategi

Pembelajaran

Kriteria Penilaian

(Indikator)

Bobot

Nilai

mengimplementasikan interface dan abstract classess dalam suatu program sederhana.

Why do we need abstract classes? Abstract vs concrete class

Abstract classess and methods

Overloading and overriding (revisited)

Casting Why do we need interface? Interface: making & using Sample class diagram

representing interface & abstract class

Demo Practice

mengimplementasikan class diagram ke dalam kode program

11 Mahasiswa memahami perlunya dan mengimplementasikan static & final variabel dan method dalam suatu program sederhana.

Static & final method & variables Static method Static variable Constants (static final

variable) Final method & class Wrapper classes &

autoboxing Static imports Example: Math class Instance variable vs static

variable

Ceramah Demo

Page 9: RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik Informatika/MK... · Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

6

Pertemuan

ke- Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)

Bentuk/

Metode/

Strategi

Pembelajaran

Kriteria Penilaian

(Indikator)

Bobot

Nilai

UJIAN TENGAH SEMESTER (UTS) 30%

12 Mahasiswa mampu memahami dan menggunakan Exception Handling.

Mahasiswa dapat membuat kelas Exception sendiri.

Exception handling Exception as an object try-catch throws Try-catch- finally Multiple exception Polymorphism in exception Making your own exception

Ceramah Demo

13 Mahasiswa mampu memahami dan mengimplementasikan Persistensi Objek dalam file.

Object Persistence Saving object state Writing a serialized object

to a file Object serialization

(serializable interface) Deserializing an object

Ceramah Demo Practice

Ketepatan penggambaran dari: - Flowchart aplikasi - Desain class

diagram - Desain ER diagram

10%

14 Mahasiswa mampu memahami dan mengimplementasikan konsep sinkronisasi menggunakan thread

Multithreading Launching new thread Runnable interface Thread' state Runnable - running loop Thread scheduler Making and starting two

thread Locking object Synchronized method using

Ceramah Demo practice

Page 10: RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik Informatika/MK... · Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

7

Pertemuan

ke- Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)

Bentuk/

Metode/

Strategi

Pembelajaran

Kriteria Penilaian

(Indikator)

Bobot

Nilai

a lock deadlock

15 Mahasiswa mampu menggunakan Java API untuk membantu membuat aplikasi.

Using java library (java API) How to use it Simple example

Ceramah Demo

16 Mahasiswa mampu menggunakan struktur data yang telah terdefinisi dalam Collections untuk membuat aplikasi

Collections Interface Collection and

class Collections Type wrapper classess for

primitive types Autoboxing and auto-

unboxing List: ArrayList - Iterator,

LinkedList Stack Sets Maps

Ceramah Demo Practice

17 Mahasiswa mampu membuat koneksi dari aplikasi berbasis java ke DBMS

Making connection with database JDBC Oracle/mysql (?)

Ceramah Demo Practice

Ketepatan dalam mengimplementasikan: - Desain class

diagram ke dalam kode program

- Fungsionalitas utama dari aplikasi

10%

18-20 Mahasiswa mampu membuat aplikasi berbasis GUI/Swing.

GUI & SWING User event

Ceramah Demo

Page 11: RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik Informatika/MK... · Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

8

Pertemuan

ke- Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)

Bentuk/

Metode/

Strategi

Pembelajaran

Kriteria Penilaian

(Indikator)

Bobot

Nilai

Listener interface Action event Inner class Swing component

Practice

21 Mahasiswa mampu mengorganisasikan dan men-deploy aplikasi

Deployment Separate source code and

class files Making an executable JAR Running an executable JAR Package

Ceramah Demo

Hasil akhir proyek aplikasi dapat memenuhi kriteria: - Sesuai antara

perancangan dan implementasi kode program

- Tidak ada bug/error pada aplikasi

- Semua fungsionalitas aplikasi berjalan

20%

UAS

Page 12: RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik Informatika/MK... · Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

9

C. RANCANGAN INTERAKSI DOSEN–MAHASISWA

Kemampuan Akhir yang Diharapkan

Mahasiswa mampu mengidentifikasi dan menjelaskan kembali materi yang diberikan

Nama Kajian 1. Course Introduction 2. Classes and object 3. Encapsulation 4. Class relationship (class diagram) 5. Inheritance & polymorphism 6. Interface & abstract classes 7. Static & final method & variables 8. Exception handling 9. Object Persistence 10. Multithreading 11. Using java library (java API) 12. Collections 13. Making connection with database 14. GUI & SWING 15. Deployment

Nama Strategi Ceramah

Minggu Penggunaan Strategi (Metode) 1-14

Deskripsi Singkat Strategi (Metode) pembelajaran

Dosen mengulas materi sebelumnya, menjelaskan tujuan, hasil pembelajaran, materi, dan kesimpulan, serta mendorong mahasiswa untuk aktif bertanya dan mengemukakan pendapat terkait materi yang disampaikan.

RANCANGAN INTERAKSI DOSEN–MAHASISWA

Aktivitas Dosen Aktivitas Mahasiswa

Mengulas materi yang telah diberikan pada pertemuan sebelumnya (untuk pertemuan 2 dst)

Mengungkapkan apa yang telah dipahami dari

materi yang telah disampaikan pada

pertemuan sebelumnya.

Menjelaskan tentang tujuan pembelajaran dari kegiatan pembelajaran

Menyimak penjelasan dosen.

Mengarahkan mahasiswa untuk melibatkan diri dan aktif dalam kegiatan pembelajaran

Menyiapkan diri menerima materi yang akan

disampaikan.

Membahas materi

Menyimak dan mencatat hal-hal penting dari

materi yang disampaikan oleh dosen.

Bertanya apabila ada materi yang kurang jelas.

Mengajukan sejumlah pertanyaan terkait materi yang telah diberikan

Menjawab pertanyaan yang diberikan.

Menyimpulkan materi Menyimak kesimpulan.

Page 13: RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik Informatika/MK... · Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

10

D. RANCANGAN TUGAS

Kode mata Kuliah CSG2H3

Nama Mata Kuliah Pemrograman Berorientasi Obyek

Kemampuan Akhir yang Diharapkan Mahasiswa mampu untuk mengimplementasikan konsep yang disampaikan di kelas ke dalam kode program

Minggu/Pertemuan ke 3 & 5

Tugas ke 1 & 2

1. Tujuan tugas: Mahasiswa mampu mengimplementasikan konsep yang disampaikan di kelas ke dalam kode program

2. Uraian Tugas: a. Obyek garapan: Desain class diagram b. Yang harus dikerjakan dan batasan-batasan:

Mengimplementasikan class diagram yang diberikan c. Metode/ cara pengerjaan, acuan yang digunakan:

Membuat kode program berdasarkan class diagram yang diberikan. Referensi pengerjaan:

a. Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

b. Java™ How to Program, 9th, 2012, Prentice Hall

c. Head First Object Oriented Design and Analysis, 1st edition, 2006, Brett D.

McLaughlin, Gary Pollice, David West, O'Reilly Media

d. Deskripsi luaran tugas yang dihasilkan/ dikerjakan: Aplikasi sederhana

3. Kriteria penilaian: Kesesuaian implementasi program dengan class diagram Semua fungsionalitas yang disyaratkan dapat berjalan Alur program sesuai dengan persyaratan

Kode mata Kuliah CSG2H3

Nama Mata Kuliah Pemrograman Berorientasi Obyek

Kemampuan Akhir yang Diharapkan Mahasiswa mampu membuat aplikasi menggunakan konsep pemrograman berorientasi obyek

Minggu/Pertemuan ke 7-14

Tugas ke 3

4. Tujuan tugas: a. Mahasiswa mampu merancang aplikasi menggunakan konsep berorientasi obyek b. Mahasiswa mampu mengimplementasikan rancangan class diagram ke dalam kode

program c. Mahasiswa mampu mengimplementasikan semua fungsionalitas berdasarkan

Page 14: RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik Informatika/MK... · Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

11

persyaratan yang diharapkan

5. Uraian Tugas: e. Obyek garapan: Proyek aplikasi f. Yang harus dikerjakan dan batasan-batasan:

Merancang class diagram, flowchart aplikasi dan ER diagram (basis data) Mengimplementasikan class diagram ke dalam kode program Mengimplementasikan flowchart ke dalam fungsionalitas aplikasi Membuat aplikasi dengan antarmuka tampilan GUI (Graphical User Interface)

g. Metode/ cara pengerjaan, acuan yang digunakan: Merancang aplikasi dan membangun kode program aplikasi berdasarkan class diagram yang dirancang. Referensi pengerjaan:

d. Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

e. Java™ How to Program, 9th, 2012, Prentice Hall

f. Head First Object Oriented Design and Analysis, 1st edition, 2006, Brett D.

McLaughlin, Gary Pollice, David West, O'Reilly Media

h. Deskripsi luaran tugas yang dihasilkan/ dikerjakan: - Dokumen laporan akhir aplikasi yang berisi rancangan seluruh aplikasi dan

dokumentasi aplikasi - Kode program dan aplikasi akhir

6. Kriteria penilaian:

Penilaian tugas dibagi menjadi 3 tahap, dengan detail sebagai berikut.

1. Tahap 1

a. Bisnis proses yang menggambarkan kerja aplikasi secara umum

b. Perancangan kelas (termasuk interface dan abstract class jika ada) lengkap dengan

atribut dan method sesuai dengan spesifikasi yang diberikan

c. Perancangan relasi antar kelas

d. Perancangan relasi tabel di database

2. Tahap 2

a. Implementasi dari rancangan kelas dan basis data yang sudah dibuat ke dalam

bahasa pemrograman sesuai dengan kaidah-kaidah PBO

b. Program sudah mampu menjalankan fungsionalitas utama sesuai spesifikasi yang

diberikan

c. Program sudah mampu melakukan koneksi ke data base dan melakukan operasi

dasar, seperti select, insert, update, dan delete

3. Tahap 3:

Fokus pekerjaan: finalisasi program menggunakan GUI dan siap digunakan

Persentase penilaian: 40%

Waktu penilaian: 3 minggu setelah tahap 2

Parameter penilaian:

a. Laporan akhir dari tahap 1 sampai 3

b. Perancangan skenario pengujian program / aplikasi

c. Kebenaran implementasi program dengan menggunakan kaidah-kaidah PBO sesuai

dengan spesifikasi yang diberikan

d. Kesesuaian alur penggunaan program dengan bisnis proses yang telah dibangun

e. Bug / error pada program disesuaikan dengan rancangan skenario pengujian

program (semakin sedikit semakin bagus, dan sebaliknya)

Page 15: RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik Informatika/MK... · Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

12

f. Bonus (dengan tambahan sesuai kebijakan dosen masing-masing):

- Kualitas tampilan GUI dengan berdasarkan kaidah IMK / HCI

- Menggunakan konsep MVC / design pattern yang tidak diajarkan di kelas

E. PENILAIAN DENGAN RUBRIK

Jenjang

(Grade) Angka (Skor) Deskripsi perilaku (Indikator)

A 80 < NSM

- Mampu merancang aplikasi berdasarkan kasus yang

diberikan

- Mampu mengimplementasikan rancangan aplikasi ke

dalam kode program

- Mampu membangun aplikasi lengkap dengan basis

data dan antarmuka GUI menggunakan pendekatan

berorientasi obyek

- Mampu menjelaskan konsep pemrograman

berorientasi obyek

AB 70 < NSM ≤ 80

- Mampu merancang aplikasi berdasarkan kasus yang

diberikan

- Mampu mengimplementasikan rancangan aplikasi ke

dalam kode program

- Mampu membangun aplikasi lengkap dengan basis

data dan antarmuka GUI menggunakan pendekatan

berorientasi obyek

- Mampu menjelaskan konsep pemrograman

berorientasi obyek

B 65 < NSM ≤ 70

- Mampu merancang aplikasi berdasarkan kasus yang

diberikan

- Mampu mengimplementasikan rancangan aplikasi ke

dalam kode program

- Mampu membangun aplikasi lengkap dengan basis

data menggunakan pendekatan berorientasi obyek

- Mampu menjelaskan konsep pemrograman

berorientasi obyek

BC 60 < NSM ≤ 65

- Mampu merancang aplikasi berdasarkan kasus yang

diberikan

- Mampu mengimplementasikan rancangan aplikasi ke

dalam kode program

- Mampu membangun aplikasi lengkap dengan basis

data menggunakan pendekatan berorientasi obyek

Page 16: RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik Informatika/MK... · Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly

13

- Mampu menjelaskan konsep pemrograman

berorientasi obyek

C 50 < NSM ≤ 60

- Mampu merancang aplikasi berdasarkan kasus yang

diberikan

- Mampu mengimplementasikan rancangan aplikasi ke

dalam kode program

- Mampu menjelaskan konsep pemrograman

berorientasi obyek

D 40 < NSM ≤ 50 - Mampu menjelaskan konsep pemrograman

berorientasi obyek

E NSM ≤ 40 -

F. PERSENTASE KOMPONEN PENILAIAN

1. Kuis : 10%

2. Tugas Besar : 20%

3. UTS : 30%

4. UAS : 40%

G. PENENTUAN NILAI AKHIR MATA KULIAH

Nilai Skor Matakuliah (NSM) Nilai Mata Kuliah (NMK)

80 < NSM A

70 < NSM ≤ 80 AB

65 < NSM ≤ 70 B

60 < NSM ≤ 65 BC

50 < NSM ≤ 60 C

40 < NSM ≤ 50 D

NSM ≤ 40 E