rancang sistem keamanan sepeda motor di kos.pdf

28
LAPORAN TUGAS AKHIR PENGOLAHAN CITRA DIGITAL Rancang Sistem Keamanan Sepeda Motor di Kos Menggunakan Object Detection Berbasis SMS Gateway dan BuzzerDiajukan untuk melengkapi tugas akhir Matakuliah Pengolahan Citra Digital Dosen Pengajar : Disusun Oleh: ISA MAHFUDI (NIM. 1141160018) YUSUF ARREZA (NIM. 1141160034) PROGRAM STUDI JARINGAN TELEKOMUNIKASI DIGITAL JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI MALANG 2014

Upload: isa-mahfudi

Post on 19-Dec-2015

79 views

Category:

Documents


3 download

DESCRIPTION

Proyek Tugas Akhir Matakuliah Pengolahan CItra Digital

TRANSCRIPT

LAPORAN TUGAS AKHIRPENGOLAHAN CITRA DIGITAL

“Rancang Sistem Keamanan Sepeda Motor di Kos Menggunakan ObjectDetection Berbasis SMS Gateway dan Buzzer”

Diajukan untuk melengkapi tugas akhirMatakuliah Pengolahan Citra Digital

Dosen Pengajar :

Disusun Oleh:

ISA MAHFUDI (NIM. 1141160018)YUSUF ARREZA (NIM. 1141160034)

PROGRAM STUDI JARINGAN TELEKOMUNIKASI DIGITALJURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI MALANG2014

1PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

BAB I

PENDAHULUAN

1.1 Latar Belakang

Tindakan pencurian kendaraan bermotor kerap kali terjadi tindak hanya di tempat sepi

namun juga di tempat ramai banyak orang. Berdasarkan data dari lapangan bahwa pencurian

kendaraan dengan modus kekerasan atau pencurian sekalipun meningkat setiap tahunnya. Dari

data yang diperoleh dari Lapas Lowokwaru Malang, terdapat narapidana terhadap kasus

pencurian kendaraan bermotor yaitu pada tahun 2012 sebanyak 42 orang narapidana, lalu pada

tahun 2013 mencapai 61 orang narapidana yang menghuni Lapas Lowokwaru Malang,

sedangkan pada tahun 2014 hingga bulan februari terdapat 56 orang narapidana yang menghuni

Lapas Lowokwaru Malang.

Tindakan pencegahan perlu dilakukan agar terhindar dari hal hal yang tidak diinginkan.

Dengan berkembangnya teknologi dalam bidang telekomunikasi maka dapat kita gunakan

untuk melakukan tindakan pencegahan pencurian kendaraan bermotor dengan menggunakan

CCTV yang dapat menangkap gerakan dan juga dapat menginformasikan kepada pemilik

apabila ada hal yang tidak diinginkan. Dengan adanya sistem pengamanan ini diharapkan

menekan angaka kehilangan sepeda motor dengan modus pencurian.

1.2 Rumusan Masalah

Dari uraian latar belakang diatas, dapat rumuskan masalahnya sebagai berikut:

(1) Bagaimana merancang sistem keamanan sepeda motor di kosan menggunakan object

recognition berbasis sms gateway dan buzzer ?

(2) Bagaimana implementasi sistem keamanan sepeda motor di kosan menggunakan

object recognition berbasis sms gateway dan buzzer ?

1.3 Tujuan

Adapun tujuan dari proyek tugas akhir semester dimatakuliah pengolahan citra digital

ini adalah

(1) Dapat merancang sistem keamanan sepeda motor di kosan menggunakan object

recognition berbasis sms gateway dan buzzer.

(2) Dapat mengimplementasikan sistem keamanan sepeda motor di kosan menggunakan

object recognition berbasis sms gateway dan buzzer.

2PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

1.4 Manfaat

Adapun manfaat yang dapat diambil dari proyek tugas akhir semester dimatakuliah

pengolahan citra digital ini adalah

(1) Menciptakan sebuah sistem keamanan sepeda motor yang menggunakan object

recognition.

(2) Menghasilkan sistem keamanan sepeda motor yang dapat mengantisipasi pencurian

keandaraan di kosan yang ditinggal istirahat pemiliknya.

(3) Menghasilkan sistem keamanan sepeda motor yang mengimplementasikan pengolahan

citra digital.

1.5 Batasan Masalah

Adapun batasan masalah pada proyek tugas akhir semester dimatakuliah pengolahan citra

digital ini adalah

(1) Menggunakan Modem Huawei Model E173, Arduino Uno R3 dan Buzzer

(2) SMS Gateway dipergunakan sebagai peringatan berbentuk pesan yang akan dikirim

kepada pemilik sepeda motor.

(3) Buzzer dipergunakan sebagai peringatan suara.

3PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

BAB II

LANDASAN TEORI

2.1 Tinjauan Pustaka

Berkaitan dengan proyek tugas akhir semester pada matakuliah pengolahan citra digital

ini, memiliki beberapa acuan yang dipergunakan dari penelitian sebelumnya yakni :

