Anda di halaman 1dari 10

SILABUS PERKULIAHAN

JENJANG DIPLOMA III (D.III) AMIK BSI


Mata Kuliah : Algoritma & Pemrograman II (C++ Lanjutan)
Jurusan : Teknik Komputer
Deskripsi : Teknik-Teknik Dasar Mengakses Perangkat Keras Komputer
Menggunakan Bahasa Pemrograman C++
Standar Kompetensi : Mahasiswa Bisa Membuat Program untuk Mengakses Perangkat Keras
Komputer Menggunakan Bahasa Pemrograman C++
Kode/sks : / 4 sks (2/2 sks)

Sumber Referensi:
1. Arnush, Craig, et al. 1996. Teach Your Self Borland C++ 5 in 21 Days (Third Edition). Sams Publishing. Indianapolis
2. H. M., Jogiyanto. 2006. Konsep Dasar Pemrograman Bahasa C (Edisi Empat). Andi. Yogyakarta
3. Mukodim, Didin. 1994. Pengantar Bahasa Rakitan. Gunadarma. Jakarta
4. Sjartuni, Ananta. 1992. Lebih Lanjut dengan C. Elex Media Komputindo. Jakarta
5. Rahardjo, Budi. 2007. Pemrograman C++. Informatika. Bandung
6. Rahardjo, Budi dan Imam Heryanto. 2003. Pemrograman Borland C++ Builder. Informatika. Bandung

