• Tidak ada hasil yang ditemukan

PERANCANGAN SISTEM

3.1 Metodologi Perancangan

Metode perancangan yang digunakan adalah metode perancangan sistem berjalan melalui tahap pembuatan flowchart yang dirancang sesuai alat yang yang akan dibuat. Perancangan alat menggunakan konsep diagram blok. Metode ini dimaksudkan untuk mengetahui bagaimana melakukan pembuatan dan perancangan alat yang saling terhubung.

3.1.1 Tahap Perancangan Alat

Dalam perancangan ini, komponenya berupa IP Camera dan PC/Laptop. Keduanya dihubungkan secara wireless. IP Camera berada di pasang pada ketinggian 247 cm dari permukaan tanah dan 732 cm dari objek yang dideteksi.

3.1.2 Tahap Perancangan Pemrograman Alat

Dalam perancangan pemrograman ini, program yang digunakan adalah python. Python akan menghubungkan IP Camera dan PC/Laptop secara wireless dan python akan digunakan untuk mengolah citra sehingga didapatkan pengukuran yang diinginkan.

3.1.3 Tahap pengukuran, Analis dan Kesimpulan 1. Tahap Pengukuran

- Pengukuran ketinggian IP Camera terhadap permukaan tanah - Pengukran jarak IP Camera terhadap kendaraan yang diukur

kelajuannya

- Pengukuran jarak objek yang dilewati - Pengukuran intensitas cahaya

2. Tahap Analisis

Melakukan perbandingan hasil pengukuran dengan hasil perhitungan. Kemudian dihitung persentase kesalahan dari pengukuran alat tersebut.

3. Kesimpulan

20

3.2 Perancangan Sistem

3.2.1 Diagram Blok Sistem

Untuk mempermudah perancangan sistem diperlukan sebuah diagram blok sistem yang mana tiap blok mempunyai fungsi dan cara kerja tertentu. Adapun diagram blok dari sistem yang dirancang adalah sebagai berikut.

Gambar 3. 1 Diagram Blok Adaptor IP Cam Tampilkan video Membuat garis vertikal sebagai jarak Deteksi kendaraan Menghitung kelajuan kendaran Menampilkan kelajuan kendaraan Wi-Fi PC/Laptop

21

3.2.2 Perancangan Setiap Blok Diagram 1. Perancangan Adaptor dengan IP Cam

Perancangan ini melalui Adaptor sebagai sumber tegangan DC yang akan memberikan tegangan bagi IP Camera. Sebuah rangkaian yang berguna untuk mmengubahtegangan AC yang tinggi menjadi DC yang rendah.

Gambar 3. 2 Hubungan antara adaptor dengan IP Cam

2. Perancangan IP Cam dengan Wi-Fi

Perancangan ini menggunakan Wi-Fi sebagai jaringan nirkabel yang akan menghubungkan IP Cam dengan komponen lainnya dalam satu jaringan.

Gambar 3. 3 Hubungan antara IP Cam dengan Wi-fi

3. Perancangan Wi-Fi dengan laptop

Perancangan ini menggunkan laptop untuk menghubungkan Wi-Fi dengan IP Cam.

Gambar 3. 4 Hubungan antara laptop dan Wi-Fi

220V

Adaptor 5V, 1A

22

4. Hubungan IP Cam dengan tampilan video

Perancangan ini akan mengolah video hasil rekaman IP Cam dengan metode Haar untuk mendeteksi kelajuan kendaraan yang akan ditampilkan di excel.

Gambar 3. 5 Hubungan antara IP Cam dengan tampilan video

5. Hubungan Laptop dengan tampilan video

Perancangan ini menentuan jarak dan waktu dihitung ketika kendaraan melewati garis pembatas pertama dan kedua. Jarak dan waktu adalah variabel yang digunakan untuk menghitung kelajuan kendaraan. Selanjutnya, kelajuan akan ditampilkan di dalam program dan microsoft excel.

