HASIL DAN PEMBAHASAN

BAB 5 HASIL DAN PEMBAHASAN

Arus lalu-lintas di simpang empat Gondomanan lebih padat dibandingkan simpahng empat Bintaran, sehingga pada penelitian ini APILL di simpang empat Gondomanan dijadikan master; sedangkan APILL di simpang empat Bintaran dijadikan slave. Simpang empat Gondomanan bertindak sebagai persimpangan berdiri sendiri. APILL di simpang empat tersebut akan mengatur isyarat lalu-lintas dengan empat fase sesuai data di basis data. Sedangkan APILL di simpang empat Bintaran, selain mengatur lalu-lintas sesuai data di basis data, pewaktuan di APILL tersebut juga harus mengikuti pewaktuan di APILL simpang empat Gondomanan.

5.1 Pengaturan Sesuai Jadwal

Berdasar hasil survei, dalam satu hari diperlukan sepuluh slot waktu pengaturan. Jadwal pengaturan APILL di simpang empat Gondomanan pada hari kerja dapat mengikuti Tabel 4. Tabel tersebut berisi data acuan awal yang dapat digunakan. Waktu kuning semua arah (k i ) untuk kedua APILL dibuat sama, yaitu 3 detik. Nilai delta semua arah ( i ) untuk APILL Gondomanan juga dibuat sama yaitu 5 detik. Untuk APILL Bintaran, nilai i untuk arah 1, 2, dan 3 adalah 5 detik; sedangkan untuk arah 4 adalah 8 detik.

Tabel 4 Jadwal pengaturan APILL Gondomanan dan Bintaran pada hari kerja

slot

APILL Bintaran Jam

APILL Gondomanan

waktu

h 1 h 2 h 3 h 4 Th 1 h 2 h 3 h 4 T

Kedua APILL melakukan pengaturan isyarat lalu-lintas dengan pengaturan pewaktuan sesuai tabel di atas. Slot 1 APILL Gondomanan dimulai pada pukul 04:30. Arah 1, 2, dan 4 mendapat waktu hijau 8 detik, sedangkan arah 3 mendapat waktu hijau

10 detik. Sehingga sesuai Persamaan 1, waktu siklus T = 66 detik. Pengaturan ini dapat berjalan dengan baik. Tidak ada sesuai yang istimewa pada pengaturan ini. Pengaturan ini berlangsung hingga waktu untuk slot 1 habis. Pengaturan terjadi sebanyak 82 siklus dengan total waktu 5412 detik atau 90 menit 12 detik. Siklus ke-82 berakhir pukul 06:00:12. Pada awal digunakannya slot 2, yaitu siklus ke-83, tedapat kasus khusus pada tampilan penghitung mundur isyarat merah untuk beberapa arah. Hal ini diperlihatkan pada Gambar 12.

Gambar 12 Pergantian slot 1 ke slot 2 pada APILL Gondomanan Sesuai dengan Tabel 3, di akhir state 11, CPU master membaca data waktu dari RTC. Saat itu data waktu dari RTC adalah pukul 06:00:07. Sesuai dengan Jadwal pengaturan APILL Gondomanan pada Tabel 4, pengaturan harus diselenggarakan menggunakan slot 2. Waktu hijau arah 1, 2, 3, dan 4 pada slot 2 ini adalah 8 detik, 15 detik, 20 detik, dan 15 detik. Nilai keempat data tersebut pun diambil dari EEPROM.

Di akhir state 12, sesuai dengan Tabel 3, CPU mengisi count 1 dengan h 1,j yaitu

8. Saat itu count 2 sedang bernilai 6. Selanjutnya CPU menghitung m 2,j ’ sesuai 0, dan mengisikan nilai tersebut ke count 2 . Padahal nilai m 2,j ’ adalah 16, sehingga tampilan hitungan mundur arah 2 atau count 2 , yang tadinya sudah menunjukkan angka 6, 8. Saat itu count 2 sedang bernilai 6. Selanjutnya CPU menghitung m 2,j ’ sesuai 0, dan mengisikan nilai tersebut ke count 2 . Padahal nilai m 2,j ’ adalah 16, sehingga tampilan hitungan mundur arah 2 atau count 2 , yang tadinya sudah menunjukkan angka 6,