Zul, Muhammad I (2011) dalam penelitiannya yang berjudul “Deteksi Gerak dengan

Menggunakan Metode Frame Differences pada IP Camera”. Pada penelitian tersebut

dituliskan bahwa frame differences merupakan salah satu metode yang umum digunakan untuk

melakukan pendeteksian gerak melalui objek citra. Pendeteksian gerak tidak diharuskan untuk

mengenali jenis objek yang ditangkap, ataupun menelusuri pergerakan objek tersebut.

Penelitian yang dilakukan lebih kepada pengaturan dan modifikasi metode frame differences,

sehingga cocok diterapkan untuk IP Camera dan aplikasi bebasis web[1].

Zunaidi, Achmad Y. (2013) dalam penelitiannya yang berjudul “Rancang Bangun

Pendeteksi Tempat Parkir Kosong Berbasis Citra Digital”. Pada penelitian tersebut dituliskan

bahwa Penggunaan sistem pengolahan citra dengan menggunakan library OpenCV dan

memanfaatkan citra dari kamera sebagai input dinilai lebih efisien dibandingkan penggunaan

sensor benda sebagai penerima input dalam sistem pendeteksian lahan parkir yang kosong. Hal

ini dikarenakan pemasangan sensor benda pada masing-masing lahan parkir membutuhkan

biaya yang jauh lebih banyak dibandingkan dengan pemasangan kamera. Dari sistem

pendeteksian lahan parkir kosong menggunakan kamera akan menghasilkan sebuah sistem

yang dapat membedakan lahan parkir yang berisi mobil dan lahan parkir kosong yang

selanjutnya akan diinformasikan ke pengendara mobil yang hendak memasuki parkir. Sehingga

orang yang hendak parkir bisa langsung menuju ke salah satu nomor lahan parkir yang telah

diinformasikan sistem melalui display jadi tidak perlu lagi berkeliling mencari lahan parkir

yang kosong[2].

2.2 Teori Dasar

2.2.1 Object Detection

Object detection atau Deteksi obyek adalah teknologi komputer yang terkait dengan

visi komputer dan pengolahan citra yang berhubungan dengan mendeteksi contoh benda

semantik kelas tertentu (seperti manusia, bangunan, atau mobil) dalam gambar digital dan

video. Domain yang diteliti deteksi obyek meliputi deteksi wajah dan deteksi pejalan kaki.

4PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

Deteksi obyek memiliki aplikasi di banyak bidang visi komputer, termasuk pengambilan

gambar dan video surveillance[3].

2.2.2 WebCam [4]

Webcam merupakan gabungan dari kata web dan camera. Webcam sendiri sebutan

bagi kamera real-time (bermakna keadaan pada saat ini juga) yang gambarnya bisa diakses

atau dilihat melalui internet , program instant messaging seperti Yahoo Messenger , AOL

Instant Messenger (AIM), Windows Live Messenger , dan Skype, dan lainnya. Istilah

“webcam” sendiri mengarah pada jenis kamera yang digunakan untuk kebutuhan layanan

berbasis web. Webcam sendiri biasanya digunakan untuk keperluan konferensi jarak jauh atau

juga sebagai kamera pemantau.WebCam adalah sebuah periferal berupa kamera sebagai

pengambil citra/gambar dan mikropon ( optional ) sebagai pengambil suara/audio yang

dikendalikan oleh sebuah komputer atau oleh jaringan komputer. Gambar yang diambil oleh

WebCam ditampilkan ke layar monitor, karena dikendalikan oleh komputer maka ada

interface atau port yang digunakan untuk menghubungkan WebCam dengan komputer atau

jaringan. Ada beberapa orang mengartikan WebCam sebagai Web pages + Camera, karena

dengan menggunakan WebCam untuk mengambil gambar video secara aktual bisa langsung

di upload bila komputer yang mengendalikan terkoneksi internet.

Gambar 2.1. Bentuk Webcam [4]

Jenis – jenis webcam sebagai berikut :

2.2.2.1 Serial and Parallel port WebCam

WebCam jenis ini sudah terlalu tua dan jarang ditemukan lagi, karena sudah tidak ada

yang memproduksi. Selain itu, kamera jenis ini menghasilkan kualitas gambar yang rendah

dan frame rate yang rendah pula.

5PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

2.2.2.2 USB WebCam

WebCam jenis ini merupakan solusi bagi pengguna baru dan amatir. Mendukung

fasilitas PnP ( Plug and Play ) dan dapat dihubungkan ke port USB tanpa harus mematikan

komputer, tetapi syaratnya sistem operasi komputer harus mendukung fasilitas USB port.

2.2.2.3 Firewire and Card Based WebCam

Firewire adalah salah satu teknologi video capture device yang diperlukan bagi

kamera yang mendukungnya. Pada umumnya WebCam yang membutuhkan video capture

device harganya mahal, akan tetapi dapat menghasilkan frame rate tinggi, yaitu 24 sampai 30

frame per second ( fps ).

