Anda di halaman 1dari 202

Daftar Isi

Daftar Isi ........................................................................................................................................................ 1

Daftar Gambar .............................................................................................................................................. 6

Daftar Tabel ................................................................................................................................................ 17

Bab 1. Dunia Robot ................................................................................................................................ 18

1.1 Perkembangan Robotika di Dunia .............................................................................................. 18

1.2 Teknologi dan Perkembangan Robot di Indonesia ..................................................................... 23

1.3 Faktor Pendorong Perkembangan Robotika di Indonesia .......................................................... 24

1.4 Faktor Penghambat Perkembangan Robotika di Indonesia ....................................................... 25

1.5 Pengaruh Perkembangan Robotika di Indonesia ........................................................................ 26

Bab 2. Robot LEGO Mindstrom .............................................................................................................. 27

2.1 Mengenal Robot LEGO Mindstrom NXT ..................................................................................... 27

2.2 Komponen LEGO Mindstrom NXT............................................................................................... 28

2.2.1 NXTBrick .............................................................................................................................. 28

2.2.2 Sensor Ultrasonik ................................................................................................................ 29

2.2.3 Sensor Cahaya ..................................................................................................................... 32

2.2.4 Sensor Sentuh ..................................................................................................................... 34

2.2.5 Sensor Suara........................................................................................................................ 34

2.2.6 Servo Motor ........................................................................................................................ 38

2.3 Model Robot LEGO Mindstrom NXT ........................................................................................... 39

2.3.1 Tribot ................................................................................................................................... 39

2.3.2 Alpha Rex ............................................................................................................................ 40

2.3.3 Pet N .................................................................................................................................... 40

Bab 3. Perakitan Robot Lego .................................................................................................................. 42

BUKU ROBOTIKA 1
3.1 Door Alarm .................................................................................................................................. 42

3.1.1 Fungsi Door Alarm............................................................................................................... 42

3.1.2 Desain Door Alarm .............................................................................................................. 43

3.1.2.1 Tahap 1............................................................................................................................ 43


3.1.2.2 Tahap 2............................................................................................................................ 46
3.1.2.3 Tahap 3............................................................................................................................ 48
3.1.2.4 Tahap 4............................................................................................................................ 48
3.2 Robot Hammer............................................................................................................................ 50

3.2.1 Fungsi Robot ....................................................................................................................... 50

3.2.2 Desain.................................................................................................................................. 50

3.2.2.1 Tahap 1............................................................................................................................ 50


3.2.2.2 Tahap 2............................................................................................................................ 53
3.2.2.3 Tahap 3............................................................................................................................ 54
3.2.2.4 Tahap 4............................................................................................................................ 56
3.2.2.5 Tahap 5............................................................................................................................ 59
3.2.2.6 Tahap 6............................................................................................................................ 61
3.2.2.7 Tahap 7............................................................................................................................ 62
3.2.2.8 Tahap 8............................................................................................................................ 64
3.2.2.9 Tahap 9............................................................................................................................ 65
3.2.2.10 Tahap 10 ...................................................................................................................... 67
3.2.2.11 Tahap 11 ...................................................................................................................... 70
3.3 Robot Machine Gun .................................................................................................................... 70

3.3.1 Fungsi Robot ....................................................................................................................... 70

3.3.2 Desain.................................................................................................................................. 71

3.3.2.1 Tahap 1............................................................................................................................ 71


3.3.2.2 Tahap 2............................................................................................................................ 74
3.3.2.3 Tahap 3............................................................................................................................ 75
3.3.2.4 Tahap 4............................................................................................................................ 80
3.3.2.5 Tahap 5............................................................................................................................ 82

BUKU ROBOTIKA 2
3.3.2.6 Tahap 6............................................................................................................................ 84
3.3.2.7 Tahap 7............................................................................................................................ 86
Bab 4. Kontrol Robot dan Program Robot LEGO.................................................................................... 42

4.1 Mengontrol Robot Lego .............................................................................................................. 90

4.2 Pembuatan Program ................................................................................................................... 91

4.2.1 Pemograman Teks ............................................................................................................... 91

4.2.2 Bahasa Visual ...................................................................................................................... 92

4.3 NXT-G .......................................................................................................................................... 94

4.4 Visual Robotic Studio .................................................................................................................. 95

4.5 Aplikasi-aplikasi Lain ................................................................................................................... 96

4.5.1 NBC ...................................................................................................................................... 96

4.5.2 NXC ...................................................................................................................................... 97

4.5.3 LeJOS ................................................................................................................................... 97

4.5.4 Robot C ................................................................................................................................ 97

Bab 5. Menggunakan NXT-G .................................................................................................................. 98

5.1 NXT Graphical Programming (NXT-G) ......................................................................................... 98

5.1.1 NXT Firmware...................................................................................................................... 99

5.1.2 Lingkungan Pemrograman ................................................................................................ 100

5.1.3 Blok dan Palet ................................................................................................................... 101

5.1.4 Bantuan ............................................................................................................................. 103

5.1.5 Program NXT-G Pertama ................................................................................................... 105

5.2 Komponen-Komponen LEGO NXT-G ......................................................................................... 108

5.2.1 Blok Program ..................................................................................................................... 108

5.2.2 Kabel Data ......................................................................................................................... 108

5.2.3 Sumber Data ..................................................................................................................... 110

5.3 Menggerakan Motor ................................................................................................................. 110

BUKU ROBOTIKA 3
5.3.1 Gerakan Maju dan Mundur............................................................................................... 111

5.3.2 Berhenti............................................................................................................................. 112

5.3.3 Belok kiri-kanan................................................................................................................. 112

5.3.4 Kekuatan Motor ................................................................................................................ 113

5.3.5 Durasi Gerakan .................................................................................................................. 113

5.3.6 Brake atau Coast? ............................................................................................................. 114

5.4 Perhitungan Aritmatika dan Logika........................................................................................... 115

5.4.1 Variabel ............................................................................................................................. 115

5.4.2 Operator Aritmatika .......................................................................................................... 117

5.4.3 Operator Logika ................................................................................................................ 118

5.5 Percabangan dan Pengulangan ................................................................................................. 119

5.5.1 Parameter Blok Percabangan............................................................................................ 122

5.5.2 Parameter Blok Pengulangan ............................................................................................ 124

5.6 Sensor-Sensor ........................................................................................................................... 127

5.6.1 Sensor Sentuh ................................................................................................................... 129

5.6.2 Sensor Suara...................................................................................................................... 132

5.6.3 Sensor Ultrasonik .............................................................................................................. 134

5.6.4 Sensor Cahaya ................................................................................................................... 136

5.6.5 Tombol NXT ....................................................................................................................... 139

5.6.6 Masukan dan Keluaran Blok Sensor .................................................................................. 141

5.7 Drive Test .................................................................................................................................. 143

Bab 6. Program-program Lego ............................................................................................................. 146

6.1 Door Alarm ................................................................................................................................ 146

6.1.1 Program Utama ................................................................................................................. 146

6.1.2 Active Alarm ...................................................................................................................... 150

6.1.3 Number of People ............................................................................................................. 152

BUKU ROBOTIKA 4
6.1.4 Update Number of People ................................................................................................ 154

6.2 Robot Hammer.......................................................................................................................... 156

6.2.1 Kalibrasi Sensor Cahaya .................................................................................................... 157

6.2.2 Deklarasi Variabel jumlah_benda ..................................................................................... 164

6.2.3 Mengatur Jumlah Benda ................................................................................................... 165

6.2.4 Menampilkan Petunjuk dan Menunggu Sentuhan ........................................................... 174

6.2.5 Pesan dan Nada Persiapan ................................................................................................ 176

6.2.6 Setting variabel berhenti dan counter .............................................................................. 179

6.2.7 Program Utama ................................................................................................................. 180

6.2.8 Mendeteksi dan Memukul Benda ..................................................................................... 180

6.2.9 Kontrol Pergerakan Benda ................................................................................................ 185

6.2.10 Cek dan Update Status Variabel jumlah_benda dan berhenti ......................................... 188

6.3 Machine Gun ............................................................................................................................. 192

6.3.1 Indikator safety mode ....................................................................................................... 192

6.3.2 Perubahan status dari safety mode ke firing mode .......................................................... 194

6.3.3 Menggerakkan motor untuk mulai menembak ................................................................ 197

Bagaimana buku ini disusun?.................................................................................................................... 201

Daftar Pustaka........................................................................................................................................... 202

BUKU ROBOTIKA 5
Daftar Gambar

Gambar 1-1. Robot pada masa kini [5]. ...................................................................................................... 18


Gambar 1-2. Al-Jazari [6]............................................................................................................................. 19
Gambar 1-3. Leonardo da Vinci [7]. ............................................................................................................ 20
Gambar 1-4. Tanaka Hisashige dan hasil karyanya [8]. .............................................................................. 21
Gambar 1-5. Robot Televox [9]. .................................................................................................................. 21
Gambar 1-6. Wiliam Grey Walter dan salah satu hasil karyanya [10]. ....................................................... 22
Gambar 1-7. George Devol dan Unimate [11]. ........................................................................................... 22
Gambar 1-8. Qrio dan robot anjing Aibo [12]. ............................................................................................ 23
Gambar 2-1. Komponen-komponen robot LEGO. ...................................................................................... 27
Gambar 2-2. NXTBrick ................................................................................................................................. 28
Gambar 2-3. Sensor Ultrasonik ................................................................................................................... 29
Gambar 2-4. Area ruang sensor ultrasonik ................................................................................................. 30
Gambar 2-5. Tingkat akurasi sensor ultrasonik LEGO Mindstroms NXT [13]. ............................................ 31
Gambar 2-6. Grafik tingkat sensitifitas sensor ultrasonik........................................................................... 31
Gambar 2-7. Sensor cahaya. ....................................................................................................................... 32
Gambar 2-8 - Perbandingan mata manusia dan sensor dalam mengenali cahaya. ................................... 32
Gambar 2-9. Tampak bagian dalam sensor cahaya. ................................................................................... 33
Gambar 2-10. Rangkaian sirkuit sensor cahaya. ......................................................................................... 33
Gambar 2-11 - Sensor sentuh. .................................................................................................................... 34
Gambar 2-12 - Sensor suara........................................................................................................................ 35
Gambar 2-13. Kelengkapan sensor suara. .................................................................................................. 35
Gambar 2-14. PCB Sensor Suara ................................................................................................................. 36
Gambar 2-15 - Proses Suara Dikenali oleh NXTBrick .................................................................................. 37
Gambar 2-16 - Grafik Perbandingan Nilai Suara (dalam Persentase) yang Ditampilkan pada Display dan
Nilai Intensitas Suara (dalam Desibel) ........................................................................................................ 38
Gambar 2-17. Servo motor LEGO................................................................................................................ 38
Gambar 2-18 - Contoh Penggunaan Sensor Rotasi pada Servo Motor [14] ............................................... 39
Gambar 2-19. Rakitan robot Tribot............................................................................................................. 39
Gambar 2-20 - Tampilan Rakitan Alpha Rex ............................................................................................... 40

BUKU ROBOTIKA 6
Gambar 2-21. Rakitan robot Pet N.............................................................................................................. 40
Gambar 2-22. Komponen yang digunakan Robot Pet N. ............................................................................ 41
Gambar 3-1. Door Alarm dengan LEGO. ..................................................................................................... 42
Gambar 3-2. Tahap 1 ke 1. .......................................................................................................................... 43
Gambar 3-3. Tahap 1 ke 2. .......................................................................................................................... 43
Gambar 3-4. Tahap 1 ke 3. .......................................................................................................................... 44
Gambar 3-5. Tahap 1 ke 4. .......................................................................................................................... 44
Gambar 3-6. Tahap 1 ke 5. .......................................................................................................................... 44
Gambar 3-7. Tahap 1 ke 6. .......................................................................................................................... 44
Gambar 3-8. Tahap 1 ke 7. .......................................................................................................................... 45
Gambar 3-9. Tahap 1 ke 8. .......................................................................................................................... 45
Gambar 3-10. Tahap 1 ke 9. ........................................................................................................................ 45
Gambar 3-11. Tahap 1 ke 10. ...................................................................................................................... 46
Gambar 3-12. Tahap 1 ke 11. ...................................................................................................................... 46
Gambar 3-13. Tahap 2 ke 1. ........................................................................................................................ 46
Gambar 3-14. Tahap 2 ke 2. ........................................................................................................................ 47
Gambar 3-15. Tahap 2 ke 3. ........................................................................................................................ 47
Gambar 3-16. Tahap 2 ke 4. ........................................................................................................................ 47
Gambar 3-17. Tahap 2 ke 5. ........................................................................................................................ 48
Gambar 3-18. Tahap 3 ke 1. ........................................................................................................................ 48
Gambar 3-19. Tahap 3 ke 1. ........................................................................................................................ 48
Gambar 3-20. Tahap 4 ke 1. ........................................................................................................................ 49
Gambar 3-21. Tahap 4 ke 2. ........................................................................................................................ 49
Gambar 3-22. Tahap 4 ke 3. ........................................................................................................................ 49
Gambar 3-23. Penampilan robot Hammer. ................................................................................................ 50
Gambar 3-24. Tahap 1 ke 1. ........................................................................................................................ 51
Gambar 3-25. Tahap 1 ke 2. ........................................................................................................................ 51
Gambar 3-26. Tahap 1 ke 3. ........................................................................................................................ 51
Gambar 3-27. Tahap 1 ke 4. ........................................................................................................................ 52
Gambar 3-28. Tahap 1 ke 5. ........................................................................................................................ 52
Gambar 3-29. Tahap 1 ke 6. ........................................................................................................................ 52
Gambar 3-30. Tahap 1 ke 7. ........................................................................................................................ 53

BUKU ROBOTIKA 7
Gambar 3-31. Tahap 2 ke 1. ........................................................................................................................ 53
Gambar 3-32. Tahap 2 ke 2. ........................................................................................................................ 54
Gambar 3-33. Tahap 2 ke 3. ........................................................................................................................ 54
Gambar 3-34. Tahap 3 ke 1. ........................................................................................................................ 55
Gambar 3-35. Tahap 3 ke 2. ........................................................................................................................ 55
Gambar 3-36. Tahap 3 ke 3. ........................................................................................................................ 56
Gambar 3-37. Tahap 3 ke 4. ........................................................................................................................ 56
Gambar 3-38. Tahap 4 ke 1. ........................................................................................................................ 57
Gambar 3-39. Tahap 4 ke 2. ........................................................................................................................ 57
Gambar 3-40. Tahap 4 ke 3. ........................................................................................................................ 58
Gambar 3-41. Tahap 4 ke 4. ........................................................................................................................ 58
Gambar 3-42. Tahap 4 ke 5. ........................................................................................................................ 58
Gambar 3-43. Tahap 4 ke 6. ........................................................................................................................ 59
Gambar 3-44. Tahap 5 ke 1. ........................................................................................................................ 59
Gambar 3-45. Tahap 5 ke 2. ........................................................................................................................ 60
Gambar 3-46. Tahap 5 ke 3. ........................................................................................................................ 60
Gambar 3-47. Tahap 5 ke 4. ........................................................................................................................ 61
Gambar 3-48. Tahap 6 ke 1. ........................................................................................................................ 61
Gambar 3-49. Tahap 6 ke 2. ........................................................................................................................ 62
Gambar 3-50. Tahap 6 ke 3. ........................................................................................................................ 62
Gambar 3-51. Tahap 6 ke 4. ........................................................................................................................ 62
Gambar 3-52. Tahap 7 ke 1. ........................................................................................................................ 63
Gambar 3-53. Tahap 7 ke 2. ........................................................................................................................ 63
Gambar 3-54. Tahap 7 ke 3. ........................................................................................................................ 63
Gambar 3-55. Tahap 7 ke 4. ........................................................................................................................ 64
Gambar 3-57. Tahap 8 ke 1. ........................................................................................................................ 64
Gambar 3-58. Tahap 8 ke 2. ........................................................................................................................ 65
Gambar 3-59. Tahap 8 ke 3. ........................................................................................................................ 65
Gambar 3-60. Tahap 9 ke 1. ........................................................................................................................ 66
Gambar 3-61. Tahap 9 ke 2. ........................................................................................................................ 66
Gambar 3-62. Tahap 9 ke 3. ........................................................................................................................ 67
Gambar 3-65. Tahap 10 ke 1. ...................................................................................................................... 68

BUKU ROBOTIKA 8
Gambar 3-66. Tahap 10 ke 2. ...................................................................................................................... 68
Gambar 3-67. Tahap 10 ke 3. ...................................................................................................................... 69
Gambar 3-68. Tahap 10 ke 4. ...................................................................................................................... 69
Gambar 3-69. Tahap 10 ke 5. ...................................................................................................................... 69
Gambar 3-72. Pemasangan kabel penghubung. ......................................................................................... 70
Gambar 3-68 Tahap 1 ke 1 .......................................................................................................................... 71
Gambar 3-69 Tahap 1 ke 2 .......................................................................................................................... 71
Gambar 3-70 Tahap 1 ke 3 .......................................................................................................................... 72
Gambar 3-71 Tahap 1 ke 4 .......................................................................................................................... 72
Gambar 3-72 Tahap 1 ke 5 .......................................................................................................................... 72
Gambar 3-73 Tahap 1 ke 6 .......................................................................................................................... 73
Gambar 3-74 Tahap 1 ke 7 .......................................................................................................................... 73
Gambar 3-75 Tahap 1 ke 8 .......................................................................................................................... 73
Gambar 3-76 Tahap 1 ke 9 .......................................................................................................................... 74
Gambar 3-77 Tahap 2 ke 1 .......................................................................................................................... 74
Gambar 3-78 Tahap 2 ke 2 .......................................................................................................................... 75
Gambar 3-79 Tahap 3 ke 1 .......................................................................................................................... 75
Gambar 3-80 Tahap 3 ke 2 .......................................................................................................................... 76
Gambar 3-81 Tahap 3 ke 3 .......................................................................................................................... 76
Gambar 3-82 Tahap 3 ke 4 .......................................................................................................................... 76
Gambar 3-83 Tahap 3 ke 5 .......................................................................................................................... 77
Gambar 3-84 Tahap 3 ke 6 .......................................................................................................................... 77
Gambar 3-85 Tahap 3 ke 7 .......................................................................................................................... 77
Gambar 3-86 Tahap 3 ke 8 .......................................................................................................................... 78
Gambar 3-87 Tahap 3 ke 9 .......................................................................................................................... 78
Gambar 3-88 Tahap 3 ke 10 ........................................................................................................................ 79
Gambar 3-89 Tahap 3 ke 11 ........................................................................................................................ 79
Gambar 3-90 Tahap 3 ke 12 ........................................................................................................................ 79
Gambar 3-91 Tahap 3 ke 13 ........................................................................................................................ 80
Gambar 3-92 Tahap 4 ke 1 .......................................................................................................................... 80
Gambar 3-93 Tahap 4 ke 2 .......................................................................................................................... 81
Gambar 3-94 Tahap 4 ke 3 .......................................................................................................................... 81

BUKU ROBOTIKA 9
Gambar 3-95 Tahap 4 ke 4 .......................................................................................................................... 81
Gambar 3-96 Tahap 4 ke 5 .......................................................................................................................... 82
Gambar 3-97 Tahap 5 ke 1 .......................................................................................................................... 82
Gambar 3-98 Tahap 5 ke 2 .......................................................................................................................... 83
Gambar 3-99 Tahap 5 ke 3 .......................................................................................................................... 83
Gambar 3-100 Tahap 5 ke 4 ........................................................................................................................ 83
Gambar 3-101 Tahap 5 ke 5 ........................................................................................................................ 84
Gambar 3-102 Tahap 5 ke 6 ........................................................................................................................ 84
Gambar 3-103 Tahap 6 ke 1 ........................................................................................................................ 85
Gambar 3-104 Tahap 6 ke 2 ........................................................................................................................ 85
Gambar 3-105 Tahap 6 ke 3 ........................................................................................................................ 85
Gambar 3-106 Tahap 6 ke 4 ........................................................................................................................ 86
Gambar 3-107 Tahap 6 ke 5 ........................................................................................................................ 86
Gambar 3-108 Tahap 7 ke 1 ........................................................................................................................ 87
Gambar 3-109 Tahap 7 ke 2 ........................................................................................................................ 87
Gambar 3-110 Tahap 7 ke 3 ........................................................................................................................ 88
Gambar 3-111 Tahap 7 ke 4 ........................................................................................................................ 88
Gambar 3-112 Tahap 7 ke 5 ........................................................................................................................ 89
Gambar 3-113 Susunan Lengkap Robot Machine Gun ............................................................................... 89
Gambar 4-1. Contoh program PHP. ............................................................................................................ 92
Gambar 4-2. Bahasa visual dengan NXT-G.................................................................................................. 93
Gambar 4-3. Contoh visual programming dalam RoboPro. ........................................................................ 93
Gambar 4-4. LEGO Mindstorms Graphical Programming. .......................................................................... 94
Gambar 4-5. NXT-G Workspace. ................................................................................................................. 95
Gambar 4-6. Microsoft Robotic Studio. ...................................................................................................... 96
Gambar 5-1. NXT-G Workspace. ................................................................................................................. 98
Gambar 5-2. Jendela update NXT Firmware ............................................................................................... 99
Gambar 5-3. Area kerja pembukaan (opening work space) LEGO Mindstorms NXT-G ............................ 100
Gambar 5-4. Area kerja (work space) LEGO Mindstorms NXT-G .............................................................. 101
Gambar 5-5. Jendela My Blok Builder untuk membuat blok baru ............................................................ 102
Gambar 5-6. Men-drag blok program ke area kerja ................................................................................. 103
Gambar 5-7. Tampilan halaman bantuan untuk LEGO Mindstorms NXT-G ............................................. 104

BUKU ROBOTIKA 10
Gambar 5-8. Jendela Robot Educator yang berisi video tutorial .............................................................. 104
Gambar 5-9. Skema program Have a Nice Day ..................................................................................... 105
Gambar 5-10. Konfigurasi blok move pertama dari program Have a Nice Day. ................................... 106
Gambar 5-11. Konfigurasi blok sound dari program Have a Nice Day. ................................................. 106
Gambar 5-12. Konfigurasi blok move kedua dari program Have a Nice Day. ....................................... 107
Gambar 5-13. Contoh blok-blok program................................................................................................. 108
Gambar 5-14. Contoh penggunaan kabel data pada program NXT-G ...................................................... 109
Gambar 5-15. Cara menggunakan blok gerakan ...................................................................................... 111
Gambar 5-16. Konfigurasi default dari blok gerakan ................................................................................ 111
Gambar 5-17. Konfigurasi gerakan maju dan mundur di blok gerakan .................................................... 112
Gambar 5-18. Pilih ikon stop untuk membuat gerakan berhenti ............................................................. 112
Gambar 5-19. Kontrol steering pada kotak konfigurasi blok gerakan ...................................................... 113
Gambar 5-20. Kontrol kekuatan motor pada blok gerakan ...................................................................... 113
Gambar 5-21. Kontrol durasi pada blok gerakan ...................................................................................... 114
Gambar 5-22. Kontrol next action pada blok gerakan .............................................................................. 114
Gambar 5-23. Jendela edit variabel untuk menambahkan, mengganti dan menghapus variabel ........... 116
Gambar 5-24. Blok variabel....................................................................................................................... 116
Gambar 5-25. Kotak konfigurasi dari sebuah blok variabel ...................................................................... 117
Gambar 5-26. Blok aritmatika ................................................................................................................... 117
Gambar 5-27. Kotak konfigurasi dari blok aritmatika ............................................................................... 118
Gambar 5-28. Blok logika .......................................................................................................................... 119
Gambar 5-29. Kotak konfigurasi blok logika ............................................................................................. 119
Gambar 5-30. Contoh percabangan dan pengulangan dalam NXT-G....................................................... 120
Gambar 5-31. Skema program sederhana maju-mundur ......................................................................... 121
Gambar 5-32. Skema program maju-mundur 3 kali tanpa pengulangan ................................................. 121
Gambar 5-33. Skema program maju-mundur 3 kali dengan blok pengulangan....................................... 122
Gambar 5-34. Contoh konfigurasi dengan masukkan dari sensor sentuh................................................ 122
Gambar 5-35. Contoh konfiguurasi dengan masukan dari sensor ultrasonik. ......................................... 123
Gambar 5-36. Contoh konfigurasi dengan data logika. ............................................................................ 123
Gambar 5-37. Contoh konfigurasi blok pengulangan dengan control forever ......................................... 124
Gambar 5-38. Contoh program sederhana menggunakan pengulangan ................................................. 124
Gambar 5-39. Konfigurasi blok pengulangan dengan kontrol timer ........................................................ 125