Hal serupa terjadi pada saat dimulainya isyarat hijau arah 2 siklus ke-83 atau t h:3,82 pukul 06:00:28. Pada saat itu tampilan penghitung mundur arah 3 yang sudah menunjukkan nilai 16. Sesuai 0, nilai m 3,j ’ adalah 23, sehingga penghitung mundur arah

3 akan menghitung kembali dari 23. Hal serupa juga terjadi pada saat t h:4,82 . Pada saat itu tampilan penghitung mundur arah 4 yang sudah menujukkan nilai 19. Sesuai 0, nilai m 4,j ’ adalah 28, sehingga penghitung mundur arah 4 akan menghitung kembali dari 28. Kejadian- kejadian tersebut hampir selalu terjadi setiap ada perubahan slot yang digunakan.

Perubahan slot juga dapat menyebabkan tampilan penghitung mundur melompat. Hal ini terjadi jika nilai waktu hijau pada siklus berikutnya lebih kecil daripada nilai waktu hijau saat ini. Sesuai Tabel 4, setelah pukul 18:00, slot berganti

dari 7 ke 8. Sebagaimana urutan state pada Tabel 3, nilai count 1 langsung berubah sesuai nilai di slot 8. Pada saat itu, tampilan penghitung mundur di arah 2 yang tadinya menunjukkan nilai 38 akan langsung melompat menjadi 33.

Proses penghitungan mundur di setiap arah ini juga berlaku pada APILL di simpang empat Bintaran. Sebagaimana pada Tabel 4 pengaturan di APILL tersebut dimulai pukul 05:00 hingga pukul 23:00. Waktu siklus di semua slot dibuat sama dengan siklus APILL simpang empat Gindomanan agar keduanya dapat bekerja secara sinkron.

5.2 Trayektori Kendaraan

Sesuai hasil survei, arus kendaraan yang keluar dari simpang empat Gondomanan ke arah timur sebagian besar berasal dari mulut persimpangan barat, sebagian lagi berasal dari mulut persimpangan selatan, dan sebagian kecil berasal dari mulut persimpangan utara. Kendaraan-kendaraan tersebut akan masuk ke mulut persimpangan Bintaran dari arah barat. Hal ini di diperlihatkan pada Gambar 13.

Gambar 13 Arus lalu-lintas di simpang empat Gondomanan dan Bintaran

Sementara itu, arus kendaraan yang keluar dari simpang empat Bintaran ke arah barat, sebagian besar berasal dari mulut persimpangan timur, sebagian lagi berasal dari mulut persimpangan utara, dan sebagian kecil berasal dari mulut persimpangan selatan. Kendaraan-kendaraan tersebut akan masuk ke mulut persimpangan Gondomanan dari arah timur.

Jarak antara persimpangan Gondomanan dan simpang empat Bintaran sekitar 400 meter. Dengan kecepatan rata-rata 40 km/jam, kendaraan dapat menempuh jarak tersebut dalam waktu tempuh ω MS = 36 detik. Waktu tersebut cukup realistis ditempuh pada kondisi jam-jam puncak. Pada jam-jam agak longgar, kendaraan dapat menggunakan kecepatan lebih tinggi hingga 60 km/jam, sehingga waktu tempuh hanya

26 detik. Karena persimpangan di Gondomanan dinyatakan sebagai persimpangan berdiri sendiri, maka sinkronisasi APILL di persimpangan Gondomanan dan Bintaran dilakukan dengan menepatkan pewaktuan APILL di Bintaran. Program sinkronisasi hanya terdapat di APILL Bintaran. Sebagai APILL yang mengatur lalu-lintas di persimpangan yang berdiri sendiri, APILL Gondomanan hanya mengatur isyarat lali- lintas sesuai jadwal di basis data.

Sinkronisasi kedua APILL harus dapat menjadikan kendaraan yang masuk ke mulut timur persimpangan Gondomanan dan mulut barat persimpangan Bintaran langsung mendapat isyarat hijau atau tidak terlalu lama menanti isyarat hijau. Terdapat dua tujuan yang harus dicapai sinkronisasi ini.

1. Menepatkan waktu hijau APILL di mulut barat persimpangan Bintaran agar sebagian besar kendaraan yang keluar dari simpang empat Gondomanan langsung mendapat isyarat hijau atau tidak terlalu lama menanti isyarat hijau sesampainya di mulut persimpangan arah barat Bintaran.