2.2.2.4 Network and Wireless Camera

Network Camera adalah perangkat kamera yang tidak memerlukan sama sekali

fasilitas komputer, karena dapat langsung terhubung ke jaringan melalui modem. Transfer

gambar dan suara langsung menuju jaringan LAN atau line telepon via modem.

2.2.3 SMS Gateway

SMS Gateway merupakan pintu gerbang bagi penyebaran Informasi dengan

menggunakan SMS. Kita dapat menyebarkan pesan ke ratusan nomor secara otomatis dan

cepat yang langsung terhubung dengan database nomor-nomor ponsel saja tanpa harus

mengetik ratusan nomor dan pesan di ponsel karena semua nomor akan diambil secara

otomatis dari database tersebut. Selain itu , dengan adanya SMS Gateway kita dapat

mengustomisasi pesan-pesan yang ingin dikirim[5].

Gambar 2.2. Sistem SMS Gateway [5]

2.2.4 Arduino Uno

Arduino Uno adalah arduino board yang menggunakan mikrokontroler ATmega328.

Arduino Uno memiliki 14 pin digital (6 pin dapat digunakan sebagai output PWM), 6 input

analog, sebuah 16 MHz osilator kristal, sebuah koneksi USB, sebuah konektor sumber

tegangan, sebuah header ICSP, dan sebuah tombol reset. Arduino Uno memuat segala hal

6PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

yang dibutuhkan untuk mendukung sebuah mikrokontroler. Hanya dengan menhubungkannya

ke sebuah komputer melalui USB atau memberikan tegangan DC dari baterai atau adaptor AC

ke DC sudah dapat membuanya bekerja. Arduino Uno menggunakan ATmega16U2 yang

diprogram sebagai USB-to-serial converter untuk komunikasi serial ke computer melalui port

USB. Tampak atas dari arduino uno dapat dilihat pada Gambar 2.3. Adapun data teknis board

Arduino UNO R3 adalah sebagai berikut:

● Mikrokontroler : ATmega328

● Tegangan Operasi : 5V

● Tegangan Input (recommended) : 7 - 12 V

● Tegangan Input (limit) : 6-20 V

● Pin digital I/O : 14 (6 diantaranya pin PWM)

● Pin Analog input : 6

● Arus DC per pin I/O : 40 mA

● Arus DC untuk pin 3.3 V : 150 mA

● Flash Memory : 32 KB dengan 0.5 KB digunakan untuk bootloader

● SRAM : 2 KB

● EEPROM : 1 KB

● Kecepatan Pewaktuan : 16 Mhz

Gambar 2.3 Arduino Uno

Sumber : arduino.cc

2.2.5 Buzzer[6]

Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran

listrik menjadi getaran suara. Pada dasarnya prinsip kerja buzzer hampir sama dengan loud

speaker, jadi buzzer juga terdiri dari kumparan yang terpasang pada diafragma dan kemudian

kumparan tersebut dialiri arus sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke

dalam atau keluar, tergantung dari arah arus dan polaritas magnetnya, karena kumparan

7PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

dipasang pada diafragma maka setiap gerakan kumparanakan menggerakkan diafragma secara

bolak-balik sehingga membuat udara bergetar yang akan menghasilkan suara. Buzzer ini

digunakan sebagai indikator (alarm).

Gambar 2.4 Bentuk Buzzer [6]

2.2.6 Delphi 7

Delphi merupakan bahasa pemrograman yang mempunyai cakupan kemampuan yang

luas dan sangat canggih. Berbagai aplikasi dapat dibuat dengan Delphi, termasuk aplikasi

untuk pengolah teks, grafik, angka, database dan aplikasi web. Delphi menyediakan fasilitas

yang lengkap untuk mengelolah database. Berbagai format database dapat diolah dengan

Delphi, misalnya database dengan format Paradox, dBase, MS-Access, ODBC, SyBASE,

Oracle dan lain-lain.[7]

Gambar 2.5. Jendela Utama Delphi [8]

2.2.6.1 Bagian – bagian dari Jendela Delphi [8]

1) Object Tree View

Merupakan sebuah diagram pohon yang menggambarkan hubungan logis

menghubungkan semua komponen yang terdapat dalam suatu proyek program.

Komponen tersebut meliputi form, modul atau frame. Fungsinya digunakan untuk

menampilkan seluruh daftar komponen program dalm sebuah aplikasi program sesuai

dengan penempatnnya.

8PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

Gambar 2.6 Jendela Object Tree View [8]

2) Object Inspector

Merupakan jendela yang digunakan utnuk mengatur tampilan komponen pada form,

misal bagaimana mengubah tulisan button pada command button menjadi Simpan, atau

menghapus tulisan pada label dan mengganti nama menjadi Nama Mahasiswa atau

memberikan perintah tertentu pada sebuah komponen sehingga ada interaksi ketika

program dijalankan. Secara Umum Object Inspector terbagi menadi 2, yaitu:

a. Properties

Digunakan untuk mengatur tampilan pada sebuah komponen baik itu meliputi