BUKU ROBOTIKA 11
Gambar 5-40. Konfigurasi blok pengulangan dengan kontrol waktu ....................................................... 125
Gambar 5-41. Konfigurasi blok pengulangan dengan kontrol penghitungan........................................... 126
Gambar 5-42. Konfigurasi blok pengulangan dengan kontrol logika........................................................ 126
Gambar 5-43. Konfigurasi kontrol value pada blok percabangan ............................................................ 127
Gambar 5-44. Bagian blok sensor. ............................................................................................................ 128
Gambar 5-45. Momen perubahan kondisi sensor. ................................................................................... 129
Gambar 5-46. Visualisasi blok sensor sentuh. .......................................................................................... 130
Gambar 5-47. Konfigurasi blok pengulangan dengan kontrol sensor sentuh .......................................... 131
Gambar 5-48. Konfigurasi kontrol sensor sentuh pada blok percabangan .............................................. 131
Gambar 5-49. Visualisasi blok sensor suara.............................................................................................. 132
Gambar 5-50. Konfigurasi blok pengulangan dengan kontrol sensor suara............................................. 133
Gambar 5-51. Konfigurasi kontrol sensor suara pada blok percabangan................................................. 134
Gambar 5-52. Visualisasi blok sensor ultrasonik. ..................................................................................... 135
Gambar 5-53. Konfigurasi blok pengulangan dengan kontrol sensor ultrasonik ..................................... 135
Gambar 5-54. Konfigurasi kontrol sensor ultrasonik pada blok percabangan ......................................... 136
Gambar 5-55. Visualisasi blok sensor cahaya. .......................................................................................... 137
Gambar 5-56. Konfigurasi blok pengulangan dengan kontrol sensor cahaya .......................................... 138
Gambar 5-57. Konfigurasi kontrol sensor ultrasonik pada blok percabangan ......................................... 139
Gambar 5-58. Konfigurasi blok pengulangan dengan kontrol tombol NXT .............................................. 139
Gambar 5-59. Momen perubahan kondisi tombol. .................................................................................. 140
Gambar 5-60. Visualisasi blok tombol NXT. .............................................................................................. 141
Gambar 5-61. NXT Five Minute Bot .......................................................................................................... 143
Gambar 5-62. Skema awal program drive test ......................................................................................... 144
Gambar 5-63. Konfigurasi blok gerakan pertama pada program drive test ............................................. 144
Gambar 5-64. Konfigurasi blok gerakan kedua pada program drive test ................................................. 144
Gambar 5-65. Konfigurasi blok gerakan ketiga pada program drive test ................................................. 144
Gambar 5-66. Konfigurasi blok gerakan keempat pada program drive test ............................................ 145
Gambar 5-67. Konfigurasi blok gerakan kelima pada program drive test ................................................ 145
Gambar 5-68. Konfigurasi blok gerakan keenam pada program drive test .............................................. 145
Gambar 6-1. Alur program Door Alarm. ................................................................................................... 146
Gambar 6-2. Keseluruhan program Door Alarm. ...................................................................................... 147
Gambar 6-3. Door Alarm - b...................................................................................................................... 147

BUKU ROBOTIKA 12
Gambar 6-4. Door Alarm - c. ..................................................................................................................... 147
Gambar 6-5. Door Alarm - e. ..................................................................................................................... 148
Gambar 6-6. Door Alarm - f. ..................................................................................................................... 148
Gambar 6-7. Door Alarm - h...................................................................................................................... 149
Gambar 6-8. Door Alarm - i. ...................................................................................................................... 149
Gambar 6-9. Door Alarm - j. ...................................................................................................................... 149
Gambar 6-10. Rangkaian subprogram Active Alarm................................................................................. 150
Gambar 6-11. Subprogram Active Alarm - a. ............................................................................................ 150
Gambar 6-12. Subprogram Active Alarm - b. ............................................................................................ 151
Gambar 6-13. Subprogram Active Alarm - c. ............................................................................................ 151
Gambar 6-14. Subprogram Active Alarm - d. ............................................................................................ 151
Gambar 6-15. Subprogram Active Alarm - e. ............................................................................................ 152
Gambar 6-16. Rangkaian subprogram Number of People........................................................................ 152
Gambar 6-17. Subprogram Number of People - a. ................................................................................... 152
Gambar 6-18. Subprogram Number of People - b. ................................................................................... 153
Gambar 6-19. Subprogram Number of People - c. ................................................................................... 153
Gambar 6-20. Subprogram Number of People - d. ................................................................................... 154
Gambar 6-21. Rangkaian subprogram Update Number of People. .......................................................... 154
Gambar 6-22. Subprogram Update Number of People - a. ...................................................................... 154
Gambar 6-23. Subprogram Update Number of People - b. ...................................................................... 155
Gambar 6-24. Subprogram Update Number of People - c. ...................................................................... 155
Gambar 6-25. Alur robot Hammer. ........................................................................................................... 156
Gambar 6-26. Kalibrasi sensor cahaya. ..................................................................................................... 157
Gambar 6-27. Robot Hammer Kalibrasi 1. ............................................................................................. 158
Gambar 6-28. Kalibrasi 1 - A. .................................................................................................................... 158
Gambar 6-29. Kalibrasi 1 - B...................................................................................................................... 159
Gambar 6-30. Kalibrasi 1 - C...................................................................................................................... 159
Gambar 6-31. Kalibrasi 1-D. ...................................................................................................................... 159
Gambar 6-32. Kalibrasi 1-E........................................................................................................................ 160
Gambar 6-33. Kalibrasi 1-F. ....................................................................................................................... 160
Gambar 6-34. Kalibrasi 1-G. ...................................................................................................................... 160
Gambar 6-35. Robot Hammer - Kalibrasi 2. ............................................................................................. 161

BUKU ROBOTIKA 13
Gambar 6-36. Kalibrasi 2-A ....................................................................................................................... 161
Gambar 6-37. Kalibrasi 2-B. ...................................................................................................................... 162
Gambar 6-38. Kalibrasi 2-C. ...................................................................................................................... 162
Gambar 6-39. Kalibrasi 2-D. ...................................................................................................................... 162
Gambar 6-40. Kalibrasi 2- E. ...................................................................................................................... 163
Gambar 6-41. Kalibrasi 2-F. ....................................................................................................................... 163
Gambar 6-42. Kalibrasi 2-G. ...................................................................................................................... 163
Gambar 6-43. Kalibrasi 2-H. ...................................................................................................................... 164
Gambar 6-44. Kalibrasi 2-I......................................................................................................................... 164
Gambar 6-45. Deklarasi variable jumlah_benda. ..................................................................................... 164
Gambar 6-46. Blok prompt_benda. .......................................................................................................... 165
Gambar 6-47. prompt_benda 1. ............................................................................................................... 165
Gambar 6-48. prompt_benda 1-A............................................................................................................. 166
Gambar 6-49. prompt_benda 1-B. ............................................................................................................ 166
Gambar 6-50. prompt_benda 1-C. ............................................................................................................ 166
Gambar 6-51. prompt_benda 1-D. ........................................................................................................... 167
Gambar 6-52. prompt_benda 1-E. ............................................................................................................ 167
Gambar 6-53. prompt_benda 2. ............................................................................................................... 167
Gambar 6-54. prompt_benda 2- A............................................................................................................ 168
Gambar 6-55. prompt_benda 2-B. ............................................................................................................ 168
Gambar 6-56. prompt_benda 2-C. ............................................................................................................ 168
Gambar 6-57. prompt_benda 2-D. ........................................................................................................... 169
Gambar 6-58. prompt_benda 3. ............................................................................................................... 169
Gambar 6-59. prompt_benda 3- A............................................................................................................ 170
Gambar 6-60. prompt_benda 3-B. ............................................................................................................ 170
Gambar 6-61. prompt_benda 3-C. ............................................................................................................ 170
Gambar 6-62. prompt_benda 3-D. ........................................................................................................... 170
Gambar 6-63. prompt_benda 3-E. ............................................................................................................ 171
Gambar 6-64. prompt_benda 3-F. ............................................................................................................ 171
Gambar 6-65. prompt_benda 3-G. ........................................................................................................... 171
Gambar 6-66. prompt_benda 4. ............................................................................................................... 172
Gambar 6-67. prompt_benda 4-A............................................................................................................. 172

BUKU ROBOTIKA 14
Gambar 6-68. prompt_benda 4- B. ........................................................................................................... 173
Gambar 6-69. prompt_benda 4-C. ............................................................................................................ 173
Gambar 6-70. prompt_benda 4-D. ........................................................................................................... 173
Gambar 6-71. prompt_benda 4-E. ............................................................................................................ 173
Gambar 6-72. prompt_benda 4-F. ............................................................................................................ 174
Gambar 6-73. prompt_benda 4-G. ........................................................................................................... 174
Gambar 6-74. prompt_benda 4-H. ........................................................................................................... 174
Gambar 6-75. Menunggu sentuhan. ......................................................................................................... 175
Gambar 6-76.Menunggu sentuhan A. ...................................................................................................... 175
Gambar 6-77.Menunggu sentuhan B........................................................................................................ 175
Gambar 6-78.Menunggu sentuhan C. ....................................................................................................... 175
Gambar 6-79.Menunggu sentuhan D. ...................................................................................................... 176
Gambar 6-80.Menunggu sentuhan E. ....................................................................................................... 176
Gambar 6-81.Menunggu sentuhan F. ....................................................................................................... 176
Gambar 6-82. Pesan dan nada persiapan. ................................................................................................ 177
Gambar 6-83. Pesan dan nada persiapan A. ............................................................................................. 177
Gambar 6-84. Pesan dan nada persiapan B. ............................................................................................. 177
Gambar 6-85. Pesan dan nada persiapan C. ............................................................................................. 178
Gambar 6-86. Pesan dan nada persiapan D.............................................................................................. 178
Gambar 6-87. Pesan dan nada persiapan E. ............................................................................................. 178
Gambar 6-88. Pesan dan nada persiapan F. ............................................................................................. 179
Gambar 6-89. Variabel berhenti dan counter........................................................................................... 179
Gambar 6-90. Variabel berhenti. .............................................................................................................. 179
Gambar 6-91. Variable counter. ............................................................................................................... 180
Gambar 6-92. Program Utama.................................................................................................................. 180
Gambar 6-93. Program detect_n_hit 1. .................................................................................................... 181
Gambar 6-94. detect_n_hit 1- A. .............................................................................................................. 181
Gambar 6-95. detect_n_hit 1-B. ............................................................................................................... 181
Gambar 6-96. detect_n_hit 1-C. ............................................................................................................... 182
Gambar 6-97. detect_n_hit 1-D. ............................................................................................................... 182
Gambar 6-98. detect_n_hit 1-E. ............................................................................................................... 182
Gambar 6-99. detect_n_hit 1-F................................................................................................................. 183

BUKU ROBOTIKA 15
Gambar 6-100. detect_n_hit 1-G. ............................................................................................................. 183
Gambar 6-101. detect_n_hit 1-H. ............................................................................................................. 183
Gambar 6-102. detect_n_hit 1-I. .............................................................................................................. 184
Gambar 6-103. detect_n_hit 1-J. .............................................................................................................. 184
Gambar 6-104. Program detect_n_hit 2. .................................................................................................. 184
Gambar 6-105. detect_n_hit 2-K. ............................................................................................................. 185
Gambar 6-106. detect_n_hit 2-L............................................................................................................... 185
Gambar 6-107. detect_n_hit 2-M. ............................................................................................................ 185
Gambar 6-108. Program moving............................................................................................................... 186
Gambar 6-109. moving A. ........................................................................................................................ 186
Gambar 6-110. moving B. ......................................................................................................................... 186
Gambar 6-111. moving C. ......................................................................................................................... 187
Gambar 6-112. moving D. ......................................................................................................................... 187
Gambar 6-113. moving E........................................................................................................................... 187
Gambar 6-114. moving F........................................................................................................................... 188
Gambar 6-115. moving G. ......................................................................................................................... 188
Gambar 6-116. Program cek status. ......................................................................................................... 188
Gambar 6-117. cek status A. ..................................................................................................................... 189
Gambar 6-118. cek status B. ..................................................................................................................... 189
Gambar 6-119. cek status C. ..................................................................................................................... 189
Gambar 6-120. cek status D. ..................................................................................................................... 190
Gambar 6-121. cek status E. ..................................................................................................................... 190
Gambar 6-122. cek status F. ..................................................................................................................... 191

BUKU ROBOTIKA 16
Daftar Tabel

Tabel 2-1. Beragam Suara dengan Ukuran Desibel..................................................................................... 36


Tabel 2-2 - Definisi Lingkungan Suara Berdasarkan Persentase ................................................................. 37
Tabel 3-2. Tahap 17 ke 7. ............................................................................... Error! Bookmark not defined.
Tabel 5-1. Operasi NOT ............................................................................................................................. 118
Tabel 5-2. Operasi AND ............................................................................................................................. 118
Tabel 5-3. Operasi OR ............................................................................................................................... 118
Tabel 5-4. Operasi XOR ............................................................................................................................. 119
Tabel 5-5. Masukan dan keluaran yang tersedia pada blok sensor. ......................................................... 142

BUKU ROBOTIKA 17
Bab 1. Dunia Robot

1.1 Perkembangan Robotika di Dunia

Saat ini, secara sadar atau tidak, robot memang telah hadir di dalam
Kata robot berasal
kehidupan manusia dalam bentuk yang bermacam-macam. Ada robot
dari seni drama dari
sederhana untuk mengerjakan kegiatan yang mudah atau berulang-ulang.
bahasa Ceko yang
Ada pula robot yang dirancang untuk "berperilaku" sangat kompleks dan
berarti PEKERJA.
sampai batas tertentu dapat mengontrol dirinya sendiri. Di kalangan umum
pengertian robot selalu dikaitkan dengan "makhluk hidup" berbentuk orang
maupun binatang yang terbuat dari logam dan bertenaga listrik. Sementara itu dalam arti luas robot
berarti alat yang dalam batas-batas tertentu dapat bekerja sendiri (otomatis) sesuai dengan perintah
yang sudah diberikan oleh perancangnya. Dengan pengertian ini sangat erat hubungan antara robot dan
otomatisasi sehingga dapat dipahami bahwa hampir setiap aktivitas kehidupan modern makin
tergantung pada robot dan otomatisasi.

Gambar 1-1. Robot pada masa kini [4].

Istilah robot bukanlah kata yang berasal dari para peneliti pada zaman dahulu. Istilah ini justru lahir
dari seni drama yang berkembang di tahun 1920-an. Karel Capek adalah orang yang pertama kali
menggunakan kata robot, kata ini muncul dalam naskah drama yang dibuatnya. Kata robot dalam

BUKU ROBOTIKA 18
bahasa Ceko berarti pekerja. Karel menggunakan kata ini dalam dramanya untuk menyebut mesin yang
dapat melakukan pekerjaan manusia secara otomatis.

Pada awal abad ke-13 M, Al-Jazari telah mampu menciptakan robot yang bisa
diprogram serta memiliki bentuk tubuh seperti manusia (humanoid). Fakta itu
sekaligus mematahkan klaim Barat sebelumnya yang menyatakan bahwa
Al-Jazari
Leonardo da Vinci merupakan perintis teknologi robot pertama pada 1478 M.
pada awal abad ke-
Mesin robot yang diciptakan Al-Jazari diletakan diatas sebuah perahu yang 13, telah berhasil
terapung di sebuah danau. Didalam perahu tersebut terdapat empat buah robot menciptakan robot
pemain musik. Robot pemain musik yang diciptakan untuk menghibur para tamu humanoid yang
kerajaan dalam acara jamuan minum ini terdiri dari dua robot penabuh drum, dapat di program.

sebuah robot peniup harpa, dan pemain suling logam. Al Jazari mengembangkan
prinsip hidrolik untuk menggerakkan mesin yang kemudian hari dikenal sebagai mesin robot.

Beberapa kejadian penting berkaitan dengan perkembangan dunia robotika:

Penciptaan robot mempunyai sejarah yang cukup panjang. Beberapa mitos kuno menyatakan
bahwa banyak "pembantu mekanikal" dihasilkan oleh masyarakat Yunani dan China sejak
abad ke-4 sebelum masehi.

Sekitar tahun 1136 - 1206, seorang pencipta muslim dari dinasti Artuqid di Turki bernama Al-
Jazari telah menciptakan bermacam-macam mesin, alat-alat dapur dan alat-alat musik yang
digerakan oleh air. Gambar 1-2 memperlihatkan ilustrasi Al-Jazari.

Gambar 1-2. Al-Jazari [5].

BUKU ROBOTIKA 19
Pada tahun 1495, Leonardo da Vinci mulai merancang sketsa robot humanoid (robot yang
bisa bergerak seperti gerakan manusia). Hal ini terungkap di buku catatan da Vinci yang
ditemukan sekitar tahun 1950. Di dalam buku itu tergambar sketsa rancangannya tentang
satu tentara mekanikal, yang kemudian terkenal dengan nama Robot Leonardo. Robot itu
mampu duduk, melambaikan tangan, menggerakan kepala dan rahangnya. Gambar 1-3
memperlihatkan sosok da Vinci, sang penemu jenius.

Gambar 1-3. Leonardo da Vinci [6].

Melangkah ke penciptaan robot jaman modern, seorang pengukir dari Jepang bernama
Hisashige Tanaka telah berhasil menciptakan banyak patung permainan dengan aspek
mekanikal yang rumit, yang bisa menghidangkan segelas teh, memanah, serta menulis
kaligrafi Jepang. Robot yang pertama kali tercipta disini bernama Gakutensoku. Robot ini
diciptakan oleh seorang ahli biologi bernama Makato Nishimura pada tahun 1928. Pada
Gambar 1-4 dapat dilihat foto Tanaka Hisashige dan salah satu karyanya, mesin uap pertama
yang dibuat oleh Jepang.

BUKU ROBOTIKA 20
Gambar 1-4. Tanaka Hisashige dan hasil karyanya [7].

Pada tahun 1926, perusahaan Westinghouse Electric Corporation berhasil menciptakan robot
untuk tujuan kerja di pabriknya yang diberi nama Televox dan robot-robot lain yang lebih
kecil bernama Rastus. Tahun 1930-an WEC berhasil menciptakan robot humanoid dan
dipamerkan di Worldfair pada tahun 1939-1940.

Gambar 1-5. Robot Televox [8].

Robot automasi elektronik pertama diciptakan oleh William Grey Walter dari Burden
Neurological Institute di Inggris pada tahun 1949. Robot itu diberi nama Elmer dan Elsie yang
akan bergerak berdasarkan deteksi cahaya dari luar.

BUKU ROBOTIKA 21
Gambar 1-6. Wiliam Grey Walter dan salah satu hasil karyanya [9].

Robot modern, yang dapat diprogram dan digerakan secara digital diciptakan oleh George
Devol pada tahun 1954 diberi nama Unimate. Unimate pertama Devol dibeli oleh General
Motor untuk dipakai di pabrik mobil GM yang berada di Trenton, New Jersey. Gambar 1-7
memperlihatkan sosok Devol dan karyanya, Unimate.

Gambar 1-7. George Devol dan Unimate [10].

Para pencipta robot tidak akan berhenti sampai disini. Setiap tahun persaingan robot dari
perusahaan-perusahaan raksasa di dunia akan tetap berlangsung sengit dan menghasilkan
robot-robot yang semakin canggih. Contohnya Toyota yang menciptakan robot dengan tinggi
120 cm dan berat 35 kg, yang dapat meniup terompet dan memainkan sebuah lagu. Sony
dengan Qrio yang bisa menyanyi, menari dan berjalan dengan kecepatan 14meter/menit,
juga robot anjing yang bernama Aibo. Honda pun turut serta dengan menghasilkan robot
humanoid yang diberi nama Asimo.

BUKU ROBOTIKA 22
Gambar 1-8. Qrio dan robot anjing Aibo [11].

1.2 Teknologi dan Perkembangan Robot di Indonesia

Sebenarnya sejak tahun 1980-an pengembangan dan penggunaan mesin


Banyak elemen yang
otomatis di Indonesia ini telah dilakukan terutama melalui kelompok
mengikuti kegiatan RITECH
industri strategis, seperti PT Pindad yang berfokus pada sistem, dan
EXPO 2008, diantaranya
peralatan yang menunjang hajat hidup orang banyak. PT LEN Industri yang
pemerintah daerah, LPND
bergerak pada bidang IT, perangkat lunak, dan komputasi. PT Bharata dan
Ristek, BUMN, Perguruan
PT BBI yang bergerak dalam bidang pengecoran presisi untuk membuat Tinggi, kalangan industri,
bagian-bagian mesin. Selain itu PT DI dan PT PAL sebagai pengguna mesin asosiasi-asosiasi,
otomatis, telah memiliki pengetahuan yang tinggi dalam mengoperasikan produsen, pengembang
robot untuk teknik pesawat terbang dan teknik perkapalan. Pada tahun dan pengguna produk

2001, Kementerian Ristek bekerja sama dengan Depdiknas telah inovasi.

mempromosikan pemenang Kontes Robot Indonesia dalam pameran Ristek


tahunan, yaitu RITECH EXPO (Research, Inovation, Technology Expo) di Balai Sidang Jakarta.

Beberapa prestasi lain yang diraih oleh Indonesia adalah sebagai berikut:

Para pemuda pernah merebut juara di bidang robotika regional dan internasional. Prestasi
terakhir pada tahun 2007 dicapai robot G-Rush yang berhasil merebut juara 2 dalam
Kejuaraan Robot Dunia di Vietnam, mengalahkan robot dari berbagai negara, termasuk
Jepang yang merupakan salah satu negara termaju di bidang robotika.

BUKU ROBOTIKA 23
Industri pertahanan Indonesia telah mampu membuat berbagai platform darat, laut dan
udara. Mulai dari pembuatan APC (Armored Personnel Carrier), Hovercraft, hingga pesawat
angkut. Indonesia melalui PT IPTN telah berhasil merancang, membuat dan menerbangkan
pesawat CN235 dan N250.

Dengan kata lain, Indonesia telah mampu menciptakan tubuh robot, yang tersisa hanya menambahkan
sensor dan pemroses data sebagai panca indera dan otak robot.

1.3 Faktor Pendorong Perkembangan Robotika di Indonesia

Beberapa faktor pendorong bagi indonesia untuk mengembangkan teknologi robot :

Proses pembuatan, pengembangan dan pengujian kendaraan tak berawak, misalnya UAV.
Pengembangan kendaraan tak berawak tidak memerlukan biaya sebesar pembuatan,
pengembangan dan pengujian pesawat berawak. Hal ini tentu sesuai dengan kondisi keuangan
bangsa kita, sehingga mengembangkan kendaraan tak berawak merupakan sebuah solusi yang
pantas untuk dipertimbangkan.

Perangkat robot impor yang saat ini digunakan oleh TNI/POLRI banyak memiliki kekurangan,
seperti biaya operasi dan perawatan yang tinggi dan ketidakcocokan dengan kondisi di
Indonesia. Robot penjinak bom POLRI buatan Inggris misalnya, dikeluhkan seringkali berhenti
secara tiba-tiba akibat terlalu panasnya iklim tropis Indonesia. Dengan demikian, sebenarnya di
dalam negeri sendiri telah tercipta pasar yang bisa menjadi pondasi pengembangan kendaraan
tak berawak.

Beberapa faktor penarik lain bagi Indonesia untuk mengembangkan teknologi robot adalah
tuntutan perkembangan zaman dan teknologi di dunia.

Selain faktor di atas, faktor pendorong lainnya adalah dilaksanakannya kegiatan perlombaan-
perlombaan di bidang robotika. Perlombaan-perlombaan ini telah melahirkan insan-insan
pemikir dan pembuat robot yang berkemampuan tinggi. Beberapa contoh perlombaan yang
ada di Indonesia adalah:

KRI (Kontes Robot Indonesia) merupakan kontes tahunan yang diadakan oleh Dikti yang
memiliki tema yang berubah-ubah setiap tahunnya.

BUKU ROBOTIKA 24
KRCI (Kontes Robot Cerdas Indonesia) merupakan kontes tahunan yang diadakan oleh
Dikti yang terbagi ke dalam 4 divisi yang memiliki spesialisasi yang berbeda-beda.

KRSI (Kontes Robot Seni Indonesia) merupakan suatu ajang kompetisi perancangan dan
pembuatan robot yang disertai dengan unsur-unsur seni dan budaya. Peserta diwajibkan
untuk membuat satu atau beberapa robot yang terkoordinasi untuk menampilkan seni
budaya yang diinginkan sesuai tema yang ada. KRSI ini baru diadakan mulai tahun 2009 ini.

Galelobot (Ganesha Line Follower Robot 2008) yang diadakan oleh Himpunan Mahasiswa
Fisika Teknik ITB.

Roboline Follower Contest yang diadakan oleh UGM.

Indonesia Japan Expo Robot Contest (IJE Robocon 2008) merupakan pertandingan yang
diikuti oleh 2 universitas dari Jepang dan 10 universitas dari Indonesia, dimana tim PENS
(Politeknik Elektronik Negeri Surabaya) dari Indonesia menjadi juara kontes ini.

Perlombaan yang berskala internasional pun pernah diikuti oleh Indonesia. Indonesia mampu
meraih posisi ketiga dalam kontes robot ABU ROBOCON 2008.

1.4 Faktor Penghambat Perkembangan Robotika di Indonesia