2. Menepatkan waktu hijau APILL di mulut persimpangan Bintaran dari arah timur agar sebagian besar kendaraan yang keluar dari simpang empat Bintaran langsung mendapat isyarat hijau atau tidak terlalu lama menanti isyarat hijau sesampainya di mulut persimpangan Gondomanan dari arah timur.

Dengan menggunakan urutan fase pada Gambar 1, untuk mencapai tujuan pertama, waktu hijau arah barat atau h 4 di APILL Bintaran harus diatur agar mempunyai offset ω MS terhadap waktu hijau arah barat atau h 4 di APILL Gondomanan. Dengan kata lain, h 4 di APILL Bintaran harus tertinggal ω MS terhadap h 4 di APILL Gondomanan. Sedangkan, untuk mencapai tujuan kedua, h 2 di APILL Bintaran harus diatur agar mempunyai offset - ω MS terhadap h 2 di APILL Gondomanan. Dengan kata lain, h 2 di APILL Bintaran harus tertinggal ω MS terhadap h 2 di APILL Gondomanan. Atas dasar pertimbangan tersebut pewaktuan kedua APILL dibuat mengikuti diagram ruang waktu pada Gambar 14. Pada diagram tersebut, waktu hijau bagi mulut persimpangan Bintaran arah barat untuk siklus ke-j mempunyai offset sebesar Δt S:j . Bagi APILL Bintaran, parameter Δt S:j bernilai selisih waktu antara diterimanya data sinkronisasi dari master ( Δt SM:j ) dengan waktu akan dieksekusinya algoritma sinkronisasi di slave ( Δt SS:j ). Nilai tersebut harus sama dengan waktu tempuh kendaraan dari master ke slave. Dengan kata lain Δt S:j = ω MS . Pada jam-jam sibuk Δt S:j dapat diberi nilai 36 detik. Nilai tersebut dapat diubah dari waktu ke waktu sesuai perkiraan waktu tempuh kendaraan dari persimpangan Gondomanan ke persimpangan Bintaran saat itu.

Gambar 14 Perkiraan trayektori optimal pada jam-jam puncak Gambar 14 memperlihatkan perkiraan trayektori kendaraan, yaitu diagram ruang waktu pergerakan kendaraan dari persimpangan Gondomanan ke Bintaran dan sebaliknya. Bagi kedua persimpangan, h 4 merupakan waktu hijau fase 4 yaitu mulut persimpangan arah barat. Sesuai dengan gambar trayektori tersebut, dengan sinkronisasi ini diharapkan kendaraan dari mulut barat persimpangan Gondomanan langsung mendapat isyarat hijau setibanya di mulut persimpangan Bintaran dari arah barat. Sementara itu, kendaraan dari mulut selatan persimpangan Gondomanan hanya akan menunggu paling lama sekitar 40 detik untuk mendapatkan isyarat hijau.

Urutan fase pada APILL Gondomanan tetap mengikuti arah jarum jam. Fase pertama untuk arah utara. Hal ini untuk menjaga keamanan kendaraan dan memperkecil konflik pergerakan kendaraan di persimpangan tersebut.

Sementara itu, tujuan sinkronisasi nomor dua di atas tidak dapat diwujudkan jika urutan fase di persimpangan Bintaran tetap mengikuti arah jarum jam. Urutan fase APILL Bintaran pada Gambar 15 merupakan satu-satunya alternatif terbaik untuk mewujudkan tujuan sinkronisasi ke dua. Dengan urutan ini, fase 1 memberikan jalan bagi kendaraan dari arah selatan, fase 2 memberikan jalan bagi kendaraan dari arah barat, fase 3 memberikan jalan bagi kendaraan dari arah timur, fase 4 memberikan jalan bagi kendaraan dari arah barat. Karena mulut persimpangan arah selatan dan utara mempunyai jarak agak panjang, maka fase 1 mempunyai waktu delta melebihi dari fase-fase yang lain. Fase ini mempunyai waktu delta 8 detik, sementara fase lain hanya

5 detik.

Gambar 15 Urutan fase di APILL Gondomanan dan Bintaran Dengan pengaturan seperti ini, sebagian besar kendaraan yang masuk ke mulut timur persimpangan Gondomanan rata-rata menunggu 40 detik untuk mendapatkan isyarat hijau. Hal ini terlihat pada diagram ruang waktu trayektori pada Gambar 14.