penggantian nama, warna, jenis huruf, border dan lain –lain.

Gambar 2.7 Jendela Inspector (Properties)[8]

b. Events

Merupakan jendela properties yang digunakan untuk memberikan fungsi yang

lebih detail dari fungsi sebenarnya. Misalnya ketika tombol Simpan di klik maka

program akan menjalankan perintah penyimpanan data. Dari kalimat tersebut ada

event clik untuk mengeksekusi sebuah tombol simpan. Perintah event clik tersebut

dapat diberikan melalui jendela events.

9PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

Gambar 2.8 Jendela Events pada Object Inspector [8]

3) Form Designer

Merupakan tempat yang digunakan untuk merancang semua aplikasi program yang

diambil dari komponen pallete.

Gambar 2.9 Jendela Form Designer [8]

4) Component Pallete

Merupakan kumpulan icon yang digunakan untuk merancang suatu aplikasi pada

untuk membentuk sebuah aplikasi user interface. Dalam komponen pallete semua icon

dikelompokan dalam berbagai komponen sesuai dengan fungsi dan kegunaannya.

Gambar 2.10 Komponen Pallete [8]

5) Code Editor

Bagian dari delphi yang digunakan untuk menuliskan kode program. Pada bagian code

editor terdapat 3 bagian utama yaitu = bagian paling kiri yang berisi berupa angka

menunjukan baris dan kolom. Keterangan modified menunjukan bahwa telah terjadi

modifikasi terhadap baris program. Dan paling kanan menunjukan status keyboard

tentang tombol insert atau over

write.

10PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

Gambar 2.11 Jendela Form Designer [8]

6) Code Explorer

Jendela yang digunakan untuk menampilkan seluruh variabel, type, dan rountine yang

didefinisikan pada sebuah unit.

Gambar 2.12 Jendela Form Designer [8]

2.2.6.1 Komponen CPortLib

CPortlib adalah komponen Delphi yang digunakan untuk menampilkan dan

mengirimkan data secara serial melalui RS-232.Komponen ini dilengkapi dengan fitur

setting komunitas serial, seperti penggunaaan Port, Baud Rate, Data Bits, Stop Bits, Parity

dan Flow Control. Penggunaannya sama seperti penggunaan komponen lain, yaitu dengan

mengaktifkan komponen tersebut, kemudian menangani kejadian pada Events-nya. Adapun

komponen ini didapat dengan mendownloadnya di situs www.datamaster2003.com[9].

11PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

BAB III

PEMBAHASAN

3.1 Perancangan Sistem

Gambar 3.1 Diagram blok sistem

Keterangan :

PC

Dipergunakan sebagai memproses gambar hasil capture yang didapatkan dari webcam

serta pengelolah perintah pengiriman SMS ke nomor pemilik sepeda motor kosan dan

perintah untuk menghidupkan buzzer dan LED.

SMS Gateway

Dipergunakan sebagai media pengirim SMS ke nomor pemilik sepeda motor kosan.

WebCam

Dipergunakan sebagai media pengambil gambar yang hasilnya akan diproses untuk

pengolahan citra digital oleh PC.

Arduino Uno

Dipergunakan sebagai media pengontrol untuk menyalakan dan mematikan buzzer

atau LED yang terhubung secara serial dengan PC melalui kabel USB.

Buzzer

Dipergunakan sebagai media pengeluar suara sebagai tanda ada pergerakan objek

yang tidak dikehendaki.

LED

Dipergunakan sebagai media tanda ada pergerakan objek yang tidak dikehendaki.

12PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

3.2 Cara Kerja Sistem

Sistem ini diawal dari webcam mengambil gambar pada parkiran kosan, selanjutnya

dari webcam akan dikelolah oleh aplikasi yang dibuat dengan menggunakan delphi pada

laptop. Aplikasi yang dibuat akan mengcapture gambar 1, selanjutnya dilanjutnya mengcapture

gambar ke 2 yang memiliki selisih 250 ms .Selanjutnya kedua gambar akan dibandingkan

antara capture gambar 1 dan hasil capture gambar 2 dengan cara mengurangi piksel antar

gambar 1 dan gambar 2. Bilamana selisih piksel = 0. Maka diproses bahwa diarea tersebut tidak

ada pergerakan. Bilamana terdapat selisih piksel tidak = 0. Maka akan disimpulkan bahwa

diarea parkir tersebut terdapat pergerakan selanjutnya akan diproses pemrotetan gambar dari

pegerakan terbut dan buzzer berbunyi serta pengiriman sms ke nomor pemilik kendaraan yang

di parkiran.

3.3 Implementasi Sistem Sistem

3.2.1 Perakitan sistem

Pada tahap ini akan dilakukan perakitan sistem dari alat dan bahan yang digunakan

sesuai dengan diagram blok perancangan sistem.

Gambar 3.2. Perakitan sistem

13PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

3.2.2 Pembuatan program

Pada tahap ini akan dilakukan pembuatan desain layout dan komponen yang akan