Pengalaman Alokasi
Pertemuan Kompetensi Dasar Materi Pokok Indikator
Belajar Waktu
1. Pengenalan register pada 45 menit untuk
1. Memahami arsitektur
mikroprosesor Mahasiswa membuat mempelajari
mikroprosesor. 1. Bisa membuat project
2. Pengenalan interupsi BIOS. program sederhana register dan
2. Memahami register- baru dengan IDE
3. Pengenalan interupsi DOS. untuk menjalankan interupsi pada
register pada Borland C++ 5.02.
4. Cara menjalankan interupsi interupsi yang mikroprosesor.
mikroprosesor. 2. Bisa membuat
1 BIOS dan DOS. berfungsi untuk
3. Memahami interupsi program untuk
5. Membuat project baru mencetak karakter 45 menit untuk
pada mikroprosesor. mencetak karakter
menggunakan IDE Borland menggunakan fungsi praktikum
4. Bisa membuat project menggunakan fungsi
C++ 5.02. standar int86 pada membuat
menggunakan IDE standar int86.
6. Menggunakan fungsi sebuah project baru. program
Borland C++ 5.02.
standar int86. sederhana.
Pengalaman Alokasi
Pertemuan Kompetensi Dasar Materi Pokok Indikator
Belajar Waktu
45 menit untuk
1. Memahami
1. Pengenalan kata kunci mempelajari
perbedaan cara
asm. teknik inline
menjalankan Mahasiswa membuat
Mahasiswa bisa 2. Cara menuliskan kode- assembly.
interupsi program sederhana
memberikan contoh kode assembly
menggunakan fungsi untuk mencetak
2 sederhana mencetak menggunakan kata kunci 45 menit untuk
int86 dengan teknik karakter
karakter menggunakan asm. mempraktekkan
inline assembly. menggunakan teknik
teknik inline assembly. 3. Menyimpan nilai dalam teknik inline
2. Mampu menuliskan inline assembly.
register dan menyalin nilai assembly untuk
instruksi inline
dari register. mencetak
assembly.
karakter.
1. Memilih mode teks dan
mengaktifkannya dengan
30 menit untuk
fungsi standar int86. 1. Dapat membedakan
1. Memahami mode- mempelajari
2. Efek clear screen pada berbagai mode video Mahasiswa bisa
mode video dan tahu cara mengubah
saat mengubah mode pada monitor. mengubah mode
cara mengaktifkan mode video.
video. 2. Bisa memilih mode video teks dan
mode video teks pada
3 3. Menjalankan interupsi video untuk program mempelajari efek
monitor. 60 menit untuk
BIOS 10 heksadesimal berbasis teks. clear screen saat
2. Bisa mengaktifkan mempraktekkan
servis 0 menggunakan 3. Bisa menjalankan mengubah mode
mode video dengan program untuk
fungsi int86. fungsi int86 untuk video.
fungsi standar int86. mengubah
4. Membuat fungsi untuk memilih mode video.
mode video.
mengubah mode video
(fungsi setMode).
1. Menjalankan interupsi 10
1. Memahami cara heksadesimal servis 0 1. Bisa memilih mode 30 menit untuk
mengetahui mode heksadesimal dengan video dengan teknik mempelajari
video yang sedang teknik inline assembly. inline assembly. Mahasiswa bisa cara memilih
digunakan. 1. Banyaknya baris, kolom 2. Bisa membuat membuat program dan
2. Bisa memilih mode dan halaman layar pada program untuk untuk memilih dan mengetahui
video dengan teknik mode teks. mengetahui mode mengetahui mode mode video
4
inline assembly. 2. Menjalankan interupsi video dan posisi video menggunakan dan posisi
3. Bisa mengetahui mode BIOS 10 heksadesimal kursor. teknik inline kursor.
video yang sedang servis 0F heksadesimal 3. Bisa membedakan assembly atau
digunakan dengan dengan fungsi int86. jumlah baris, kolom dengan fungsi int86. 60 menit
fungsi int86. 3. Membuat fungsi untuk dan halaman pada mempraktekkan
mengetahui posisi kursor setiap mode video. program.
(fungsi getMode).
Pengalaman Alokasi
Pertemuan Kompetensi Dasar Materi Pokok Indikator
Belajar Waktu
1. Menjalankan interupsi BIOS
10 heksadesimal servis 0F 1. Mahasiswa
heksadesimal dengan membuat 30 menit untuk
teknik inline assembly. program untuk mempelajari
1. Bisa membuat
2. Menjalankan interupsi BIOS mencetak cara mencetak
program untuk
10 heksadesimal servis 09 karakter dan karakter,
mencetak karakter
heksadesimal dengan memindahkan mindahkan
1. Memahami cara dengan fungsi int86.
fungsi int86 untuk posisi kursor kursor dan
mencetak karakter 2. Bisa membuat fungsi
mencetak karakter dan dengan fungsi mengetahui
pada layar untuk mencetak
atributnya. int86. posisi kursor.
menggunakan BIOS karakter (fungsi
3. Menjalankan interupsi BIOS 2. Mahasiswa
5 video interrupt. writeChar).
10 heksadesimal servis 03 membuat 60 menit untuk
2. Mahasiswa memahami 3. Bisa membuat fungsi
dan servis 02 heksadesimal program mempraktekan
atribut karakter, posisi untuk mendeteksi
dengan fungsi int86. menggunakan program
baris dan kolom posisi kursor (fungsi
4. Membuat fungsi untuk fungsi mencetak
karakter. getCursorPos) dan
mencetak karakter (fungsi writeChar, karakter,
memindahkan posisi
writeChar), mengetahui setCursorPos memindahkan
kursor (fungsi
posisi kursor (fungsi dan kursor dan
setCursorPos).
getCursorPos) dan fungsi getCursorPos. mengetahui
untuk memindahkan posisi posisi kursor.
kursor (fungsi
setCursorPos).
30 menit untuk
mempelajari
1. Membuat fungsi untuk konsep string
1. Memahami proses 1. Memahami konsep
mencetak string (fungsi dan cara
komputer saat string pada C/C++.
writeString). mencetaknya.
mencetak string. 2. Bisa membuat Mahasiswa membuat
2. Mempelajari algoritma
6 2. Mengembangkan program untuk program sederhana
mencetak string 60 menit untuk
fungsi untuk mencetak mencetak string untuk mencetak
berdasarkan contoh praktek
karakter menjadi fungsi dan karakter string.
program yang diberikan membuat
untuk mencetak string. tunggal.
dalam modul. program
mencetak
string.
Pengalaman Alokasi
Pertemuan Kompetensi Dasar Materi Pokok Indikator
Belajar Waktu
30 menit untuk
1. Menjalankan interupsi mempelajari
1. Bisa membuat
1. Memahami cara BIOS 10 heksadesimal perbedaan
contoh program
mendeteksi karakter servis 08 heksadesimal Mahasiswa ASCII regular
untuk mencetak
yang ada diposisi dengan fungsi int86. membuat program dengan ASCII
karakter ASCII
tertentu pada layar. 2. Membuat fungsi untuk untuk mendeteksi perluasan.
perluasan/extended.
2. Mahasiswa memahami membaca karakter pada dan mencetak
7 2. Bisa membuat
kode urut karakter posisi tertentu dilayar karakter ASCII 60 menit untuk
contoh program
ASCII. (fungsi getCharAttr). extended dengan praktek
untuk mengetahui
3. Menampilkan karakter 3. Mencetak karakter ASCII teknik inline membuat contoh
kode ASCII dari
ASCII reguler dan menggunakan fungsi assembly. program
karakter yang
perluasan. writeChar yang telah penggunaan
tercetak di layar.
dibuat sebelumnya. karakter ASCII
perluasan.
1. Bisa membuat class 1. Memahami kembali
library/pustaka class struktur class dalam
untuk operasi pada bahasa pemrograman
60 menit untuk
layar monitor. C++.
Bisa membuat class mengetikkan
2. Mengenkapsulasi 2. Mengenkapsulasi fungsi-
Screen untuk operasi Mengetikkan kode kode program
fungsi-fungsi operasi fungsi BIOS video interrupt
layar menggunakan program screen.cpp screen.cpp.
layar monitor dalam dalam fungsi anggota
BIOS video interrupt dan membuat
8 pustaka class class Screen.
berdasarkan fungsi- contoh program 30 menit untuk
screen.cpp sebagai 3. Membuat fungsi anggota
fungsi yang telah dibuat penggunaan objek mempraktekkan
fungsi anggota class tambahan, yaitu
pada pertemuan Screen. contoh program
Screen. setActivePage,
sebelumnya. yang ada pada
getActivePage,
modul.
setVisualPage,
getVisualPage dan cls
dalam class Screen.
1. Membahas contoh 1. Mendeklarasikan tipe 30 menit untuk
program yang objek Screen sebagai tipe Bisa membuat contoh mempelajari
Mahasiswa
menggunakan pustaka data untuk variabel dan program yang cara
membuat contoh-
class screen.cpp. memanggil konstruktor memanfaat pustaka mendeklarasikan
contoh program
9 2. Bisa membuat aplikasi class Screen. screen.cpp dan objek Screen.
yang menggunakan
sederhana yang 2. Menghancurkan objek membuat objek Screen
pustaka class
menggunakan class Screen yang telah dibuat. untuk operasi output di 60 menit untuk
screen.cpp.
Screen. 3. Menjalankan fungsi layar. membuat contoh
anggota class Screen. program.
Pengalaman Alokasi
Pertemuan Kompetensi Dasar Materi Pokok Indikator
Belajar Waktu
1. Menjalankan interupsi 30 menit untuk
BIOS 16 heksadesimal mempelajari
servis 0 untuk mendeteksi interupsi BIOS
Mahasiswa
penekanan tombol Bisa membuat contoh 16
mempelajari contoh
keyboard dengan teknik program sederhana heksadesimal
Memahami dan bisa program untuk
inline assembly. untuk input satu karakter servis 0.
menggunakan fungsi- memasukan sebuah
10 2. Membuat fungsi untuk dengan teknik inline
fungsi-fungsi BIOS karakter dan dapat
memasukan satu karakter assembly menggunakan 60 menit untuk
keyboard interrupt. membuat fungsi
dengan mengenkapsulasi interupsi BIOS 16 mempraktekkan
untuk memasukan
interupsi BIOS 16 heksadesimal servis 0. program untuk
karakter.
heksadesimal servis 0 memasukan
heksadesimal (fungsi sebuah
getKey). karakter.
30 menit untuk
1. Menjalankan interupsi
mempelajari
1. Bisa membuat program BIOS 16 heksadesimal
tombol-tombol
untuk mendeteksi servis 0 heksadesimal
Mahasiswa extended pada
penekanan tombol- dengan teknik inline
Bisa membuat program membuat program keyboard.
tombol khusus dengan assembly.
sederhana mendeteksi untuk mendeteksi
BIOS keyboard 2. Membuat fungsi untuk
11 penekanan tombol- tombol extended 60 menit untuk
interrupt. mendeteksi penekanan
tombol extended pada berdasarkan contoh mempraktekkan
2. Memahami kode scan tombol extended (fungsi
keyboard. yang ada pada program untuk
keyboard/ keyboard getSpecialKey)
modul praktikum. mendeteksi
scan code untuk 3. Menggunakan pernyataan
penekanan
tombol extended. switch untuk mendeteksi
tombol
tombol extended.
extended.
1. Konsep null terminated
30 menit untuk
1. Bisa mengembangkan string (ASCIIZ) pada Mahasiswa
mempelajari
fungsi program untuk bahasa C/C++. mempelajari contoh
konsep string
memasukan karakter 2. Karakter alphanumerik, Bisa membuat program program untuk
pada C/C++.
menjadi fungsi untuk simbol dan spasi sebagai sederhana untuk memasukan string
12 memasukan string. rangkaian karakter yang memasukan string dan dan membuat
60 menit untuk
2. Memahami pokok- dapat dimasukan sebagai menampilkan kembali program sederhana
mempraktekkan
pokok permasalahan string. string yang dimasukan. berdasarkan contoh
program
pada saat memasukan 3. Membuat fungsi untuk yang ada pada
memasukan
string. memasukan string (fungsi modul praktikum.
string.
getString).
Pengalaman Alokasi
Pertemuan Kompetensi Dasar Materi Pokok Indikator
Belajar Waktu