Untuk mewujudkan urutan fase sebagaimana Gambar 15, nilai variabel fase yang disimpan di basis data master dan slave mengikuti Tabel 5. Dengan urutan tersebut awal siklus di simpang empat Gondomanan dimulai dari arah utara; sedangkan di simpang empat Bintaran dimulai dari arah selatan. Untuk kedua persimpangan, setiap siklus diakhiri dengan pemberian isyarat hijau untuk fase 4 yaitu mulut persimpangan dari arah barat.

Tabel 5 Pengaturan arah setiap fase di APILL master dan slave Arah

Fase Master Slave

5.3 Sinkronisasi Siklus Pertama APILL Slave

Sesuai dengan Tabel 4, pada hari-hari kerja APILL Gondomanan mulai mengatur isyarat lalu-lintas pada pukul 04:30. Slot 1 yang dimulai pukul 04:30 merupakan slot waktu pertama yang mengharuskan APILL Gondomanan aktif mengatur isyarat lalu-lintas. Sebelum jam tersebut, APILL masih mengunakan slot 10 yang dimulai pukul 23:00. Slot tersebut menjadikan APILL Gondomanan tidak aktif.

Sementara itu APILL Bintaran mulai aktif pada pukul 05:00:00. Sebelum menjalankan pengaturan isyarat lalu-lintas mengikuti Tabel 3, APILL slave menjalankan subrutin sinkronisasi khusus untuk siklus pertama. Proses sinkronisasi ini dapat dilihat pada Gambar 16. Sesuai dengan algoritma sinkronisasi, APILL slave mengunggu hingga diterimanya data sinkronisasi. Data sinkronisasi sebelumnya telah diterima pada pukul 04:59:42. Data tersebut merupakan data sinkronisasi APILL master siklus ke-27.

Gambar 16 Sinkronisasi siklus pertama APILL slave Data sinkronisasi berikutnya diterima pukul 05:00:48. Setelah menerima data tersebut, APILL akan membaca data waktu daru RTC. APILL slave mengaktifkan pengaturan isyarat lalu-lintas tiga puluh detik setelah diterimanya data sinkronisasi yaitu pukul 05:01:18.

Dengan metode ini, pengaturan isyarat lalu-lintas APILL slave langsung sinkron dengan APILL master. Sinkronisasi ini tetap terjaga selama kedua APILL masih menggunakan slot waktu yang sama.

5.4 Sinkronisasi Pergantian Slot

Meskipun terjadi pergantian slot waktu, namun kedua APILL tetap dapat mengatur isyarat lalu-lintas secara sinkron. Hal ini disebabkan, semua slot dengan nomor sama mempunyai waktu siklus yang sama. Pada Tabel 4 terlihat bahwa slot 2 APILL master dan slave mempunyai waktu siklus 90 detik. Proses perubahan waktu hijau APILL master dan slave pada saat pergantian dari slot 1 ke slot 2 dapat dilihat pada Gambar 17.

Gambar 17 Proses sinkronisasi pergantian dari slot 1 ke slot 2 Siklus terakhir pada slot 1 APILL master, yaitu siklus ke-82 berakhir pukul 06:00:12. APILL master segera menggunakan slot 2. Sesuai data pada Tabel 4, siklus ke-83 menggunakan nilai waktu siklus 90 detik. Siklus ini berakhir pukul 06:01:42. Sesuai dengan Tabel 3, di akhir siklus ini APILL master mengirimkan data sinkronisasi ke APILL slave. APILL slave menerima sebagai t SM,56 .

Slot 2 APILL slave dimulai pukul 06:00:42. Sebagaimana terlihat pada Gambar 17, siklus ke-56 di APILL slave ini berakhir pukul 06:02:12. Saat itu telah terjadi perbedaan 30 detik dari waktu diterimanya data sinkronisasi dari APILL master, sehingga ξ n tetap bernilai nol. Dengan demikian perubahan slot waktu di APILL master dan slave tidak akan menyebabkan timbulnya galat sinkronisasi.

5.5 Sinkronisasi Saat APILL Master kembali Aktif

Salah satu kasus yang mengharuskan algoritma sinkronisasi bekerja adalah pada saat APILL slave aktif sebelum APILL master. Hal ini dimungkinkan meskipun pada jadwal APILL master aktif lebih dahulu. Kasus ini terjadi pada saat APILL master tiba-tiba dinon-aktifkan. Ini dapat terjadi misalnya karena aliran listrik di APILL master terputus atau APILL master sedang dalam proses perbaikan.