Beberapa faktor penghambat bagi indonesia untuk mengembangkan teknologi robot :

Perkembangan ilmu robotika di Indonesia lamban dan masih kekurangan peneliti yang
berdedikasi. Penelitian tentang robot menghabiskan waktu yang banyak dan dana yang besar,
sedangkan jumlah sponsor yang membiayai pengembangan penelitian robot masih sedikit.

Indonesia terkesan kurang tanggap dalam mengembangkan teknologinya. Hal ini disebabkan
oleh budaya negara kita yang masih menjunjung tinggi sistem Padat Karya. Padat Karya
dijadikan acuan dunia industri semenjak era mantan Presiden Soeharto melalui program
Repelita I hingga IV. Budaya tersebut telah mengakar dalam benak tiap rakyat Indonesia.
Mereka menganggap bahwa Padat Karya merupakan suatu simbiosis dari sifat luhur bangsa
Gotong Royong. Hal ini mengakibatkan ketakutan akan penggunaan robot-robot industri

BUKU ROBOTIKA 25
sebagai penolong manusia. Mereka takut kehilangan pekerjaan, karena robot lebih
professional dan tidak perlu digaji oleh perusahaan.

1.5 Pengaruh Perkembangan Robotika di Indonesia

Perkembangan robotika di Indonesia terus berkembang dari zaman ke zaman,


akibat yang ditimbulkan oleh perkembangan dunia robot ini juga bervariasi
dan beragam. Dalam dunia pendidikan, perkembangan robot mempengaruhi
proses pembelajaran, contohnya seperti dalam dunia ilmu komputer. S
Perkebangan robotika di Indonesia memiliki potensi besar, kerena setiap alah satu bentuk
lulusan ilmu komputer dituntut untuk mampu mengerti sedikit atau banyak semangat kemajuan

tentang AI atau Artificial Inteligence. AI merupakan elemen utama dalam robotika di Indonesia
adalah banyaknya
mengontrol perilaku dari robot yang dibuat. Dalam dunia kesehatan
peserta Kontes Robot
kehadiran robot menghadirkan perubahan-perubahan yang bersifat
Cerdas Nasional.
revolusioner. Dalam ilmu medik, perkembangan ilmu robotika digunakan
untuk mempermudah proses perawatan dan operasi pasien, dengan
teknologi robot yang dapat dikendalikan dalam jarak jauh, maka proses operasi pasien dapat dilakukan
antar benua. Teknologi robotika juga sangat mempengaruhi dalam eksplorasi manusia zaman sekarang.
Dengan kehadiran robot, maka tempat-tempat yang tidak dapat terjangkau oleh manusia menjadi
terjangkau, diekplorasi, dan diteliti. Jadi Dengan kehadiran dan perkembangan robot di dalam
kehidupan manusia, sudah dapat dipastikan budaya manusia menjadi semakin berkembang.

BUKU ROBOTIKA 26
Bab 2. Robot LEGO Mindstrom

2.1 Mengenal Robot LEGO Mindstrom NXT

LEGO Mindstorms NXT adalah perangkat robot edukasional keluaran LEGO. Seri NXT ini resmi dirilis pada
tahun 2006 sebagai penerus dari seri sebelumnya, yaitu RIS (Robotics Invention System) yang sudah
sukses di pasaran. Penggunaan Mindstorms NXT membantu mempermudah pembuatan robot,
terutama dengan menghilangkan penyolder sirkuit atau kesulitan pada pemasangan motor. Robot yang
dibuat menggunakan LEGO ini tidak dapat dianggap sebagai sebuah robot final tapi dapat dianggap
sebagai sebuah model. Perangkat ini tersedia dalam 2 versi, yaitu Retail dan Educational.

Gambar 2-1. Komponen-komponen robot LEGO.

Untuk membuat program yang berjalan di Mindstorms NXT, tersedia banyak pilihan. LEGO sendiri sudah
menyediakan sebuah aplikasi yang dikenal dengan nama NXT-G (NXT Graphical Programming). Microsoft
menyediakan Microsoft Robotics Studio (Robotics Studio), cocok untuk aplikasi yang relatif kompleks
karena pemrosesan data yang dilakukan di komputer. Selain itu juga masih banyak aplikasi lain seperti
NBC, NXC, BrixCC, leJOS, dan pyNXT.

BUKU ROBOTIKA 27
2.2 Komponen LEGO Mindstrom NXT

Pada subbab ini Anda akan diajak berkenalan dengan komponen-komponen LEGO Mindstroms NXT
untuk paket edukasional. LEGO menyediakan beberapa komponen lain yang tidak dijelaskan dalam
subbab ini.

2.2.1 NXTBrick

Gambar 2-2. NXTBrick

NXTBrick adalah otak dan sumber tenaga dari robot LEGO Mindstorms NXT. Program yang sudah dibuat
akan dimasukkan dan dijalankan oleh NXTBrick. Stimulasi yang didapat robot yang dapat berupa
sentuhan, suara, atau intensitas cahaya, juga akan dikirim ke NXTBrick untuk diproses lebih lanjut.
Tenaga yang diperlukan motor untuk juga menggerakkan robot juga didapatkan dari NXTBrick.

Fitur dari NXTBrick di antaranya sebagai berikut:


Empat buah port sensor: 1 s/d 4
Tiga buah port motor: A, B, dan C.
USB port untuk menerima dan mengirimkan data.
Bluetooth yang juga dapat digunakan untuk menerima dan mengirimkan data.
LCD untuk menampilkan kondisi internal NXTBrick.
Speaker terintegrasi untuk output suara.

Spesifikasi teknis dari NXTBrick di antaranya sebagai berikut:


Mikrokontroler ARM7 32 bit.
FLASH 256 KB, RAM 64 KB.
Mikrokontroler AVR 8 bit.

BUKU ROBOTIKA 28
Bluetooth kelas 2.
LCD 100 x 64 piksel.
Baterai lithium atau 6 buah baterai AA sebagai sumber tenaga.

2.2.2 Sensor Ultrasonik

Ultrasonik adalah suara atau getaran dengan frekuensi yang terlalu tinggi
Kinerja dan ketepatan
untuk bisa didengar oleh telinga manusia, yaitu getaran dalam rentang lebih
sensor akan dipengaruhi
besar dari 20 kiloHertz. Dapat juga dikatakan bahwa gelombang ultrasonik
oleh faktor lingkungan,
merupakan gelombang ultra (di atas) frekuensi gelombang suara (sonik).
seperti suhu, kelembaban,
Hewan seperti lumba-lumba menggunakan gelombang ultrasonik untuk
atau cahaya.
komunikasi. Sedangkan kelelawar menggunakannya untuk navigasi. Berikut
adalah contoh gambar sensor ultrasonik yang tersedia dalam LEGO
Mindstorms NXT.

Gambar 2-3. Sensor Ultrasonik

Sensor ultrasonik adalah sensor yang memanfaatkan gelombang ultrasonik sebagai alat navigasi seperti
halnya pada kelelawar ataupun kapal selam. Pada LEGO Mindstorms NXT, sensor ultrasonik merupakan
sensor utama untuk navigasi dan penghindaran halangan. Bentuk sensor ultrasonik pada LEGO
Mindstorms NXT, seperti yang terlihat pada Gambar 2-3, berbentuk seperti mata. Mata sebelah kanan
merupakan pemancar gelombang ultrasonik, dan mata sebelah kiri adalah penerima gelombang
ultrasonik.

Cara kerja sensor ultrasonik pada LEGO Mindstorms NXT adalah seperti halnya konsep penggunaan
gelombang ultrasonik untuk menentukan jarak. Mata kanan akan memancarkan gelombang ultrasonik,
lalu setelah beberapa saat mata kiri akan mendapatkan pantulan gelombang ultrasonik yang telah

BUKU ROBOTIKA 29
dipancarkan sebelumnya. Selisih waktu tersebut akan dihitung dengan rumus kecepatan dan akan
didapatkan jarak benda tempat gelombang ultrasonik terpantul.

Karena sifat gelombang yang menyebar ke segala arah, maka gelombang ultrasonik yang dipantulkan
oleh sensor ultrasonik tidak terbatas pada satu arah saja. Gambar 2-4 memperlihatkan luas maksimum
yang dapat dicapai oleh sensor ultrasonik pada LEGO Mindstorms NXT. Sedangkan Gambar 2-5
memperlihatkan tingkat akurasi sensor tersebut. Gambar 2-6 memperlihatkan tingkat sensitifitas sensor.

Gambar 2-4. Area ruang sensor ultrasonik

Sensor ultrasonik LEGO Mindstorms NXT tidak mampu membaca jarak yang lebih kecil dari 3 cm.
Berdasarkan penelitian, ada dua kelemahan paling utama pada sensor ini. Kelemahan pertama adalah
akan terjadi kekacauan pada perhitungan jarak lebih besar dari 255 cm. Hal ini dikarenakan nilai yang
didapatkan sudah di luar rentang nilai yang dimiliki. Kelemahan kedua adalah untuk benda yang berada
pada jarak antara 25 cm 50 cm, sensor mempunyai probabilitas besar untuk membaca jarak tersebut
menjadi 48 cm.

BUKU ROBOTIKA 30
Gambar 2-5. Tingkat akurasi sensor ultrasonik LEGO Mindstroms NXT [12].

Gambar 2-6. Grafik tingkat sensitifitas sensor ultrasonik.

BUKU ROBOTIKA 31
2.2.3 Sensor Cahaya

Sebelum membahas lebih jauh tentang sensor cahaya, akan dijabarkan secara singkat tentang apa itu
cahaya. Cahaya adalah radiasi elektromagnetik dari sebuah gelombang yang dapat terlihat oleh manusia
(sekitar 400-700 nm). Cahaya memiliki tiga properti utama, yaitu: intensitas , frekuensi, dan polarisasi.

Sensor cahaya adalah salah satu jenis sensor yang dapat digunakan untuk mendeteksi dan mengukur
intensitas cahaya, dengan kata lain gelap terangnya suatu sumber cahaya. Pengukuran cahaya memberi
informasi yang sangat penting tentang suatu lingkungan. Berikut adalah contoh gambar sensor cahaya
LEGO Mindstorms NXT.

Gambar 2-7. Sensor cahaya.

Sensor cahaya pada LEGO Mindstorms NXT terdiri dari dua komponen, yaitu: LED dan phototransistor.
Sensor ini dapat membedakan terang dan gelapnya cahaya, membaca intensitas cahaya di suatu
ruangan, serta dapat mengukur intensitas cahaya pada permukaan yang berwarna.

(b) Dilihat oleh mata manusia (a) Dideteksi oleh sensor cahaya

Gambar 2-8 - Perbandingan mata manusia dan sensor dalam mengenali cahaya.

Karakteristik lain pada phototransistor LEGO Mindstorms NXT adalah alat


Hasil presepsi sensor ini akan
ini dibungkus pada lensa plastik yang memberikan sudut pandangan yang
tergantung dari intensitas
melebar. Dalam menggunakan sensor cahaya sebagai pencari arah, dapat cahaya yang dipantulkan oleh
digunakan pipa atau yang semacamnya untuk membatasi sudut pandang objek yang diamati.
dari phototransistor tersebut. Gambar berikut dapat dilihat tampak dalam
dan rangkaian sirkuit yang membangun sensor cahaya LEGO Mindstorms NXT.

BUKU ROBOTIKA 32
Gambar 2-9. Tampak bagian dalam sensor cahaya.

Gambar 2-10. Rangkaian sirkuit sensor cahaya.

Sensor cahaya banyak digunakan, baik pada robot maupun pada perangkat lainnya. Pada bagian ini akan
diberikan beberapa contoh aplikasi sensor cahaya.

Aplikasi pada robot, antara lain sebagai berikut:


1. Deteksi goal atau tujuan. Sensor cahaya dapat digunakan untuk menuntun arah pergerakan
robot dengan memberikan sumber cahaya pada tujuan yang diinginkan.
2. Deteksi pola pada permukaan. Sensor cahaya dapat digunakan untuk mendeteksi lintasan
pergerakan sebuah robot. Lintasan yang diberikan biasanya berwarna lebih gelap atau lebih
terang dari permukaan sekitarnya.
3. Deteksi jarak. Dengan menggunakan Infrared Reflectance sensor cahaya dapat melakukan
pengukuran jarak.

BUKU ROBOTIKA 33
Aplikasi pada perangkat lain, antara lain sebagai berikut.
1. Detektor siang-malam pada sebuah lampu. Sensor cahaya dapat digunakan untuk membedakan
waktu dengan cara mengukur terang/gelapnya lingkungan. Jika lingkungan di sekitar lampu
gelap, maka menandakan bahwa waktu telah malam dan lampu menyala. Jika lingkungan di
sekitar lampu terang maka lampu akan mati dan mendakan bahwa waktu telah pagi/siang.
2. Remote Control. Sensor cahaya dapat didesain untuk menangkap cahaya infrared dengan
frekuensi tertentu (Modulated Infrared Light Detector), biasanya pada remote TV, dan
sebagainya.

2.2.4 Sensor Sentuh

Sensor sentuh adalah sensor yang mampu mendeteksi adanya sentuhan. Misalnya, jika robot mengenai
benda atau bertabrakan dengan robot lain, maka kejadian ini dapat dideteksi oleh sensor sentuh. Selain
itu, yang dapat dideteksi bukan hanya ada sentuhan atau tidak, tetapi juga apakah sentuhan sudah
dilepaskan atau belum. Berikut adalah contoh gambar sensor sentuh LEGO Mindstorms NXT.

Gambar 2-11 - Sensor sentuh.

Contoh aplikasi sensor ini dalam robot misalnya untuk kemampuan robot memeriksa apakah obyek yang
dituju sudah digenggam atau belum.

2.2.5 Sensor Suara

Sensor suara adalah sensor yang dapat mendeteksi adanya suara. Pada LEGO Mindstorms NXT, sensor
suara yang dipasang disesuaikan dengan tipe pendegaran manusia yaitu sebesar 20 Hz 20 Khz. Berikut
adalah contoh gambar sensor suara LEGO Mindstorms NXT.

BUKU ROBOTIKA 34
Gambar 2-12 - Sensor suara.

Sensor suara ini terdiri dari sebuah mikrofon yang terbungkus busa plastik, sebuah konektor kabel ke
NXTBrick, serta sebuah PCB tempat rangkaian terpasang. Berikut merupakan kelengkapan dan isi dari
PCB (Printed Circuit Board) yang terdapat pada sensor suara.

Gambar 2-13. Kelengkapan sensor suara.

BUKU ROBOTIKA 35
Gambar 2-14. PCB Sensor Suara

Sensor suara yang terdapat pada LEGO Mindstorms NXT digunakan


Sensor suara dapat
untuk mengukur intensitas suara pada lingkungan. Sensor suara ini
mendeteksi suara dari 50
dapat mendeteksi suara dalam ukuran desibel (dB) dan adjusted
desibel hingga 90 desibel
desibel (dbA), mengetahui pola suara, serta perbedaan nada yang
terdengar. Adjusted desibel adalah skala untuk mengukur intensitas
suara dalam skala manusia sedangkan desibel adalah skala untuk mengukur intensitas semua suara.
Berikut adalah contoh suara dengan ukuran desibelnya.

Tabel 2-1. Beragam Suara dengan Ukuran Desibel.


90 dB Suara yang keras
80 dB Teriakan
70 dB Berbicara
60 dB Berbicara pada jarak yang cukup jauh
50 dB Ruangan yang sunyi

BUKU ROBOTIKA 36
Sensor suara menerima input berupa suara dari lingkungan. Suara tersebut akan diterima oleh mikrofon
yang ada pada sensor. Diafragma dalam mikrofon akan menangkap getaran yang terjadi dari suara yang
diterima dan akan ikut bergetar. Getaran tersebut akan menyebabkan magnet dalam mikrofon bergerak
dengan frekuensi yang sama dengan frekuensi suara yang diterima. Magnet kemudian bergerak di dalam
kumparan sehingga menghasilkan aliran listrik dengan frekuensi yang sama pula. Aliran listrik ini
selanjutnya akan dikonversikan menjadi sinyal yang sesuai agar dapat dibaca NXTBrick. Dalam NXTBrick
sinyal ini akan dikonversikan menjadi nilai persentase antara 0 100%.

Gambar 2-15 - Proses Suara Dikenali oleh NXTBrick

Berdasarkan persentase yang diperoleh ini, robot dapat memperkirakan lingkungan input suara. Tabel
berikut menunjukkan pemahaman robot terhadap persentase kekuatan sinyal yang diperolehnya.

Tabel 2-2 - Definisi Lingkungan Suara Berdasarkan Persentase


4-5% Ruang tamu yang hening
5-10% Pembicaraan pada jarak tertentu
10-30% Pembicaraan yang dekat dengan sensor atau musik dalam
volume normal
30-100% Teriakan atau musik yang dimainkan dalam volume tinggi

Sensor suara dapat mendeteksi suara dalam ukuran desibel (dB) dan adjusted desibel (dbA), dan output
sensor ditampilkan dalam persentase. Oleh sebab itu, diperlukan adanya pemetaan antara nilai suara
yang diperoleh ke dalam ukuran persentase. Grafik di bawah ini menunjukkan pemetaan antara kedua
tipe ukuran tersebut.

BUKU ROBOTIKA 37
Gambar 2-16 - Grafik Perbandingan Nilai Suara (dalam Persentase) yang Ditampilkan pada Display dan Nilai
Intensitas Suara (dalam Desibel)

2.2.6 Servo Motor

Gambar 2-17. Servo motor LEGO.

Fungsi komponen servo motor ini adalah sebagai motor untuk menggerakkan robot LEGO Mindstorms
NXT. Kecepatan sudut maksimum motor adalah per detik atau satu putaran per detik. Selain
berfungsi sebagai motor, servo motor juga mempunya kapabilitas sebagai sensor penghitung derajat
rotasi. Servo motor dapat menghitung berapa derajat rotasi yang telah dilakukannya. Akurasi dari sensor
servo motor ini mencapai kurang lebih 1 derajat.

BUKU ROBOTIKA 38
Gambar 2-18 - Contoh Penggunaan Sensor Rotasi pada Servo Motor [13]

2.3 Model Robot LEGO Mindstrom NXT

Dengan menggunakan komponen LEGO Mindstorms NXT, kita dapat


Sudah banyak model robot
merakit berbagai bentuk robot dengan karakteristik dan fungsionalitas
yang dapat dibuat dengan
yang bervariasi. Bentuk robot bisa bermacam-macam dan akan
LEGO. Website LEGO juga
tergantung dari kreativitas perakitnya. menyediakan fasilitas bagi para
pengguna LEGO berbagi

2.3.1 Tribot model-model robot.

Gambar 2-19. Rakitan robot Tribot.

Robot Tribot adalah contoh rakitan robot yang disediakan oleh LEGO Mindstorms NXT. Robot ini
mempunyai beberapa fungsionalitas, di antaranya kemampuan untuk mengikuti garis, menghindari
halangan, dan memegang benda menggunakan cakarnya dengan perintah suara. Buku cara perakitan
robot ini tersedia dalam paket LEGO Mindstorms NXT.

BUKU ROBOTIKA 39
2.3.2 Alpha Rex

Gambar 2-20 - Tampilan Rakitan Alpha Rex

Sama seperti Robot Tribot, Alpha Rex merupakan contoh robot yang disediakan oleh LEGO Mindstorms
NXT. Robot ini meniru cara berjalan manusia serta mampu mengenali suara, mendeteksi rintangan, dan
bereaksi bila tangannya disentuh.

2.3.3 Pet N

Gambar 2-21. Rakitan robot Pet N.

BUKU ROBOTIKA 40
Robot ini adalah prototipe anjing peliharaan. Robot ini dirancang agar bergerak menghindari orang
asing. Jika seseorang berhasil mengelus (menyentuh sensor sentuh yang ada di punggung), maka ia
akan berusaha bergerak mengikuti orang itu. Selain itu, robot ini mampu bergerak menjelajahi ruangan,
menghindari rintangan, dan bergerak mendekati suara maupun cahaya.

Berikut ini adalah komponen-komponen yang dimiliki oleh Pet-N:

Gambar 2-22. Komponen yang digunakan Robot Pet N.

BUKU ROBOTIKA 41
Bab 3. Perakitan Robot Lego

Ada berbagai macam bentuk robot yang dapat dibuat dengan menggunakan robot LEGO. Saat ini sudah
terdapat banyak sumber tersedia, baik online maupun buku yang menjelaskan mengenai desain-desain
robot LEGO. Pada bagian ini akan ditunjukkan beberapa robot yang mungkin dibuat dengan
menggunakan paket LEGO standar edisi edukasi.

3.1 Door Alarm

Gambar 3-1. Door Alarm dengan LEGO.

3.1.1 Fungsi Door Alarm

Door alarm akan mengeluarkan suara dan menghitung ada berapa banyak orang yang berada dalam
ruangan. Door alarm dipasangkan di dekat pintu sehingga setiap orang yang melewati pintu pasti akan
terdeteksi oleh sensor ultrasonik.

BUKU ROBOTIKA 42
3.1.2 Desain Door Alarm

3.1.2.1 Tahap 1

Pada tahap pertama ini akan dibangun pengunci sensor ultrasonik yang akan dihubungkan dengan NXT
Brick. Sensor ultrasonik digunakan untuk mendeteksi apakah ada objek didekat sensor tersebut.
Komponen-komponen yang digunakan pada tahap 1 ini dapat dilihat pada Gambar 3-2.

Gambar 3-2. Tahap 1 ke 1.

Selanjutnya,

Gambar 3-3. Tahap 1 ke 2.

BUKU ROBOTIKA 43
Gambar 3-4. Tahap 1 ke 3.

Gambar 3-5. Tahap 1 ke 4.

Gambar 3-6. Tahap 1 ke 5.

Gambar 3-7. Tahap 1 ke 6.

BUKU ROBOTIKA 44
Gambar 3-8. Tahap 1 ke 7.

Gambar 3-9. Tahap 1 ke 8.

Gambar 3-10. Tahap 1 ke 9.

BUKU ROBOTIKA 45
Gambar 3-11. Tahap 1 ke 10.

Gambar 3-12. Tahap 1 ke 11.

3.1.2.2 Tahap 2

Pada tahap 2 akan ditambahkan komponen penghubung yang akan digunakan untuk merekatkan bagian
yang telah dibuat pada tahap 1 dengan NXT Brick.

Gambar 3-13. Tahap 2 ke 1.

BUKU ROBOTIKA 46
Gambar 3-14. Tahap 2 ke 2.

Gambar 3-15. Tahap 2 ke 3.

Gambar 3-16. Tahap 2 ke 4.

BUKU ROBOTIKA 47
Gambar 3-17. Tahap 2 ke 5.

3.1.2.3 Tahap 3

Tahap 3 menghubungkan antara bagian yang telah dibuat pada tahap 1 dan tahap 2 dengan
menggunakan sebuah stick berukuran 3.

Gambar 3-18. Tahap 3 ke 1.

Gambar 3-19. Tahap 3 ke 1.

3.1.2.4 Tahap 4

Pada tahap ini seluruh bagian yang telah dibuat sebelumnya disatukan dengan NXT Brick yang
merupakan pusat kontrol utama dari keseluruhan aktivitas robot Door Alarm tersebut.

BUKU ROBOTIKA 48
Gambar 3-20. Tahap 4 ke 1.

Gambar 3-21. Tahap 4 ke 2.

Gambar 3-22. Tahap 4 ke 3.

Selanjutnya Anda hanya perlu menghubungkan sensor ultrasonik dengan NXT-Brick dengan sebuah
kabel data yang disediakan dalam paket LEGO.

BUKU ROBOTIKA 49
3.2 Robot Hammer

Gambar 3-23. Penampilan robot Hammer.

3.2.1 Fungsi Robot

Sesuai namanya, robot Hammer (palu) dirancang untuk memukul benda yang berada pada jarak
tertentu di depannya. Robot ini mendeteksi keberadaan objek yang akan dipukul dengan menggunakan
sensor ultrasonik yang terletak di bagian depan. Selain itu, robot ini juga memiliki kemampuan untuk
berjalan berdasarkan tingkat kecerahan warna lantai. Benda yang dapat dideteksi untuk kemudian
dihancurkan oleh robot ini minimal memiliki tinggi 8 cm dan idealnya berbentu kubus.

3.2.2 Desain

3.2.2.1 Tahap 1

Pada tahap 1 kita terlebih dahulu membuat palu yang merupakan komponen utama dari robot Hammer.
Bagian palu ini disimpan sementara untuk digunakan kembali pada perakitan tahap 7.

BUKU ROBOTIKA 50
Gambar 3-24. Tahap 1 ke 1.

Gambar 3-25. Tahap 1 ke 2.

Gambar 3-26. Tahap 1 ke 3.

BUKU ROBOTIKA 51
Gambar 3-27. Tahap 1 ke 4.

Gambar 3-28. Tahap 1 ke 5.

Gambar 3-29. Tahap 1 ke 6.

BUKU ROBOTIKA 52
Gambar 3-30. Tahap 1 ke 7.

