Académique Documents
Professionnel Documents
Culture Documents
A-1
Universitas Sumatera Utara
A-2
Universitas Sumatera Utara
Lampiran 2 ; ==================================== ; = Program_Robot_Penghindar_Dinding = ; ==================================== Inisialisasi: Motor_Kanan_1 Motor_Kanan_2 Motor_Kiri_1 Motor_Kiri_2 Sensor_Samping_Kiri_Jauh Sensor_Samping_Kiri_Dekat Sensor_Depan_Kiri_Jauh Sensor_Depan_Kiri_Dekat Sensor_Depan_Kanan_Jauh Sensor_Depan_Kanan_Dekat Sensor_Samping_Kanan_Jauh Sensor_Samping_Kanan_Dekat bit bit bit bit bit bit bit bit bit bit bit bit p2.0 p2.1 p2.2 p2.3 p0.0 p0.1 p0.2 p0.3 p0.4 p0.5 p0.6 p0.7
A-3
Universitas Sumatera Utara
A-4
Universitas Sumatera Utara
A-5
Universitas Sumatera Utara
Cek_14:
A-6
Universitas Sumatera Utara
A-7
Universitas Sumatera Utara
A-8
Universitas Sumatera Utara
Maju:
A-9
Universitas Sumatera Utara
Acall Motor_Maju Acall Motor_Diam Acall Motor_Diam Acall Motor_Diam Acall Motor_Diam Acall Motor_Maju Ret
Stop: Mov r7,#10 Stop_1: Mov r6,#255 Acall Motor_Stop Djnz r6,$ Djnz r7,Stop_1 Ret
Motor_Stop: Setb Motor_Kanan_1 Setb Motor_Kanan_2 Setb Motor_Kiri_1 Setb Motor_Kiri_2 Mov r2,#100 Djnz r2,$ Ret
A-10
Universitas Sumatera Utara
Motor_Diam: Clr Motor_Kanan_1 Clr Motor_Kanan_2 Clr Motor_Kiri_1 Clr Motor_Kiri_2 Mov r2,#100 Djnz r2,$ Ret
Motor_Maju: Setb Motor_Kanan_1 Clr Motor_Kanan_2 Setb Motor_Kiri_1 Clr Motor_Kiri_2 Mov r2,#255 Djnz r2,$ Ret
Motor_Kanan: Clr Motor_Kanan_1 Setb Motor_Kanan_2 Setb Motor_Kiri_1 Clr Motor_Kiri_2 Mov r2,#255
A-11
Universitas Sumatera Utara
Motor_Kiri: setb Motor_Kanan_1 Clr Motor_Kanan_2 Clr Motor_Kiri_1 Setb Motor_Kiri_2 Mov r2,#255 Djnz r2,$ Ret
Putar_Kanan_90_Derajat: Mov r3,#6 Kanan_90: Mov r4,#100 Kan_90: Acall Motor_Kanan Djnz r4,Kan_90 Djnz r3,Kanan_90 Ret
A-12
Universitas Sumatera Utara
Mov r4,#100 Kir_90: Acall Motor_Kiri Djnz r4,Kir_90 Djnz r3,Kiri_90 Ret
Putar_Kanan_25_Derajat: Mov r3,#1 Kanan_25: Mov r4,#25 Kan_25: Acall Motor_Kanan Djnz r4,Kan_25 Djnz r3,Kanan_25 Ret Putar_Kiri_25_Derajat: Mov r3,#1 Kiri_25: Mov r4,#25 Kir_25: Acall Motor_Kiri Djnz r4,Kir_25 Djnz r3,Kiri_25 Ret
A-13
Universitas Sumatera Utara
Program di atas merupakan program robot pengikut garis yang diisikan ke dalam mikrokontroler AT89S51. Dari program dapat dijelaskan sebagai berikut: Motor_Kanan_1 bit p2.0 ... Sensor_Samping_Kanan_Dekat bit p0.7 Menjelaskan bahwa pada port 2.0 adalah Motor_Kanan_1 hingga port 0.7 adalah Sensor_Samping_Kanan_Dekat (berfungsi sebagai pengenalan port). Start: Merupakan sebuah Rutin. Mov p0,#0ffh Menjelaskan bahwa mikrokontroler diperintahkan untuk mengisikan port 0 dengan harga 0ff heksadesimal. Nilai ini diberikan untuk memberikan kondisi high (11111111) semuanya pada port 0. Mov p2,#00h Menjelaskan bahwa mikrokontroler diperintahkan untuk mengisikan port 2 dengan harga 00 heksadesimal. Nilai ini diberikan untuk memberikan kondisi high (00000000) semuanya pada port 2. Sjmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Main: Merupakan sebuah Rutin. Acall Maju Perintah Acall Maju digunakan untuk memanggil subrutin Maju dan melaksanakan perintah yang ada pada subrutin Maju tersebut. Subrutin ini berfungsi untuk memerintahkan robot bergerak maju. Mov r0,p0 Menjelaskan bahwa mikrokontroler diperintahkan
untuk mengisikan harga digital yang ada pada port 0 kedalam register 0.
A-14
Universitas Sumatera Utara
Cjne
r0,#0beh,Cek_1
diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0beh, jika harga register 0 sama dengan 0beh maka mikrokontroler akan melaksanakan perintah dibawahnya yaitu maju. Tetapi jika harga r0 tidak sama dengan 0beh, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_1. Acall Maju Perintah Acall Maju digunakan untuk memanggil subrutin Maju dan melaksanakan perintah yang ada pada subrutin Maju tersebut. Subrutin ini berfungsi untuk memerintahkan robot bergerak maju. Sjmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_1: Merupakan sebuah subrutin. Cjne r0,#0fch,Cek_2 Menjelaskan bahwa mikrokontroler
diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0fch, jika harga register 0 sama dengan 0fch maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0fch, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_2. Acall Putar_Kanan_25_Derajat digunakan untuk Perintah Acall subrutin
Putar_Kanan_25_Derajat
memanggil
Putar_Kanan_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kanan_25_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekanan 25 derajat.
A-15
Universitas Sumatera Utara
Sjmp
Main
untuk lompat ke rutin Main. Cek_2: Merupakan sebuah subrutin. Cjne r0,#0bch,Cek_3 Menjelaskan bahwa mikrokontroler
diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0bch, jika harga register 0 sama dengan 0bch maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0bch, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_3. Acall Putar_Kanan_25_Derajat digunakan untuk Perintah Acall subrutin
Putar_Kanan_25_Derajat
memanggil
Putar_Kanan_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kanan_25_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekanan 25 derajat. Sjmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_3: Merupakan sebuah subrutin. Cjne r0,#3fh,Cek_4 Menjelaskan bahwa mikrokontroler
diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 3fh, jika harga register 0 sama dengan 3fh maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 3fh, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_4.
A-16
Universitas Sumatera Utara
Acall
Perintah
Acall subrutin
Putar_Kiri_25_Derajat
memanggil
Putar_Kiri_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kiri_25_Derajat tersebut. Subrutin ini berfungsi untuk
memerintahkan robot berputar kekiri 25 derajat. Sjmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_4: Merupakan sebuah subrutin. Cjne r0,#3eh,Cek_5 Menjelaskan bahwa mikrokontroler
diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 3eh, jika harga register 0 sama dengan 3eh maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 3eh, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_5. Acall Putar_Kiri_25_Derajat digunakan untuk Perintah Acall subrutin
Putar_Kiri_25_Derajat
memanggil
Putar_Kiri_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kiri_25_Derajat tersebut. Subrutin ini berfungsi untuk
memerintahkan robot berputar kekiri 25 derajat. Sjmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_5: Merupakan sebuah subrutin. Cjne r0,#0aah,Cek_6 Menjelaskan bahwa mikrokontroler
A-17
Universitas Sumatera Utara
dengan harga 0aah, jika harga register 0 sama dengan 0aah maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0aah, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_6. Acall Maju Perintah Acall Maju digunakan untuk memanggil subrutin Maju dan melaksanakan perintah yang ada pada subrutin Maju tersebut. Subrutin ini berfungsi untuk memerintahkan robot bergerak maju. Sjmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_6: Merupakan sebuah subrutin. Cjne r0,#0e8h,Cek_7 Menjelaskan bahwa mikrokontroler
diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0e8h, jika harga register 0 sama dengan 0e8h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0e8h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_7. Acall Maju Perintah Acall Maju digunakan untuk memanggil subrutin Maju dan melaksanakan perintah yang ada pada subrutin Maju tersebut. Subrutin ini berfungsi untuk memerintahkan robot bergerak maju. Sjmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_7: Merupakan sebuah subrutin. Cjne r0,#98h,Cek_8 Menjelaskan bahwa mikrokontroler
A-18
Universitas Sumatera Utara
dengan harga 98h, jika harga register 0 sama dengan 98h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 98h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_8. Acall Maju Perintah Acall Maju digunakan untuk memanggil subrutin Maju dan melaksanakan perintah yang ada pada subrutin Maju tersebut. Subrutin ini berfungsi untuk memerintahkan robot bergerak maju. Sjmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_8: Merupakan sebuah subrutin. Cjne r0,#2bh,Cek_9 Menjelaskan bahwa mikrokontroler
diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 2bh, jika harga register 0 sama dengan 2bh maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 2bh, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_9. Acall Maju Perintah Acall Maju digunakan untuk memanggil subrutin Maju dan melaksanakan perintah yang ada pada subrutin Maju tersebut. Subrutin ini berfungsi untuk memerintahkan robot bergerak maju. Sjmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_9: Merupakan sebuah subrutin. Cjne r0,#2ah,Cek_10 Menjelaskan bahwa mikrokontroler
A-19
Universitas Sumatera Utara
dengan harga 2ah, jika harga register 0 sama dengan 2ah maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 2ah, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_10. Acall Maju Perintah Acall Maju digunakan untuk memanggil subrutin Maju dan melaksanakan perintah yang ada pada subrutin Maju tersebut. Subrutin ini berfungsi untuk memerintahkan robot bergerak maju. Sjmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_10: Merupakan sebuah subrutin. Cjne r0,#0c2h,Cek_11 Menjelaskan bahwa mikrokontroler diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0c2h, jika harga register 0 sama dengan 0c2h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0c2h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_11. Acall Stop Perintah Acall Stop digunakan untuk memanggil subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti. Acall Putar_Kanan_90_Derajat digunakan untuk Perintah Acall subrutin
Putar_Kanan_90_Derajat
memanggil
Putar_Kanan_90_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kanan_90_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekanan 90 derajat.
A-20
Universitas Sumatera Utara
Sjmp
Main
untuk lompat ke rutin Main. Cek_11: Merupakan sebuah subrutin. Cjne r0,#0c0h,Cek_12 Menjelaskan bahwa mikrokontroler diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0c0h, jika harga register 0 sama dengan 0c0h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0c0h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_12. Acall Stop Perintah Acall Stop digunakan untuk memanggil subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti. Acall Putar_Kanan_90_Derajat digunakan untuk Perintah Acall subrutin
Putar_Kanan_90_Derajat
memanggil
Putar_Kanan_90_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kanan_90_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekanan 90 derajat. Sjmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_12: Merupakan sebuah subrutin. Cjne r0,#83h,Cek_13 Menjelaskan bahwa mikrokontroler
diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 83h, jika harga register 0 sama dengan 83h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga
A-21
Universitas Sumatera Utara
r0 tidak sama dengan 83h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_13. Acall Stop Perintah Acall Stop digunakan untuk memanggil subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti. Acall Putar_Kiri_90_Derajat digunakan untuk Perintah Acall subrutin
Putar_Kiri_90_Derajat
memanggil
Putar_Kiri_90_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kiri_90_Derajat tersebut. Subrutin ini berfungsi untuk
memerintahkan robot berputar kekiri 90 derajat. Sjmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_13: Merupakan sebuah subrutin. Cjne r0,#03h,Cek_14 Menjelaskan bahwa mikrokontroler
diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 03h, jika harga register 0 sama dengan 03h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 03h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_14. Acall Stop Perintah Acall Stop digunakan untuk memanggil subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti. Acall Putar_Kiri_90_Derajat digunakan untuk Perintah Acall subrutin
Putar_Kiri_90_Derajat
memanggil
A-22
Universitas Sumatera Utara
Putar_Kiri_90_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kiri_90_Derajat tersebut. Subrutin ini berfungsi untuk
memerintahkan robot berputar kekiri 90 derajat. Sjmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_14: Merupakan sebuah subrutin. Cjne r0,#0fh,Cek_15 Menjelaskan bahwa mikrokontroler
diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0fh, jika harga register 0 sama dengan 0fh maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0fh, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_15. Acall Stop Perintah Acall Stop digunakan untuk memanggil subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti. Acall Putar_Kiri_25_Derajat digunakan untuk Perintah Acall subrutin
Putar_Kiri_25_Derajat
memanggil
Putar_Kiri_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kiri_25_Derajat tersebut. Subrutin ini berfungsi untuk
memerintahkan robot berputar kekiri 25 derajat. Ljmp Main Menjelaskan bahwa mikrokontroler diperintahkan
A-23
Universitas Sumatera Utara
Cjne
r0,#2fh,Cek_16
diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 2fh, jika harga register 0 sama dengan 2fh maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 2fh, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_16. Acall Stop Perintah Acall Stop digunakan untuk memanggil subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti. Acall Putar_Kiri_25_Derajat digunakan untuk Perintah Acall subrutin
Putar_Kiri_25_Derajat
memanggil
Putar_Kiri_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kiri_25_Derajat tersebut. Subrutin ini berfungsi untuk
memerintahkan robot berputar kekiri 25 derajat. Ljmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_16: Merupakan sebuah subrutin. Cjne r0,#0f0h,Cek_17 Menjelaskan bahwa mikrokontroler diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0f0h, jika harga register 0 sama dengan 0f0h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0f0h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_17.
A-24
Universitas Sumatera Utara
Acall Stop Perintah Acall Stop digunakan untuk memanggil subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti.
Acall
Perintah
Acall subrutin
Putar_Kanan_25_Derajat
memanggil
Putar_Kanan_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kanan_25_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekanan 25 derajat. Ljmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_17: Merupakan sebuah subrutin. Cjne r0,#0f4h,Cek_18 Menjelaskan bahwa mikrokontroler diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0f4h, jika harga register 0 sama dengan 0f4h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0f4h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_18. Acall Stop Perintah Acall Stop digunakan untuk memanggil subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti. Acall Putar_Kanan_25_Derajat digunakan untuk Perintah Acall subrutin
Putar_Kanan_25_Derajat
memanggil
A-25
Universitas Sumatera Utara
subrutin Putar_Kanan_25_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekanan 25 derajat. Ljmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_18: Merupakan sebuah subrutin. Cjne r0,#0eh,Cek_19 Menjelaskan bahwa mikrokontroler
diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0eh, jika harga register 0 sama dengan 0eh maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0eh, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_19. Acall Stop Perintah Acall Stop digunakan untuk memanggil subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti. Acall Putar_Kiri_25_Derajat digunakan untuk Perintah Acall subrutin
Putar_Kiri_25_Derajat
memanggil
Putar_Kiri_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kiri_25_Derajat tersebut. Subrutin ini berfungsi untuk
memerintahkan robot berputar kekiri 25 derajat. Ljmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_19: Merupakan sebuah subrutin. Cjne r0,#0ah,Cek_20 Menjelaskan bahwa mikrokontroler
A-26
Universitas Sumatera Utara
dengan harga 0ah, jika harga register 0 sama dengan 0ah maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0ah, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_20. Acall Stop Perintah Acall Stop digunakan untuk memanggil subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti. Acall Putar_Kiri_25_Derajat digunakan untuk Perintah Acall subrutin
Putar_Kiri_25_Derajat
memanggil
Putar_Kiri_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kiri_25_Derajat tersebut. Subrutin ini berfungsi untuk
memerintahkan robot berputar kekiri 25 derajat. Ljmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_20: Merupakan sebuah subrutin. Cjne r0,#2eh,Cek_21 Menjelaskan bahwa mikrokontroler
diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 2eh, jika harga register 0 sama dengan 2eh maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 2eh, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_21. Acall Stop Perintah Acall Stop digunakan untuk memanggil subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti.
A-27
Universitas Sumatera Utara
Acall
Perintah
Acall subrutin
Putar_Kiri_25_Derajat
memanggil
Putar_Kiri_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kiri_25_Derajat tersebut. Subrutin ini berfungsi untuk
memerintahkan robot berputar kekiri 25 derajat. Ljmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_21: Merupakan sebuah subrutin. Cjne r0,#2ah,Cek_22 Menjelaskan bahwa mikrokontroler
diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 2ah, jika harga register 0 sama dengan 2ah maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 2ah, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_22. Acall Stop Perintah Acall Stop digunakan untuk memanggil subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti. Acall Putar_Kiri_25_Derajat digunakan untuk Perintah Acall subrutin
Putar_Kiri_25_Derajat
memanggil
Putar_Kiri_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kiri_25_Derajat tersebut. Subrutin ini berfungsi untuk
memerintahkan robot berputar kekiri 25 derajat. Ljmp Main Menjelaskan bahwa mikrokontroler diperintahkan
A-28
Universitas Sumatera Utara
Cek_22: Merupakan sebuah subrutin. Cjne r0,#0b0h,Cek_23 Menjelaskan bahwa mikrokontroler diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0b0h, jika harga register 0 sama dengan 0b0h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0b0h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_23.
Acall Stop Perintah Acall Stop digunakan untuk memanggil subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti.
Acall
Perintah
Acall subrutin
Putar_Kanan_25_Derajat
memanggil
Putar_Kanan_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kanan_25_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekanan 25 derajat. Ljmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_23: Merupakan sebuah subrutin. Cjne r0,#0b4h,Cek_24 Menjelaskan bahwa mikrokontroler diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0b4h, jika harga register 0 sama dengan 0b4h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0b4h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_24.
A-29
Universitas Sumatera Utara
Acall Stop Perintah Acall Stop digunakan untuk memanggil subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti.
Acall
Perintah
Acall subrutin
Putar_Kanan_25_Derajat
memanggil
Putar_Kanan_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kanan_25_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekanan 25 derajat. Ljmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_24: Merupakan sebuah subrutin. Cjne r0,#0a0h,Cek_25 Menjelaskan bahwa mikrokontroler diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0a0h, jika harga register 0 sama dengan 0a0h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0a0h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_25. Acall Stop Perintah Acall Stop digunakan untuk memanggil subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti. Acall Putar_Kanan_25_Derajat digunakan untuk Perintah Acall subrutin
Putar_Kanan_25_Derajat
memanggil
A-30
Universitas Sumatera Utara
subrutin Putar_Kanan_25_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekanan 25 derajat. Ljmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Cek_25: Merupakan sebuah subrutin. Cjne r0,#0a4h,Set_Main Menjelaskan bahwa mikrokontroler diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0a4h, jika harga register 0 sama dengan 0a4h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0a4h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Set_Main. Acall Stop Perintah Acall Stop digunakan untuk memanggil subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti. Acall Putar_Kanan_25_Derajat digunakan untuk Perintah Acall subrutin
Putar_Kanan_25_Derajat
memanggil
Putar_Kanan_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kanan_25_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekanan 25 derajat. Ljmp Main Menjelaskan bahwa mikrokontroler diperintahkan
untuk lompat ke rutin Main. Set_Main: Merupakan sebuah subrutin. Ljmp Main Menjelaskan bahwa mikrokontroler diperintahkan
A-31
Universitas Sumatera Utara
Maju: Merupakan sebuah subrutin. Acall Motor_Maju Perintah Acall Motor_Maju digunakan untuk memanggil subrutin Motor_Maju dan melaksanakan perintah yang ada pada subrutin Motor_Maju tersebut. Subrutin ini berfungsi untuk memerintahkan motor bergerak maju.
Acall Motor_Diam Perintah Acall Motor_Diam digunakan untuk memanggil subrutin Motor_Diam dan melaksanakan perintah yang ada pada subrutin Motor_Diam tersebut. Subrutin ini berfungsi untuk memerintahkan motor berhenti.
Ret Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.
Stop: Merupakan sebuah subrutin. Mov r7,#10 Menjelaskan bahwa mikrokontroler diperintahkan untuk mengisikan harga 10 ke dalam register 7.
Stop_1: Merupakan sebuah subrutin. Mov r6,#255 Menjelaskan bahwa mikrokontroler diperintahkan untuk mengisikan harga 255 ke dalam register 6.
Acall Motor_Stop Perintah Acall Motor_Stop digunakan untuk memanggil subrutin Motor_Stop dan melaksanakan perintah yang ada pada subrutin Motor_Stop tersebut. Subrutin ini berfungsi untuk memerintahkan motor berhenti.
Djnz
r6,$
A-32
Universitas Sumatera Utara
Djnz
r7,Stop_1
Menjelaskan
bahwa
mikrokontroler
diperintahkan untuk mengurangi register 7 sampai harga 0 hingga selesai. Ret Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin. Motor_Stop: Merupakan sebuah subrutin. Setb Motor_Kanan_1 Menjelaskan bahwa mikrokontroler
diperintahkan untuk memberikan nilai high (1) ke Motor_Kanan_1. Setb Motor_Kanan_2 Menjelaskan bahwa mikrokontroler
diperintahkan untuk memberikan nilai high (1) ke Motor_Kanan_2. Setb Motor_Kiri_1 Menjelaskan bahwa mikrokontroler
diperintahkan untuk memberikan nilai high (1) ke Motor_Kiri_1. Setb Motor_Kiri_2 Menjelaskan bahwa mikrokontroler
diperintahkan untuk memberikan nilai high (1) ke Motor_Kiri_2. Mov r2,#100 Menjelaskan bahwa mikrokontroler diperintahkan untuk mengisikan harga 100 ke dalam register 2. Djnz r2,$ Menjelaskan bahwa mikrokontroler diperintahkan
untuk mengurangi register 2 sampai harga 0 hingga selesai. Ret Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin. Motor_Diam: Merupakan sebuah subrutin. Clr Motor_Kanan_1 Menjelaskan bahwa mikrokontroler
A-33
Universitas Sumatera Utara
Clr
Motor_Kanan_2
diperintahkan untuk memberikan nilai low (0) ke Motor_Kanan_2. Clr Motor_Kiri_1 Menjelaskan bahwa mikrokontroler
diperintahkan untuk memberikan nilai low (0) ke Motor_Kiri_1. Clr Motor_Kiri_2 Menjelaskan bahwa mikrokontroler
diperintahkan untuk memberikan nilai low (0) ke Motor_Kiri_2. Mov r2,#100 Menjelaskan bahwa mikrokontroler diperintahkan untuk mengisikan harga 100 ke dalam register 2. Djnz r2,$ Menjelaskan bahwa mikrokontroler diperintahkan
untuk mengurangi register 2 sampai harga 0 hingga selesai. Ret Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin. Motor_Maju: Merupakan sebuah subrutin. Setb Motor_Kanan_1 Menjelaskan bahwa mikrokontroler
diperintahkan untuk memberikan nilai high (1) ke Motor_Kanan_1. Clr Motor_Kanan_2 Menjelaskan bahwa mikrokontroler
diperintahkan untuk memberikan nilai low (0) ke Motor_Kanan_2. Setb Motor_Kiri_1 Menjelaskan bahwa mikrokontroler
diperintahkan untuk memberikan nilai high (1) ke Motor_Kiri_1. Clr Motor_Kiri_2 Menjelaskan bahwa mikrokontroler
diperintahkan untuk memberikan nilai low (0) ke Motor_Kiri_2. Mov r2,#100 Menjelaskan bahwa mikrokontroler diperintahkan untuk mengisikan harga 100 ke dalam register 2.
A-34
Universitas Sumatera Utara
Djnz
r2,$
untuk mengurangi register 2 sampai harga 0 hingga selesai. Ret Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin. Motor_Kanan: Merupakan sebuah subrutin. Clr Motor_Kanan_1 Menjelaskan bahwa mikrokontroler
diperintahkan untuk memberikan nilai low (0) ke Motor_Kanan_1. Setb Motor_Kanan_2 Menjelaskan bahwa mikrokontroler
diperintahkan untuk memberikan nilai high (1) ke Motor_Kanan_2. Clr Motor_Kiri_1 Menjelaskan bahwa mikrokontroler
diperintahkan untuk memberikan nilai low (0) ke Motor_Kiri_1. Setb Motor_Kiri_2 Menjelaskan bahwa mikrokontroler
diperintahkan untuk memberikan nilai high (1) ke Motor_Kiri_2. Mov r2,#100 Menjelaskan bahwa mikrokontroler diperintahkan untuk mengisikan harga 100 ke dalam register 2. Djnz r2,$ Menjelaskan bahwa mikrokontroler diperintahkan
untuk mengurangi register 2 sampai harga 0 hingga selesai. Ret Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin. Putar_Kanan_90_Derajat: Merupakan sebuah subrutin. Mov r3,#6 Menjelaskan bahwa mikrokontroler diperintahkan
A-35
Universitas Sumatera Utara
Mov r4,#100 Menjelaskan bahwa mikrokontroler diperintahkan untuk mengisikan harga 100 ke dalam register 4.
Kan_90: Merupakan sebuah subrutin. Acall Motor_Kanan Perintah Acall Motor_Kanan digunakan untuk memanggil subrutin Motor_Kanan dan melaksanakan perintah yang ada pada subrutin Motor_Kanan tersebut. Subrutin ini berfungsi untuk memerintahkan motor berputar kekanan.
Djnz
r4,Kan_90
Menjelaskan
bahwa
mikrokontroler
diperintahkan untuk mengurangi register 4 sampai harga 0 hingga selesai. Djnz r3,Kanan_90 Menjelaskan bahwa mikrokontroler
diperintahkan untuk mengurangi register 3 sampai harga 0 hingga selesai. Ret Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin. Putar_Kiri_90_Derajat: Merupakan sebuah subrutin. Mov r3,#6 Menjelaskan bahwa mikrokontroler diperintahkan
untuk mengisikan harga 6 ke dalam register 3. Kiri_90: Merupakan sebuah subrutin. Mov r4,#100 Menjelaskan bahwa mikrokontroler diperintahkan untuk mengisikan harga 100 ke dalam register 4. Kir_90: Merupakan sebuah subrutin. Acall Motor_Kiri Perintah Acall Motor_Kiri digunakan untuk memanggil subrutin Motor_Kiri dan melaksanakan perintah yang ada pada subrutin Motor_Kiri tersebut. Subrutin ini berfungsi untuk memerintahkan motor berputar kekiri. A-36
Universitas Sumatera Utara
Djnz
r4,Kir_90
Menjelaskan
bahwa
mikrokontroler
diperintahkan untuk mengurangi register 4 sampai harga 0 hingga selesai. Djnz r3,Kiri_90 Menjelaskan bahwa mikrokontroler
diperintahkan untuk mengurangi register 3 sampai harga 0 hingga selesai. Ret Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin. Putar_Kanan_25_Derajat: Merupakan sebuah subrutin. Mov r3,#1 Menjelaskan bahwa mikrokontroler diperintahkan
untuk mengisikan harga 1 ke dalam register 3. Kanan_25: Merupakan sebuah subrutin. Mov r4,#25 Menjelaskan bahwa mikrokontroler diperintahkan untuk mengisikan harga 25 ke dalam register 4. Kan_25: Merupakan sebuah subrutin. Acall Motor_Kanan Perintah Acall Motor_Kanan digunakan untuk memanggil subrutin Motor_Kanan dan melaksanakan perintah yang ada pada subrutin Motor_Kanan tersebut. Subrutin ini berfungsi untuk memerintahkan motor berputar kekanan. Djnz r4,Kan_25 Menjelaskan bahwa mikrokontroler
diperintahkan untuk mengurangi register 4 sampai harga 0 hingga selesai. Djnz r3,Kanan_25 Menjelaskan bahwa mikrokontroler
diperintahkan untuk mengurangi register 3 sampai harga 0 hingga selesai. Ret Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.
A-37
Universitas Sumatera Utara
Putar_Kiri_25_Derajat: Merupakan sebuah subrutin. Mov r3,#1 Menjelaskan bahwa mikrokontroler diperintahkan
untuk mengisikan harga 1 ke dalam register 3. Kiri_25: Merupakan sebuah subrutin. Mov r4,#25 Menjelaskan bahwa mikrokontroler diperintahkan untuk mengisikan harga 25 ke dalam register 4. Kan_25: Merupakan sebuah subrutin. Acall Motor_Kiri Perintah Acall Motor_Kiri digunakan untuk memanggil subrutin Motor_Kiri dan melaksanakan perintah yang ada pada subrutin Motor_Kiri tersebut. Subrutin ini berfungsi untuk memerintahkan motor berputar kekanan. Djnz r4,Kan_25 Menjelaskan bahwa mikrokontroler
diperintahkan untuk mengurangi register 4 sampai harga 0 hingga selesai. Djnz r3,Kanan_25 Menjelaskan bahwa mikrokontroler
diperintahkan untuk mengurangi register 3 sampai harga 0 hingga selesai. Ret Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.
A-38
Universitas Sumatera Utara
Lampiran 3
SKaD 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SKaJ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Tabel Kebenaran Robot Penghindar Dinding DKaD DKaJ DKiD DKiJ SKiD SKiJ 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 1 1 0 0 1 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 0 1 1 0 0 1 1 Heksadesimal 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 10H 11H 12H 13H 14H 15H 16H 17H 18H 19H 1AH 1BH 1CH 1DH 1EH 1FH 20H 21H 22H 23H 24H 25H 26H 27H 28H 29H 2AH 2BH 2CH 2DH 2EH 2FH 30H 31H 32H 33H
A-39
Universitas Sumatera Utara
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1
1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
34H 35H 36H 37H 38H 39H 3AH 3BH 3CH 3DH 3EH 3FH 40H 41H 42H 43H 44H 45H 46H 47H 48H 49H 4AH 4BH 4CH 4DH 4EH 4FH 50H 51H 52H 53H 54H 55H 56H 57H 58H 59H 5AH 5BH 5CH 5DH 5EH 5FH 60H 61H 62H 63H 64H 65H 66H 67H 68H 69H 6AH 6BH 6CH
A-40
Universitas Sumatera Utara
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0
1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1
0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
6DH 6EH 6FH 70H 71H 72H 73H 74H 75H 76H 77H 78H 79H 7AH 7BH 7CH 7DH 7EH 7FH 80H 81H 82H 83H 84H 85H 86H 87H 88H 89H 8AH 8BH 8CH 8DH 8EH 8FH 90H 91H 92H 93H 94H 95H 96H 97H 98H 99H 9AH 9BH 9CH 9DH 9EH 9FH A0H A1H A2H A3H A4H A5H
A-41
Universitas Sumatera Utara
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1
1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
A6H A7H A8H A9H AAH ABH ACH ADH AEH AFH B0H B1H B2H B3H B4H B5H B6H B7H B8H B9H BAH BBH BCH BDH BEH BFH C0H C1H C2H C3H C4H C5H C6H C7H C8H C9H CAH CBH CCH CDH CEH CFH D0H D1H D2H D3H D4H D5H D6H D7H D8H D9H DAH DBH DCH DDH DEH
A-42
Universitas Sumatera Utara
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
DFH E0H E1H E2H E3H E4H E5H E6H E7H E8H E9H EAH EBH ECH EDH EEH EFH F0H F1H F2H F3H F4H F5H F6H F7H F8H F9H FAH FBH FCH FDH FEH FFH
= = = = = = = =
Samping Kanan Dekat Samping Kanan Jauh Depan Kanan Dekat Depan Kanan Jauh Depan Kiri Dekat Depan Kiri Jauh Samping Kiri Dekat samping Kiri Jauh
A-43
Universitas Sumatera Utara