A. Sinkronisasi dalam Satu Siklus

Kejadian ini disimulasikan terjadi setelah pada pukul 10 pagi. APILL slave menjalankan pengaturan lalu-lintas siklus; sedangkan APILL master sedang akan segera diaktifkan. Pada APILL slave sedang digunakan slot waktu ke-6. APILL slave Kejadian ini disimulasikan terjadi setelah pada pukul 10 pagi. APILL slave menjalankan pengaturan lalu-lintas siklus; sedangkan APILL master sedang akan segera diaktifkan. Pada APILL slave sedang digunakan slot waktu ke-6. APILL slave

Kasus pertama, APILL master diaktifkan pukul 10:12:04. Siklus pertama APILL master menggunakan slot waktu ke-6. Waktu hijau fase 1, 2, 3, dan 4 adalah 25 detik, 28 detik, 38 detik, dan 30 detik. Waktu siklus adalah 153 detik. Siklus pertama ini berakhir pada pukul 10:14:37. Sesuai dengan aktifitas prosesor Tabel 3, pada saat itu juga dikirim data sinkronisasi ke APILL slave. Slave menerima data sinkronisasi ini dan mencatat waktu saat itu sebagai t SM:187 . Dengan arah setiap fase mengikuti Tabel 5, waktu hijau pada saat terjadi sinkronisasi ini dapat dilihat pada Tabel 6.

Tabel 6 Waktu hijau sinkronisasi di APILL slave dalam satu siklus

jh 1 h 2 h 3 h 4 T j ξ j Δh 1:j Δh 2:j Δh 3:j Δh 4:j t j 187 10 25 38 45 153 0 0 0 0 0 10:12:44

188 10 23 34 41 143 -10 0 -2 -4 -4 10:15:17

Keterangan : j = nomor siklus

h i = waktu hijau fase i T j = waktu siklus ke-j ξ j = delta sinkronisasi siklus ke-j

Δh i:j = delta waktu hijau fase i siklus ke-j t j = waktu dimulainya siklus ke-j

Sementara itu siklus ke-187 APILL slave berakhir pada pukul 10:15:17. Saat itu APILL slave juga menjalankan subrutin sinkronisasi. Sesuai dengan langkah pertama sinkronisasi, slave mencatat waktu saat itu sebagai t SS:187 . APILL kemudian menghitung delat sinkronisasi berdasar 0. Delta sinkronisasi siklus ke-187 adalah

Δt S,187 =t SM,187 -t SS,187 = (10:15:17) - (10:14:37) = 40 detik. Sesuai 0, galat sinkronisasi siklus ke-187 adalah ξ 187 = Δt S,187 - ω MS = 40 detik - 30 detik = 10 detik. Hal ini berarti pewaktuan APILL slave terlambat 10 detik dari APILL master, sehingga pewaktuan

APILL slave harus dimajukan 10 detik. Langkah berikutnya, program kemudian mengecek validasi data tersebut. Data galat sinkronisasi tersebut dinyatakan valid karena masih lebih kecil dari nilai waktu siklus. ξ 187 = 10 detik < T S = 153 detik.

Pada langkah ke-5, program mengecek nilai ξ 187 . Ternyata ξ 187 > 0. Pada T

langkah ke-6, dan program mengecek nilai ξ n 187 . Ternyata nilai ξ 187 < , sehingga pada

4 langkah ke-7 nilai ξ 187 dikompensasikan ke semua waktu hijau mengikuti 0. Dari persamaan tersebut dihasilkan nilai Δh 1:189 , Δh 2:189 , Δh 3:189 , dan Δh 4:189 adalah 0 detik, -

2 detik, -3 detik, dan -3 detik seperti pada Tabel 6 di atas. Nilai-nilai tersebut belum dapat menjadikan ξ 187 menjadi nol. Jika ξ 187 ’ merupakan nilai baru ξ 187 setelah dijalankan subrutin sinkronisasi, maka ξ 187 ’= ξ 187 +( Δh 1:189 + Δh 2:189 + Δh 3:189 + Δh 4:189 ) = 10 - 2 - 3 - 3 = 2.

Untuk itu pada langkah ke-8 sisa ξ 187 yaitu ξ 187 ’ didistribusikan ke h 1:189 ,h 2:189 ,