Gambar 3. 6 Hubungan antara laptop dengsn tampilan video

860 cm Kelajuan : km/jam Waktu : detik 860 cm Kelajuan : km/jam Waktu : detik

23

3.2.3 Perancangan Perangkat Lunak Sistem

Mulai Nyalakan IP Camera Streaming IP Camera Streaming IP Camera sudah tampil? Tetapkan 2 garis vertikal sebagai jarak

Deteksi kendaraan

Kendaraan terdeteksi?

Simpan waktu saat kendaraan melewati garis vertikal pertama

Simpan waktu saat kendaraan melewati garis vertikal kedua

Selisihkan kedua waktu

Hitung kelajuan kendaraan Tampilkan kelajuan kendaraan dalam Excel

Selesai Tidak

Ya

Tidak

Ya

24

Mulai menyalakan ip camera di tandai dengan berkedipnya led warna biru, kemudian ip camera akan melakukan streaming. Streaming dilakukan untuk mengetahui apakah video stream sudah tampil di laptop atau belum. Jika hasil video stream belum tampil maka akan dilakukan streaming ulang, dan jika hasil stream sudah tampil selanjutnya di dalam program python dibuat dua garis vertikal sebagai jarak. Untuk mendeteksi kendaraan dengan cara mengubah citra menjadi grayscale, kemudian citra akan dihaluskan menggunakan metode Gaussian. Kemudian Haar like features akan menandai kendaraan dengan cara memberi pola rectangular (persegi) features, yang memberikan indikasi secara spesifik pada sebuah gambar atau image. Kemudian dilakukan Integral image untuk menentukan reperesentasi citra baru yang digunakan untuk untuk menentukan ada atau tidaknya dari fitur haar pada sebuah gambar secara efisien. Setelah itu Adaboost machine learning akan digunakan untuk menentukan fitur-fitur yang spesifik yang akan digunakan untuk mengatur nilai ambang (threshold), Dalam proses pembentukan classifier kuat dilakukan penambahan bobot terhadap classifier lemah dan digabungkan untuk mengevaluasi bagian citra mengandung objek atau tidak. Kemudian Cascade classifier digunakan untuk menentukan metode klasifikasi bertingkat dengan menggunakan fitur yang diseleksi dengan menggunakan algoritma Adaboost, cascade classifier memiliki beberapa tingkatan dalam melakukan klasifikasi, pada setiap tingkatan dipisahkan antara subcitra yang mengandung gambar positif (gambar yang memiliki objek yang diinginkan) dengan gambar negatif (gambar yang tidak memiliki objek yang diinginkan), dimana bagian subcitra yang tidak mengandung objek positif akan ditolak sedangkan subcitra yang mengandung objek akan dijadikan input pada tingkatan klasifikasi berikutnya dengan kriteria penyaringan yang lebih spesifik hingga didapatkan subcitra yang merupakan objek yang terdeteksi. Jika kendaraan tidak terdeteksi maka akan dilakukan pendeteksian kendaraan lagi tapi jika kendaran terdeteksi maka waktu saat kendaraan melewati garis vertikal pertama yang dibuat akan disimpan. Lalu waktu saat kendaraan melewati garis vertikal kedua juga akan disimpan. Setelah itu selisih kedua waktu akan diproses dan kelajuan kendaraan akan dihitung kemudian hasil dari kelajuan kendaraan akan ditampilkan dalam excel. Selesai.

25

3.3 Pengujian Komponen

3.3.1 Pengujian IP Camera EZVIZ C1C

Pengujian IP Camera EZVIZ C1C bertujuan untuk mengetahui apakah IP Camera EZVIZ C1C sudah dapat digunakan sebagai input video atau belum dapat digunakan. Jika indikator LED IP Camera EZVIZ C1C bewarna merah, artinya IP Camera EZVIZ C1C belum dapat digunakan. Tetapi jika indikator LED IP Camera EZVIZ C1C bewarna biru, artinya IP Camera EZVIZ C1C sudah dapat digunakan.