3.2.2.2 Tahap 2

Setelah selesai membuat palu, selanjutnya adalah membuat rangkaian penyangga sensor ultrasonik.
Sebagaimana palu, bagian ini pun disimpan sementara untuk digunakan kembali pada tahap 6.

Gambar 3-31. Tahap 2 ke 1.

BUKU ROBOTIKA 53
Gambar 3-32. Tahap 2 ke 2.

Gambar 3-33. Tahap 2 ke 3.

3.2.2.3 Tahap 3

Tahap selanjutnya ialah mempersiapkan motor-motor yang menjadi pengatur gerakan perputaran roda
dari robot Hammer.

BUKU ROBOTIKA 54
Gambar 3-34. Tahap 3 ke 1.

Gambar 3-35. Tahap 3 ke 2.

BUKU ROBOTIKA 55
Gambar 3-36. Tahap 3 ke 3.

Gambar 3-37. Tahap 3 ke 4.

3.2.2.4 Tahap 4

Setelah dua motor penggerak roda siap, selanjutnya dirangkaikan dengan motor tengah yang berfungsi
sebagai penggerak palu.

BUKU ROBOTIKA 56
Gambar 3-38. Tahap 4 ke 1.

Gambar 3-39. Tahap 4 ke 2.

BUKU ROBOTIKA 57
Gambar 3-40. Tahap 4 ke 3.

Gambar 3-41. Tahap 4 ke 4.

Gambar 3-42. Tahap 4 ke 5.

BUKU ROBOTIKA 58
Gambar 3-43. Tahap 4 ke 6.

3.2.2.5 Tahap 5

Selanjutnya, bagian yang telah dibuat pada tahap 4 dirangkaikan dengan NXT Brick yang menjadi pusat
kontrol robot Hammer.

Gambar 3-44. Tahap 5 ke 1.

BUKU ROBOTIKA 59
Gambar 3-45. Tahap 5 ke 2.

Gambar 3-46. Tahap 5 ke 3.

BUKU ROBOTIKA 60
Gambar 3-47. Tahap 5 ke 4.

3.2.2.6 Tahap 6

Pada tahap 6, keseluruhan rangkaian yang hampir jadi dari tahap 5 digabungkan dengan rangkaian
sensor ultrasonik hasil perakitan pada tahap 2.

Gambar 3-48. Tahap 6 ke 1.

BUKU ROBOTIKA 61
Gambar 3-49. Tahap 6 ke 2.

Gambar 3-50. Tahap 6 ke 3.

Gambar 3-51. Tahap 6 ke 4.

3.2.2.7 Tahap 7

Tahap 7 merupakan tahap penyempurnaan desain robot dimana bagian palu hasil perakitan pada tahap
1 digabungkan kembali dengan robot hasil tahap 6.

BUKU ROBOTIKA 62
Gambar 3-52. Tahap 7 ke 1.

Gambar 3-53. Tahap 7 ke 2.

Gambar 3-54. Tahap 7 ke 3.

BUKU ROBOTIKA 63
Gambar 3-55. Tahap 7 ke 4.

3.2.2.8 Tahap 8

Pada tahap ini ditambahkan empat roda yang terdiri dari dua roda depan dan dua roda belakang.

Gambar 3-56. Tahap 8 ke 1.

BUKU ROBOTIKA 64
Gambar 3-57. Tahap 8 ke 2.

Gambar 3-58. Tahap 8 ke 3.

3.2.2.9 Tahap 9

Proses pembuatan robot Hammer belum selesai. Untuk menambah fungsionalitas robot, ditambahkan
dua buah sensor, yaitu sensor sentuh dan sensor suara. Sensor sentuh digunakan untuk memulai
aktivitas, yaitu robot hammer baru akan berjalan apabila ditekan pada sensor sentuhnya. Adapun sensor
suara digunakan untuk menerima aba-aba berhenti, yaitu dengan cara mengirimkan sinyal suara kepada
robot dengan intensitas tertentu.

BUKU ROBOTIKA 65
Gambar 3-59. Tahap 9 ke 1.

Gambar 3-60. Tahap 9 ke 2.

BUKU ROBOTIKA 66
Gambar 3-61. Tahap 9 ke 3.

3.2.2.10 Tahap 10

Untuk menambah kembali fungsionalitas robot Hammer, ditambahkan sensor cahaya untuk mendeteksi
intensitas cahaya dari area yang dilewati oleh robot. Dengan tambahan sensor ini, robot hammer dapat
berjalan dengan mengikuti perubahan warna pada area lantai yang dilaluinya.

BUKU ROBOTIKA 67
Gambar 3-62. Tahap 10 ke 1.

Gambar 3-63. Tahap 10 ke 2.

BUKU ROBOTIKA 68
Gambar 3-64. Tahap 10 ke 3.

Gambar 3-65. Tahap 10 ke 4.

Gambar 3-66. Tahap 10 ke 5.

BUKU ROBOTIKA 69
3.2.2.11 Tahap 11

Setelah seluruh bagian terpasang sempurna, selanjutnya adalah memasangkan kabel penghubung sesuai
aturan pemasangan motor dan sensor dari LEGO Mindstorms NXT.

Gambar 3-67. Pemasangan kabel penghubung.

3.3 Machine Gun

3.3.1 Fungsi Robot

LEGO Mindstorms NXT juga dapat digunakan untuk senjata mainan. Pada studi kasus kali ini kita akan
membuat sebuah robot Machine Gun. Senjata mainan ini dapat menembakkan peluru seperti senjata
sesungguhnya. Akan tetapi, peluru yang dilontarkan bukan peluru sungguhan, melainkan peluru yang
diambil dari salah satu komponen LEGO. Machine Gun memiliki sensor sentuh yang digunakan untuk
melontarkan peluru. Setiap kali sensor sentuh tersebut ditekan, maka motor akan menggerakkan
pelontar peluru sehingga peluru mainan pun terlempar ke depan. Jumlah maksimal peluru yang dapat
dipasang dalam satu ronde adalah 15 buah.

BUKU ROBOTIKA 70
3.3.2 Desain

3.3.2.1 Tahap 1

Pada tahap awal, kita akan membuat komponen wadah peluru terlebih dahulu. Sesuai namanya,
komponen tersebut berfungsi untuk memasang peluru sehingga dapat dilontarkan oleh Machine Gun.
Untuk membuat wadah peluru tersebut, ikuti langkah-langkah yang terdapat pada Gambar 3-68 hingga
Gambar 3-76 sebagai berikut.

Gambar 3-68 Tahap 1 ke 1

Gambar 3-69 Tahap 1 ke 2

BUKU ROBOTIKA 71
Gambar 3-70 Tahap 1 ke 3

Gambar 3-71 Tahap 1 ke 4

Gambar 3-72 Tahap 1 ke 5

BUKU ROBOTIKA 72
Gambar 3-73 Tahap 1 ke 6

Gambar 3-74 Tahap 1 ke 7

Gambar 3-75 Tahap 1 ke 8

BUKU ROBOTIKA 73
Gambar 3-76 Tahap 1 ke 9

3.3.2.2 Tahap 2

Setelah selesai membuat wadah peluru, langkah selanjutnya adalah merakit laras. Bagian ini berfungsi
sebagai landasan bagi peluru yang diluncurkan oleh Machine Gun. Cara pembuatan laras dapat dilihat
pada Gambar 3-77. Selanjutnya, laras tersebut digabungkan dengan wadah peluru (Lihat Gambar 3-78).

Gambar 3-77 Tahap 2 ke 1

BUKU ROBOTIKA 74
Gambar 3-78 Tahap 2 ke 2

3.3.2.3 Tahap 3

Tahap selanjutnya adalah membuat pelontar peluru. Bagian ini tersusun dari sebuah motor yang
terhubung dengan batang pemutar. Ketika motor berputar, batang pemutar akan ikut berputar sehingga
membuat peluru keluar dan meluncur ke depan. Langkah-langkah pembuatan pelontar peluru dapat
dilihat pada Gambar 3-79 hingga Gambar 3-90 sebagai berikut.

Gambar 3-79 Tahap 3 ke 1

BUKU ROBOTIKA 75
Gambar 3-80 Tahap 3 ke 2

Gambar 3-81 Tahap 3 ke 3

Gambar 3-82 Tahap 3 ke 4

BUKU ROBOTIKA 76
Gambar 3-83 Tahap 3 ke 5

Gambar 3-84 Tahap 3 ke 6

Gambar 3-85 Tahap 3 ke 7

BUKU ROBOTIKA 77
Gambar 3-86 Tahap 3 ke 8

Gambar 3-87 Tahap 3 ke 9

BUKU ROBOTIKA 78
Gambar 3-88 Tahap 3 ke 10

Gambar 3-89 Tahap 3 ke 11

Gambar 3-90 Tahap 3 ke 12

BUKU ROBOTIKA 79
Gambar 3-91 Tahap 3 ke 13

3.3.2.4 Tahap 4

Gambar 3-92 Tahap 4 ke 1

BUKU ROBOTIKA 80
Gambar 3-93 Tahap 4 ke 2

Gambar 3-94 Tahap 4 ke 3

Gambar 3-95 Tahap 4 ke 4

BUKU ROBOTIKA 81
Gambar 3-96 Tahap 4 ke 5

3.3.2.5 Tahap 5

Pada tahap kelima ditambahkan komponen NXT Brick yang berfungsi sebagai pusat kontrol utama
Machine Gun. NXT Brick ini merupakan bagian yang mengatur komunikasi antara sensor dan motor.
Ketika sensor sentuh ditekan, NXT Brick mengirimkan pesan ke motor sehingga secara otomatis motor
akan memutar pelontar peluru 360 derajat. Langkah pemasangan BXT Brick dapat dilihat pada Gambar
3-97 hingga 3-101. Setelah itu, motor dihubungkan ke NXT Brick tersebut melalui kabel, seperti pada
Gambar 3-102.

Gambar 3-97 Tahap 5 ke 1

BUKU ROBOTIKA 82
Gambar 3-98 Tahap 5 ke 2

Gambar 3-99 Tahap 5 ke 3

Gambar 3-100 Tahap 5 ke 4

BUKU ROBOTIKA 83
Gambar 3-101 Tahap 5 ke 5

Gambar 3-102 Tahap 5 ke 6

3.3.2.6 Tahap 6

Pada tahap ini ditambahkan sensor sentuh sebagai pemicu utama dari berputarnya komponen pelontar
peluru.

BUKU ROBOTIKA 84
Gambar 3-103 Tahap 6 ke 1

Gambar 3-104 Tahap 6 ke 2

Gambar 3-105 Tahap 6 ke 3

BUKU ROBOTIKA 85
Gambar 3-106 Tahap 6 ke 4

Gambar 3-107 Tahap 6 ke 5

3.3.2.7 Tahap 7

Pada tahap ini dibuat rangkaian peluru dari komponen-komponen LEGO yang dapat dilihat pada
gambar-gambar berikut. Setelah peluru selesai dibuat, selanjutnya dipasang ke dalam wadah peluru.
Dengan demikian, keseluruhan komponen Machine Gun telah selesai disatukan dan robot ini siap
meluncurkan peluru menuju sasaran tembak kita.

BUKU ROBOTIKA 86
Gambar 3-108 Tahap 7 ke 1

Gambar 3-109 Tahap 7 ke 2

BUKU ROBOTIKA 87
Gambar 3-110 Tahap 7 ke 3

Gambar 3-111 Tahap 7 ke 4

BUKU ROBOTIKA 88
Gambar 3-112 Tahap 7 ke 5

Gambar 3-113 Susunan Lengkap Robot Machine Gun

BUKU ROBOTIKA 89
Bab 4. Kontrol Robot dan Program Robot LEGO

4.1 Mengontrol Robot Lego

Robot tanpa program seperti tubuh manusia tanpa jiwa, tak lebih
Sebuah program akan
daripada sekumpulan komponen elektronik dan mekanik yang
memiliki satu atau lebih
tergabung menjadi satu. Tanpa program, robot kehilangan unsur
algoritma di dalamnya.
kecerdasan yang merupakan bagian penting dalam proses pengambilan
Algoritma-algoritma dalam
keputusan. Dalam buku ini dipelajari cara membuat program dengan
sebuah program bersifat
memanfaatkan LEGO Mindstorms Education NXT Software.
saling mendukung.

Apakah yang dimaksud dengan program?

Pada dasarnya, program adalah rangkaian instruksi (perintah) yang menuntun robot dalam menjalankan
dan menyelesaikan misi-nya. Tersedia beberapa tools atau perangkat lunak yang dapat digunakan
untuk membuat program robot LEGO, antara lain NXT Graphical Programming (NXT-G), Robot C, NBC,
NXC dan LeJOS. Masing-masing memiliki kelebihan dan kekurangan tersendiri.

Jica bicara program, maka kurang lengkap jika tidak bicara mengenai algoritma. Apa itu alogoritma?
Menurut Deitel, algortima adalah suatu prosedur untuk menyelesaikan suatu masalah. Prosedur ini
terdiri atas dua hal:
aksi yang harus dilakukan, dan
urutan prioritas aksi yang harus dilakukan

Berikut adalah contoh algoritma sederhana yang diambil dari aktivitas sehari-hari manusia, yaitu
memasak mie instan. Untuk memasak mie instan, dibutuhkan empat langkah sederhana sebagai berikut:
1. Panaskan air dalam wajan
2. Tuangkan mie dalam wajan
3. Masukkan tomat dan cabe

BUKU ROBOTIKA 90
4. Angkat dan hidangkan

Langkah-langkah tersebut dapat dianggap sebagai prosedur untuk menyelesaikan misi memasak mie
instan. Di dalam prosedur tersebut terkandung dua hal mendasar, yaitu aksi yang harus dilakukan dan
urutannya. Coba bayangkan, bagaimana jika aksi kedua tidak dilakukan. Tentu bukan mie instan yang
akan dihasilkan, melainkan sup tomat dengan bumbu cabe yang sangat tidak terjamin kelezatannya.
Jadi, langkah-langkah dari sebuah algoritma harus dijalankan dengan lengkap dan berurutan.

Sekarang coba bayangkan, bagaimana jika seandainya urutan pembuatan


Sebuah algoritma terdiri
mie instan tersebut ditukar. Misalnya langkah pertama ditukar dengan
dari sekumpulan aksi dan
langkah kedua. Tentu saja mie instan yang dihasilkan tidak akan sesuai
urutan pelaksanaan aksi-
dengan yang kita harapkan. Inilah pentingnya urutan langkah-langkah dari
aksi tersebut.
sebuah algoritma. Jadi, langkah-langkah dari sebuah algoritma harus
dijalankan sesuai urutan yang benar. Jika tidak dijalankan dengan benar,
maka bersiaplah mendapatkan hasil yang tidak sesuai bahkan jauh berbeda dari yang diinginkan.

4.2 Pembuatan Program

Proses pembuatan program akan selalu dimulai dengan menentukan tujuan dari program yang dibuat
dan bahasa pemrograman yang akan digunakan. Anda sebagai pembuat program harus terlebih dahulu
menentukan fungsi-fungsi dari program tersebut dan memilih bahasa yang tepat sehingga dapat
mempercepat proses pembuatannya. Ada banyak bahasa pemograman pada saat ini, namun bisa
dipisahkan secara sederhana menjadi pemograman teks dan pemograman visual.

4.2.1 Pemograman Teks

Untuk melakukan pemograman dengan teks, Anda harus mengenal yang disebut dengan sintaks.
Program akan terdiri dari penggunaan kata-kata tertentu dengan aturan pemakaian tertentu dan
melakukan penghitungan untuk menyelesaikan suatu persoalan. Untuk mempelajari bahasa ini tidaklah
mudah dan membutuhkan waktu yang cukup lama. Beberapa contoh bahasa semacam ini adalah C/C++,
Java, Assembly, PHP, JavaScript, dan Perl. Gambar 4-1 memperlihatkan contoh program PHP, dapat
dilihat bahwa gambar tersebut dipenuhi dengan tulisan dan kata-kata yang memiliki arti. Cara penulisan

BUKU ROBOTIKA 91
juga memiliki aturan. Cara menuliskan inilah yang disebut dengan sintaks. Untuk dapat mengerti
potongan program tersebut, Anda harus membaca dan mengerti arti masing-masing kata dan notasi
yang ada. Hal ini dikenal dengan istilah semantik.

Gambar 4-1. Contoh program PHP.

4.2.2 Bahasa Visual

Cara pemograman visual relatif lebih mudah dan tidak perlu mengerti
Pemrograman visual
terlalu dalam bahasa tersebut. Anda akan bekerja dengan
cenderung lebih
menggunakan simbol-simbol dan gambar yang harus diatur
memanfaatkan mouse
sedemikian rupa sehingga membentu suatu prilaku tertentu.
daripada keyboard.

BUKU ROBOTIKA 92
Gambar 4-2. Bahasa visual dengan NXT-G.

Ada beberapa model dalam bahasa visual, ada yang membuat program dari awal sampai akhir hanya
berada di level visual, seperti Microsoft Robotic Studio, LEGO NXT-G, atau RoboPro. Pada model ini,
biasanya pembuat program diminta untuk membuat aliran dari program.

Gambar 4-3. Contoh visual programming dalam RoboPro.

Bentuk pemograman visual yang lain, adalah visualisasi dalam pembuatan program pada bagian
tertentu saja. Biasanya bagian yang divisualisasikan adalah bagian untuk desain Graphical User Interface
(GUI). Kemampuan visualisasi ini biasanya disediakan oleh IDE (Integrated Development Environtment)
yang tersedia untuk bahasa yang digunakan.

BUKU ROBOTIKA 93
Pada orang-orang yang sudah terbiasa dengan pemograman menggunakan teks, mereka akan
menemukan sedikit kesulitan dan kebingungan jika menggunakan pemograman visual. Hal ini
sebenarnya hanya faktor kebiasaan. Setelah beberapa kali mencoba dan sudah mengenal apa yang
tersedia pada bahasa visual tersebut, mereka akan dapat menggunakannya dengan lancar. Namun, hal
sebaliknya biasanya terjadi pada orang-orang yang terbiasa untuk melakukan pengembangan program
secara visual. Umumnya, mereka akan bingung bagaimana cara menulis program dengan menggunakan
teks. Mekanisme visual telah membuat mereka tidak perlu tahu hal-hal kecil seperti sintaks dan kata-
kata kunci yang dibutuhkan dalam pembuatan program dengan teks.

4.3 NXT-G

Gambar 4-4. LEGO Mindstorms Graphical Programming.

NXT Graphical Programming, biasa disingkat NXT-G, merupakan salah satu tools yang dapat digunakan
untuk membuat program robot secara visual. Dengan NXT-G, program bukan berupa teks yang ditulis
dalam bahasa pemrograman tertentu. Melainkan dalam bentuk grafis, yakni berupa simbol grafis yang
merepresentasikan unit instruksi program. Unit program tersebut lebih familiar disebut blok atau blok
program.

BUKU ROBOTIKA 94
NXT-G merupakan perangkat lunak bawaan LEGO Mindstorms NXT versi edukasi. Perangkat lunak ini
memiliki antarmuka yang menarik. Cara membuat programnya mudah, cukup dengan men-drag blok-
blok program dari palet ke area kerja (workspace) yang kemudian dikonfigurasi melalui kotak
configuration panel di pojok kiri bawah area kerja. Konfigurasi tersebut dilakukan agar robot dapat
berjalan sesuai dengan algoritma yang telah ditentukan.

Gambar 4-5. NXT-G Workspace.

4.4 Visual Robotic Studio

Microsoft mengeluarkan sebuah IDE yang diberinama Microsoft Robotic Studio. Robotic Studio
menyediakan beberapa interface agar Anda dapat berkomunikasi dengan beberapa jenis robot,
termasuk didalamnya robot LEGO. Model pembuatan program juga menggunakan model visual seperti
yang tampak pada Gambar 4-6.

BUKU ROBOTIKA 95
Gambar 4-6. Microsoft Robotic Studio.

4.5 Aplikasi-aplikasi Lain

4.5.1 NBC

NBC atau NeXT Byte Codes merupakan bahasa pemrograman sederhana untuk membuat program LEGO
Mindstorms NXT. Komponen NXT-Brick pada LEGO Mindstorms Education NXT memiliki sebuah
interpreter byte-code yang dapat digunakan untuk menjalankan program. Setelah kode program dibuat,
interpreter NBC terlebih dahulu menerjemahkannya menjadi byte-code sehingga bisa langsung
dijalankan di NXT. Meskipun preprosessor dan format program NBC hampir sama dengan assembly, NBC
bukanlah bahasa pemrograman yang general purpose. Hal ini dikarenakan adanya keterbatasan
kemampuan dari interpreter byte-code NBC.

BUKU ROBOTIKA 96
4.5.2 NXC

NXC merupakan singkatan dari Not eXactly C. NXC memiliki kesamaan dengan NBC. Namun, bahasa
pemrograman NXC lebih dekat pada bahasa pemrograman C, berbeda dengan NBC yang dekat dengan
bahasa assembly. NXC juga tidak termasuk bahasa pemrograman yang general purpose karena
keterbatasan dari interpreter byte-code NXT.

4.5.3 LeJOS

Banyak pihak yang masih meragukan kehandalan Java, terlebih dalam dunia robotika. Namun, kehadiran
LeJOS menjadi bukti nyata yang membantah angin keraguan itu. Teknologi Java mulai diperhitungkan
dalam dunia robotika. LeJOS adalah suatu proyek open source yang dikembangkan oleh Juan Antonio
Brea Moral di situs SourceForge. Proyek tersebut masih berjalan dan terus dikembangkan hingga saat
ini. Karena open source, kode program LeJOS dapat dilihat secara bebas oleh siapa pun untuk tujuan apa
pun. Bahkan, kita juga bisa terlibat langsung dalam pengembangannya, seperti menjadi tester, membuat
dokumentasi, dsb. Selain itu, tim pengembang LeJOS juga telah menyediakan dokumentasi program dan
tutorial yang bisa dijadikan sumber referensi belajar.

4.5.4 Robot C

Robot C merupakan perangkat lunak hasil kerja sama antara LEGO Education dan Akademi Robotika
Universitas Carnegie Melon. Robot C sengaja dirancang untuk mempermudah pengajaran teknik,
pemrograman dan robotika. Ia memberikan dukungan penuh untuk para pengajar, melengkapi
pengenalan awal tentang apa yang dapat dilakukan oleh LEGO Mindstorms NXT dan merupakan bahasa
yang ideal untuk mengajarkan mekatronik, serta sistem embedded dan sistem cerdas.

BUKU ROBOTIKA 97
Bab 5. Menggunakan NXT-G

5.1 NXT Graphical Programming (NXT-G)

NXT-G merupakan perangkat lunak bawaan LEGO Mindstorms NXT versi edukasi. Perangkat lunak ini
memiliki antarmuka yang menarik. Cara membuat programnya mudah, cukup dengan men-drag blok-
blok program dari palet ke area kerja (workspace) yang kemudian dikonfigurasi melalui kotak
configuration panel di pojok kiri bawah area kerja. Konfigurasi tersebut dilakukan agar robot dapat
berjalan sesuai dengan algoritma yang telah ditentukan.

Gambar 5-1. NXT-G Workspace.

BUKU ROBOTIKA 98
5.1.1 NXT Firmware

Firmware adalah perangkat lunak yang terdapat di dalam NXT. Ibarat sistem operasi pada sebuah
komputer, firmware digunakan untuk mengontrol seluruh aktivitas robot seperti putaran motor dan
kerja sensor. Firmware harus di-install terlebih dahulu agar NXT dapat digunakan dengan baik. Secara
default, firmware tersebut telah ter-install dalam NXT. Namun, terkadang terjadi hal-hal di luar dugaan
seperti rusaknya firmware atau ada kebutuhan meng-update firmware ke versi yang lebih baru. Hal
tersebut dapat diselesaikan dengan meng-install kembali firmware ke dalam NXT. Untuk itu, buka menu
Tools >> Update Firmware NXT. Tekan pilihan download pada jendela baru yang muncul, jendela akan
terlihat seperti pada Gambar 5-2.

Gambar 5-2. Jendela update NXT Firmware

BUKU ROBOTIKA 99
5.1.2 Lingkungan Pemrograman

NXT-G memiliki lingkungan pemrograman yang mudah dipahami terutama bagi kalangan pemula. Jika
kita menjalankan NXT-G, maka pertama kali akan ditampilkan area kerja pembukaan (opening work
space) seperti terlihat pada Gambar 5-3.

Blok Program
Profil

Membuat
program baru

Palet
Panel Help dan
Zoom
Tulis nama
program baru

Gambar 5-3. Area kerja pembukaan (opening work space) LEGO Mindstorms NXT-G

Selanjutnya, jika kita membuka program baru melalui File >> New atau dengan meng-klik ikon atau
dengan menekan tombol Ctrl dan N secara bersamaan, maka akan ditampilkan area kerja (work space)
utama seperti terlihat pada Gambar 5-4.

BUKU ROBOTIKA 100


Menu

Toolbar

Sisipkan blok Membuka


program di sini jendela Robot
Educator