h 3:189 , dan h 4:189 . Distribusi dimulai dari nilai terbesar yaitu h 3:189 , sehingga Δh 2:189 = -4. Sekarang ξ 187 ’ = 1. Karena ξ 187 ’ masih di atas nol, maka dicarilah nilai terbesar kedua, yaitu h 3:189 , sehingga Δh 2:189 = -4. Langkah ke-8 ini terhenti karena sisa delta sinkronisasi ξ 187 ’ = 0. Perubahan nilai waktu hijau ini hanya berlaku di siklus ke-189. Waktu hijau siklus berikutnya kembali mengikuti data di basis data.

B. Sinkronisasi dalam Dua Siklus

Kasus kedua, APILL master diaktifkan pukul 10:12:54. Siklus pertama APILL master tetap menggunakan slot waktu ke-6. Waktu hijau fase 1, 2, 3, dan 4 adalah 25 detik, 28 detik, 38 detik, dan 30 detik. Waktu siklus adalah 153 detik. Siklus pertama ini berakhir pada pukul 10:15:27. Sesuai dengan aktifitas prosesor Tabel 3, pada saat itu juga dikirim data sinkronisasi ke APILL slave. Slave menerima data sinkronisasi ini dan mencatat waktu saat itu sebagai t SM:187 . Dengan arah setiap fase mengikuti Tabel 5, waktu hijau pada saat terjadi sinkronisasi ini dapat dilihat pada Tabel 6.

Tabel 7 Waktu hijau saat sinkronisasi di APILL slave dalam dua siklus

jh 1 h 2 h 3 h 4 T j ξ j Δh 1:j Δh 2:j Δh 3:j Δh 4:j t j 187 10 25 38 45 153 0 0 0 0 0 10:12:44 188 14 33 49 59 190 37 4 8 11 14 10:15:17 189 10 25 38 45 153 0 0 0 0 0 10:17:50

Keterangan : j = nomor siklus

h i = waktu hijau fase i T j = waktu siklus ke-j

ξ j = delta sinkronisasi siklus ke-j

Δh i:j = delta waktu hijau fase i siklus ke-j t j = waktu dimulainya siklus ke-j

Sementara itu siklus ke-187 APILL slave berakhir pada pukul 10:16:54. Saat itu APILL slave juga menjalankan subrutin sinkronisasi. Sesuai dengan langkah pertama sinkronisasi, slave mencatat waktu saat itu sebagai t SS:187 . APILL kemudian menghitung galat sinkronisasi berdasar 0. Delta sinkronisasi siklus ke-187 adalah

Δt S,187 =t SM,187 -t SS,187 = (10:15:17) - (10:15:27) = 40 detik. Sesuai 0, galat sinkronisasi siklus ke-187 adalah ξ 187 = Δt S,187 - ω MS = 40 detik - 30 detik = 10 detik. Hal ini berarti pewaktuan APILL slave terlambat 10 detik dari APILL master, sehingga pewaktuan

APILL slave harus dimajukan 10 detik. Langkah berikutnya, program kemudian mengecek validasi data tersebut. Data galat sinkronisasi tersebut dinyatakan valid karena masih lebih kecil dari nilai waktu siklus. ξ 187 = 10 detik < T S = 153 detik.

Pada langkah ke-5, program mengecek nilai ξ 187 . Ternyata ξ 187 > 0. Pada T

langkah ke-6, dan program mengecek nilai ξ n 187 . Ternyata nilai ξ 187 < , sehingga pada

4 langkah ke-7 nilai ξ 187 dikompensasikan ke semua waktu hijau mengikuti 0. Dari persamaan tersebut dihasilkan nilai Δh 1:189 , Δh 2:189 , Δh 3:189 , dan Δh 4:189 adalah 0 detik, -

2 detik, -3 detik, dan -3 detik seperti pada Tabel 6 di atas. Nilai-nilai tersebut belum dapat menjadikan ξ 187 menjadi nol. Jika ξ 187 ’ merupakan nilai baru ξ 187 setelah dijalankan subrutin sinkronisasi, maka ξ 187 ’= ξ 187 +( Δh 1:189 + Δh 2:189 + Δh 3:189 + Δh 4:189 ) = 10 - 2 - 3 - 3 = 2.

Untuk itu pada langkah ke-8 sisa ξ 187 yaitu ξ 187 ’ didistribusikan ke h 1:189 ,h 2:189 ,