dipergunakan.

Gambar 3.3. Desai layaout Program.

Tabel 3.1 Keterangan Komponen

Komponen Property Setting

Form1

Caption Tugas Akhir Semester /Matakuliah Pengolahan CitraDigital

Name Form1

Image1 Name Image1

Panel1Name Panel1

Caption

Panel2Name Panel2

Caption

Label1 Caption More Sensitive

Label2 Caption Less Sensitive

Label3 Caption Area Detect

Label4 Caption Pilih Camera

Label5 Caption Kosong

Label6Caption Rancang Sistem Keamanan Sepeda

Motor di Kosan MenggunakanObject Recognition

14PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

Label7 Caption Berbasis SMS Gateway dan Buzzer

Button1Caption Connect Modem

Name Button1

Button2Caption Connect Arduino

Name Button2

BitBtn1Caption Mulai

Name BitBtn1

ComboBox1Text Kosong

Name ComboBox1

ComboBox2Text Kosong

Name ComboBox2

ComboBox3Text Kosong

Name ComboBox3

ComboBox4Text Kosong

Name ComboBox4

TrackBar1 Name TrackBar1

MainMenu1Item Keluar

Name MainMenu1

FilterGraph1

Name FilterGraph1

Mode gmCapture

GraphEdit True

VideoWindow1Name VideoWindow1

Filtergraph FilterGraph1

Filter1Name Filter1

Filtergraph FilterGraph1

SampleGraph1Name SampleGraph1

Filtergraph FilterGraph1

Timer1 Enable True

Interval 250

Name Timer1

Timer3 Enable False

Interval 60000

Name Timer3

Form2 Caption PROFILE PEMBUATAN

Name Form2

Image1 Name Image1

Image2 Name Image2

Label1 Caption Nama

15PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

3.2.3 Listing Program

unit Unit1;

interface

usesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, DSUtil, Buttons, ComCtrls, ExtCtrls, DSPack,

DirectShow9,comObj,activeX,motiondetect,jpeg,Menus, CPort;

typeTForm1 = class(TForm)VideoWindow1: TVideoWindow;FilterGraph1: TFilterGraph;SampleGrabber1: TSampleGrabber;Filter1: TFilter;Label5: TLabel;Label3: TLabel;Label1: TLabel;Label2: TLabel;Label4: TLabel;Shape1: TShape;Image1: TImage;TrackBar1: TTrackBar;ComboBox1: TComboBox;ComboBox2: TComboBox;BitBtn1: TBitBtn;Timer1: TTimer;Timer2: TTimer;MainMenu1: TMainMenu;Keluar1: TMenuItem;Memo1: TMemo;ComboBox3: TComboBox;

Label2 Caption NIM

Label3 Caption Kelas

Label4 Caption : ISA MAHFUDI

Label5 Caption : 1141160018

Label6 Caption : JTD-4B

Label7 Caption Nama

Label8 Caption NIM

Label9 Caption Kelas

Label10 Caption : YUSUF ARREZA

Label11 Caption : 1141160034

Label12 Caption : JTD-4B

16PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

Button1: TButton;ComPort1: TComPort;ComPort2: TComPort;ComboBox4: TComboBox;Button2: TButton;Timer3: TTimer;Label7: TLabel;Label6: TLabel;Image2: TImage;Help1: TMenuItem;Profile1: TMenuItem;SilahkanAndaBacaBukuPetunjukknya1: TMenuItem;procedure FormCreate(Sender: TObject);procedure BitBtn1Click(Sender: TObject);procedure Timer1Timer(Sender: TObject);procedure ComboBox1Change(Sender: TObject);procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);

procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);