Membuka
Jendela NXT

Pilihan Common
Palet, Complete Palet
dan Custom Palet Download
Dan Jalankan

Gambar 5-4. Area kerja (work space) LEGO Mindstorms NXT-G

5.1.3 Blok dan Palet

Blok program (selanjutnya kita sebut sebagai blok) merupakan komponen terkecil dari program NXT-G.
Blok ini merepresentasikan instruksi sederhana yang harus dijalankan oleh robot. NXT-G menyediakan
blok-blok yang cukup beragam. Blok-blok tersebut dikelompokkan ke dalam palet common dan
complete. Selain itu, Anda juga bisa membuat blok baru yang akan disimpan di palet custom.
Gambar 5-5 menunjukkan jendela yang muncul ketika membuat blok baru.

BUKU ROBOTIKA 101


Nama blok baru

Deskripsi blok

Kumpulan blok
yang dipilih untuk
dijadikan blok
baru

Untuk menyelesaikan
Next untuk melanjutkan (memilih blok baru tanpa
ikon yang tepat untuk blok baru) memilih ikon

Gambar 5-5. Jendela My Blok Builder untuk membuat blok baru

Cara menggunakan blok pun sangat mudah, yaitu cukup dengan men-drag blok yang akan digunakan ke
area kerja (work space).

BUKU ROBOTIKA 102


men-drag blok ke
area kerja

Gambar 5-6. Men-drag blok program ke area kerja

Palet yang tersedia di NXT-G terdiri dari tiga jenis, yaitu :


Common Palette, berisi blok move, record/play, sound, display, wait, loop dan switch.
Complete Palette, berisi 6 sub-palet (common, action, sensor, flow, data, advanced) dimana
masing-masing sub-palet berisi blok-blok tertentu sesuai kategori sub-palet.
Custom Palette, terdiri dari sub-palet My Bloks (berisi blok yang dibuat oleh pengguna) dan Web
Downloads (berisi blok yang di-download dari internet)

5.1.4 Bantuan

NXT-G memberikan fasilitas bantuan untuk pengguna yang dapat diakses melalui menu Help >>
Contents and Index. Halaman bantuan akan muncul pada browser yang tersedia pada komputer Anda,
halaman bantuan ini akan terlihat seperti pada Gambar 5-7. Pada halaman bantuan tersebut tersedia
informasi tentang beragam fitur NXT-G, seperti cara kerja blok-blok program, penjelasan tentang data
wire, pengaturan profil dan peng-update-an NXT Firmware.

BUKU ROBOTIKA 103


Gambar 5-7. Tampilan halaman bantuan untuk LEGO Mindstorms NXT-G

Selain itu, NXT-G juga menyediakan Robot Educator yang berisi video tutorial tentang pembuatan
beberapa program pilihan, seperti play sound, use display, drive forward, reverse, accelerate, curve
turn, point turn, drive in square, dan parking bay. Dengan video tersebut, kita dapat memahami sambil
langsung mencoba sendiri contoh-contoh program yang diberikan.

Gambar 5-8. Jendela Robot Educator yang berisi video tutorial

BUKU ROBOTIKA 104


5.1.5 Program NXT-G Pertama

Sebelum melangkah lebih jauh, ada baiknya Anda mencoba membuat sebuah program sederhana
pertama Anda dengan menggunakan NXT-G. Terdapat sebuah tradisi yang melekat di kalangan
programmer yang memulai belajar sebuah bahasa pemrograman, yaitu dengan membuat program
Hello World. Tidak diketahui bagaimana asal muasal munculnya tradisi tersebut, namun para
programmer seolah telah mengadakan perjanjian tidak tertulis untuk melanjutkan tradisi ini. Pada
perkenalan pemrograman NXT-G ini, program Hello World diganti dengan program Have a Nice Day
yang akan menjalankan algoritma sebagai berikut:
Robot bergerak maju beberapa putaran
Robot mengucapkan Have a Nice Day
Robot mundur ke posisi awal

Gambar 5-9. Skema program Have a Nice Day

Program Have a Nice Day memiliki tiga blok aksi, yaitu :


Blok Move, untuk menggerakkan robot maju sejauh 5 putaran
Blok Sound, untuk memutar suara Have a Nice Day
Blok Move, untuk menggerakkan robot mundur ke posisi semula

Untuk membuat dan menjalankan program Have a Nice Day, kita dapat mengikuti tujuh langkah
berikut.
1. Membangun rangkaian blok. Gunakan mouse untuk men-drag blok yang dibutuhkan dari palet
dan letakkan pada sequence beam.

BUKU ROBOTIKA 105


2. Pengaturan. Setelah membentuk rangkaian blok seperti pada Gambar 5-9, ubah konfigurasi dari
setiap blok tersebut sesuai algoritma Have a Nice Day. Gambar 5-10, Gambar 5-11 dan
Gambar 5-12 menunjukkan konfigurasi dari masing-masing blok move pertama, blok sound dan
blok move kedua.

Gambar 5-10. Konfigurasi blok move pertama dari program Have a Nice Day.

Pada Gambar 5-10, tanda centang pada port B dan C menunjukkan motor yang digunakan.
Tanda panah ke atas pada direction menunjukkan bahwa robot bergerak maju. Secara default,
kekuatan putaran robot bernilai 75. Pada program ini akan ditingkatkan menjadi 80 agar
gerakan menjadi lebih cepat. Ubah nilai duration menjadi 5 rotation agar motor bergerak
sebanyak 5 putaran.

Gambar 5-11. Konfigurasi blok sound dari program Have a Nice Day.

Gambar 5-11 memperlihatkan pengaturan blok yang digunakan untuk memutar suara Have a
Nice Day. Suara akan dikeluarkan tepat setelah robot bergerak maju sejauh 5 putaran. Dari
kondisi default yang perlu diubah hanya dua hal, pertama pengurangan volume menjadi 50.
Kedua File diarahkan pada Have A Nice Day.

BUKU ROBOTIKA 106


Gambar 5-12. Konfigurasi blok move kedua dari program Have a Nice Day.

Setelah robot bergerak maju dan memutar suara Have A Nice Day, maka robot akan bergerak
mundur ke posisi semula. Blok move kedua inilah yang mengatur gerakan terakhir tersebut.
Pengaturan blok move kedua diperlihatkan pada Gambar 5-12. Sama halnya dengan blok move
pertama, berikan tanda centang pada port B dan C, diubah kekuatan putaran motor menjadi 80,
dan ubah duration menjadi 5 rotation. Namun, bebeda dengan blok move pertama, ubah
direction menjadi tanda panah ke bawah yang menunjukkan robot bergerak mundur.
3. Simpan program melalui menu File>>Save atau dengan menekan tombol Ctrl dan S secara
bersamaan. Simpan file dengan nama HaveANiceDay.
4. Kompile dan Download. Jika Anda menggunakan kabel USB yang telah disediakan, pastikan
bahwa port USB dari robot NXT dengan port USB komputer terhubung. Atau jika Anda
menggunakan bluetooth, pastikan bahwa antara robot NXT dan komputer dapat berkomunikasi.

Kemudian, klik tombol yang terletak di sisi kanan bawah area kerja. Hal ini akan membuat
program di-download ke robot NXT tanpa langsung dijalankan.
5. Persiapan menjalankan program. Lepaskan kabel USB yang menghubungkan robot dan
komputer. Kemudian, gunakan tombol pada robot untuk menjalankan perintah run. Dimulai dari
My Files, tekan tombol oranye tiga kali. Layar NXT pun akan menampilkan nama file,
HaveANiceDay dan tulisan Run. Letakkan robot di lantai dan pastikan terdapat ruang kosong
sepanjang 1,5 meter di depan robot.
6. Jalankan program. Jika robot kita telah siap, maka tekanlah tombol oranye NXT. Setelah delay
beberapa detik, robot akan bergerak maju 5 putaran, lalu memutar suara Have A Nice Day-nya,
kemudian mundur kembali ke posisi semula. Tekan tombol oranye untuk kembali mengulangi
aksi robot Have A Nice Day tersebut.
7. Istirahat. Setelah pengetesan program selesai dan kita akan membuat program baru, maka
sebaiknya kita mengistirahatkan robot NXT untuk menghemat energi. Untuk melakukan hal ini,

BUKU ROBOTIKA 107


tekan tombol abu-abu NXT sebanyak tiga kali sampai layar NXT menampilkan pilihan Switch Off.
Lalu, tekan tombol oranye pada Switch Off untuk mengistirahatkan NXT.

5.2 Komponen-Komponen LEGO NXT-G

Untuk membantu perkenalan dan pemahaman terhadap NXT-G, kita akan melihat beberapa komponen
dan istilah yang umum digunakan.

5.2.1 Blok Program

Gambar 5-13. Contoh blok-blok program.

Blok program dapat melambangkan sebuah aksi, pembacaan data, penyimpanan data, penggunaan
sensor, atau penggunaan percabangan atau pengulangan. Setelah Anda membuat program NXT-G
pertama Anda, mungkin Anda sudah sadar bahwa program NXT-G terdiri atas blok-blok program yang
disusun. Selanjutnya Anda akan mempelajari bagaimana mengirimkan data mentah atau yang sudah
diolah sebagai input untuk blok program yang lainnya.

5.2.2 Kabel Data

Kabel Data (data wire) merupakan komponen NXT-G yang digunakan untuk mengalirkan data dari suatu
blok ke blok yang lain. Kabel data dapat dianggap sebagai media komunikasi antar blok dalam sebuah
program. Terdapat tiga macam kabel data yang merepresentasikan tiga tipe data sebagai berikut:
Bilangan (numeric integer), termasuk bilangan negatif. Contohnya ialah 10, 0, -2.
Logika (logic), memiliki dua kemungkinan nilai, yaitu benar (true) atau salah (false).
Teks, yaitu karakter alfanumerik. Contohnya ialah Halo, indonesia, fasilkom, 471, d23.

BUKU ROBOTIKA 108


Untuk lebih memahami konsep kabel data, perhatikan potongan program pada Gambar 5-14. Potongan
program pada Gambar 5-14 terdiri dari tiga blok utama, yaitu blok sensor ultrasonik, blok perbandingan
(compare), dan blok gerakan (move). Algoritma dari potongan program tersebut adalah sebagai berikut:
Hitung jarak rintangan yang berada di depan robot
Bandingkan jarak rintangan tersebut, apakah lebih kecil dari 20 cm?
Jika jarak rintangan tersebut kurang dari 20 cm, maka robot akan bergerak maju sejauh lima
putaran roda.

Gambar 5-14. Contoh penggunaan kabel data pada program NXT-G

Kabel kuning membaca nilai dari jarak rintangan (dalam satuan cm) yang dibaca oleh sensor ultrasonik.
Nilai tersebut dikirimkan ke blok perbandingan (compare) untuk dibandingkan dengan nilai 20. Jika nilai
yang masuk kurang dari 20, maka kabel hijau akan mengirimkan nilai benar (true). Sebaliknya, jika
nilainya lebih dari atau sama dengan 20, maka kabel hijau akan mengirimkan nilai salah (false).
Selanjutnya, nilai dari kabel hijau akan diterima oleh blok gerakan (move). Nilai tersebut akan
menentukan gerakan robot. Jika nilainya benar, maka blok gerakan akan bekerja sehingga robot
bergerak maju sejauh lima putaran roda. Sedangkan jika salah, maka robot tidak akan bergerak.

BUKU ROBOTIKA 109


5.2.3 Sumber Data

Sumber utama data bilangan adalah blok sensor. Sensor cahaya mengukur intensitas cahaya, sensor
ultrasonik mengukur jarak objek, sedangkan sensor suara mengukur intensitas suara yang berada di
lingkungan dalam satuan desibel. Sumber lain data bilangan adalah blok matematika yang melakukan
operasi matematika, seperti penambahan dan pengurangan.

Adapun sumber data logika berasal dari blok perbandingan (compare). Contoh program pada
Gambar 5-14 menunjukkan cara kerja blok perbandingan dalam menghasilkan data logika yang
kemudian dikirimkan ke blok gerakan. Sedangkan data teks berasal dari blok number-to-text yang
berfungsi menerima masukan data bilangan, lalu mengubahnya menjadi data teks.

Penggunaan data yang telah kita lakukan sejauh ini hanya bersifat statis. Sedangkan dalam dunia
pemrograman, Anda akan membutuhkan penggunaan data yang bersifat dinamis. Oleh karena itu,
dikenal istilah variabel yang merujuk kepada data yang dapat diubah secara dinamis. Selain itu, dikenal
pula konsep operator untuk melakukan manipulasi terhadap variabel-variabel tersebut.

5.3 Menggerakan Motor

Dalam pemrograman NXT-G, blok gerakan menempati posisi yang sangat penting. Tanpa blok ini, robot
yang dibuat hanya dapat diam ditempat dan kurang bermanfaat karena tidak memiliki kemampuan
untuk berpindah tempat. Pada program pertama, Have A Nice Day, Anda sebenarnya telah
menggunakan blok gerakan untuk menggerakkan robot maju dan mundur. Pada bagian ini akan
dijelaskan lebih dalam mengenai kemampuan yang dimiliki oleh blok gerakan.

Pertama buka kembali perangkat lunak NXT-G. Blok gerakan akan ditemukan pada bagian paling atas
common palette. Untuk menggunakannya, drag blok tersebut ke area kerja sebagaimana terlihat pada
Gambar 5-15.

BUKU ROBOTIKA 110


Gambar 5-15. Cara menggunakan blok gerakan

Secara default, blok gerakan memiliki konfigurasi seperti terlihat pada Gambar 5-16. Konfigurasi
tersebut memperlihatkan bahwa blok gerakan mengontrol port B dan port C pada NXT-Brick. Selain itu,
arah (direction) gerakan yang dipilih adalah maju dengan kekuatan motor sebesar 75, durasi gerakan
roda selama 1 putaran dan next action diisi dengan brake.

Gambar 5-16. Konfigurasi default dari blok gerakan

5.3.1 Gerakan Maju dan Mundur

Gerakan maju dan mundur pada robot LEGO NXT dapat diatur melalui blok gerakan. Sebenarnya bisa
juga menggunakan blok motor. Akan tetapi, operasi yang dilakukan menjadi sedikit rumit dan
membutuhkan kerja ekstra. Kita harus membuat dua buah blok untuk masing-masing motor. Kemudian,
kita pun perlu mengatur konfigurasi keduanya sehingga dapat melakukan gerakan maju atau mundur.
Hal yang perlu kita ingat ialah konfigurasi kedua blok motor tersebut harus selaras supaya kombinasi
putaran kedua roda dapat menghasilkan gerakan yang sesuai. Hal ini tidak mudah untuk dilakukan.

BUKU ROBOTIKA 111


Gambar 5-17 memperlihatkan hubungan putaran roda dengan arah gerakan maju dan mundurnya
robot.

Gambar 5-17. Konfigurasi gerakan maju dan mundur di blok gerakan

5.3.2 Berhenti

Blok gerakan dapat juga digunakan untuk membuat robot berhenti. Artinya, tidak ada gerakan motor
sama sekali. Hal ini dapat dilakukan dengan cara memilih ikon stop pada kontrol direction yang berada di
kotak konfigurasi blok gerakan.

Gambar 5-18. Pilih ikon stop untuk membuat gerakan berhenti

5.3.3 Belok kiri-kanan

Untuk mengubah arah pergerakan robot, berbelok ke kiri atau ke kanan dapat Anda lakukan pada
pilihan kontrol steering yang tepat berada di bawah direction. Anda hanya perlu menggerakkan slider ke

BUKU ROBOTIKA 112


kanan atau ke kiri sesuai arah manuver yang akan dibuat. Pada Gambar 5-19 diperlihatkan bahwa robot
akan berjalan dan berbelok ke arah kanan.

Gambar 5-19. Kontrol steering pada kotak konfigurasi blok gerakan

5.3.4 Kekuatan Motor

Kekuatan motor sangat berpengaruh terhadap kecepatan gerakan robot. Semakin besar kekuatan
motor, maka semakin cepat pula gerakan yang dilakukan. Akan tetapi, perlu diingat bahwa besarnya
kekuatan tersebut berbanding terbalik dengan penggunaan sumber daya. Selain itu, kekuatan motor
juga dapat mempengaruhi kestabilan gerakan. Oleh karena itu, perlu diperhatikan seberapa besar
kekuatan motor yang sebenarnya diperlukan.

Gambar 5-20. Kontrol kekuatan motor pada blok gerakan

Untuk mengatur kekuatan motor, dapat dilakukan dengan menggeser slider pada kontrol kekuatan yang
berada di kotak kofigurasi blok gerakan atau langsung memasukkan nilai yang berada di samping kanan
slider tersebut.

5.3.5 Durasi Gerakan

Gerakan robot NXT dapat diatur berdasarkan empat jenis parameter yang berbeda, yaitu jumlah
putaran roda, derajat putaran roda, waktu, dan unlimited. Keempat kontrol durasi tersebut dapat dilihat
pada Gambar 5-21.

BUKU ROBOTIKA 113


Gambar 5-21. Kontrol durasi pada blok gerakan

Jika durasi yang kita pilih adalah unlimited, maka blok gerakan akan memutar motor sampai Anda
menghentikannya sendiri. Artinya putaran motor tidak akan berlangsung terus-menerus dan tidak akan
berhenti secara otomatis.

Adapun pilihan rotations (putaran motor) berarti kita mengatur robot untuk bergerak sejumlah putaran
motor yang telah ditentukan. Sedangkan pilihan degrees menunjukkan bahwa gerakan robot dilakukan
berdasarkan perubahan sudut pergerakan motor. Untuk membuat robot bergerak berdasarkan rotations
maupun degrees, masukan informasi yang sesuai pada parameter yang tersedia. Misalkan Anda ingin
robot bergerak sejauh lima putaran, maka cukup masukkan 5 pada kotak duration dan pilih rotations
sebagai tipenya. Parameter rotations dapat diberi nilai desimal, seperti 20.4, 1.5, atau 4.3. Anda hanya
dapat memberikan nilai positif pada parameter yang ada. Logikanya jika Anda memberikan nilai -360,
maka sama artinya dengan memberi nilai 360 dengan membuat motor bergerak berlawanan awah atau
berjalan mundur.

5.3.6 Brake atau Coast?

Gambar 5-22. Kontrol next action pada blok gerakan

Brake dan coast digunakan untuk mengatur ketepatan berhentinya putaran motor. Jika memilih brake,
maka motor akan segera berhenti setelah masa gerakan motor berakhir. Brake berguna apabila kita
ingin membuat robot berhenti secara cepat dan akurat di suatu titik. Sedangkan coast baik digunakan

BUKU ROBOTIKA 114


apabila kita tidak terlalu memperhitungkan keakuratan. Pada Brake, sumber daya yang digunakan akan
relatif lebih banyak dari pada coast. Jadi, sebaiknya kita menghindari penggunaan brake kecuali jika
benar-benar dibutuhkan.

5.4 Perhitungan Aritmatika dan Logika

Ketika Anda membuat sebuah program, artinya Anda melakukan manipulasi terhadap data-data yang
ada agar dapat digunakan dan menghasilkan sebuah kondisi yang diharapkan. Misalnya Anda
membangun sebuah robot yang dapat memberi tahu jika frekuensi suara sudah termasuk dalam
kategori polusi suara. Tentu informasi mengenai frekuensi suara dalam ruangan tersebut akan
digunakan dan dimanipulasi sehingga robot dapat memberikan tanda apakah ruangan tersebut sudah
termasuk dalam level polusi suara. Pada contoh sederhana seperti itu Anda akan membutuhkan operasi
aritmatika atau logika agar program dapat berkerja dengan benar.

5.4.1 Variabel

Bagi Anda yang pernah menggunakan bahasa pemrograman tingkat tinggi, seperti C, C++ atau Java pasti
sudah familiar dengan istilah ini. Variabel merupakan komponen penting dalam pemrograman. Variabel
digunakan untuk menyimpan data. Sebuah variabel memiliki tiga parameter, yaitu nama, tipe data dan
nilai. Terdapat tiga macam tipe data yang dapat disimpan di dalam variabel, yaitu bilangan (numeric
integer), logika (logic) dan teks (text).

Untuk membuat variabel, kita dapat menggunakan blok variabel yang terletak di dalam palet complete.
Secara default, NXT-G telah membuat tiga buah variabel bernama Logic 1, Number 1 dan Text 1. Masing-
masing variabel tersebut bertipe bilangan, data logika, dan teks. Untuk membuat variabel baru gunakan
fitur define variable, Anda dapat menambahkan variabel sebanyak apapun sesuai kebutuhan program.
Fitur tersebut dapat diakses melalui menu edit >> define variable yang akan memunculkan sebuah
jendela baru seperti yang terlihat pada Gambar 5-23.

BUKU ROBOTIKA 115


Gambar 5-23. Jendela edit variabel untuk menambahkan, mengganti dan menghapus variabel

Untuk membuat variabel baru dapat dilakukan dengan meng-klik tombol create. Kemudian, berikan
nama pada kolom name dan tentukan tipe data pada kolom datatype. Contohnya pada gambar di atas,
kita membuat variabel dengan nama jarak dan bertipe data bilangan (number). Anda dapat memberikan
nama apa saja pada nama sebuah variabel, namun disarankan untuk menggunakan nama yang
representatif.

Gambar 5-24. Blok variabel.

Setiap variabel didefinisikan sebagai blok variabel. Untuk membuat sebuah blok variabel, klik ikon
complete palette yang terletak di kiri bawah, lalu klik ikon data. Kemudian, pidahkan sebuah blok
variabel ke dalam area kerja, blok variabel akan terlihat seperti Gambar 5-24. Selanjutnya, lakukan
konfigurasi terhadap variabel tersebut melalui kotak konfigurasi yang terletak di bawah area kerja.

BUKU ROBOTIKA 116


Gambar 5-25 memperlihatkan tampilan konfigurasi blok variabel. Di kotak konfigurasi kita dapat
menentukan nama dan tipe variabel, juga menentukan apakah variabel tersebut digunakan untuk
membaca (read) atau menulis (write). Membaca, artinya variabel hanya akan membaca nilai yang telah
disimpan ke dalam variabel tersebut. Adapun menulis berarti akan disimpan nilai baru ke dalam variabel
tersebut.

Pilih Pilih mode


variabel aksi

Gambar 5-25. Kotak konfigurasi dari sebuah blok variabel

5.4.2 Operator Aritmatika

NXT-G menyediakan fitur untuk melakukan operasi aritmatika yang terdiri dari empat operasi utama,
yaitu penambahan (add), pengurangan (subtract), perkalian (multiply) dan pembagian (divide). Operasi
tersebut dapat direpresentasikan dengan menggunakan blok aritmatika yang terdapat dalam complete
pallette.

Gambar 5-26. Blok aritmatika

BUKU ROBOTIKA 117


Gambar 5-27. Kotak konfigurasi dari blok aritmatika

5.4.3 Operator Logika

Operasi logika yang dapat dilakukan oleh NXT-G terdiri dari NOT, AND, OR dan XOR (eksklusif OR). Aturan masing-
Aturan masing-masing operasi logika dijabarkan pada Tabel 5-1, Tabel 5-2, Tabel 5-3, dan

Tabel 5-4.

Tabel 5-1. Operasi NOT


A NOT A
True False
False True

Tabel 5-2. Operasi AND


A B A AND B
True True True
True False False
False True False
False False False

Tabel 5-3. Operasi OR


A B A OR B
True True True
True False True
False True True
False False False

BUKU ROBOTIKA 118


Tabel 5-4. Operasi XOR
A B A XOR B
True True False
True False True
False True True
False False False

Operasi logika menerima masukan dalam format binari, benar(benar) atau salah (false). Hasil
penghitungan operasi ini juga dalam format binary. Operasi logika pada NXT-G dapat digunakan dengan
memanfaatkan blok logika (logic) yang terdapat di dalam complete palette. Bentuk dan konfigurasi dari
blok logika dapat dilihat pada Gambar 5-28 dan Gambar 5-29.

Gambar 5-28. Blok logika

Gambar 5-29. Kotak konfigurasi blok logika

BUKU ROBOTIKA 119


5.5 Percabangan dan Pengulangan

Percabangan (branch) dan pengulangan (loop) adalah dua hal yang relatif tidak dapat lepas dari sebuah
program. Percabangan adalah kondisi dimana sebuah program harus dapat menentukan pilihan yang
harus diambil diantara dua kemungkinan yang ada. Biasanya keputusan pengambilan pilihan tersebut
akan bergantung pada kondisi program pada saat keputusan harus diambil. Baik percabangan maupun
pengulangan beroperasi menggunakan data logika.

Gambar 5-30. Contoh percabangan dan pengulangan dalam NXT-G.

Gambar 5-30 sebelah kiri memperlihatkan bentuk blok percabangan dalam NXT-G, sedangkan
Gambar 5-30 sebelak kanan memperlihatkan bentuk blok pengulangan. Pada blok percabangan, hanya
ada dua kemungkinan pilihan, jika benar, maka program akan berlanjut pada bagian atas. Artinya
program akan membaca/menulis pada variabel yang bernama Logic 1. Sedang jika salah, maka program
akan membaca/menulis pada variabel yang bernama Number 1. Dengan kata lain, program
melanjutkan eksekusi pada bagian bawah dari blok percabangan.