h 3:189 , dan h 4:189 . Distribusi dimulai dari nilai terbesar yaitu h 3:189 , sehingga Δh 2:189 = -4. Sekarang ξ 187 ’ = 1. Karena ξ 187 ’ masih di atas nol, maka dicarilah nilai terbesar kedua, yaitu h 3:189 , sehingga Δh 2:189 = -4. Langkah ke-8 ini terhenti karena sisa delta sinkronisasi ξ 187 ’ = 0. Perubahan nilai waktu hijau ini hanya berlaku di siklus ke-189. Waktu hijau siklus berikutnya kembali mengikuti data di basis data.

5.6 Pengunaan Sumber Daya Perangkat Keras

Perangkat keras utama yang terdiri dari mikrokontroler ATmega128A, RTC DS1307 dan LCD 2X16 karakter dirancang menggunakan perangkat lunak Proteus. Skema elektronis sistem dapat dilihat pada Lampiran 5. Program pengatur isyarat isyarat lalu-lintas ini ditulis dalam bahasa pemrogram C menggunakan perangkat lunak CodeVisionAVR. Sistem ini telah disimulasikan menggunakan perangkat lunak Proteus. Salah satu tampilan layar jalannya program simulasi dapat dilihat pada Lampiran 5.

Perangkat keras sistem menggunakan mikrokontroler AVR ATmega128A. Dipilihnya mikrokontroler ini karena mempunyai memori cukup besar, yaitu: 128 kB flash, 4 kB SRAM, 4 kB EEPROM. Adanya kapasitas EEPROM yang cukup besar menjadikan tidak lagi diperlukan tambahan EEPROM eksternal.

Dari hasil kompilasi program, kode mesin program Pengatur Isyarat Lalu- Lintas di master menggunakan ruang memory flash sebesar 6702 byte atau baru 5,1 % ruang flash digunakan. Program juga baru menggunakan 1,5 % ruang SRAM dan 6,1 % ruang EEPROM sebagaimana Tabel 8. Hal ini berarti program masih dimungkinkan untuk dikembangkan lebih lanjut dengan menggunakan sisa memori yang tersedia.

Tabel 8 Penggunaan memory di master dan slave Kapasitas

Memory digunakan

Jenis memory

Master Slave memory (Byte)

(Byte) (%) (Byte) (%)

Flash 131072 6702 5,1 9092 6,9 SRAM 4351 67 1,5 77 1,8 EEPROM 4096 248 6,1 252 6,2

Penggunaan ruang memori di slave juga masih cukup kecil. Penggunaan memori di slave ini sedikit lebih banyak karena terdapat subprogram sinkronisasi master dan slave. Program pengaturan isyarat lalu-lintas di APILL slave baru menggunakan 6,9 % dari kapasitas flash memori mikrokontroler, 1,8 % kapasitas SRAM dan 6,2 % kapasitas EEPROM.

5.7 Beban Komputasi Master dan Slave

Beban komputasi merupakan salah satu indikator beban prosesor mikrokontroler. Beban komputasi yang tinggi dapat menjadikan sistem mengalami kesulitan untuk dikembangkan lebih lanjut. Program di master dan slave telah dilengkapi dengan pembangkit clock. Sebuah isyarat clock dikeluarkan dari kaki PORTE.2 mikrokontroler Atmega128. Waktu isyarat tinggi clock mewakili saat CPU sibuk. Siklus kerja (duty cycle, ) isyarat clock tersebut mewakili siklus kerja CPU, yaitu persentase waktu sibuk CPU dalam suatu waktu yang tersedia yaitu satu detik.

Grafik clock yang mewakili kesibukan CPU dan master dan slave dapat dilihat pada Gambar 18. Sebagaimana diagram blok pada Gambar 6, terdapat sebuah RTC DS1307 pada setiap APILL. RTC tersebut memberikan pulsa clock dengan frekuensi 1 Hz. Pulsa ini diumpankan ke masukan pin INT4 (PORTE.4) ATmega128. Pulsa clock ini digunakan sebagai pemicu interupsi ekternal 4. Di sini digunakan sisi naik pulsa clock sebagai pemicu interupsi. Pada saat terjadi sisi naik clock, rutin pengaturan isyarat lalu-lintas dijalankan. Kesibukan CPU terjadi setelah terjadi sisi naik clock ini.