procedure Keluar1Click(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure ComPort1RxChar(Sender: TObject; Count: Integer);procedure Timer3Timer(Sender: TObject);procedure Profile1Click(Sender: TObject);

private{ Private declarations }function ScaleNotpersen(bitmap: TBitmap; hingin:integer; wingin:integer):Boolean;procedure CompareBitmaps(const BitmapA, BitmapB: TBitmap;var Total, Match, Differ:

INTEGER);

public{ Public declarations }

end;

varForm1: TForm1;VideoDev: TSysDevEnum;VideoMediaTypes: TEnumMediaType;photo1,photo2,photo3: Tbitmap;xL, yT, xR, yB, xTemp, yTemp: integer;Down: boolean;mydatetime: TDatetime;SaveFile: WideString;tanda_motion: string;

implementation

17PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

uses Unit2;

{$R *.dfm}varcek:Boolean;

function Tform1.ScaleNotpersen(bitmap: TBitmap; hingin:integer; wingin:integer):Boolean;varTmpBmp: Tbitmap;Arect: Trect;

begin// Result:=false;tryTmpBmp:=Tbitmap.Create;tryTmpBmp.Height:=hingin;TmpBmp.Width:=wingin;Arect:=Rect(0,0,wingin,hingin);TmpBmp.Canvas.StretchDraw(Arect,Bitmap);Bitmap.Assign(TmpBmp);

finallyTmpBmp.Free;

end;Result:=true;

exceptResult:=false;

end;end;

procedure TForm1.CompareBitmaps(const BitmapA, BitmapB: TBitmap;var Total, Match, Differ: INTEGER);

TypeTRGBTripleArray = Array[WORD] of TRGBTriple;pRGBTripleArray = ^TRGBTripleArray;

vari : INTEGER;j : INTEGER;rowA: pRGBTripleArray;rowB: pRGBTripleArray;margin: Integer;

beginmargin:= Trackbar1.Position; // "rough" sensitivity adjustment

ASSERT( (BitmapA.width = BitmapB.width) and(BitmapA.height = BitmapB.height), 'Different sizes');

18PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

BitmapA.PixelFormat := pf24bit;BitmapB.PixelFormat := pf24bit;

Total := BitmapA.width * BitmapA.height;Match := 0;Differ := 0;

if yB < 2 then yB:= BitmapA.height-1;if xR < 2 then xR:= BitmapA.width-1;

for j := yT to yB-1 do //untuk ybeginrowA := BitmapA.Scanline[j];rowB := BitmapB.Scanline[j];

for i := xL to xR -1 do //untuk x// for i := 0 to (xR div 2) -1 do

beginif (abs((rowA[i].rgbtRed - rowB[i].rgbtRed)) < margin) AND

(abs((rowA[i].rgbtGreen - rowB[i].rgbtGreen)) < margin) AND(abs((rowA[i].rgbtBlue - rowB[i].rgbtBlue)) < margin)

then Inc(Match)else Inc(Differ);end;

end;end;

procedure TForm1.FormCreate(Sender: TObject);var i: integer;begincek:=False;

EnumComPorts(ComboBox3.Items);if ComboBox3.Items.Capacity<>-1 then ComboBox3.ItemIndex :=0;

EnumComPorts(ComboBox4.Items);if ComboBox4.Items.Capacity<>-1 then ComboBox4.ItemIndex :=0;

VideoDev := TSysDevEnum.Create(CLSID_VideoInputDeviceCategory);for i := 0 to VideoDev.CountFilters - 1 doCombobox1.Items.Add(VideoDev.Filters[i].FriendlyName);

VideoMediaTypes:= TEnumMediaType.Create;xL:=0;yT:=0;xR:=Image1.Width div 2;//xR:=173;

19PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

yB:=Image1.Height;//yB:=117;photo1:=Tbitmap.Create;photo2:=TBitmap.Create;photo3:=TBitmap.Create;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);var PinList: TPinList;beginif filtergraph1.Active then filtergraph1.Active:=false;Filtergraph1.ClearGraph;//set ukuran video windowVideoWindow1.Width:=strtoint(copy(ComboBox2.Text,pos('X',ComboBox2.text)-3,3));VideoWindow1.Height:=strtoint(copy(ComboBox2.Text,pos('X',ComboBox2.text)+1,3));//aktifkan kembali filtergraphfiltergraph1.Active:=true;// configure output Video media typeif Filter1.FilterGraph <> nil thenbeginPinList := TPinList.Create(Filter1 as IBaseFilter);if ComboBox2.ItemIndex <> -1 thenwith (PinList.First as IAMStreamConfig) doSetFormat(VideoMediaTypes.Items[ComboBox2.ItemIndex].AMMediaType^);

PinList.Free;end;// now render streamswith FilterGraph1 as IcaptureGraphBuilder2 dobegin// Connect Video preview (VideoWindow)if Filter1.BaseFilter.DataLength > 0 thenRenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter1 as IBaseFilter,Samplegrabber1 as IBaseFilter , VideoWindow1 as IBaseFilter);

end;FilterGraph1.Play;//gambar ke image1 parameter motion detectimage1.Canvas.Pen.Color := clwhite;image1.Canvas.Pen.Mode := pmXOR;image1.Canvas.Pen.Style:= psdot;image1.Canvas.Brush.Style := bsclear;image1.Canvas.Rectangle(xL, yT, xR, yB);timer1.Enabled:=true;Image1.Enabled:=true;

end;

procedure TForm1.Timer1Timer(Sender: TObject);var PixelsDiffer: Integer;

PixelsMatch : Integer;

20PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

PixelsTotal : Integer;d: TPicture;waktufoto:string;

beginif photo1.Empty thenbeginSampleGrabber1.GetBitmap(photo1);ScaleNotpersen(photo1,image1.Height,image1.Width);photo1.PixelFormat:= pf24bit;

end;SampleGrabber1.GetBitmap(photo2);ScaleNotpersen(photo2,image1.Height,image1.Width);photo2.PixelFormat:=pf24bit;CompareBitmaps(photo1,photo2,PixelsTotal, PixelsMatch, PixelsDiffer);

//check if motion is detectedif(PixelsDiffer > trackbar1.Position) thenbeginphoto1.Assign(photo2);image1.Picture.Bitmap:=photo1;shape1.Brush.Color:=clred;d:=TPicture.Create;SampleGrabber1.GetBitmap(d.Bitmap);TimeSeparator:='_';waktufoto:=TimeToStr(now);d.SaveToFile('C:\isa\'+waktufoto+'.jpeg');d.Free;if ComPort2.Connected then ComPort2.WriteStr('1');

if ComPort1.Connected then ComPort1.WriteStr('AT+CMGF=1'+#13+#10);Label5.Caption:='Detected'

endelsebegin

if ComPort2.Connected then ComPort2.WriteStr('2');Label5.Caption:='';shape1.Brush.Color:=clwhite;photo1.Assign(photo2);image1.Picture.Bitmap:=photo1

end;image1.Canvas.Pen.Color := clwhite;image1.Canvas.Pen.Mode := pmXOR;image1.Canvas.Pen.Style:= psdot;image1.Canvas.Brush.Style := bsclear;image1.Canvas.Rectangle(xL, yT, xR, yB);

end;

procedure TForm1.ComboBox1Change(Sender: TObject);varVideoFormat: TPinList;

21PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

i: integer;begin// matikan timer1Timer1.Enabled:=false;Image1.Enabled:=false;VideoDev.SelectGUIDCategory(CLSID_VideoInputDeviceCategory);if ComboBox1.ItemIndex <> -1 thenbeginFilter1.BaseFilter.Moniker := VideoDev.GetMoniker(ComboBox1.ItemIndex);FilterGraph1.Active := true;VideoFormat := TPinList.Create(Filter1 as IBaseFilter);ComboBox2.Clear;VideoMediaTypes.Assign(VideoFormat.First);if (trim(ComboBox1.Text)='Video WebCam') thenbegin// tampilkan hanya ukuran gambar sajafor i:=0 to round((VideoMediaTypes.Count/2)-1) do

ComboBox2.Items.Add(trim(copy(VideoMediaTypes.MediaDescription[2*i],pos('X',VideoMediaTypes.MediaDescription[2*i])-8,length(VideoMediaTypes.MediaDescription[2*i]))));

endelsebegin//tampilkan hanya ukuran gambar sajafor i:=0 to VideoMediaTypes.Count-1 do

ComboBox2.Items.Add(trim(copy(VideoMediaTypes.MediaDescription[i],pos('X',VideoMediaTypes.MediaDescription[i])-8,length(VideoMediaTypes.MediaDescription[i]))));

end;//for i := 0 to VideoMediaTypes.Count - 1 do// Combobox2.Items.Add(VideoMediaTypes.MediaDescription[i]);FilterGraph1.Active := false;VideoFormat.Free;ComboBox2.ItemIndex:=0;BitBtn1.Enabled:=True

end;

end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);

beginif (Button = mbLeft) then

beginimage1.Canvas.Pen.Color := clwhite;image1.Canvas.Pen.Mode := pmXOR;image1.Canvas.Pen.Style:= psdot;image1.Canvas.Brush.Style := bsclear;image1.Canvas.Rectangle(xL, yT, xR, yB);xL := X;

22PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

yT := Y;xTemp := xL;yTemp := yT;Down := True;timer1.Enabled:=false;

end;end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

beginif (Down) then

beginimage1.Canvas.Pen.Color := clwhite;image1.Canvas.Pen.Mode := pmXOR;image1.Canvas.Pen.Style:= psdot;image1.Canvas.Brush.Style := bsClear;image1.Canvas.Rectangle(xL, yT, xTemp, yTemp);if (X < 0) thenxTemp := 0

else if (X >= image1.Width) thenxTemp := image1.Width-1

elsexTemp := X;

if (Y < 0) thenyTemp := 0

else if (Y >= image1.Height) thenyTemp := image1.Height-1

elseyTemp := Y;

image1.Canvas.Rectangle(xL, yT, X, Y);end;

end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);