Pengulangan merupakan komponen yang paling sering digunakan dalam pemrograman. Sebuah blok
pengulangan bertugas mengerjakan potongan kode program secara berulang-ulang sampai kondisi
tertentu dipenuhi. Misalnya ada sebuah program sederhana yang akan membuat robot bergerak maju
dan mundur. Robot tersebut akan bergerak maju sejauh 5 putaran kemudian mundur kembali ke posisi
semula. Maka skema programnya sebagaimana terlihat pada Gambar 5-31 berikut.

BUKU ROBOTIKA 120


Gambar 5-31. Skema program sederhana maju-mundur

Seandainya Anda diminta untuk membuat sebuah program baru yang serupa, hanya saja gerakan maju
dan mundurnya dilakukan sebanyak 3 kali. Cara paling sederhana yang pertama kali terpikir adalah
seperti yang terlihat pada Gambar 5-32. Anda tentu sadar bahwa hal tersebut hanya mengulang 2 buah
blok yang sama sebanyak 3 kali. Cara pada Gambar 5-32 tergolong kurang efektif. Bila Anda diminta
untuk membuat program tersebut berulang sebanyak 100 atau 10.000 kali, maka Anda akan memilih
untuk mencari cara lain. Pada kondisi seperti inilah blok pengulangan akan sangat berguna.

Gambar 5-32. Skema program maju-mundur 3 kali tanpa pengulangan

Penggunaan blok pengulangan akan membuat program menjadi lebih sederhana. Pada Gambar 5-33
menunjukkan skema program maju-mundur dengan menggunakan blok pengulangan. Dapat dilihat
bahwa dalam program awal, Anda cukup menambahkan sebuah blok pengulangan yang melingkupi
kedua blok move sebelumnya. Hal ini membuat program lebih efisien dan mudah dibaca.

BUKU ROBOTIKA 121


Gambar 5-33. Skema program maju-mundur 3 kali dengan blok pengulangan

Blok percabangan dan pengulangan dapat ditemukan dalam common palette. Untuk menggunakannya
Anda cukup men-drag blok tersebut seperti menggunakan blok-blok program yang lain. Kemudian,
melakukan konfigurasi terhadap parameter-parameter dari blok yang Anda gunakan.

5.5.1 Parameter Blok Percabangan

Pada penggunaan blok percabangan, Anda dapat memilih untuk memanfaatkan data dari sensor atau
tidak dalam menentukan pilihan mana yang akan diambil oleh program ketika dieksekusi. Pengaturan
blok percabangan akan bergantung dari pilihan data ini. Jika Anda menggunakan data dari sensor, maka
Anda harus terlebih dahulu menentukan jenis sensor yang akan Anda baca datanya. Semua sensor yang
dikeluarkan oleh LEGO dapat Anda pilih. Setelah jenis sensor telah ditentukan, pilih port yang digunakan
oleh sensor tersebut untuk berkomunikasi dengan NXT-Brick.

Gambar 5-34. Contoh konfigurasi dengan masukkan dari sensor sentuh.

BUKU ROBOTIKA 122


Gambar 5-35. Contoh konfiguurasi dengan masukan dari sensor ultrasonik.

Pada Gambar 5-34 terlihat bahwa data yang dibaca adalah data dari sensor sentuh dan port yang
digunakan adalah port nomor 1. Sedangkan pada Gambar 5-35 terlihat bahwa data yang dibaca adalah
data dari sensor ultrasonik dan port yang digunakan adalah port nomor 4. Agar blok percabangan dapat
berfungsi, data mentah dari sensor harus diubah dalam data logikal. Transformasi ini dapat dilakukan
berdasarkan even yang muncul atau hasil perbandingan data tersebut dengan sebuah nilai tertentu.
Pada sensor sentuh dapat dilihat bahwa teknik yang digunakan adalah teknik pertama. Pada contoh
Gambar 5-34, blok percabangan akan menerima nilai benar jika dan hanya jika sensor sentuh ditekan.
Sedangkan untuk sensor ultrasonik digunakan teknik yang kedua. Nilai yang dibaca oleh sensor
ultrasonik akan dibandingkan dengan nilai tertentu. Contoh pada Gambar 5-35, blok percabangan akan
menerima nilai benar jika dan hanya jika sensor ultrasonik memberikan jarak lebih besar dari 50 inci.
Penjelasan lebih mendetail mengenai penggunaan blok percabangan dengan data sensor dapat dilihat
pada subbab 5.6 Sensor-Sensor.

Gambar 5-36. Contoh konfigurasi dengan data logika.

Berbeda dengan dua gambar sebelumnya, blok pengulangan pada Gambar 5-36 menggunakan nilai
value. Nilai ini secara langsung akan menenentukan pilihan apa yang harus diambil oleh program. Anda
dapat memilih apakah menggunakan tipe data logika, teks, atau bilangan.

BUKU ROBOTIKA 123


5.5.2 Parameter Blok Pengulangan

Ada beberapa pilihan yang dapat Anda gunakan jika memanfaatkan blok pengulangan, yaitu:
1. Forever (selamanya).
Pilihan forever membuat blok program yang terdapat di dalam blok pengulangan akan
dijalankan terus menerus dan tidak akan berhenti, serta tidak mengijinkan terjadinya interupsi
sama sekali. Anda dapat menghitung berapa kali pengulangan telah dilakukan dan memberikan
informasi tersebut kepada blok lain dengan memberikan tanda centang pada pilihan counter.

Gambar 5-37. Contoh konfigurasi blok pengulangan dengan control forever

Gambar 5-37 menunjukkan sebuah program sederhana yang menggunakan blok pengulangan
dengan konfigurasi forever. Blok-blok program di dalam blok pengulangan akan melakukan
gerakan maju satu putaran roda, menampilkan gambar Smile 01 (tersenyum), dan melantunkan
suara Good. Ketiga langkah tersebut akan terus diulang sampai dihentikan oleh pengguna.

Gambar 5-38. Contoh program sederhana menggunakan pengulangan

2. Timer.
Jika Anda memutuskan untuk menggunakan timer, maka blok-blok program di dalam
pengulangan akan terus diulang hingga timer internal NXT membaca nilai tertentu. Gambar 5-39
memperlihatkan tampilan konfigurasi pengulangan menggunakan timer. Berikut adalah
keterangan nomor-nomor pada Gambar 5-39:

BUKU ROBOTIKA 124


1) Tentukan Timer NXT yang akan di-monitor
2) Tentukan pilihan untuk membaca atau me-reset timer
3) Ketikkan nilai waktu (dalam second) ke dalam kotak input
4) Beri tanda centang pada show counter untuk membuat nilai iterasi pengulangan dapat
digunakan oleh blok program lainnya

Gambar 5-39. Konfigurasi blok pengulangan dengan kontrol timer

3. Waktu (time).
Jika kita memilih waktu sebagai pengontrol pengulangan, maka blok program dalam
pengulangan akan dijalankan selama jangka waktu tertentu. Setelah waktu selesai program pun
akan keluar dari pengulangan. Gambar 5-40 memperlihatkan tampilan konfigurasi untuk pilihan
ini, berikut adalah penjelasan tiap nomor pada gambar:
1) Tentukan lamanya waktu pengulangan dengan menuliskan pada kotak ini
2) Beri tanda centang pada show counter untuk membuat nilai iterasi pengulangan dapat
digunakan oleh blok program lainnya

Gambar 5-40. Konfigurasi blok pengulangan dengan kontrol waktu

4. Penghitungan (count).

BUKU ROBOTIKA 125


Pilihan ini juga digunakan pada contoh program pada Gambar 5-33. Pilihan ini akan membuat
blok program dalam blok pengulang dijalankan sebanyak jumlah yang diberikan. Gambar 5-41
memperlihatkan konfigurasi blok pengulangan dengan penghitungan. Berikut adalah penjelasan
nomor-nomor pada Gambar 5-41:
1) Tuliskan pada kotak ini jumlah bilangan yang diperlukan oleh program untuk beriterasi
2) Beri tanda centang pada show counter untuk membuat nilai iterasi pengulangan dapat
digunakan oleh blok program lainnya

Gambar 5-41. Konfigurasi blok pengulangan dengan kontrol penghitungan

5. Logika.
Jika logika dipilih sebagai pengontrol pengulangan, maka program di dalam pengulangan akan
berjalan hingga tercapai kondisi true (benar) atau false (salah). Kondisi berhenti akan ditentukan
oleh pengguna. Gambar 5-42 memperlihatkan konfigurasi blok pengulangan dengan logika.
Berikut adalah penjelasan nomor-nomor pada Gambar 5-42:
1) Tentukan tipe logika yang membuat program keluar dari pengulangan, apakah true atau
false?
2) Beri tanda centang pada show counter untuk membuat nilai iterasi pengulangan dapat
digunakan oleh blok program lainnya

Gambar 5-42. Konfigurasi blok pengulangan dengan kontrol logika

BUKU ROBOTIKA 126


6. Nilai (value).
Jika kita memilih Nilai untuk untuk bagian Control pada sebuah blok switch maka isi dari
sebuah blok switch bisa lebih dari dua kemungkinan nilai jika yang dipilih pada bagian Type
adalah Number pada bagian Display tidak mengaktifkan model Flat view.

Gambar 5-43. Konfigurasi kontrol value pada blok percabangan

Untuk pemilihan Control menjadi berjenis value maka akan muncul bagian Type yang
pilihannya terdiri dari logic (hanya terdapat dua kondisi yaitu true atau false), text (hanya
terdapat dua kondisi yaitu text1 atau text2), number (hanya terdiri dari dua kondisi bisa pada
bagian Display dipilih model Flat view namun bila tidak dipilih model Flat view kondisi yang
ada bisa dibuat lebih dari dua dengan cara klik tanda + yang ada di kanan bagian condition).

5.6 Sensor-Sensor

Bagi robot, sensor bagaikan indra yang dimiliki manusia. Sensor berguna agar robot mengetahui
keadaan lingkungan. Informasi ini dapat digunakan untuk menentukan aksi yang harus dilakukan.

BUKU ROBOTIKA 127


Sensor membaca kondisi
lingkungan : Data diolah Motor melakukan aksi
Ultrasonik oleh NXT- sebagai respon terhadap
Suara Brick kondisi lingkungan
Cahaya
Sentuh

Pada setiap Brick LEGO Mindstorms NXT, Anda dapat mengunakan maksimal 4 jenis sensor dalam
sebuah robot. Pada paket education tersedia empat jenis sensor yang dapat langsung digunakan, yaitu
sensor ultrasonik, sensor suara, sensor cahaya, dan sensor sentuh. Untuk keperluan pemrograman, NXT-
G telah menyediakan blok-blok sensor yang sesuai untuk melakukan konfigurasi terhadap masing-
masing sensor. Seluruh blok sensor dapat ditemukan pada bagian yang dilingkari dengan warna biru
pada Gambar 5-44.

Gambar 5-44. Bagian blok sensor.

BUKU ROBOTIKA 128


Pada subbab ini, Anda akan diperkenalkan cara-cara yang mungkin digunakan dalam memanfaatkan
sensor yang tersedia. Infomasi mengenai fungsi masing-masing sensor dan tingkat sensitifitasnya dapat
dilihat pada subbab 2.2 Komponen LEGO Mindstrom NXT.

5.6.1 Sensor Sentuh

Blok untuk sensor sentuh dapat digunakan dengan menekan tombol jari sedang menekan sebuah
tombol, seperti yang terlihat pada Gambar 5-46. Sensor ini akan memberikan informasi TRUE (benar)
atau FALSE (salah). Pada dasarnya sensor akan selalu memberikan nilai FALSE. Ada tiga kondisi yang
dapat membuat sensor memberikan nilai TRUE, yaitu:
1. Sensor ditekan.
Sensor akan memberikan nilai TRUE jika sensor ditekan. Jika sensor kembali berada dalam
kondisi tidak ditekan, maka sensor akan kembali memberikan nilai FALSE.
2. Sensor dilepas.
Pada kondisi ini sensor akan memberikan nilai TRUE saat kondisi tidak tertekan. Jika tombol
ditekan, maka sensor akan memberikan nilai FALSE. Pilihan ini berkebalikan dengan pilihan pada
nomor 1.
3. Sensor tertabrak.

Gambar 5-45. Momen perubahan kondisi sensor.

Pada pilihan ini, sensor akan memberikan nilai TRUE pada saat terjadi perubahan dari kondisi
ditekan menjadi kondisi tidak ditekan. Gambar diatas memperlihatkan kondisi yang
berhubungan dengan kondisi tersebut. Pada saat ini berarti terjadi tabrakan antara sensor
dengan sebuah objek lain.

BUKU ROBOTIKA 129


Gambar 5-46. Visualisasi blok sensor sentuh.

Pada Gambar 5-46 ditunjukkan blok sensor sentuh dan konfigurasi yang dapat dilakukan terhadap Blok
tersebut. Bagian yang dilingkari dengan warna merah menunjukkan port yang digunakan untuk
membaca data dari sensor. Pada Gambar 5-46, port yang digunakan adalah port 1. Bagian yang dilingkari
dengan warna biru memperlihatkan model sensitifitas yang diharapkan dari sensor tersebut. Gambar
yang muncul pada Blok akan tergantung dari pilihan yang diambil pada Blok Configuration. Bagian yang
diberi label nomor 1 akan memberikan nilai keluarkan dari sensor, TRUE atau FALSE.

Informasi yang didapat dari sensor sentuh dapat juga digunakan dalam blok pengulangan sebagai
parameter untuk menghentikan pengulangan. Dapat juga digunakan sebagai penentu alur program pada
blok percabangan. Gambar 5-47 memperlihatkan konfigurasi blok pengulangan dengan parameter
sensor sentuh. Gambar 5-48 memperlihatkan konfigurasi blok percabangan dengan parameter sensor
sentuh.

BUKU ROBOTIKA 130


Gambar 5-47. Konfigurasi blok pengulangan dengan kontrol sensor sentuh

Ada beberapa hal yang perlu diatur jika Anda ingin menggunakan data sensor sentuh dalam blok
pengulangan. Gambar 5-47 memperlihatkan hal-hal tersebut, yaitu:
1. Tentukan port dimana sensor sentuh dihubungkan dengan NXT-Brick.
2. Tentukan pilihan aksi yang diperlukan untuk mengakhiri pengulangan (bumped, pressed atau
released).
3. Kotak feedback dapat digunakan untuk mengetes sensor sentuh. Ketika sensor pada robot aktif,
bilangan 1 akan ditampilkan di sana. Klik tombol reset untuk mengembalikan kotak feedback
ke kondisi semula.
4. Jika kita memberi tanda centang pada show counter, maka setiap putaran pengulangan akan
menghasilkan bilangan yang dapat digunakan sebagai input bagi blok program yang lain.

Gambar 5-48. Konfigurasi kontrol sensor sentuh pada blok percabangan

BUKU ROBOTIKA 131


Pengaturan yang harus dilakukan agar Anda dapat menggunakan data sensor sentuh sebagai masukkan
pada blok percabangan tidak jauh berbeda dengan pengaturan penggunaan sensor suara pada blok
pengulangan. Andaharus menentukan port yang digunakan oleh sensor dan kondisi apa yang membuat
sensor aktif. Perbedaannya adalah jika pada pengulangan data sensor akan membuat pengulangan
berhenti dilakukan, sedangkan pada percabangan data ini akan menentukan bagian program yang akan
dijalankan selanjutnya.

5.6.2 Sensor Suara

Data dari sensor suara dapat dibaca dengan menggunakan blok microphone seperti yang terlihat pada
Gambar 5-49. Blok sensor suara akan memberikan nilai tingkat kekerasan suara (dalam desible) pada
bagian yang diberi label 1. NXT-G memberikan fasilitas dimana Blok ini dapat memberikan nilai TRUE
atau FALSE jika data melewati/kurang dari ambang batas tertentu. Penentuan nilai ambang batas dapat
dilakukan pada bagian yang diberi label 2. Pada contoh Gambar 5-49, Blok baru akan memberikan nilai
TRUE jika dan hanya jika tingkat suara yang diterima sensor sudah melebihi 83.

Gambar 5-49. Visualisasi blok sensor suara.

BUKU ROBOTIKA 132


Pada Gambar 5-49, bagian yang dilingkari dengan warna merah menunjukkan port yang digunakan
untuk menerima data dari sensor suara. Sedangkan bagian yang dilingkari dengan warna biru
menunjukkan tingkat suara yang diperlukan agar Blok mengeluarkan nilai TRUE. Blok sensor suara pada
NXT-G ini baru sebatas mengukur tingkat kekerasan suara, belum dapat digunakan untuk mendeteksi
jenis-jenis suara atau lebih jauh lagi, pengenalan suara.

Gambar 5-50. Konfigurasi blok pengulangan dengan kontrol sensor suara

Sensor suara dapat juga digunakan sebagai masukkan pada blok pengulangan. Konfigurasi blok
pengulangan akan tampak seperti pada Gambar 5-50. Blok program dalam pengulangan akan dijalankan
hingga suara yang diterima sensor berada dalam level tertentu. Berikut adalah penjelasan nomor-nomor
yang ada pada Gambar 5-50:
1. Tentukan port dimana sensor suara dihubungkan dengan NXT-Brick
2. Gunakan slider atau tuliskan langsung bilangan untuk menentukan nilai trigger (jangkauan nilai
dari sensor suara).
3. Kotak feedback akan menampilkan level suara (0-100%) yang sedang dibaca oleh sensor.
4. Jika kita memberikan tanda centang pada show counter, maka setiap putaran pengulangan akan
menghasilkan bilangan yang dapat digunakan sebagai input bagi blok program yang lain.

Data sensor suara juga dapat digunakan sebagai masukkan pada blok percabangan. Untuk inputan nilai
ke dalam percabangan bila berasal dari sebuah sensor suara maka akan dihasilkan dua kemungkinan
bentuk state berikutnya, yaitu berdasarkan suara yang masuk ke dalam kategori yang dipilih pada pilihan
Sound dan juga suara yang tidak masuk ke dalam kategori suara yang diinginkan.

BUKU ROBOTIKA 133


Gambar 5-51. Konfigurasi kontrol sensor suara pada blok percabangan

5.6.3 Sensor Ultrasonik

Sensor ultrasonik digunakan untuk mendeteksi jarak dari sensor terhadap objek-objek yang ada didepan
sensor. Blok untuk sensor ini dapat digunakan dengan menekan tombol seperti yang terlihat pada
Gambar 5-52. Sensor akan memberikan informasi mengenai jarak objek terdekat didepan sensor.
Besarnya jarak ini dapat dibaca oleh Blok pada bagian yang diberi label 1. Blok ini juga dapat digunakan
untuk melihat apakah sensor sudah terlalu dekat dengan objek lain. Penentuan nilai dekat dapat
dilakukan pada bagian yang diberi nomor 2. Hasil pembandingan jarak ini akan dalam nilai TRUE(benar)
atau FALSE(salah). Nilai TRUE akan diberikan jika jarak sensor sudah melewati/dibawah ambang batas
tertentu. Nilai jarak dapat dibaca dalam inci atau sentimeter. Hal ini dapat diubah pada bagian yang
dilingkari dengan warna hijau.

Bagian yang diberi lingkaran dengan warna merah adalah port yang digunakan untuk membaca
informasi dari sensor ultrasonik. Pada Gambar 5-52, port yang digunakan adalah port nomor 4. Bagian
yang dilingkari dengan warna biru menunjukkan ambang batas yang dianggap normal oleh sensor ini.

BUKU ROBOTIKA 134


Gambar 5-52. Visualisasi blok sensor ultrasonik.

Gambar 5-53. Konfigurasi blok pengulangan dengan kontrol sensor ultrasonik

Jika sensor ultrasonik yang kita gunakan untuk mengontrol pengulangan, maka blok-blok program di
dalam pengulangan akan dijalankan hingga sensor ultrasonik mendeteksi objek pada jarak tertentu.
1. Tentukan port dimana sensor ultrasonik terhubung dengan NXT-Brick
2. Gunakan slider untuk menentukan nilai trigger dari sensor ultrasonik. Kita dapat menentukan
nilai minimal maupun maksimal sesuai dengan kebutuhan program.
3. Terdapat dua satuan ukur yang dapat digunakan, yaitu cm dan inchi
4. Kotak feedback akan menampilkan jarak terhadap objek terdekat yang berhasil terdeteksi oleh
sensor ultrasonik tersebut

BUKU ROBOTIKA 135


5. Jika kita memberikan tanda centang pada show counter, maka setiap putaran pengulangan akan
menghasilkan bilangan yang dapat digunakan sebagai input bagi blok program yang lain

Gambar 5-54. Konfigurasi kontrol sensor ultrasonik pada blok percabangan

Untuk inputan nilai ke dalam percabangan bila berasal dari sebuah sensor ultrasonik maka akan
dihasilkan dua kemungkinan bentuk state berikutnya, yaitu berdasarkan jarak yang masuk ke
dalam kategori yang dipilih pada pilihan Distance dan juga jarak yang tidak masuk ke dalam
kategori jarak yang diinginkan.

5.6.4 Sensor Cahaya

Untuk memanfaatkan data dari sensor ini dapat menggunakan blok yang terlihat seperti pada
Gambar 5-55. Bagian yang diberi label Blok akan didapatkan ketika menekan tombol seperti matahari.
Blok ini memiliki bagian-bagian lain yang dapat gunakan dengan menekan Blok pada bagian yang
ditunjukkan oleh tangan. Hasil yang akan dapatkan akan seperti gambar disebelah kanan tanda panah.
Bagian yang diberi label Blok Configuration dapat ditemukan pada bagian sebelah kiri bawah pada
jendela program NXT-G.

BUKU ROBOTIKA 136


Gambar 5-55. Visualisasi blok sensor cahaya.

Bagian yang dilingkari dengan warna merah adalah port yang digunakan untuk berkomunikasi dengan
sensor tersebut. Pada contoh Gambar 5-55, port yang digunakan adalah port nomor 3. Bagian yang
dilingkari dengan warna hijau memberikan informasi apakah sensor cahaya juga mengeluarkan cahaya
atau hanya menggunakan cahaya yang tersedia dilingkungan. Jika sensor diatur agar mengeluarkan
cahaya, maka pada bagian Blok akan terlihat icon yang dilingkari dengan warna hijau.

Sensor ini dapat digunakan untuk membandingkan apakah intensitas cahaya yang diterima oleh sensor
sudah mencapai nilai tertentu. Hal ini dapat diatur pada bagian yang dilingkari dengan warna biru.
Pengaturan secara manual dapat dilakukan pada bagian nomor 2. Pembuat program dapat menentukan
apakah nilai yang ingin diamati adalah nilai dibawah atau diatas ambang batas tertentu. Nilai yang akan
dihasilkan adalah TRUE (benar) atau FALSE (salah) dan dapat dibaca pada bagian yang diberi nomor 3.
Bagian yang diberi nomor 1 akan memberikan besar intensitas cahaya yang diterima oleh sensor.

BUKU ROBOTIKA 137


Gambar 5-56. Konfigurasi blok pengulangan dengan kontrol sensor cahaya

Jika sensor cahaya yang mengontrol pengulangan, maka blok-blok program di dalam pengulangan akan
dijalankan hingga sensor cahaya mendeteksi kehadiran berkas cahaya pada intensitas tertentu.
1. Tentukan port dimana sensor cahaya terhubung dengan NXT-Brick
2. Gunakan slider maupun menuliskan nilai secara langsung untuk menentukan nilai trigger
(rentang intensitas cahaya yang diperlukan)
3. Jika kita memberikan centang pada pilihan ini, maka sensor cahaya akan menembakkan cahaya
miliknya untuk kemudian mendeteksi apakah cahaya yang ditembakkan itu kembali lagi atau
tidak
4. Kotak feedback akan menampilkan besarnya intensitas cahaya yang sedang terbaca oleh sensor
cahaya saat ini
5. Berikan tanda centang pada show counter apabila kita ingin menggunakan nilai counter sebagai
input bagi blok-blok program lainnya

Untuk inputan nilai ke dalam percabangan bila berasal dari sebuah sensor cahaya maka akan dihasilkan
dua kemungkinan bentuk state berikutnya, yaitu berdasarkan cahaya yang masuk ke dalam kategori
terang berdasarkan pilihan pada Sound dan juga cahaya yang tidak masuk ke dalam kategori terang
yang sudah didefinisikan sebelumnya.

BUKU ROBOTIKA 138


Gambar 5-57. Konfigurasi kontrol sensor ultrasonik pada blok percabangan

5.6.5 Tombol NXT

Selain empat sensor yang baru saja dibahas, terdapat komponen lain yang juga dapat digunakan untuk
mengontrol pengulangan. Salah satunya ialah tombol NXT. Jika kita memilih tombol NXT, maka blok-blok
program di dalam pengulangan akan terus dijalankan secara berulang sampai tombol tersebut ditekan,
dilepas atau di-bump (ditekan kemudian langsung dilepaskan).