Gambar 3. 8 IP Camera EZVIZ C1C Siap Digunakan

3.3.2 Pengujian Video Stream IP Camera EZVIZ C1C di laptop

Pengujian video stream dari IP Camera EZVIZ C1C di laptop dilakukan untuk mengetahui apakah video stream sudah tampil di laptop atau belum. Video stream IP Camera EZVIZ C1C dapat diakses dengan terlebih dahulu mengetahui URL stream pada IP Camera EZVIZ C1C tersebut.

Kemudian python akan membaca video stream yang ada pada alamat cam tersebut. Untuk mengindari kesalahan ataupun lag saat menampilkan video stream, ukuran layar kan disesuaikan dalam hal ini akan diperkecil sebesar 0,5 kalinya.

Gambar 3. 9 Tampilan Video Stream dari IP Camera EZVIZ C1C di Laptop cam=cv2.VideoCapture("rtsp://admin:[email protected]/h264_ stream")

ret,img=cam.read()

26

3.3.3 Pengujian 2 Garis Vertikal sebagai Jarak pada IP Camera EZVIZ C1C

Setelah menampilkan video stream IP Camera EZVIZ C1C di laptop yang dapat diakses dengan mengetahui URL stream pada IP Camera EZVIZ C1C tersebut, langkah selanjutnya adalah memberi program pada python untuk membuat dua garis vertikal sebagai jarak dengan perintah:

Dengan bx1=200, by=2000, by2=10, ax1=1000, ay=1000, dan ay2=10.

Gambar 3. 10 Tampilan 2 Garis Vertikal sebagai Jarak pada IP Camera EZVIZ C1C di Laptop

3.3.4 Pengujian Pendeteksian Kendaraan pada IP Camera EZVIZ C1C Setelah menampilkan video stream IP Camera EZVIZ C1C dan menampilkan 2 garis vertikal sebagai jarak, langkah selanjutnya adalah memberi program pada python agar dapat mendeteksi kendaraan yang melewati area IP Camera EZVIZ C1C dengan perintah:

Selanjutnya, menjadikannya hitam dan putih (gray).

Mendeteksi kendaraan, dengan menghasilkan nilai x dan y (koordinat titik pojok kiri atas wajah), nilai w (width = lebar kotak) dan h (height = tinggi kotak).

Menggambar ROI (Region Of Interest) dalam bentuk kotak warna biru tua sesuai dengan koordinat dan dimensinya (nilai x,y,w,h):

cv2.line(img,(bx1,by),(bx1,by2),(255,0,0),2) cv2.line(img,(ax1,ay),(ax1,ay2),(255,255,0),2)

car_cascade = cv2.CascadeClassifier(‘haar.html’)

gray = cv2.cvtColor(blurred, cv2.COLOR_BGR2GRAY)

27

Gambar 3. 11 Tampilan Pendeteksian Kendaraan pada IP Camera EZVIZ C1C di Laptop

3.3.5 Pengujian Waktu pada IP Camera EZVIZ C1C

Pengujian waktu adalah waktu dimana program akan mengurangkan ketika kendaraan yang terdeteksi melewati garis biru tua dengan ketika kendaraan yang terdeteksi melewati garis biru muda. Untuk kendaraan yang terdeteksi melewati garis biru tua, catat waktu:

Untuk kendaraan yang terdeteksi melewati garis biru muda, catat waktu lalu kurangkan kedua waktu tersebut:

Lalu tampilkan waktu dalam satuan detik: cv2.rectangle(img,(x,y),(x+w,y+h),(0,0,255),2)

cv2.circle(img,(int((x+x+w)/2),int((y+y+h)/2)),1,(0,255,0),-1)

cv2.line(img,(bx1,by),(bx1,by2),(255,0,0),2) tim1= time.time()