beginif ( Button = mbLeft ) then

beginif (X < 0) thenxR := 0

else if (X >= image1.Width) thenxR := image1.Width-1

elsexR := X;

if (Y < 0) thenyB := 0

else if (Y >= image1.Height) thenyB := image1.Height-1

23PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

elseyB := Y;

Down := False;if (xR < xL) thenbeginxTemp := xL;xL := xR;xR := xTemp;

end;if (yB < yT) thenbegin

yTemp := yT;yT := yB;yB := yTemp;

end;end;timer1.Enabled:=true;

end;

procedure TForm1.Keluar1Click(Sender: TObject);beginClose;

end;

procedure TForm1.Button1Click(Sender: TObject);beginif Button1.Caption ='Connect Modem' thenbegin

Button1.Caption :='Disconnect Modem';ComPort1.Port:=ComboBox3.Text;ComPort1.Open;

end elsebeginButton1.Caption :='Connect Modem';ComPort1.Close;

end

end;

procedure TForm1.Button2Click(Sender: TObject);beginif Button2.Caption ='Connect Arduino' thenbegin

Button2.Caption :='Disconnect Arduino';ComPort2.Port:=ComboBox4.Text;ComPort2.Open;

24PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

end elsebegin

Button2.Caption :='Connect Arduino';ComPort2.Close;