Gambar 5-58. Konfigurasi blok pengulangan dengan kontrol tombol NXT

Berikut adalah penjelasan nomor-nomor yang ada pada Gambar 5-58:


1. Pilih tombol mana yang akan diaktifkan untuk menerima input dari user
2. Tentukan aksi yang dinantikan terhadap tombol NXT-Brick tersebut
3. Kotak feedback akan memberikan nilai 1 apabila tombol NXT tersebut ditekan, dilepaskan
atau di-bump (ditekan kemudian langsung dilepaskan)

BUKU ROBOTIKA 139


4. Beri tanda centang pada show counter untuk membuat nilai iterasi pengulangan dapat
digunakan oleh blok program lainnya

Blok ini digunakan untuk berinteraksi dengan tombol yang ada pada brick NXT. Ada tiga jenis tombol
yang dapat diamati, tombol kiri, kanan, dan tengah. Pada dasarnya sensor akan selalu memberikan nilai
FALSE. Ada tiga kondisi yang dapat membuat sensor memberikan nilai TRUE, yaitu:
1. Tombol ditekan.
Tombol akan memberikan nilai TRUE jika tombol ditekan. Jika tombol kembali berada dalam
kondisi tidak ditekan, maka tombol akan kembali memberikan nilai FALSE.
2. Tombol dilepas.
Pada kondisi ini tombol akan memberikan nilai TRUE saat kondisi tidak tertekan. Jika tombol
ditekan, maka sensor akan memberikan nilai FALSE. Pilihan ini berkebalikan dengan pilihan pada
nomor 1.
3. Tombol tertabrak.

Gambar 5-59. Momen perubahan kondisi tombol.

Pada pilihan ini, sensor akan memberikan nilai TRUE pada saat terjadi perubahan dari kondisi
ditekan menjadi kondisi tidak ditekan. Gambar diatas memperlihatkan kondisi yang
berhubungan dengan kondisi tersebut. Pada saat ini berarti terjadi tabrakan antara tombol
dengan sebuah objek lain.

BUKU ROBOTIKA 140


Gambar 5-60. Visualisasi blok tombol NXT.

Untuk mengatur tombol yang ingin diamati dapat dilakukan dengan mengubah bagian yang dilingkari
dengan warna biru pada bagian Blok Configuration. Gambar yang dilingkari dengan warna biru pada
bagian Blok akan berubah sesuai dengan tombol yang ingin diamati. Pada contoh Gambar 5-60, tombol
yang diamati adalah tombol kanan. Bagian yang dilingkari dengan warna merah menentukan pada saat
apa sensor akan memberikan nilai TRUE. Nilai TRUE atau FALSE akan dapat dibaca pada bagian yang
diberi label 1.

5.6.6 Masukan dan Keluaran Blok Sensor

Pada bagian blok sensor jika dibuka maka akan muncul beberapa gambar lain yang berkaitan dengan
masukan dan keluaran blok sensor. Berikut adalah beberapa diantaranya:

BUKU ROBOTIKA 141


Tabel 5-5. Masukan dan keluaran yang tersedia pada blok sensor.
Port Number 1-4 1 = Port 1
2 = Port 2
3 = Port 3
4 = Port 4
Trigger Point Number 0 - 100 Nilai yang akan dibandingkan.

Greater / Less Logic True/False Digunakan untuk perbandingan.


True = lebih besar, False = lebih
kecil
Generate Light Logic True/False Menunjukkan apakah lampu yang
dimiliki sensor menyala atau
tidak.
Yes / No Logic True/False Hasil perbandingan.

Intensity Number 0 - 100 Nilai yang dibaca dari sensor dan


telah di sesuaikan.
Raw Value Number 0 - 1024 Nilai mentah yang dibaca dari
sensor.
Button Number 1-3 1 = Kanan
2 = Kiri
3 = Pilij
Action Number 0-2 0 = Ditekan
1 = Tidak ditekan
2 = Ditabrak
dBA Logic True/False True = sesi dBA
False = sesi dB
Sound Level Number 0 - 100 Nilai yang dibaca dari sensor dan
telah di sesuaikan.
Distance Number 0 - 255 (cm) Nilai yang dibaca dari sensor dan
0 - 100 (in) telah di sesuaikan.

BUKU ROBOTIKA 142


5.7 Drive Test

Program drive test adalah sebuah program sederhana yang melakukan enam jenis gerakan secara
berulang. Program ini dibangun hanya dengan menggunakan blok gerakan. Algoritma dari program
tersebut adalah sebagai berikut.
Bergerak maju ke depan
Bergerak mundur
Belok kiri dengan kedua roda berputar berlawanan
Belok kanan dengan kedua roda berputar berlawanan
Belok kiri dengan satu roda diam
Belok kanan denga satu roda diam
Ulangi keenam gerakan tersebut selama 50 detik

Program tersebut kemudian dijalankan pada NXT Five Minute Bot seperti terlihat pada Gambar 5-61.
Dapat dilihat bahwa robot tersebut hanya memiliki komponen motor dan tidak ada sensor jenis apapun
terpasang disana.

Gambar 5-61. NXT Five Minute Bot

Untuk membuat program test drive, pertama buatlah skema program dengan menyusun enam blok
gerakan di dalam sebuah blok pengulangan seperti terlihat pada Gambar 5-62.

BUKU ROBOTIKA 143


Gambar 5-62. Skema awal program drive test

Kemudian, lakukan konfigurasi terhadap setiap blok gerakan yang terdapat di dalam program tersebut
seperti yang terlihat pada Gambar 5-63, Gambar 5-64, Gambar 5-65, Gambar 5-66, Gambar 5-67, dan
Gambar 5-68.

Gambar 5-63. Konfigurasi blok gerakan pertama pada program drive test

Gambar 5-64. Konfigurasi blok gerakan kedua pada program drive test

Gambar 5-65. Konfigurasi blok gerakan ketiga pada program drive test

BUKU ROBOTIKA 144


Gambar 5-66. Konfigurasi blok gerakan keempat pada program drive test

Gambar 5-67. Konfigurasi blok gerakan kelima pada program drive test

Gambar 5-68. Konfigurasi blok gerakan keenam pada program drive test

BUKU ROBOTIKA 145


Bab 6. Program-program Lego

6.1 Door Alarm

Gambar 6-1. Alur program Door Alarm.

Door Alarm dapat dipasang didekat pintu masuk ruangan yang ingin diamati. Door alarm akan
menghitung berapa banyak objek atau orang yang melewatinya. Gambar 6-1 memperlihatkan alur kerja
program Door Alarm. Program harus terlebih dahulu diaktifkan dengan menekan tombol enter yang ada
pada NXT-Brick. Setelah ditekan, maka NXT-Brick akan menampilkan jumlah orang-orang yang
melewatinya. Setiap kali ada orang yang melewati sensor ultrasonik, maka jumlah tersebut akan
ditambahkan.

Robot ini tidak membutuhkan motor dan hanya menggunakan satu buah sensor, yaitu sensor ultrasonik.
Program ini mengasumsikan Anda memasangkan sensor ultrasonik pada port 4. Bentuk ke seluruhan
program dapat dilihat pada Gambar 6-2.

6.1.1 Program Utama

Pada Gambar 6-2 dapat dilihat susunan blok yang menyusun program utama door alarm. Bagian a, d,
dan g merupakan subprogram yang akan dijelaskan pada subsubbab 6.1.2 Active Alarm, 6.1.3 Number of
People, dan 6.1.4 Update Number of People. Beberapa bagian yang dengan huruf b, c, e, f, I, dan j

BUKU ROBOTIKA 146


merupakan perintah-perintah yang terhubung langsung dengan program utama. Detail dari setiap blok
tersebut dapat dilihat pada Gambar 6-3, Gambar 6-4, Gambar 6-5, Gambar 6-6, Gambar 6-7,
Gambar 6-8, dan Gambar 6-9. Prilaku program utama ini akan seperti pada gambar Gambar 6-1.

Gambar 6-2. Keseluruhan program Door Alarm.

Gambar 6-3. Door Alarm - b.

Gambar 6-3 memperlihatkan konfigurasi blok data. Pada bagian ini nilai pada variabel jumlah_orang
akan diisi dengan nilai nol. NIlai ini adalah nilai inisialisasi yang akan bertambah ketika program sudah
berjalan.

Gambar 6-4. Door Alarm - c.

BUKU ROBOTIKA 147


Gambar 6-4 memperlihatkan bahwa pengulangan akan menerima masukan dari tombol yang ada pada
NXT Brick. Pada detail yang diperlihatkan pada Gambar 6-4, dapat terlihat bahwa pengulangan akan
dimulai jika tombol enter pada NXT Brick ditekan. Tombol enter ini adalah dombol yang berwarna
oranye. Pada bagan program utama dapat dilihat bahwa door alarm akan bekerja dibawah blok
pengulangan ini. Maka dapat dikatakan bahwa bagian ini akan memulai fungsi utama dari program door
alarm.

Gambar 6-5. Door Alarm - e.

Gambar 6-5 memperlihatkan penggunaan sensor ultrasonik sebagai masukan pada blok percabangan.
Sinyal yang diterima dari sensor ultrasonik diasumsikan datang dari port 4. Percabangan ini akan
mengeksekusi bagian benar dari blok tersebut jika sensor ultrasonik memberikan sinyal ada benda
yang berjarak kurang dari 60 cm dari sensor. Jika hal tersebut tidak dipenuhi, maka bagian blok salah
yang akan dieksekusi oleh block percabangan ini.

Gambar 6-6. Door Alarm - f.

Gambar 6-6 memperlihatkan penggunaan speaker untuk mengeluarkan suara yang sudah tersimpan
dalam NXT Brick. Suara yang akan dikeluarkan adalah suara orang yang berkata Have a nice day.
Tingkat kekerasan suara adala 75 dan program tidak akan dilanjutkan sampai suara tersebut selesai
dimainkan.

BUKU ROBOTIKA 148


Gambar 6-7. Door Alarm - h.

Gambar 6-7 memperlihatkan spesifikasi dari blok tunggu (wait). Tujuan blok ini hanya untuk membuat
program berhenti sementara waktu. Programa akan kembali berjalan jika batas waktu tunggu sudah
dilewati. Pada gambar dapat dilihat bahwa program diminta berhenti selama satu detik.

Gambar 6-8. Door Alarm - i.

Gambar 6-8 merupakan spesifikasi dari blok display (tampilan). Blok ini mengatur apa yang akan
ditampilkan pada layar NXT Brick. Pada spesifikasi yang ditunjukkan pada Gambar 6-8 dapat dilihat
bahwa pada layar NXT Brick akan ditampilkan tulisan Good Bye. Jika kembali melihat pada bagan
keseluruhan prgoram Door Alarm, maka bagian ini baru akan dilakukan jika tombol enter sudah ditekan.
Hal ini berarti pengguna secara sadar telah menonaktifkan Door Alarm.

Gambar 6-9. Door Alarm - j.

BUKU ROBOTIKA 149


Gambar 6-9 merupakan detail dari blok suara. Blok ini langsung dijalankan ketika tulisan Good Bye
ditampilkan ke layar. Blok ini akan membuat NXT Brick mengeluarkan suara yang berbunyi Good bye.
Program akan menunggu sampai suara tersebut selesai dimainkan baru berhenti total.

6.1.2 Active Alarm

Gambar 6-10. Rangkaian subprogram Active Alarm.

Bagian ini akan menjelaskan program untuk memandu pengguna mengaktifkan alarm. Bagian ini
merupakan penjelasan mengenai blok program yang diberi nama Active Alarm pada blok program
utama. Detail dari tiap blok pada Gambar 6-10 akan ditunjukkan pada Gambar 6-11, Gambar 6-12,
Gambar 6-13, Gambar 6-14, dan Gambar 6-15.

Gambar 6-11. Subprogram Active Alarm - a.

Gambar 6-11 merupakan detaildari blok display yang pertama dalam subprogram Active Alarm. Blok
display ini akan menampilkan sebuah balon percakapan pada layar NXT Brick. Ini adalah bagian pertama
yang ditampilkan pada layar. Selanjutnya akan ditampilkan tulisan didalam balon tersebut. Detail kedua
blok display berikutnya ditunjukan pada Gambar 6-12 dan Gambar 6-13. Blok berikutnya akan
menampilkan tulisan Tekan dan Tombol pada layar.

BUKU ROBOTIKA 150


Gambar 6-12. Subprogram Active Alarm - b.

Gambar 6-13. Subprogram Active Alarm - c.

Gambar 6-14. Subprogram Active Alarm - d.

Setelah tulisan Tekan Tombol ditampilkan pada layar. Maka program harus menunggu sampai
pengguna menekan tombol enter pada NXT Brick. Jika tombol enter telah ditekan, maka Door Alarm
baru aktif. Hal ini dapat dilakukan dengan menggunakan blok tunggu. Blok tunggu ini akan terus aktif
sampai pengguna menekan tombol enter pada NXT Brick. Konfigurasi blok tunggu dapat dilihat pada
Gambar 6-14. Setelah tombol enter ditekan, layar akan dikosongkan dengan menggunakan blok display
dengan aksi reset. Hal ini ditunjukan pada Gambar 6-15.

BUKU ROBOTIKA 151


Gambar 6-15. Subprogram Active Alarm - e.

6.1.3 Number of People

Gambar 6-16. Rangkaian subprogram Number of People.

Pada bagian ini akan dijelaskan subprogram yang diberinama Number of People. Gambaran umum
subprogram ini dapat dilihat pad Gambar 6-16. Detail konfigurasi setiap blok pada gambar tersebut
dapat dilihat pada Gambar 6-17, Gambar 6-18, Gambar 6-19, dan Gambar 6-20. Agar dapat mengerti
program ini, Anda juga harus memperhatikan hubungan kabel yang terdapat pada bagian bawah blok
yang diberi label b, d, dan d.

Gambar 6-17. Subprogram Number of People - a.

BUKU ROBOTIKA 152


Pada blok dengan label A ini digunakan blok display untuk menampilkan tulisan pada layar. Tulisan ini
adalah Jumlah Orang :. Cara untuk melakukan hal ini ditunjukkan pada Gambar 6-17. Setelah tulisan
ini akan ditampilkan jumlah orang-orang yang meliwati tempat dimana Door Alarm terpasang. Nilai yang
ditampilkan akan terus diubah sesuai perubahan jumlah orang yang melewatinya.

Gambar 6-18. Subprogram Number of People - b.

Pada Gambar 6-18 diperlihatkan bahwa nilai yang disimpan pada variabel jumlah_orang dibaca. Untuk
membaca variable ini dapat menggunakan blok variabel. Jika kembali melihat pada Gambar 6-16, dapat
dilihat bahwa nilai yang dibaca akan diberikan pada blok number-to-text. Nilai hasil pembacaan akan
dianggap sebagai sebuah bilangan dan dialirkan ke blok lain pada bagian dengan tanda #.

Gambar 6-19. Subprogram Number of People - c.

Setelah data yang disimpan pada variabel jumlah_orang tersebut dialirkan ke number-to-text. Hasil dari
blok number-to-text adalah konversi dari bilangan yang diberikan ke dalam format karakter. Hasil
trasformasi ini diberikan pada blok tampilan. Hal ini dapat dilihat dari kabel berwarna merah yang
terhubung antara kedua blok tersebut. Hasil konversi selanjutnya ditampilkan pada layar dengan
menggunakan blok display. Konfigurasi blok display ini dapat dilihat pada Gambar 6-20.

BUKU ROBOTIKA 153


Gambar 6-20. Subprogram Number of People - d.

6.1.4 Update Number of People

Gambar 6-21. Rangkaian subprogram Update Number of People.

Subprogram ini adalah subprogram terakhir yang terdapat dalam program Door Alarm. Subprogram ini
diberi nama Update Number of People. Tujuan dari subprogram ini adalah menambahkan jumlah orang
dalam variabel jumlah_orang. Pada bagian ini Anda juga harus memperhatikan hubungan kabel-kabel
diantara blok-blok yang digunakan. Detail konfigurasi dari ketiga blok dalam subprogram ini dapat dilihat
pada Gambar 6-22, Gambar 6-23, dan Gambar 6-24.

Gambar 6-22. Subprogram Update Number of People - a.

BUKU ROBOTIKA 154


Cara untuk mengubah nilai jumlah orang yang melewati Door Alarm adalah dengan menambahkan 1
pada jumlah orang yang sebelumnya telah lewat. Hal pertama yang perlu dilakukan adalah membaca
nilai yang disimpan dalam variabel jumlah_orang. Hal ini dapat dilakukan dengan menggunakan blok
variabel dengan konfigurasi seperti yang terlihat pada Gambar 6-22. Nilai tersebut dibaca dan dialirkan
pada blok matematika untuk dilakukan penjumlahan. Konfigurasi blok tersebut dapat dilihat pada
Gambar 6-23. Hasil penjumlahan ini selanjutnya kembali disimpan dalam variabel jumlah_orang, hal ini
dapat dilakukan dengan membuat konfigurasi blok variabel seperti pada Gambar 6-24.

Gambar 6-23. Subprogram Update Number of People - b.

Gambar 6-24. Subprogram Update Number of People - c.

BUKU ROBOTIKA 155


6.2 Robot Hammer

Gambar 6-25. Alur robot Hammer.

Hammer car robot diprogram menggunakan software NXT-G Education yang merupakan software
bawaan dari LEGO Mindstorms NXT. Pemrograman dilakukan dengan menghubungkan bagian-bagian
terkecil yang disebut blok. Selanjutnya, masing-masing blok dikonfigurasi sesuai dengan algoritma yang
telah ditentukan. Program ini mengasumsikan robot memiliki:
Sensor sentuh pada Port 1.
Sensor suara pada Port 2.
Sensor cahaya pada Port 3.
Sensor ultrasonik pada Port 4.
Motor untuk jalan pada Port B dan Port C.
Motor untuk mengerakkan pemukul pada Port A.

BUKU ROBOTIKA 156


6.2.1 Kalibrasi Sensor Cahaya

Bagian pertama dari program hammer car robot adalah kalibrasi sensor cahaya. Blok calibrate_light di
atas merupakan rangkaian dari beberapa blok yang menjalankan fungsi kalibrasi terhadap sensor
cahaya. Untuk melihatnya bisa dilakukan dengan meng-klik dua kali di blok tersebut.

Gambar 6-26. Kalibrasi sensor cahaya.

Di bawah ini adalah rangkaian utuh dari blok kalibrasi sensor cahaya tersebut. Blok ini memberikan
petunjuk kepada pengguna robot bagaimana mengkalibrasi sensor cahaya. Kalibrasi dilakukan dua kali,
yaiut kalibrasi nilai minimum dan kalibrasi nilai maksimum sensor cahaya. Proses ini dimulai dengan
pengaktifan sensor cahaya sehingga pengguna dapat melakukan kalibrasi dengan mudah. Selanjutnya
blok ini akan menampilkan pesan di layar NXTBrick bahwa sekarang program akan melakukan kalibrasi
terhadap nilai minimun untuk sensor cahay dan untuk melakukannya, maka pengguna harus menekan
tombol oranye pada NXTBrick.

BUKU ROBOTIKA 157


Gambar 6-27. Robot Hammer Kalibrasi 1.

Blok program di bawah ini berfungsi untuk menentukan nilai minimum cahaya yang digunakan sebagai
dasar dalam kalibrasi cahaya. Sensor cahaya ini sendiri terhubung ke NXTBrick melalui port 3. Pada blok
ini juga dapat dilihat bahwa nilai minimum yang digunakan oleh sensor cahaya adalah 50. Pengguna
dapat mengganti nilai ini sesuai dengan keadaan lingkungan untuk meningkatkna presisi sensor cahaya.

Gambar 6-28. Kalibrasi 1 - A.

Blok-blok program pada gambar 6-29 sampai 6-31 berfungsi untuk menampilkan pesan ke layar
NXTBrick. Pesan ini merupakan informasi kepada pengguna bahwa program sekarang akan melakukan

BUKU ROBOTIKA 158


kalibrasi terhadap nilai minimum untuk sensor cahaya. Secara spesifik, blok-blok ini akan menampikan
pesan Calibrate Minimum Value of Light Sensor

Gambar 6-29. Kalibrasi 1 - B.

Gambar 6-30. Kalibrasi 1 - C.

Gambar 6-31. Kalibrasi 1-D.

Blok-blok program pada gambar 6-32 dan 6-33 akan memberikan instruksi kepada pengguna untuk
menekan tombol oranye pada NXTBrick agar proses kalibrasi dapat dimulai. Pesan Press Orange
Button akan muncul di layar NXTBrick.

BUKU ROBOTIKA 159


Gambar 6-32. Kalibrasi 1-E.

Gambar 6-33. Kalibrasi 1-F.

Blok program di bawah ini akan membuat robot menunggu (tidak melakukan apapun) sebelum tombol
oranye pada NXTBrick ditekan oleh pengguna.

Gambar 6-34. Kalibrasi 1-G.

Selanjutnya, gambar di bawah ini merupakan sub-rangkaian program lanjutan yang menyusun blok
calibrate_light. Potongan program ini dijalankan ketika pengguna telah menekan tombol oranye pada
NXTBrick. Ketika pengguna menekan tombol, maka program akan mengkalibrasi nilai minimum untuk
sensor cahaya sambil mengeluarkan suara Good. Setelah itu, program akan menampilkan pesan di
layar NXTBrick yang menginformasikan bahwa program sedang melakukan kalibrasi. Selain itu, layar

BUKU ROBOTIKA 160


NXTBrick juga akan menampilkan instruksi kepada pengguna agar menekan tombol oranye untuk
melakukan kalibrasi satu kali lagi, yaitu mengkalibrasi nilai maksimum sensor cahaya.

Gambar 6-35. Robot Hammer - Kalibrasi 2.

Blok program pada gambar di bawah ini berguna untuk melakukan kalibrasi nilai minimum sensor
cahaya. Sensor cahaya ini sendiri terhubung ke NXTBrick melalui port 3.

Gambar 6-36. Kalibrasi 2-A

Ketika melakukan kalibrasi nilai minimum sensor cahaya, program juga akan secara paralel
mengeluarkan bunyi Good. Blok program pada gambar di bawah ini bertugas untuk melakukan hal
tersebut. Volume suara di set maksimal yaitu sebesar 100.

BUKU ROBOTIKA 161


Gambar 6-37. Kalibrasi 2-B.

Blok-blok program pada gambar 6-38 sampai 6-40 berguna untuk menginformasikan pengguna bahwa
robot sedang melakukan kalibrasi nilai minimal sensor cahaya. Pesan Calibrate Maximum Value of
Light Sensor ditampilkan pada layar NXTBrick.

Gambar 6-38. Kalibrasi 2-C.

Gambar 6-39. Kalibrasi 2-D.

BUKU ROBOTIKA 162


Gambar 6-40. Kalibrasi 2- E.

Blok-blok program pada gambar 6-41 dan 6-42 berguna untuk memberi instruksi kepada pengguna
untuk menekan tombol oranye pada NXTBrick untuk melakukan proses kalibrasi satu kali lagi, yaitu
kalibrasi nilai maksimum sensor cahaya. Blok-blok ini akan menampilkan pesan Press Orange Button
pada layar NXTBrick

Gambar 6-41. Kalibrasi 2-F.

Gambar 6-42. Kalibrasi 2-G.

Blok program pada gambar 6-43 dan 6-44 di bawah ini berguna untuk melakukan kalibrasi nilai
maximum sensor cahaya. Ketika melakukan kalibrasi nilai maximum sensor cahaya, program juga akan
secara paralel mengeluarkan bunyi Good Job. Volume suara di set maksimal yaitu sebesar 100.

BUKU ROBOTIKA 163


Gambar 6-43. Kalibrasi 2-H.

Gambar 6-44. Kalibrasi 2-I.

6.2.2 Deklarasi Variabel jumlah_benda

Blok program di bawah ini berfungsi untuk mendeklarasikan variabel jumlah benda. Variable ini memiliki
tipe Number dan diset dalam mode write.

Gambar 6-45. Deklarasi variable jumlah_benda.

BUKU ROBOTIKA 164


6.2.3 Mengatur Jumlah Benda

Pada saat robot dijalankan, blok program ini memberikan kesempatan kepada pengguna untuk
mengatur jumlah benda yang harus dicari oleh hammer car robot.

Gambar 6-46. Blok prompt_benda.

Seperti blok program calibrate_light, prompt_benda juga merupakan blok yang dibuat dari
penggabungan beberapa blok program sederhana dengan tujuan menyelesaikan masalah spesifik, yaitu
mengatur jumlah benda yang harus dicari oleh robot.

Pada sub-rangkaian yang pertama, program akan menampilkan pesan di layar yang memberi instruksi
kepada pengguna untuk menentukan jumlah rintangan yang harus dihindari oleh robot. Pesan
Tentukan Jumlah Rintangan akan ditampilkan di layar NXTBrcik. Selain itu, sub-rangkaian ini akan
menampilkan beberapa gambar di layar.

