BUKU RANCANGAN PEMBELAJARAN
SISTEM TERTANAM
Disusun oleh:
Dr. Eng. Wisnu Jatmiko
Program Studi Ilmu Komputer Fakultas Ilmu Komputer Universitas Indonesia 2013
1
DAFTAR ISI
DAFTAR ISI
2
PENGANTAR
3
BAB 1
INFORMASI UMUM
4
BAB 2
SASARAN PEMBELAJARAN
6
2.1. Sasaran Pembelajaran 2.2. Sasaran Pembelajaran Penunjang 2.3. Bagan Alir Sasaran Pembelajaran BAB 3
BAHASAN DAN RUJUKAN
8
3.1. Sasaran Pembelajaran/ Sasaran Pembelajaran Penunjang, Pokok Bahasan, Subpokok Bahasan, Estimasi Waktu, dan Rujukan 3.2. Daftar Rujukan/referensi BAB 4
TAHAP PEMBELAJARAN
10
BAB 5
RANCANGAN TUGAS DAN LATIHAN
11
5.1. Tujuan Tugas 5.2. Kriteria Penilaian BAB 6
EVALUASI HASIL PEMBELAJARAN
12
6.1. Evaluasi Akhir 6.2. Asesmen 6.3. Kriteria Penilaian BAB 7
MATRIKS KEGIATAN
13
LAMPIRAN
16
Contoh 1
Sistem Pengatur Lampu Lalu Lintas Menggunakan SMS
16
Contoh 2
Sponge Bob Menangkap Ubur-Ubur
17
Contoh 3
Sponge Bob Menangkap Ubur-Ubur Ver 2.0
19
Contoh 4
Run, Mario, Run
22
Contoh 5
Run, Mario, Run 2
24
2
PENGANTAR Universitas
Indonesia
memiliki
komitmen
yang
kuat
untuk
mengalihkan
paradigmanya dari pemelajaran yang berpusat pada pengajar (teacher-center learning) menuju pemelajaran yang berorientasi pada peserta didik/pemelajar (student-center learning). Pada paradigma yang baru, tanggung jawab pemelajaran berpusat pada pemelajar, sedangkan pengajar lebih banyak berperan sebagai fasilitator, coach, dan model. Guna menjamin keberhasilan pengajar dalam melaksanakan tugasnya diperlukan perancangan pemelajaran yang jelas, mampu terlaksana, dan mengacu pada tujuan serta sasaran pemelajaran dengan tidak lupa memperhatikan karakteristik pemelajar.
Buku Rancangan Pengajaran (BRP) untuk mata ajar Sistem Tertanam (Embedded System) ini merupakan dokumentasi dari rancangan pemelajaran yang bersifat menyeluruh. Buku ini diharapkan dapat digunakan sebagai acuan bagi pengajar atau tim pengajar sehingga memudahkan koordinasi dalam pemelajaran. BRP ini diharapkan dapat semakin disempurnakan sesuai dengan perkembangan kurikulum dan bahan pemelajaran.
Dalam konstelasi kajian Ilmu Komputer, Sistem Tertanam memperkenalkan sistem berbasis microcontroller yang merupakan perpaduan antara hardware dan software untuk melakukan suatu fungsi tertentu. Sejak ditemukannya mikroprosesor pada awal tahun 70-an, teknologi dan aplikasi sistem tertanam berkembang sangat pesat dan merambah ke berbagai aspek kehidupan manusia seperti mobile devices (telepon genggam, MP3 player, dsb), medical systems, robotika, automation, dsb. Mata kuliah ini ditujukan untuk memberikan bekal untuk perancangan sistem tertanam, terutama dari aspek kemampuan menghasilkan software yang andal.
Agustus 2013 Dr. Eng. Wisnu Jatmiko
3
BAB 1 INFORMASI UMUM 1. Nama Program Studi/ jenjang
: Ilmu Komputer / Sarjana
2. Nama mata kuliah/topik
: Sistem Tertanam (Embedded Systems)
3. Kode Topik/modul/mata kuliah
: IKO31551
4. Semester
:5
5. Jumlah SKS
:3
6. Metodepembelajaran
: Tutorial, Student Center Learning (Praktikum), dan on line learning melalui SCELE
7. Mata kuliah/modul yang menjadi prasyarat
: Pengantar Organisasi Komputer
8. Menjadi prasyarat kuliah
: Tidak ada
9. Integrasi/kaitan antara mata kuliah
:
Mata ajar Sistem Tertanam merupakan kuliah lanjutan rumpun ilmu arsirtektur komputer. Syarat untuk dapat mengambil mata kuliah ini adalah pernah mengambil mata kuliah Pengantar Organisasi Komputer. Keterkaitan antar antar mata kuliah ini dapat dilihat pada bagan di bawah ini.
4
10. Deskripsi mata kuliah/modul
:
Mata ajar Sistem Tertanam (Embedded Systems) memperkenalkan sistem berbasis microcontroller yang merupakan perpaduan antara hardware dan software untuk melakukan suatu fungsi tertentu. Sejak ditemukannya mikroprosesor pada awal tahun 70-an, teknologi dan aplikasi sistem tertanam berkembang sangat pesat dan merambah ke berbagai aspek kehidupan manusia seperti mobile devices (telepon genggam, MP3 player, dsb), medical systems, robotika, automation, dsb. Mata kuliah ini ditujukan untuk memberikan bekal untuk perancangan sistem tertanam, terutama dari aspek kemampuan menghasilkan software yang andal.
5
BAB 2 SASARAN PEMBELAJARAN 2.1.
Sasaran Pembelajaran Terminal
Setelah menyelesaikan modul Kuliah Sistem Tertanam, peserta kuliah diharapkan mampu melakukan implementasi aplikasi waktu nyata (real time) terkait dengan aplikasi pada hardware. Apapun permasalahannya, implementasi tersebut harus bisa disesuaikan dengan kebutuhan yang ada. Ini disebabkan karena pada dasarnya konsep-konsep seperti timing diagram, interrups, dan memory management tetap sama, apapun perangkat maupun platform yang digunakan. Mahasiswa yang lulus mata kuliah ini akan memiliki daya saing dalam dunia kerja maupun penelitian terkait aplikasi yang membutuhkan berbagai teknik pembangunan aplikasi sistem tertanam. 2.2.
Sasaran Pembelajaran Penunjang
2.2.1. Jika dihadapkan dengan peralatan yang menerapkan konsep dan berada pada ruang lingkup Embedded Systems, mahasiswa mampu (C3): a. mengoprasikan peralatan dengan baik. b. menjelaskan bagaimana peralatan tersebut bekerja secara teknis. c. memperkirakan sumber kerusakan jika peralatan tersebut tidak dapat berfungsi sebagaimana mestinya. 2.2.2. Jika dihadapkan pada kebutuhan perangkat keras untuk membangun sebuah sistem tertanam, mahasiswa mampu (C6P3A3): a. membuat daftar komponen yang dibutuhkan untuk membangun sebuah sistem tertanam. b. mendesain perangkat keras yang akan dibangun atas komponen-komponen yang sudah didaftar sebelumnya. c. mengintegrasikan setiap komponen pada perangkat keras sehingga perangkat tersebut dapat menjalankan fungsinya dengan baik. d. mengevaluasi kinerja sistem yang telah didesain, apakah memiliki ketahanan jika terus dijalankan pada waktu yang lama. 2.2.3. Jika dihadapkan pada kebutuhan membangun perangkat lunak pada sebuah sistem tertanam, mahasiswa mampu (C6P3A3): a. melakukan implementasi program pada microcontroller. b. mendesain fungsi-fungsi yang dibutuhkan sesuai requirement yang ada. c. menjaga agar program tetap menggunakan memori tanpa overflow. d. mengatur timer dan interrupt pada program agar setiap fungsi yang ada dapat bekerja sesuai kondisi state-nya. e. melakukan implementasi diatas sebuah real time operating system (RTOS).
6
2.3.
Bagan Alir Sasaran Pembelajaran
7
BAB 3 BAHASAN DAN RUJUKAN 3.1. No 1
Bahasan Pokok Bahasan Subpokok bahasan Introduction to Embedded System
1.1 Embedded System
Estimasi waktu 2 x 50 Menit
Rujukan
2 x 50 Menit
[1] chap 2 hal 26 - 58 [2] chap 1 hal 24 - 49 [3] chap 2 Powerpoint di SceLE [1] chap 3 hal 62 – 118 [2] chap 2 hal 53 – 109 Modul Praktikum Powerpoint di SCeLE [1] chap 4 hal 120 - 164 [2] chap 3 hal 115 - 158 [3] chap 4 Modul Praktikum Powerpoint di SceLE [1] chap 5 166 – 207 [2] chap 4 hal 167 – 215 Modul Praktikum Powerpoint di SCeLE
1.2 Example, History, and Challenge of Embedded System
2
Hardware Fundamentals for the Software Engineers
2.1 Basic knowledge for hardware 2.2 Gates, Timing Diagram, Memory
3
Microprocessor 3.1 Microprocessor & 3.2 Buses Interfacing 3.3 Direct Memory Access 3.4 Create Schematic for Microprocessor
4 x 50 Menit 2 x 50 Menit [Praktikum]
4
Interrupts & Interupt Handler Concepts
4.1 Microprocessor Architecture 4.2 Interrupt Basics 4.3 The Shared-Data Problem 4.4 Interrupts Latency
8 x 50 Menit 2 x 50 Menit [Praktikum]
5
Software Architecture for Embedded System
5.1 Round Robin
10 x 50 Menit 4 x 50 Menit [Praktikum]
5.2 Round Robin with Interrupts 5.3 Function-Queue-Scheduling Architecture 5.4 Real Time Operating System
[1] chap 1 hal 2 - 24 [2] chap 1 hal 21 - 29
Architecture 5.5 Selecting an Architecture 6
Introduction to Real Time Operating System
6.1 Task and Task States 6.2 Tasks and Data
8
10 x 50 Menit 3 x 50 Menit
[1] chap 6 hal 210 - 263 [2] chap 5 hal 225 - 298
(optional
6.3 Semaphores and Shared Data
[Praktikum]
7
Operating System Services for Embedded Application (optional
7.1 Message Queues, Mailboxes, and Pipes 7.2 Timer Functions 7.3 Events 7.4 Memory Management 7.5 Interrupt Routines in an RTOS Environment
10 x 50 Menit
8
Basic Design Using Real Time Operating Systems
8.1 Overview 8.2 Principles 8.3 Encapsulating Semaphores and Queues 8.4 Hard Real Time Scheduling Considerations 8.5 Saving Memory Space 8.6 Saving Power
9
Develop an Embedded System with AVR
Work on Laboratory
3.2.
[3] chap 6 dan 7 Modul Praktikum Powerpoint di SCeLE [1] chap 7 hal 266 - 316 [2] chap 6 dan 7 hal 313 - 420 [3] chap 9 Powerpoint di SCeLE
Daftar Rujukan
Utama: David E. Simon, Embedded Software Primer . Addison-Wesley, 1999.
Rujukan Tambahan: Wisnu Jatmiko dkk, Implementasi Embedded System Menggunakan Beagleboard : Prototipe Sistem Pengaturan Lampu Lalu Lintas, UI Press, 2011.
9
BAB 4 TAHAP PEMBELAJARAN
Media Instruksional 1. SCeLE (Sc) 2. White board (Wb) 3. Komputer dan LCD Proyektor (KL) 4. Komponen perangkat keras / hardware (Hw) 5. TM (Tugas Mandiri) 6. TK (Tugas Kelompok) Sasaran Pembelajaran/ Sasaran Pembelajaran Penunjang 2.2.1.
Tahap Pembelajaran**
Media Teknologi
O
L
U
(%)
(%)
(%)
Pengantar dan tugas mandiri (70%)
Diskusi kelompok (10%)
Pleno &umpan balik (20%)
Sc, Wb, KL, Hw, TM
2.2.2.
Pengantar dan tugas mandiri (30%)
Diskusi kelompok (40%)
Pleno & umpan balik (30%)
Sc, Wb, KL, Hw, TM, TK
2.2.3.
Pengantar dan tugas mandiri (30%)
Diskusi kelompok (40%)
Pleno & umpan balik (30%)
Sc, Wb, KL, Hw, TM, TK
Seluruh proses pemelajaran didukung oleh media online yaitu Student Center eLearning (SCeLE). Semua mahasiswa peserta mata ajar Sistem Tertanam diharapkan meng-enroll halaman kuliah "[REG] Embedded Systems - Gasal 2013/2014" sehingga dapat mengakses materi-materi yang tersedia di SCeLE. Materi-materi tersebut akan tersedia sebelum kuliah dimulai. Pengumuman dan tugas juga akan ditampilkan melalui SCeLE. Selain itu, mahasiswa juga dapat berdiskusi secara online melalui forum yang tersedia pada halaman mata kuliah. Mahasiswa dapat mengajukan pertanyaan atau merespon satu sama lain tanpa moderator. Dosen dan asisten juga dapat memonitor aktivitas diskusi dan turut merespon agar diskusi bisa lebih terarah. Jika diperlukan, dosen juga dapat memberikan pemicu berupa pertanyaan maupun permasalahan nyata yang harus dicari solusinya. Untuk tugas akan disertakan perangkat keras penunjang berupa satu paket microcontroller beserta komponen-komponen I/O. Perangkat tersebut akan disiapkan sesuai deskripsi tugas yang dikeluarkan.
10
BAB 5 RANCANGAN TUGAS DAN LATIHAN 5.1.
Tujuan Tugas Tabel uraian tugas
Sasaran Pembelajaran/ Sasaran Pembelajaran Penunjang
Objek garapan
Ruang Lingkup
Cara pengerjaan
Batas waktu
Luaran tugas yang dihasilkan
2.2.1.
Pengenalan sistem tertanam
Teori
Di kelas teori, diskusi kelompok, pleno
2x2 jam
Power point presentasi mahasiswa, hasil presentasi, dan lembar tugas mandiri
2.2.2.
Interrupt
Teori dan Praktek (2 Kali)
Di kelas teori, diskusi kelompok, di laboratorium (praktikum), pleno
2x2 jam
Power point presentasi mahasiswa, hasil presentasi, Tugas praktikum dan Demo software hasil simulasi
Di kelas teori, diskusi kelompok, di laboratorium (praktikum), pleno
2x2 jam
2.2.3.
RTOS
Teori dan Praktek (2 Kali)
[Teori] 2x2jam [Praktiku]
[Teori] 2x2 jam [Praktikum]
Power point presentasi mahasiswa, hasil presentasi,Tugas praktikumdan Demo software hasil simulasi
5.2. Kriteria Penilaian Tugas yang diberikan terdiri dari dua bentuk, yaitu empat tugas teori / kuis dan empat tugas praktek. Permasalahan yang diberikan disesuaikan dengan laju materi pemelajaran dan merupakan latihan bagi mahasiswa untuk menerapkan ilmu yang telah diperoleh. Penguasaan teori-teori dasar biasanya tidak diujikan secara langsung, namun mahasiswa dihadapkan pada persoalan riil yang harus dicari solusinya dengan mengintegrasikan beberapa penguasaan konsep dan ketrampilan analisa maupun sintesa. Contoh tugas dan latihan dapat dilihat di lampiran. .
11
BAB 6 EVALUASI HASIL PEMBELAJARAN 6.1.
Evaluasi Akhir Bentuk
Frekuensi
Bobot (%)
Tutorial
5
10
Tugas Mandiri
2
30
Tugas Kelompok
2
50
Kuis
4
10
Diskusi di SCeLE
1
Bonus
Total 6.2.
100
Asesmen
Sasaran Pembelajaran/ Sasaran Pembelajaran Penunjang
2.2.1. 2.2.2. 2.2.3.
Ranah dan tingkatan
C3 C6P3A3 C6P3A3
Jenis asesmen
- Tugas individu - Tugas Kelompok - Kuis (essai) - Diskusi di SCeLE
6.3.
Indikator keberhasilan
Pedoman Kriteria Penilaian Huruf
Rentang Nilai
Bobot
A
85 – 100
A-
80 – 84.99
B+
75 – 79.99
B
70 – 74.99
B-
65 – 69,99
C+
60 – 64.99
C
55 – 59,99
C-
50 – 54.99
D
40 – 49.99
E
0 – 39,99
4.0 3.7 3.3 3.0 2.7 2.3 2.0 1.7 1.0 0
/*Batas Lulus B*/
12
Nilai minimal mencapai 70 (B)
BAB 7 MATRIKS KEGIATAN Metode/pendekatan pemelajaran: 1. Diskusi Kelompok (PBL = Problem Based Learning, CL= Collaborative Learning) 2. Diskusi Interaktif via SCeLE (DI) 3. Belajar Mandiri (BM) 4. Kuliah Interaktif / tatap muka (KI), dengan sarana presentasi Power Point 5. Praktikum (P)
Sumber Pemelajaran 1. Buku Teks 2. Forum diskusi SCeLE 3. Handout presentation 4. Internet 5. Datasheet AVR 6. Modul Praktikum
13
Pertemuan ke-
Sasaran Pembelajaran/ Sasaran Pembelajaran Penunjang *
Tahap Pembelajaran Pokok Bahasan/ SPB
Media Teknologi
Ranah dan Tingkatan
Kriteria Penilaian (Indikator)
Penanggung Jawab
DI
1.1-1.2
Sc,Wb,KL,
C3
Nilai ≥ 70
DI
2.1-2.2
Sc,Wb,KL
C3
Nilai ≥ 70
Narasumber, fasilitator Narasumber, fasilitator
O
L
U
(%)
(%)
(%)
BM,PB L,CL BM
1
2.2.1.
KI
2
2.2.1.
KI
3
2.2.2.
KI
BM,PB L,CL
DI
3.1-3.2
Sc,Wb,KL,TM
C6P3A3
Nilai ≥ 70
Narasumber, fasilitator
4
2.2.2.
KI
BM,PB L,CL
DI
3.3.-3.4
Sc,Wb,KL,TK
C6P3A3
Nilai ≥ 70
Narasumber, fasilitator
5
2.2.2
KI
BM
DI, P
4.1-4.4
Sc,Wb,KL,Hw, TK
C6P3A3
Nilai ≥ 70
Narasumber, fasilitator
6
2.2.3
KI
BM,PB L,CL
DI
5.1
Sc,Wb,KL,TM
C6P3A3
Nilai ≥ 70
Narasumber, fasilitator
7
2.2.3
KI
BM
DI
5.2
Sc,Wb,KL
C6P3A3
Nilai ≥ 70
Narasumber, fasilitator
8
2.2.3.
KI
BM
DI
5.3
Sc,Wb,KL,TM
C6P3A3
Nilai ≥ 70
Narasumber, fasilitator
9
2.2.3.
KI
BM,PB L,CL
DI
5.4-5.5
Sc,Wb,KL,TK
C6P3A3
Nilai ≥ 70
Narasumber, fasilitator
10
2.2.3.
KI
KI, DI
KI, DI,
6.1-6.3
Sc,Wb,KL,TK
C6P3A3
Nilai ≥ 70
Narasumber, fasilitator
14
11
2.2.3.
KI
BM,PB L,CL
DI
7.1-7.3
Sc,Wb,KL,TK
C6P3A3
Nilai ≥ 70
Narasumber, fasilitator
12
2.2.3.
KI
BM,PB L,CL
DI, P
7.4-7.5
Sc,Wb,TK
C6P3A3
Nilai ≥ 70
Narasumber, fasilitator
13
2.2.3.
KI
BM
DI,P
8.1-8.3
Sc,Wb,KL,TK
C6P3A3
Nilai ≥ 70
Narasumber, fasilitator
14
2.2.3.
KI
BM
DI,P
8.4-8.6
Sc,Wb,KL,TK
C6P3A3
Nilai ≥ 70
Narasumber, fasilitator
15
Lampiran 1 . Contoh Tugas-tugas
Contoh 1 -- Sistem Pengatur Lampu Lalu Lintas Menggunakan SMS 1 Latar Belakang Budi adalah seorang polisi lalu-lintas yang bertugas untuk memonitor lalu lintas di jalan ABC selama arus mudik berlangsung. Setiap setengah jam, atasan si Budi memintanya untuk melaporkan berapa mobil yang melewati ruas jalan tersebut selama periode setengah jam sebelumnya. Dua jam pertama, Budi masih sangat antusias untuk menghitung jumlah mobil yang lewat didepannya. Namun, Budi semakin lelah dan menyadari bahwa dia harus melakukan penghitungan mobil dengan lebih cerdas. Oleh sebab itu, Budi memutuskan untuk membuat sebuah alat yang bisa menghitung mobil dan kemudian mengirimkan hasil perhitungan tersebut ke atasannya melalui SMS secara otomatis. Selain itu, Budi juga ingin agar hasil perhitungan mobil ditampilkan di layar LCD. Karena Budi tidak mengerti banyak tentang komputer, dia meminta anda untuk membantunya membuat alat tersebut.
2 Daftar Alat Berikut adalah daftar alat yang tersedia: Satu unit Development Board AVR (ATMega32) Satu unit Beagle Board Satu unit WebCam Satu unit LCD untuk menampilkan hasil perhitungan terakhir Satu unit GSM device
16
Contoh 2 -- Sponge Bob Menangkap Ubur-Ubur Seperti yang diceritakan di film, salah satu hobi yang paling disukai Sponge Bob dan Patrick adalah menangkap ubur-ubur. Seperti yang diceritakan di film, salah satu hobi yang paling disukai Sponge Bob dan Patrick adalah menangkap ubur-ubur.
Tugas anda adalah untuk memvisualisasikan simulasi permainan menangkap sebuah uburubur dengan menggunakan DT Combo AVR Starter Kit. Simulasi ini akan menggunakankan dua output dengan aktif yakni LCD dan LED. Pada simulasi ini juga akan menerapkan konsep interrupt seperti yang telah dipelajari di kelas. Spesifikasinya simulasi game Menangkap Ubur-ubur adalah sebagai berikut. 1. Simulasi menggunakan tactile switch sebagai input serta LED dan LCD sebagai output.
2. Game akan ditampilkan di LCD. Game memiliki display sebagai berikut.
17
Pada baris b, dimanfaatkan sebagai display status hit/mis ubur-ubur yang ‘dipukul’ dan juga display total score. Pada baris a , enam karakter paling kanan dimanfaatkan sebagai tempat munculnya ‘ubur-ubur’ yang akan diwakilkan dengan karakter Ω (karakter yang di datasheet diwakili 11110100). Kemunculan ini dilakukan secara random, dilakukan sebanyak 20 kali iterasi dengan jumlah kesulitan yang semakin tinggi, dimana makin tinggi iterasinya jumlah ‘ubur-ubur’ yang muncul semakin banyak. Tactile switch yang juga berjumlah 8, enam switch paling kanan berfungsi untuk ‘memukul’ ubur-ubur dan ketika berhasil terpukul (tactile switch yang ditekan sesuai dengan kemunculan ubur-ubur) maka akan mendapatkan nilai +2. Ketika salah akan dikurangi -1. 3. Ketika berhasil memukul dengan tepat, maka pada LCD akan muncul gambar sebagai berikut.
Ketika hasil pukulan meleset maka akan dikurangi sebanyak pukulan yang meleset, namun tidak perlu ditampilkan tulisan ‘MISS’ atau apapun namun cukup langsung dikurangi saja dari score sebelumnya. Setelah 20 kali iterasi, game berakhir dan muncul hasil rekapitulasi permainan sebagai berikut.
18
4. Simulasi ini juga menerapkan konsep interrupt. Ada dua konsep interrupt yang harus diimplementasikan pula pada program. Bila tactile switch bit ke-0 ditekan, maka karakter ubur-ubur Ω akan diganti dengan karakter (karakter yang di datasheet diwakili 11101111). Jika ditekan lagi akan kembali menampilkan karakter Ω.
Bila tactile switch bit ke-1 ditekan, menggambarkan bila “gempa di dasar laut datang”. Kondisi yang terjadi adalah karakter ubur-ubur yang tampil akan bergerak berjalan ke kanan dan langsung menuju ke akhir permainan dengan munculnya hasil rekapitulasi permainan.
Contoh 3 -- Sponge Bob Menangkap Ubur-Ubur Ver 2.0
Tugas anda adalah menambahkan beberapa konsep dan fitur baru pada permainan Ubur-ubur yang telah dibuat kemarin. Konsep yang akan diterapkan adalah konsep RTOS serta fitur aksesoris yang ditambahkan yaitu fitur suara (speaker) dan fitur sensor jarak.
19
Berikut spesifikasi dari permainan Sponge Bob Menangkap Ubur-Ubur Ver 2.0. 1. Penerapan Prinsip RTOS (20%) Alur permainan yang telah dibuat didesain ulang dengan konsep RTOS didalamnya, sehingga permainan dengan beberapa task yang berjalan seakan-akan bersamaan. Pemisahan dan pembagian task tidak diatur secara detail, namun pastikan konsep RTOS dapat dijelaskan ketika demo. 2. Penerapan Interfacing Menggunakan Speaker (20%) Alur permainan yang telah ada dikembangkan dengan penambahan fitur suara. Fitur suara yang diwajibkan muncul dalam permainan adalah sebagai berikut. a. Ketika tulisan ‘Bit 0 to start’ muncul, jika button bit 0 ditekan, maka akan muncul suara rekaman ‘aye-aye-captain.wav’. b. Ketika tulisan ‘Loading’ muncul, diiringi dengan suara lagu theme song Sponge Bob, yang dibuat sendiri menggunakan kombinasi suara bit di AVR. c. Ketika permainan berlangsung, terdapat background music (bebas). d. Ketika permainan berakhir, juga ada background music yang bebas juga namun berbeda dengan saat permainan berlangsung. 3. Penerapan Interfacing Menggunakan Sonar (20%) Pada permainan juga diminta untuk ditambahkan fitur sensor jarak menggunakan sonar SRF. Penerapan sensor jarak untuk spesifikasi tugas adalah sebagai pengganti dari input button.
Cara kerja sonar seperti kelelawar yang memancarkan gelombang dan mendeteksi jarak apabila terbentur penghalang di depannya lalu terpantul kembali ke sonar. Sehingga dengan mengetahui jaraknya, kita dapat memiliki variasi input yang berbeda. Secara umum penerapan sensor sonar memiliki fungsionalitas yang sama dengan button pada tugas sebelumnya namun kali ini digantikan dengan interface sensor sonar.
20
4. Penggunaan Input SRF untuk Penamaan Highscore Disimpan di EEPROM (20%) Spesifikasi selanjutnya adalah penambahan fitur pemberian nama highscore di akhir permainan bila berhasil memecahkan nilai highscore sebelumnya. Alur display dari fitur Penamaan Highscore adalah sebagai berikut: a. Bila score permainan lebih tinggi dibandingkan nilai sebelumnya, setelah permainan berakhir (iterasi ubur-ubur muncul), akan muncul tampilan sebagai berikut.
Seperti sebelumnya, ubur-ubur akan bergerak naik turun sedangkan tulisan “New H’Score” akan berkedip-kedip sebanyak tiga kali. b. Setelah display (a), maka LCD akan memunculkan tampilan sebagai berikut.
Penamaan highscore diasumsikan terdiri dari tiga karakter yang diinisialisasi dengan karakter ‘AAA’. Masing-masing karakter ini bisa dinaik/turunkan karakternya dengan input sensor sonar.
21
c. Ketika semua karakter telah difiksasi, maka LCD akan menampilkan display sebagai berikut.
Pada baris b akan menampilkan nama highscore terbaru beserta nilainya dan baris a akan menampilkan nama highscore lama beserta nilainya. Gambar ubur-ubur seperti sebelumnya tetap bergerak naik turun.
Contoh 4 -- Run, Mario, Run Pada tugas kali ini, kita akan membuat game sederhana dengan interface LCD, LED, dan switch. Permainan terinspirasi dari game Super Mario.
Ketika board dinyalakan (atau selesai di-flash) maka LCD dan LED akan mensimulasikan proses loading, dimana LCD memunculkan tulisan “Loading…” dan LED akan menunjukkan progress LED menyala dari kiri ke kanan lalu memantul kembali ke kiri seperti loading Windows. Proses loading ini berjalan dalam waktu sekitar 5 detik. Permainan dimulai. Karakter Mario diwakili oleh huruf ‘M’ yang ditampilkan di LCD. Mario dapat berpindah dari baris pertama ke baris kedua atau sebaliknya dengan menggunakan dua buah tombol switch yang mana saja. (Pilih dua switch untuk kontrol Mario).
22
Tugas Mario adalah menghindari rintangan-rintangan yang menghadang dijalannya yang diwakili oleh karakter ‘#’. Rintangan bergerak dari kanan ke kiri dan Mario harus berganti posisi atas atau bawah untuk menghindari rintangan. Rintangan awalnya bergerak dengan kecepatan 1 detik. Tetapi setelah melewati lima rintangan, kecepatannya bertambah 2 kali lipat. Begitu seterusnya hingga Mario sukses melewati 25 rintangan. Permainan selesai kalau Mario gagal melewati rintangan. Maka LCD layarnya dihapus dan kemudian memunculkan pesan sebagai berikut.
Jika Mario sukses melewati semua rintangan, maka pesan yang ditampilkan adalah sebagai berikut.
Variasi soal (Soal Bonus): 1. Buat agar rintangan di-generate secara random setiap permainan tetapi permainan tetap harus bisa diselesaikan (tidak boleh ada rintangan di kedua baris dalam waktu bersamaan). 2. Buat agar ada dua mode permainan, yaitu Mario berlari di sebelah kiri (mode normal seperti di soal atas) dan Mario berlari di sebelah kanan (kebalikan dari mode normal).
Hal-hal yang tidak disebutkan disini dikembalikan kepada imajinasi masing-masing, atau didiskusikan di forum Scele. Selamat bermain :) ~mit 23
Contoh 5 -- Run, Mario, Run 2
Deskripsi Tugas 1. Penerapan Prinsip RTOS Implementasikan semua fitur dari game yang sebelumnya sudah dikerjakan dengan menggunakan konsep RTOS. Ini berarti buatlah proses-proses di dalam game tadi ke dalam beberapa task yang berjalan secara independen. 2. Penggunaan Audio Buat agar AVR mengeluarkan background suara yang berbeda. Terdapat tiga background music yang berbeda. Pada fase loading dan pemilihan mode, ketika permainan sedang berjalan, dan ketika permainan sudah berakhir. Pada fase loading, music hanya dimainkan sekali, sedangkan pada masa permainan dan game over, musik diputar berulang sampai user memberi input. Musik yang diputar saat permainan berjalan adalah Suara yang dimainkan harus memiliki range nada yang luas serta tempo yang bervariasi. 3. Penggunaan Sensor Sonar Sensor Sonar mengeluarkan gelombang suara dan menangkap kembali pantulan gelombang tersebut untuk mengukur jarak antara sensor dengan objek didepannya.
24
Gunakan sonar untuk menggantikan berbagai fungsi input dari button. Berikut ilustrasi contoh penggunaan sensor sonar.
Jika jarak yang dibaca, kurang dari suatu batasan. Maka dianggap user memberi input untuk bergerak ke kiri atau atas. Begitu pula sebaliknya. Selain digunakan untuk kontrol Mario ketika permainan. Sensor Sonar juga dipakai untuk berbagai keperluan input lainnya dengan user. 4. Penggunaan EEPROM Di akhir permainan, buat agar skor terbaik dapat disimpan menggunakan EEPROM. Jika sebelumnya belum ada skor tertinggi (pertama kali dimainkan), maka skor yang saat ini yang disimpan. Jika sudah ada skor tertinggi sebelumnya, dan skor saat ini lebih tinggi nilainya, maka skor tertinggi di-update dengan skor yang terbaru. Nama pemain yang memperoleh high score dimasukkan menggunakan input sonar sebanyak tiga karakter. Mekanisme kontrol untuk memasukkan nama dikembalikan pada imajinasi masing-masing. Berikan juga opsi untuk mereset nilai high score kembali menjadi 0. Contoh ilustrasinya sebagai berikut.
Variasi Tugas Lengkapi game yang dibuat dengan berbagai mode permainan. Seperti kemampuan untuk hidup kembali walau sekali terkena rintangan. Kemampuan untuk menembakkan pistol bunga untuk menghancurkan rintangan, ataupun mode permainan untuk mengumpulkan item di sepanjang permainan. Variasi Tugas Spesifik per Kelompok Menggunakan komponen tambahan dengan fungsi penggunaan yang dibebaskan. -Kelompok 1 dan 2 Wajib menggunakan seven segment. -Kelompok 3 dan 4 Wajib menggunakan motor servo dan/atau motor stepper. -Kelompok 5 Wajib menggunakan dua buah microcontroller AVR dan 5 buah sensor. Komponen penilaian
~EOF~
25