Pada saat mikrokontroler mengeksekusi rutin tersebut, keluaran PORTE.2 dijadikan berlogika tinggi; dan setelah rutin tersebut selesai dieksekusi, keluaran PORTE.2 dijadikan berlogika rendah. Dari keluaran pin tersebut dapat diketahui waktu sibuk prosesor. Parameter ini merupakan salah satu cara mengukur beban prosesor. Grafik siklus kerja master dan slave beserta clock dari keluaran RTC ini dapat dilihat menggunakan osiloskop sebagaimana Gambar 18.

Gambar 18 Isyarat clock yang menggambarkan siklus kerja prosesor Dari gambar tersebut terlihat bahwa kesibukan prosesor hanya berlangsung cukup singkat setelah terjadi sisi naik clock di INT4. Hal ini terjadi di setiap detiknya pada saat prosesor mengerjakan semua instruksi di sebuah state. Dari 1 detik waktu Gambar 18 Isyarat clock yang menggambarkan siklus kerja prosesor Dari gambar tersebut terlihat bahwa kesibukan prosesor hanya berlangsung cukup singkat setelah terjadi sisi naik clock di INT4. Hal ini terjadi di setiap detiknya pada saat prosesor mengerjakan semua instruksi di sebuah state. Dari 1 detik waktu

Dalam sebuah siklus, sistem akan membaca data waktu dari RTC dan kemudian membaca data waktu hijau dari basis data. Kedua kegiatan ini akan menambah waktu eksekusi rutin pengaturan. Waktu eksekusi rutin pengaturan yang ditambah membaca data RTC dan data di basis data akan menjadi 4,8 ms bagi CPU master dan 7,8 ms bagi CPU slave.

Sekali dalam satu siklus, CPU slave melaksanakan rutin sinkronisasi. Waktu eksekusi rutin ini sekitar 41 ms. Pada saat inilah terjadi siklus kerja CPU tertinggi, yaitu 4,1 %. Clock dengan siklus kerja 4,1 % ini hanya terjadi pada state 12 di antara dua belas state yang ada pada satu siklus.

Dari hasil analisis waktu siklus kerja CPU master dan slave dapat disimpulkan bahwa beban prosesor masih cukup kecil, sehingga CPU dapat melaksanakan pengaturan isyarat lalu-lintas secara waktu nyata (real time). Sistem ini pun masih dimungkinkan untuk dikembangkan dengan ditambah beberapa algoritma lain yang dapat dieksekusi per detik di sela-sela aktifitas pengaturan isyarat lalu-lintas yang telah ada.

5.8 Pengembangan Sistem pada Penelitian Berikutnya

Dengan melihat penggunaan kapasitas memori yang masih rendah, pada penelitian berikutnya sistem ini masih cukup leluasa untuk dikembangkan. Program pengatur isyarat lalu-lintas di master dan slave menggunakan kapasitas ruang penyimpanan program di flash momori mikrokontroler. Total ruang yang digunakan masih di bawah 10 %. Dengan demikian, program masih dapat dikembangkan dengan menambah algoritma lain, misalnya: program pendeteksian kepadatan kendaraan untuk membentuk pengatur isyarat lalu-lintas berbasis kondisi riil (Actuated Traffic Controller).

Program pengaturan ini menggunakan banyak variabel. Sebagian besar variabel menggunakan format integer 8 bit, sedangkan sisanya menggunakan variabel

16 bit. Total 60-an variabel yang digunakan dalam program ini hanya menggunakan ruang memori 67 byte di APILL master dan 77 byte di APILL slave. Total memori

SRAM yang masih di bawah 2 %. Dengan demikian, pada sistem ini masih dapat dikembangkan banyak perhitungan.

Basis data yang berisi data pewaktuan isyarat lalu-lintas disimpan dalam variabel integer 8 bit. Basis data yang memuat jadwal pewaktuan harian dan mingguan tersebut hanya menggunakan ruang EEPROM di bawah 7 %. Dengan kondisi ini, basis data masih mempunyai kemungkian luas untuk dikembangkan.

Sementara itu siklus kerja CPU mikrokontroler masih di bawah 0,4 % pada kondisi pengaturan biasa. Pada saat mengerjakan sinkronisasi siklus kerja ini menjadi sekitar 0,8 %. Dengan melihat siklus kerja secara keseluruhan masih di bawah 1 %, sistem ini masih dapat dikembangkan untuk dapat mengerjakan algoritma lain di sela- sela kegiatan pengaturan isyarat lalu-lintas.