Gambar 6-47. prompt_benda 1.

BUKU ROBOTIKA 165


Proses ini diawali dengan menampilkan pesan Tentukan Jumlah Rintangan pada layar NXTBrick.
Konfigurasi untuk menampilkan display ini dapat dilihat pada gambar 6-48 dan gambar 6-49

Gambar 6-48. prompt_benda 1-A.

Gambar 6-49. prompt_benda 1-B.

Selanjutnya, program ini akan menampilkan beberapa gambar / simbol pada layar NXtBrick. simbol-
simbol tersebut adalah point-left, power, dan point-right, seperti yang berturut-turut ditunjukkan oleh
gambar 6-50 sampai gambar 5-52.

Gambar 6-50. prompt_benda 1-C.

BUKU ROBOTIKA 166


Gambar 6-51. prompt_benda 1-D.

Gambar 6-52. prompt_benda 1-E.

Pada sub-rangkaian yang kedua, program akan membaca nilai jumlah benda yang telah diberikan
sebelumnya oleh pengguna melalui sub-rangkaian yang pertama. Nilai jumlah benda ini selanjutnya
akan ditampilkan pada layar NXTBrick.

Gambar 6-53. prompt_benda 2.

BUKU ROBOTIKA 167


Blok pada gambar 6-54 dibawah ini akan melakukan looping terus menerus. Sedangkan pada gambar 6-
55, variabel jumlah_benda akan ditulis.

Gambar 6-54. prompt_benda 2- A.

Gambar 6-55. prompt_benda 2-B.

Gambar 6-56. prompt_benda 2-C.

Blok program pada gambar di bawah ini akan menampilkan angka pada layar NXTBrick yang merupakan
nilai dari variable jumlah_benda.

BUKU ROBOTIKA 168


Gambar 6-57. prompt_benda 2-D.

Pada sub-rangkaian yang ketiga, merupakan fungsi yang mengatur pengurangan nilai dari variable
jumlah_benda. Jika pengguna menekan tombol panah ke kiri pada NXTBrick, maka nilai dari variable
jumlah_benda akan dikurangi 1. Pada sub-rangkaian ini juga harus dilakukan pengecekan apakah nilai
jumlah_benda lebih besar 1 ketika melakukan proses subtraksi. Hal ini agar nilai variable jumlah_benda
tidak pernah bernilai 0 atau negatif.

Gambar 6-58. prompt_benda 3

Hal yang pertama dilakukan adalah memeriksa apakah tombol panah ke kiri (left button) pada NXTBrick
ditekan. Konfigurasi untuk proses ini dapat dilihat pada gambar 6-59 di bawah ini.

BUKU ROBOTIKA 169


Gambar 6-59. prompt_benda 3- A.

Jika left button pada NXTBrick ditekan, maka selanjutnya program akan membaca nilai dari variable
jumlah_benda. Jika nilainya lebih besar dari 1, maka rangkaian blok ini akan menghasilkan nilai true.
Keseluruhan konfigurasi untuk proses ini dapat dilihat pada gambar 6-60 sampai 6-62.

Gambar 6-60. prompt_benda 3-B.

Gambar 6-61. prompt_benda 3-C.

Gambar 6-62. prompt_benda 3-D.

BUKU ROBOTIKA 170


Jika benar bahwa nilai dari variable jumlah_benda lebih besar dari 1, maka variable akan dibaca nilainya,
kemudian akan dikurangi 1. Selanjutnya, nilai hasil subtraksi ini akan di-write ke variable jumlah-benda.
Konfigurasi-konfigurasi untuk proses ini dapat dilihat pada gambar 6-63 sampai 6-65.

Gambar 6-63. prompt_benda 3-E.

Gambar 6-64. prompt_benda 3-F.

Gambar 6-65. prompt_benda 3-G.

Pada sub-rangkaian yang keempat, merupakan fungsi yang mengatur penambahan nilai dari variable
jumlah_benda. Jika pengguna menekan tombol panah ke kanan (right button) pada NXTBrick, maka nilai
dari variable jumlah_benda akan ditambah 1. Nilai maksimum variable jumlah_benda pada program kali
ini adalah 8 sehingga pada sub-rangkaian ini juga harus dilakukan pengecekan apakah nilai
jumlah_benda lebih kecil 8 ketika sebelum proses penambahan. Nilai maksimum dari variable
jumlah_benda ini dapat diatur oleh pengguna sesuka hati.

BUKU ROBOTIKA 171


Gambar 6-66. prompt_benda 4.

Hal yang pertama dilakukan adalah memeriksa apakah tombol panah ke kanan (right button) pada
NXTBrick ditekan. Konfigurasi untuk proses ini dapat dilihat pada gambar 6-59 di bawah ini.

Gambar 6-67. prompt_benda 4-A.

Jika left button pada NXTBrick ditekan, maka selanjutnya program akan membaca nilai dari variable
jumlah_benda. Jika nilainya lebih kecil dari 8, maka rangkaian blok ini akan menghasilkan nilai true.
Keseluruhan konfigurasi untuk proses ini dapat dilihat pada gambar 6-68 sampai 6-70.

BUKU ROBOTIKA 172


Gambar 6-68. prompt_benda 4- B.

Gambar 6-69. prompt_benda 4-C.

Gambar 6-70. prompt_benda 4-D.

Jika benar bahwa nilai dari variable jumlah_benda lebih kecil dari 8, maka variable akan dibaca nilainya,
kemudian akan ditambah 1. Selanjutnya, nilai hasil penambahan ini akan di-write ke variable jumlah-
benda. Konfigurasi-konfigurasi untuk proses ini dapat dilihat pada gambar 6-71 sampai 6-73.

Gambar 6-71. prompt_benda 4-E.

BUKU ROBOTIKA 173


Gambar 6-72. prompt_benda 4-F.

Gambar 6-73. prompt_benda 4-G.

Gambar 6-74. prompt_benda 4-H.

Demikian rangkaian prompt_benda yang digunakan oleh hammer car robot untuk meminta persetujuan
pengguna dalam mengatur jumlah benda yang akan dihadapinya. Selanjutnya, bagian program berikut
akan menampilkan Press Touch Sensor to Run Robot serta menunggu respon sentuhan pada sensor
sentuh.

6.2.4 Menampilkan Petunjuk dan Menunggu Sentuhan

Rangkaian di bawah ini berguna untuk menampilkan pesan kepada pengguna dan menunggu sentuhan.

BUKU ROBOTIKA 174


Gambar 6-75. Menunggu sentuhan.

Gambar 6-76.Menunggu sentuhan A.

Proses dimulai ketika program menampilkan instruksi kepada pengguna untuk menekan touch sensor
agar robot dapat berjalan. Konfigurasi pada gambar 6-77 sampai 6-79 akan menampilkan pesan Press
Touch Sensor to Run Robot pada layar NXTBrick.

Gambar 6-77.Menunggu sentuhan B.

Gambar 6-78.Menunggu sentuhan C.

BUKU ROBOTIKA 175


Gambar 6-79.Menunggu sentuhan D.

Selanjutnya program akan menunggu sampai touch sensor disentuh kemudian akan mereset kembali
layar NXTBrick, seperti yang diperlihatkan pada konfigurasi di gambar 6-80 dan gambar 6-81 di bawah ini.

Gambar 6-80.Menunggu sentuhan E.

Gambar 6-81.Menunggu sentuhan F.

6.2.5 Pesan dan Nada Persiapan

Potongan program berikut memberikan pesan HAMMER BOT READY sambil diiringi nada attention,
lalu Lets Go sambil diiringi nada Yes.

BUKU ROBOTIKA 176


Gambar 6-82. Pesan dan nada persiapan.

Progam diawali dengan pesan HAMMER BOT READY yang ditampilkan pada layar NXTBrick.
Konfigurasi dari display ini dapat dilihat pada gambar 6-83 dan gambar 6-84.

Gambar 6-83. Pesan dan nada persiapan A.

Gambar 6-84. Pesan dan nada persiapan B.

Kemudian, program akan mengeluarkan suara Attention seperti yang diperlihatkan pada konfigurasi di
gambar 6-85. Dapat dilihat bahwa volume untuk suara diset menjadi 75.

BUKU ROBOTIKA 177


Gambar 6-85. Pesan dan nada persiapan C.

Selanjutnya program akan menunggu selama 1 detik, kemudian akan menampilkan pesan Let`s Go dan
mengeluarkan suara Yes seperti yang diperlihatkan berturut-turut pada konfigurasi-konfigurasi di
gambar 6-86 sampai gambar 6-88

Gambar 6-86. Pesan dan nada persiapan D.

Gambar 6-87. Pesan dan nada persiapan E.

BUKU ROBOTIKA 178


Gambar 6-88. Pesan dan nada persiapan F.

6.2.6 Setting variabel berhenti dan counter

Potongan program berikut berfungsi untuk membuat variable berhenti dan variable counter. Variabel
berhenti memiliki tipe logic sedangkan variable counter bertipe Number. Konfigurasi untuk kedua
variable ini dapat dilihat pada gambar 6-90 dan 6-91.

Gambar 6-89. Variabel berhenti dan counter.

Gambar 6-90. Variabel berhenti.

BUKU ROBOTIKA 179


Gambar 6-91. Variable counter.

6.2.7 Program Utama

Berikut ini merupakan program utama yang mengontrol Hammer car robot.

Gambar 6-92. Program Utama.

6.2.8 Mendeteksi dan Memukul Benda

Rangkaian program berikut ini berguna untuk mendeteksi dan memukul benda.

BUKU ROBOTIKA 180


Gambar 6-93. Program detect_n_hit 1.

Proses dimulai ketika sensor ultrasonik membaca nilai jarak benda yang ada di depannya apakah lebih
kecil dari 15. Sensor ultrasonik ini sendiri dihubungkan ke NXTBrick melalui port 4. Konfigurasi sensor
ultrasonik ini dapat dilihat pada gambar 6.94 berikut ini.

Gambar 6-94. detect_n_hit 1- A.

Jika nilai jarak benda di depan yang dibaca oleh sensor ultrasonik adalah di bawah 15, maka program
pertama-tama akan menampilkan gambar bomb pada layar NXTBrick seperti yang diperlihatkan pada
konfigurasi display gambar 6-95 di bawah ini.

Gambar 6-95. detect_n_hit 1-B.

BUKU ROBOTIKA 181


Selanjutnya, program akan menggerakkan Hammer yang digerakkan oleh motor yang terhubung ke
NXTBrick melalui port A. kekuatan dari motor ini diset maksimal yaitu sebesar 100. Sedangkan gerakan
yang dilakukan motor ini sendiri adalah senilai 90 derajat, disesuaikan dengan posisi dari hammer ini
terhadap objek yang akan dipukul. Konfigurasi motor ini dapat dilihat pada gambar 6-96 di bawah ini.

Gambar 6-96. detect_n_hit 1-C.

Setelah itu, program akan mengeluarkan bunyi Woops selama 1 detik dengan volume yang diset pada
nilai 75. Setelah itu, layar NXTBrick akan menampilkan tulisan Boom. Konfigurasi untuk proses ini dapat
dilihat pada gambar 6-97 sampai 6-99.

Gambar 6-97. detect_n_hit 1-D.

Gambar 6-98. detect_n_hit 1-E.

BUKU ROBOTIKA 182


Gambar 6-99. detect_n_hit 1-F.

Setelah memukul objek, program akan mengembalikan hammer ke posisi semula. Kekuatan dari motor
pada proses ini diset sebesar 60. Sedangkan gerakan yang dilakukan motor ini sendiri adalah senilai 90
derajat, namun dalam arah yang berlawanan dari proses memukul sebelumnya. Konfigurasi motor ini
dapat dilihat pada gambar 6-100 di bawah ini.

Gambar 6-100. detect_n_hit 1-G.

Kemudian, program akan mengeluarkan bunyi Watch Out dengan volume yang diset bernilai 100.
Setelah itu, motor penggerak hammer akan berhenti. Konfigurasi untuk proses-proses ini dapat dilihat
pada gambar 6-101 sampai 6-103.

Gambar 6-101. detect_n_hit 1-H.

BUKU ROBOTIKA 183


Gambar 6-102. detect_n_hit 1-I.

Gambar 6-103. detect_n_hit 1-J.

Selanjutnya, untuk setiap objek benda yang telah dipukul oleh hammer, nilai dari variable counter akan
ditambahkan 1. Mula-mula variabel counter akan di-read, seperti yang diperlihatkan pada gambar 6-
105. Selanjutnya, akan dilakukan proses penambahan dengan 1, seperti yang diperlihatkan pada gambar
6-106. Nilai hasil penjumlahan yang diperoleh ini selanjutnya akan di-write ke variable counter, seperti
yang ditunjukkan oleh gambar 6.107.

Gambar 6-104. Program detect_n_hit 2.

BUKU ROBOTIKA 184


Gambar 6-105. detect_n_hit 2-K.

Gambar 6-106. detect_n_hit 2-L.

Gambar 6-107. detect_n_hit 2-M.

6.2.9 Kontrol Pergerakan Benda

Hammer car robot bergerak ke depan hingga sensor cahaya mendeteksi adanya garis sebagai tanda
bahwa ia akan keluar dari medan yang seharusnya. Jadi, apabila sensor cahaya mendeteksi keberadaan
garis, maka hammer robot akan digerakkan mundur dua putaran roda. Kemudian, memilih secara
random antara belok kiri atau belok kanan.

BUKU ROBOTIKA 185


Gambar 6-108. Program moving.

Blok program di bawah ini berfungsi untuk menggerakkan motor-motor robot lurus ke depan. Motor-
motor ini dihubungkan ke NXTBrick melalui port B dan port C. Sedangkan kekuatan dari masing-masing
motor ini adalah 60.

Gambar 6-109. moving A.

Blok program di bawah ini berfungsi untuk mendeteksi adanya garis sebagai tanda bahwa robot akan
keluar dari medan yang seharusnya. Sensor cahaya yang digunakan sebagai pendeteksi dihubungkan ke
NXTBrick melalui port 3.

Gambar 6-110. Detektor cahaya.

BUKU ROBOTIKA 186


Blok program di bawah ini berfungsi untuk menggerakkan motor-motor robot mundur ke belakang.
Kekuatan dari masing-masing motor ini adalah 60. Gerakan mundur yang dilakukan robot adalah
sebanyak 2 rotasi bannya.

Gambar 6-111. moving C.

Gambar 6-112. moving D.

Blok program pada gambar 6-113 dan 6-114 berfungsi untuk mengambil sebuah nilai random yang akan
menentukan apakah robot akan berbelok ke kiri atau berbelok ke kanan. Nilai random yang akan
dihitung adalah antara 0 atau 1.

Gambar 6-113. Do random.

BUKU ROBOTIKA 187


Gambar 6-114. moving F.

Blok program di bawah ini berfungsi untuk membelokkan gerakan robot sesuai dengan nilai random
yang telah dihasilkan dari blok program sebelumnya.

Gambar 6-115. moving G.

6.2.10 Cek dan Update Status Variabel jumlah_benda dan berhenti

Rangkaian berikut ini berguna untuk melakukan proses pengecekan dan update terhadap variable-
variable yang telah dilakukan sebelumnya.

Gambar 6-116. Program cek status.

BUKU ROBOTIKA 188


Mula-mula, program akan membaca nilai variable counter dan variable jumlah_benda seperti yang
diperlihatkan konfigurasi-konfigurasi pada gambar 6-117 dan 6-118.

Gambar 6-117. cek status A.

Gambar 6-118. cek status B.

Jika nilai dari variable counter lebih kecil dari variable jumlah_benda atau sensor suara menangkap nilai
yang lebih besar dari 50, maka variable berhenti akan diset menjadi false. Proses perbandingan antara
variable jumlah_benda dan variable counter dapat dilihat pada konfigurasi di gambar 6-119 di bawah ini.

Gambar 6-119. cek status C.

BUKU ROBOTIKA 189


Konfigurasi sensor suara pada gambar di bawah ini berguna untuk memeriksa apakah suara yang
diterima oleh sensor suara robot ini lebih besar dari 50 atau tidak.

Gambar 6-120. cek status D.

Konfigurasi pada gambar 6-121 di bawah ini menggambarkan proses pengecekan terhadap dua nilai
yang telah diperoleh dari blok-blok sebelumnya (apakah counter < jumlah_benda dan suara yang
ditangkap sensor suara > 50). Kedua nilai ini akan dioperasikan menggunakan operator logic or. Jika
salah satu atau kedua nilai ini benar, maka variable berhenti akan diset bernilai false, seperti yang
diperlihatkan pada gambar 6-122.

Gambar 6-121. cek status E.

BUKU ROBOTIKA 190


Gambar 6-122. cek status F.

BUKU ROBOTIKA 191


6.3 Machine Gun

Machine gun robot diprogram menggunakan software NXT-G Education yang merupakan software
bawaan dari LEGO Mindstorms NXT. Pemrograman dilakukan dengan menghubungkan bagian-bagian
terkecil yang disebut blok. Selanjutnya, masing-masing blok dikonfigurasi sesuai dengan algoritma yang
telah ditentukan. Program ini mengasumsikan robot memiliki:
Sensor sentuh pada Port 1.
Motor untuk mengerakkan peluru pada Port A.

6.3.1 Indikator safety mode

Potongan program berikut berfungsi untuk memberikan tanda bahwa machine gun robot dalam
mode safety. Layar pada NXTBrick akan menampilkan pesan safety on. Selain itu, layar juga
memberitahukan pengguna bagaimana keluar dari mode safety yaitu dengan menekan tombol
oranye. Mode safety juga ditandai dengan bunyi nada F.

Gambar 6-123. Indikator safety mode

Blok program pada gambar 6-124. berfungsi untuk menampilkan pesan safety on pada layar NXTBrick.

BUKU ROBOTIKA 192


Gambar 6-124. Sistem message-1

Blok program pada gambar 6-125 dan 6-126 berfungsi untuk memberitahukan pengguna bagaimana
cara keluar dari mode safety, yaitu dengan menekan tombol oranye pada NXTBrick. Kedua blok ini akan
menampilkan pesan Press orange to release safety pada layar NXTBrick.

Gambar 6-125. System message-2

Gambar 6-126. System message-3

BUKU ROBOTIKA 193


Blok program di bawah ini berfungsi untuk mengeluarkan bunyi nada F selama 0,1 detik. Volume bunyi
diset menjadi maksimal yaitu 100.

Gambar 6-127. Sound message

6.3.2 Perubahan status dari safety mode ke firing mode

Potongan program di bawah ini berguna untuk merubah status machine gun robot dari mode safety
ke mode firing. Hal yang pertama dilakukan adalah memeriksa apakan tombol oranye pada
NXTBrick ditekan. Jika telah ditekan, maka layar NXTBrick akan menampilkan pesan bahwa
machine gun robot telah siap untuk menembak, dengan menamplikan pesan ready to fire pada
layar. Selain itu, robot ini juga memberitahukan bagaimana kembali ke mode safety yaitu dengan
kembali menekan tombol oranye pada NXTBrick. Selain itu, potongan program di bawah ini juga
berguna untuk mengeluarkan bunyi nada C sebanyak 2 kali dengan jeda antara kedua bunyi selama
0,1 detik.

Gambar 6-128. Perubahan status dari safety mode ke firing mode

BUKU ROBOTIKA 194


Blok program berikut ini berfungsi untuk memeriksa apakah tombol oranye pada NXTBrick telah ditekan.

Gambar 6-129. Check orange button

Blok program berikut berguna untuk memberitahukan pengguna bahwa machine gun robot telah siap
untuk menembak. Blok ini akan menampilkan pesan Ready to Fire pada layar NXTBrick.

Gambar 6-130. System message-1

Blok program pada gambar 6-131 dan 6-132 berguna untuk memberitahukan user bagaimana kembali
ke mode safety, yaitu dengan menekan tombol oranye pada NXTBrick. Kedua blok ini akan menampilkan
pesan Press orange to set safety mode pada layar NXTBrick.

BUKU ROBOTIKA 195


Gambar 6-131. System message-2

Gambar 6-132. System message-3

Blok program di bawah ini berfungsi untuk mengeluarkan bunyi nada C selama 0,1 detik. Volume bunyi
diset menjadi maksimal yaitu 100.

Gambar 6-133. Sound message-1

BUKU ROBOTIKA 196


Blok program di bawah ini berguna sebagai delay di antara kedua bunyi nada C yang akan dibunyikan.
Delay ini berlangsung selama 0,1 detik.

Gambar 6-134. Timer

Blok program di bawah ini berfungsi untuk mengeluarkan bunyi nada C selama 0,1 detik. Volume bunyi
diset menjadi maksimal yaitu 100.

Gambar 6-135. Message sound-2

6.3.3 Menggerakkan motor untuk mulai menembak

Potongan program di bawah ini akan membuat machine gun robot menembak. Hal yang pertama
dilakukannya adalah memeriksa apakah touch sensor sedang ditekan. Jika benar, maka motor dari robot
ini akan bergerak tak terhingga sampai touch sensor tidak ditekan lagi.

BUKU ROBOTIKA 197


Gambar 6-136. Menggerakkan motor untuk menembak

Blok program di bawah ini akan memeriksa apakah touch sensor sedang ditekan. Touch sensor sendiri
dihubungkan ke NXTBrick melalui port 1.

Gambar 6-137. Check touch sensor

Blok program di bawah ini akan menyebabkan motor dari machine gun robot bergerak. Motor ini
dihubungkan ke NXTBrick melalui port A. Power dari motor diset maksimal yaitu 100. Pergerakan motor
dilakukan hanya jika touch sensor ditekan.

BUKU ROBOTIKA 198


Gambar 6-138. Menggerakkan motor

Blok program di bawah ini akan menyebabkan motor dari machine gun robot berhenti bergerak. Motor
akan berhenti hanya jika touch sensor tidak lagi ditekan.

Gambar 6-139. Menghentikan gerakan motor

Blok program pada gambar 6-140 dan 6-141 berfungsi sebagai trigger yang akan melakukan looping
terus menerus sehingga membuat robot mengulangi lagi blok program pada gambar 6-137, 6-138, dan
6-139. Trigger untuk menggerakkan untuk melakukan tembakan adalah tombol oranye yang ada pada
NXTBrick. Looping hanya akan berhenti ketika tombol oranye pada NXTBrick tidak lagi ditekan.

BUKU ROBOTIKA 199


Gambar 6-140. Check orange button

Gambar 6-141. Loop the firing

BUKU ROBOTIKA 200


Bagaimana buku ini disusun?

Penyusunan buku ini terdiri dari beberapa bab sebagai berikut:

Pada bab 1, penulis akan mengajak pembaca melihat perkembangan dunia robotika, mulai dari sejarah
terciptanya robot pertama kali sampai perkembangan robot di tanah air pada masa sekarang ini. Bab
selanjutnya, pembaca akan diperkenalkan dengan Lego Mindstorm NXT yang menjadi topik utama buku
ini. Pada bab 3, Lego Mindstorm NXT akan dijelaskan lebih lanjut yaitu perihal cara perakitannya yang
akan mengambil contoh studi kasus pada robot door alarm, car hammer, dan . Bab 4 akan menjelaskan
cara kontrol dan pemrograman robot Lego Mindstorm NXT. Bab selanjutnya, penulis akan mengajak
pembaca mengenal pemrograman dengan NXT-G. Pada bab terakhir, kita akan melihat bagaimana
pembuatan program dengan NXT-G yang akan mengontrol robot door alarm, car hammer, dan yang
telah kita rakit sebelumnya pada bab 3.

BUKU ROBOTIKA 201


Daftar Pustaka

1. Andre T, Ferry H, Maulana IT, Salman S. Laporan Tugas Robotika: LEGO Mindstroms NXT
Hammer Car Robot. Fakultas Ilmu Komputer, Universitas indonesia. 2008.
2. Lab. Computational Intellegence, Robotic Division. Modul Pelatihan CSUI Robot Competition
LEGO Mindstroms NXT. Fakultas Ilmu Komputer, Universitas Indonesia. 2008.
3. Lab. Computational Intellegence, Robotic Division. Modul Pelatihan CSUI Robot Competition
Perangkat Lunak LEGO Mindstroms Education NXT. Fakultas Ilmu Komputer, Universitas
Indonesia. 2009.
4. http://en.wikipedia.org/wiki/Robot.
5. http://superpedia.rumahilmuindonesia.net/index.php?title=Al_Jazari.
6. http://en.wikipedia.org/wiki/Leonardo_da_Vinci.
7. http://en.wikipedia.org/wiki/Hisashige_Tanaka.
8. http://www.superstock.com/stock-photos-images/1035-978.
9. www.davidbuckley.net.
10. http://en.wikipedia.org/wiki/George_Devol.
11. http://whatyamazakireads.files.wordpress.com/2008/06/qrio_aibo.jpg.
12. http://www.tik.ee.ethz.ch/tik/education/lectures/PPS/mindstorms/sa_nxt/index.php?page=test
s_us.
13. http://mindstorms.lego.com/eng/Overview/Interactive_Servo_Motors.aspx

BUKU ROBOTIKA 202

Anda mungkin juga menyukai