cv2.line(img,(ax1,ay),(ax1,ay2),(255,255,0),2) total_time= time.time() - tim1

cv2.putText(frame1, "Waktu: " + str(total_waktu)+"detik", (10, 100), cv2.FONT_HERSHEY_SIMPLEX, 1,(0, 0, 0), 2)

28

Gambar 3. 12 Tampilan Waktu ketika Kendaraan Melewati 2 Garis Verikal (Jarak) pada IP Camera EZVIZ C1C di Laptop

3.3.6 Pengujian Kelajuan Kendaraan pada IP Camera EZVIZ C1C

Pengujian kelajuan kendaraan dapat dilakukan setelah proses pengujian waktu.

Dengan speed_cal adalah:

Kelajuan akan diolah ke dalam persamaan (8.600*3600)/(time*1000) yang sudah dikonversikan ke dalam km/jam (jarak 8,6 meter). Kemudian “Kelajuan” di tampilkan dalam km/jam.

Gambar 3. 13 Tampilan Kelajuan Kendaraan pada IP Camera EZVIZ C1C di Laptop cv2.line(img,(ax1,ay),(ax1,ay2),(255,255,0),2) kelajuan=speed_cal((datetime.datetime.now()-tim1).total_seconds()) kelajuan=speed_cal((datetime.datetime.now()-tim1).total_seconds()) def speed_cal(time): try: kelajuan = (8.600*3600)/(time*1000)

cv2.putText(frame1, "Kelajuan: " + str(kelajuan)+"km/jam", (10, 100), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 0), 2)

print(kelajuan) return kelajuan

29

3.3.7 Pengujian Kelajuan Kendaraan pada Excel

Pengujian kelajuan kendaraan pada Excel dapat dilakukan setelah semua pengujian sebelumnya berhasil dilakukan.

Tabel 3. 2 Kelajuan dan Waktu Kendaraan pada Excel

Diperlukan perintah melalui python untuk membuat tabel kelajuan kendaraan seperti pada Tabel 3.1 terlebih dahulu.

thin_border = Border(left=Side(border_style='dashed',color='FF000000'), right=Side(border_style='dashed',color='FF000000'), top=Side(border_style='thin',color='FF000000'), bottom=Side(border_style='thin',color='FF000000') ) thick_border = Border(left=Side(border_style='thin',color='FF000000'), right=Side(border_style='thin',color='FF000000'), top=Side(border_style='thin',color='FF000000'), bottom=Side(border_style='medium',color='FF000000') ) Double_border = Border(left=Side(border_style='dashed',color='FF000000'), right=Side(border_style='dashed',color='FF000000'), top=Side(border_style='double',color='FF000000'), bottom=Side(border_style='double',color='FF000000') ) fill_cell PatternFill(fill_type=fills.FILL_SOLID,start_color='FFFFFF',end_color='00FFFF00'

Waktu Kelajuan Kendaraan (km/jam) Sun Apr 18 17:55:09 2021 24,97828855

30 ) row_num=50 col_num=2 row_loc=0 col_loc=0 Table_num=1 dis=2 for _ in range(Table_num):

for i in range (row_loc,row_loc+row_num): for j in range (col_loc,col_num+col_loc):

ws.cell(row=i+1, column=j+1).border=thin_border if i ==row_loc: ws.cell(row=i+1, column=j+1).border=Double_border ws.cell(row=i+1, column=j+1).fill=fill_cell if i == row_loc+row_num-1: ws.cell(row=i+1, column=j+1).border=thick_border row_loc= row_loc+row_num+dis

Untuk ”Waktu” dan ”Kelajuan Kendaraan (km/jam)” sudah diisi terlebih dahulu kemudian di save dengan nama “Kelajuan Kemdaraan.xlsx”.

ws[“A1”]=”Waktu”

ws[“B1”]=”Kelajuan Kendaraan (km/jam)” wb.save("Kelajuan Kendaraan.xlsx”)

31

Dokumen terkait