endend;

procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);vars:string;

beginComPort1.ReadStr(s,Count);Memo1.Text:=Memo1.Text+s;if (Pos ('OK',s)<>0)and not cek thenbeginComPort1.WriteStr('AT+CMGS="'+'085646501599'+'"'+#13+#10);Sleep(50);ComPort1.WriteStr('PERINGATAN!!'+#10+'SEPEDA MOTOR ANDA DALAM

KEADAAN BAHAYA!'+#10+'SEGERA CEK MOTOR ANDA'+#13);Sleep(50);ComPort1.WriteStr(#26);Timer3.Enabled:=True;cek:=True;

end;end;

procedure TForm1.Timer3Timer(Sender: TObject);beginTimer3.Enabled:=False;cek:=False;

end;

procedure TForm1.Profile1Click(Sender: TObject);beginForm2.Show;

end;

end.

25PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

3.4 Flowchart Sistem

MULAI

Mengambil gambar 1

Apakah ada selisih ?T

Y

SELESAI

Mengambil gambar 2

Membandingkan antaraGambar 1 dan Gambar 2

Capture gambar gambar 2Dan shape berwarna merah

Tidak mengcapturegambar 2

Apakah SMS Gateway diAktifkan ?

Kirim SMS Peringatan Kenomor pemilik sepeda motor

Apakah Buzzer di Aktifkan ?

Buzzer dihidupkan

SMS Peringatan Tidak diKirim

Buzzer tidak dihidupkan

Gambar 3.4. Flowchar dari sistem

26PENGOLAHAN CITRA DIGITAL / TUGAS AKHIR SEMSTER

BAB III

PENUTUP

3.1 Kesimpulan

Yang dapat disimpulkan dari hasil proyek akhir semester dimatakuliah pengolahan ini

adalah pembuatan sistem keamanan sepeda motor di kos menggunakan Object Detection

berbasis SMS Gateway dan Buzzer dapat berjalan dengan baik. Pendeteksian pergerakan yang

disusul dengan bunyi buzzer dan pengiriman SMS ke nomor pemilik kendaraan serta

pemrfotoan pergerakaan.

3.2 Saran

Saran dari kami, semoga sistem ini dapat dikembangkan lebih jauh lagi dengan

memberikan time schdeule, sistem keamanan program dan mengintegrasikan dengan

perangkat lain seingga sistem keamanan dikosan ini lebih sempurna lagi.

DAFTAR PUSTAKA

[1] Zul , Muhammad I.2011. Deteksi Gerak dengan Menggunakan Metode Frame Differencespada IP Camera. Jurnal Teknik Elektro dan Teknologi Informasi, Universitas GadjahMada.

[2] Zunaidi, Achmad Yusuf.2013. Rancang Bangun Pendeteksi Tempat Parkir KosongBerbasis Citra Digital. Jurnal JCONES .Vol. 2 (1): 26-34.

[3] http://en.wikipedia.org/wiki/Object_detection. Diakses pada tanggal 16 Januari 2015 jam18.41 WIB.

[4] http://shaleholic.com/pengertian-webcam-dan-jenisnya. Diakses pada tanggal 16 Januari2015 jam 17.41 WIB.

[5] Saputro, M. Yanuar Ary. 2011. Perancangan Sistem SMS Gateway berbasis Web denganGammu dan Interkoneksi di Biro Sistem Informasi Unissula Semarang. MakalahSeminar Kerja Praktek Jurusan Teknik Elektro Fakultas Teknik UniversitasDiponegoro.

[6] Sulistyowati , Riny dan Dedi Dwi Febriantoro. 2012. Perancangan Prototype SistemKontrol Dan Monitoring Pembatas Daya Listrik Berbasis Mikrokontroler. JurnalIPTEK Vol.16 No,1 Mei 2012

[7] Abdillah, L.A. 2006. Perancangan Basis Data Sistem Informasi Penggajian (Studi Kasuspada Universitas ‘XYZ’). Jurnal Ilmiah MATRIK.Vol. 8 (2):135-152.

[8] BINA SARANA INFORMATIKA (BSI).2006.Modul Praktek Laboratorium KomputerBorland Delphi. Akademik Manajemen Informatika dan Komputer.

[9] Ghofur, Abdul, Ahmad Rofiq Hakim.M. dan Erliansyah Nasution. 2010. MembangunPengontrol Peralatan Keamanan Rumah Dengan Menggunakan AT89C51 DanBorland Delphi 6. Jurnal Informatika Mulawarman.Vol 5 (2).

[10]https://muhammad4zmi.wordpress.com/2014/06/19/membuat-sms-gateway-dengan-comport/ Diakses pada tanggal 16 Januari 2015 jam 17.46 WIB.

[11]http://tielearningnow.blogspot.com/2012/08/cara-mengirim-sms-dengan-delphi.htmlDiakses pada tanggal 16 Januari 2015 jam 17.53 WIB.