13-14 Review Materi/Quiz

15-16 UJIAN TENGAH SEMESTER (UTS) TEORI DAN PRAKTEK

30 menit untuk
mempelajari
1. Membuat fungsi untuk
mengubah
memasukan password
fungsi
(fungsi getPwdString).
1. Bisa membuat memasukan
2. Mempelajari algoritma
1. Bisa mengembangkan program sederhana string menjadi
fungsi untuk memasukan
fungsi untuk untuk memasukan Mahasiswa password.
password melalui contoh
memasukan string password. membuat contoh
program.
menjadi fungsi untuk 2. Bisa membuat program untuk 30 menit untuk
3. Menjalankan interupsi
memasukan password. program untuk memasukan mempelajari
BIOS 16 heksadesimal
17 2. Bisa membuat program mengetahui status password, cara
servis 2 heksadesimal
untuk mendeteksi tombol (ON/OFF). mendeteksi mendeteksi
untuk mengetahui status
status tombol 3. Bisa membuat penekanan tombol status tombol
tombol dengan teknik
(ON/OFF) contoh program dan status tombol. (ON/OFF).
inline assembly.
3. Mendeteksi status untuk mengetahui
4. Membuat fungsi untuk
tekan tombol. status tekan tombol 30 menit untuk
mengetahui status tombol
Shift, Ctrl, dan Ins. mempelajari
dan manipulasi bit pada
cara
BIOS keyboard flag
mendeteksi
(fungsi getKeyState).
penekanan
tombol.
30 menit untuk
1. Bisa memasukan nilai 1. Fungsi standar atoi dan mempelajari
Mahasiswa bisa
numerik menggunakan atof untuk konversi string cara
membuat program Membuat program
keyboard. menjadi nilai numerik memasukan
menggunakan sederhana dengan
2. Bisa menampilkan nilai integer dan floating point. sring.
18 perhitungan matematika proses konversi
numerik pada layar 2. Fungsi standar gcvt untuk
dengan masukan nilai string ke numerik
menggunakan fungsi konversi nilai numerik 60 menit
melalui keyboard yang atau sebaliknya.
anggota writeString menjadi representasi praktikum
telah dikonversi.
dari class Screen. string-nya. membuat
program.
Pengalaman Alokasi
Pertemuan Kompetensi Dasar Materi Pokok Indikator
Belajar Waktu
30 menit untuk
1. Membuat pustaka class
Mahasiswa mempelajari
1. Bisa mengenkapsulasi keyboard.cpp untuk
mempraktikan cara
BIOS keyboard menyimpan kode program
contoh program menggunakan
interrupt dalam fungsi class Keyboard. Bisa membuat program
penggunaan objek pustaka
program. 2. Menambahkan fungsi sederhana memanfaat
Keyboard dan bisa keyboard.cpp.
19 2. Bisa membuat pustaka anggota hideCursor dan objek Keyboard dalam
membuat program
class untuk operasi showCursor pada class pustaka class
sederhana lainnya 60 menit untuk
input memanfaatkan Keyboard. keyboard.cpp
memanfaatkan praktikum
BIOS keyboard 3. Menggunakan class
pustaka membuat
interrupt. Keyboard dan class
keyboard.cpp. program
Screen.
sederhana.
1. Menggunakan file header
screen.cpp dan
keyboard.cpp. 60 menit untuk
2. Mendeklarasikan class Bisa membuat program membuat
Mahasiswa diberikan
Bisa membuat program Screen dan Keyboard berbasis teks dengan praktikum
kebebasan untuk
berbasis teks serta memanggil objek Screen dan membuat
membuat program
20 menggunakan pustaka konstruktor Screen dan Keyboard yang telah program.
berbasis teks
class screen.cpp dan Keyboard. dideklarasikan dalam
berdasarkan ide
keyboard.cpp. 3. Menggunakan fungsi pustaka screen.cpp dan 30 menit untuk
masing-masing.
anggota class Screen dan keyboard.cpp. diskusi dan
Keyboard dalam tanya jawab.
aplikasi/program yang
dibuat.
1. Menjalankan software 45 menit untuk
interrupt 33 heksadesimal mempelajari
servis 0 heksadesimal. 1. Bisa membuat cara
2. Menjalankan software program untuk Mahasiswa mendeteksi
interrupt 33 heksadesimal mendeteksi mouse mengubah contoh mouse dan
servis 1 dan servis 2 terinstal atau tidak. kode program fungsi contoh
21 Bisa mendeteksi mouse. heksadesimal. 2. Bisa membuat detectMouse dari program.
3. Membuat fungsi untuk program untuk inline assembly
mendeteksi mouse. menampilkan atau menjadi meng- 45 menit untuk
4. Membuat fungsi untuk menyembunyikan gunakan fungsi praktikum
menampilkan dan pointer mouse. int86. mengubah
menyembunyikan pointer contoh kode
mouse. program.
Pengalaman Alokasi
Pertemuan Kompetensi Dasar Materi Pokok Indikator
Belajar Waktu
30 menit
1. Menjalankan interrupt 33 mempelajari
heksadesimal servis 0020 cara
Bisa menggunakan
heksadesimal dalam fungsi Mahasiswa mengaktifkan
fungsi enableMouse
Bisa membuat program enableMouse dengan mempraktikan dan
dan disableMouse
untuk mengaktifkan dan teknik inline assembly. contoh program menonaktifkan
22 dalam contoh program
menonaktifkan driver 2. Menjalankan interrupt 33 untuk mengaktifkan driver mouse.
untuk mengaktifkan dan
mouse. heksadesimal servis 001F dan menonaktifkan
menonaktifkan driver
heksadesimal dalam fungsi driver mouse. 60 menit
mouse.
disableMouse dengan mempraktikkan
teknik inline assembly. contoh
program.
45 menit untuk
mempraktikkan
1. Menjalankan software
Mahasiswa contoh kode
interrupt 33 heksadesimal
1. Bisa membuat program Bisa membuat program mempraktikkan program dalam
servis 0003 heksadesimal
untuk mendeteksi sederhana yang mengubah kode modul
dengan teknik inline
posisi pointer mouse. menggunakan fungsi fungsi praktikum.
assembly.
23 2. Bisa membuat program getMousePos untuk getMousePos dari
2. Membuat fungsi untuk
untuk mendeteksi mendeteksi posisi inline assembly 45 menit untuk
mendeteksi posisi pointer
penekanan tombol pointer mouse dan menjadi mengubah
mouse dan tombol yang
mouse. tombol yang ditekan. menggunakan fungsi contoh kode
ditekan (fungsi
int86. program dalam
getMousePos).
fungsi
getMousePos.
45 menit untuk
mempraktikkan
1. Menjalankan software contoh kode
interrupt 33 heksadesimal Mahasiswa program dalam
servis 0004 heksadesimal Bisa menggunakan mengubah kode modul
Bisa membuat program
dengan teknik inline fungsi setMousePos fungsi setMousePos praktikum.
untuk memindahkan
24 assembly. dalam contoh program dari inline assembly
posisi pointer mouse
2. Membuat fungsi untuk untuk memindahkan menjadi meng- 45 menit untuk
secara software.
memindahkan posisi posisi pointer mouse. gunakan fungsi mengubah
pointer mouse (fungsi int86. contoh kode
setMousePos). program dalam
fungsi
setMousePos.
Pengalaman Alokasi
Pertemuan Kompetensi Dasar Materi Pokok Indikator
Belajar Waktu
30 menit
mempelajari
1. Menjalankan software
cara membatasi
interrupt 33 heksadesimal Mahasiswa
Bisa menggunakan area gerak
servis 0007 dan 0008 mempraktikan
fungsi setMouseRegion mouse.
Bisa membuat program heksadesimal dengan contoh program
dalam kode program
25 untuk membatasi area teknik inline assembly. penggunaan fungsi
untuk membatasi area 60 menit untuk
gerak pointer mouse. 2. Membuat fungsi untuk setMouseRegion
gerak pointer mouse di mempraktikan
membatasi posisi gerak dalam modul
layar monitor. contoh program
pointer mouse (fungsi praktikum.
dan membuat
setMouseRegion).
program
sederhana.
45 menit untuk
mempraktikkan
1. Menjalankan software contoh kode
interrupt 33 heksadesimal Bisa menggunakan program dalam
Mengubah kode
servis 0005 heksadesimal fungsi getButtonClick modul
fungsi
dengan teknik inline untuk membuat praktikum.
Bisa membuat program getButtonClick dari
assembly. program sederhana
26 untuk mengetahui jumlah inline assembly
2. Membuat fungsi untuk untuk mengetahui 45 menit untuk
penekanan tombol mouse. menjadi meng-
mendeteksi status dan status dan jumlah mengubah
gunakan fungsi
jumlah penekanan tombol- penekanan tombol contoh kode
int86.
tombol mouse (fungsi mouse. program dalam
getButtonClick). fungsi
getButton-
Click.
30 menit
mempelajari
1. Menjalankan software
Bisa menggunakan cara
interrupt 33 heksadesimal
fungsi Mahasiswa mengetahui
servis 0006 heksadesimal
getButtonRelease mempraktikan pelepasan
Bisa membuat program dengan teknik inline
untuk membuat contoh program tombol mouse.
untuk mengetahui status assembly.
27 program sederhana penggunaan fungsi
dan jumlah pelepasan 2. Membuat fungsi untuk
untuk mengetahui getButtonRelease 60 menit untuk
tombol mouse. mendeteksi status dan
status dan jumlah dalam modul mempraktikan
jumlah pelepasan tombol-
pelepasan tombol praktikum. contoh program
tombol mouse (fungsi
mouse. dan membuat
getButtonRelease).
program
sederhana.
Pengalaman Alokasi
Pertemuan Kompetensi Dasar Materi Pokok Indikator
Belajar Waktu
1. Mengenkapsulasi fungsi
getState, getNumButton,
disableMouse,
enableMouse,
showMouse, hideMouse, 1. Mahasiswa bisa
Mahasiswa
getButtonClick, mendeklarasikan
mempraktekan
getButtonRelease, objek Mouse dalam 60 menit untuk
contoh program
getClickMode, kode program untuk mengetikan
1. Bisa mengenkapsulasi dalam modul
getMousePos, getX dan input menggunakan kode program
software interrupt 33 praktikum untuk
getY kedalam class mouse. pustaka class
heksadesimal. membuat program
Mouse. 2. Mahasiswa bisa mouse.cpp
28 2. Bisa membuat pustaka berbasis teks yang
2. Mendeklarasikan variabel menggunakan
class untuk operasi menggunakan objek
dengan tipe data class pustaka class 30 menit untuk
input menggunakan Screen, Keyboard
Mouse sebagai objek mouse.cpp untuk mempraktikkan
mouse. dan Mouse dari
untuk input menggunakan membuat program contoh
pustaka-pustaka
mouse. berbasis teks yang program.
class yang telah
3. Memanggil konstruktor menggunakan input
dibuat.
class Mouse. melalui mouse.
4. Menggunakan fungsi-
fungsi anggota pada class
Keyboard, class Screen
dan class Mouse.

29 UJIAN AKHIR SEMESTER (UAS) PRAKTIKUM

30 UJIAN AKHIR SEMESTER (UAS) TEORI