• Tidak ada hasil yang ditemukan

Perancangan Sistem Pengontrol Gerak Kamera CCTV.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan Sistem Pengontrol Gerak Kamera CCTV."

Copied!
35
0
0

Teks penuh

(1)

i

Universitas Kristen Maranatha PERANCANGAN SISTEM PENGONTROL GERAK KAMERA CCTV

Arief Budianto 0727039

Jurusan Sistem Komputer, Fakultas Teknik, Universitas Kristen Maranatha Jalan Prof. Drg. Suria Sumantri 65

Bandung 40164

ABSTRAK

(2)

ii

Universitas Kristen Maranatha

THE DESIGN OF CCTV CAMERA MOVEMENT CONTROL SYSTEM

Arief Budianto 0727039

Jurusan Sistem Komputer, Fakultas Teknik, Universitas Kristen Maranatha Jalan Prof. Drg. Suria Sumantri 65

Bandung 40164

ABSTRACT

(3)

vi

Universitas Kristen Maranatha

DAFTAR ISI

Abstrak ... i

Abstract ... ii

Kata Pengantar ... iii

Daftar Isi... vi

Daftar Gambar ... ix

BAB I PENDAHULUAN 1.1. Latar Belakang ... 1

1.2. Identifikasi Masalah ... 2

1.3. Tujuan Penulisan ... 2

1.4. Pembatasan Masalah ... 2

1.5. Sistematika Penulisan... 3

BAB II LANDASAN TEORI 2.1. Borland Delphi 7 ... 4

2.1.1. Menginstall Delphi 7 ... 6

2.2. Motor Stepper... 7

2.2.1. Half Stepping ... 11

2.2.2. Tipe Motor Stepper ... 11

2.2.3. Variabel Reluktansi Motor ... 11

2.2.4. Unipolar Motor Stepper ... 13

2.2.5. Bipolar Motor Stepper... 15

2.2.6. Keunggulan Motor Stepper ... 17

(4)

vii

Universitas Kristen Maranatha

2.2.8. Prinsip Kerja Motor Stepper ... 18

2.2.9. Sudut Langkah Motor Stepper ... 18

2.2.10. Torsi Motor Stepper ... 19

2.3. Parallel port ... 21

2.3.1. Penjelasan Umum Parallel port ... 23

2.3.2. Daftar PIN DB25 dan Centronics ... 24

2.3.3. Alamat-alamat Parallel port ... 26

2.3.4. Register-register Parallel port ... 27

2.3.5. Mode-mode Parallel port Dalam Bios ... 28

2.4. ULN 2803... 30

2.5. Modul INPOUT32.dll ... 31

BAB III PERANCANGAN DAN PEMODELAN 3.1. Diagram Blok ... 32

3.2. Diagram Alir Program Utama ... 33

3.3. Diagram Alir Proogram Capture ... 34

3.4. Diagram Alir Program Video Record ... 36

3.5. Merancang Hardware ... 37

3.6. Merancang Interface Program Utama ... 39

3.7. Merancang Interface Program Capture ... 44

3.8. Merancang Interface Program Video record... 46

BAB IV HASIL DAN PEMBAHASAN 4.1. Tampilan Interface Program Utama... 48

4.2. Fungsi Dan Menu Dari Program Capture ... 50

4.2.1. Menu Devices ... 50

(5)

viii

Universitas Kristen Maranatha

4.2.3. Area Capture ... 51

4.2.4. Rotation Pada Program Capture ... 52

4.2.5. Fungsi Date, Time, dan Interval ... 53

4.2.6. Tombol-tombol Fungsi Pada Program Capture ... 54

4.3. Fungsi Dan Menu Dari Program Video record ... 57

4.3.1. Menu Devices Pada Program Video record ... 57

4.3.2. Rotation Pada Program Video record ... 57

4.3.3. Cara Merekam Video... 58

BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan ... 61

5.2. Saran ... 61

DAFTAR PUSTAKA ... 62

LAMPIRAN-LAMPIRAN

(6)

ix

Universitas Kristen Maranatha

DAFTAR GAMBAR

Gambar 2.1. Borland Delphi 7 ... 4

Gambar 2.2. Motor Stepper ... 7

Gambar 2.3. Medan Magnet Yang Ditimbulkan Kumparan ... 8

Gambar 2.4. Stepper One Phase On ... 9

Gambar 2.5. Stepper Two Phase On ... 10

Gambar 2.6. Variabel Reluktansi motor ... 12

Gambar 2.7. Data Dengan Urutan 1 ... 12

Gambar 2.8. Unipolar Stepper Motor ... 13

Gambar 2.9. Urutan 2 Data Untuk Motor Stepper dengan Tipe Unipolar (torsi normal) ... 14

Gambar 2.10. Urutan 3 Data Motor Stepper Tipe Unipolar (torsi besar) ... 14

Gambar 2.11. Bipolar Motor Stepper ... 15

Gambar 2.12. Urutan Data Motor Stepper Tipe Bipolar ... 16

Gambar 2.13. Sudut Langkah Motor Stepper ... 18

Gambar 2.14. Torsi Fiksi ... 19

Gambar 2.15. Initial torsi 1 ... 19

Gambar 2.16. Initial Torsi 2 ... 20

Gambar 2.17. Initial Torsi 3 ... 20

Gambar 2.18. Parallel port ... 20

Gambar 2.19. IC ULN 2803 ... 30

Gambar 3.1. Diagram Blok ... 32

(7)

x

Universitas Kristen Maranatha

Gambar 3.3. Diagram Alir Program Capture... 34

Gambar 3.4. Diagram Alir Program Video Record ... 36

Gambar 3.5. Desain Hardware ... 37

Gambar 3.6. Diagram Skematik ... 38

Gambar 3.7. New Application ... 39

Gambar 3.8. Form Designer ... 39

Gambar 3.9. Toolbars Delphi... 40

Gambar 3.10. Desain Program Utama ... 41

Gambar 3.11. Tambah MainMenu1 ... 41

Gambar 3.12. Object Inspector ... 42

Gambar 3.13. Save As ... 43

Gambar 3.14. Save Project... 43

Gambar 3.15. New Form ... 44

Gambar 3.16. Tampilan Program Capture ... 44

Gambar 3.17. DSPack ... 45

Gambar 3.18. Toolbar DSPack ... 45

Gambar 3.19. Save Program Capture ... 46

Gambar 3.20. Create New Form ... 46

Gambar 3.21. Tampilan Program Video Record ... 47

Gambar 3.22. Save Program Video Record ... 47

Gambar 4.1. Tampilan Program Utama ... 48

Gambar 4.2. Subprogram Dari Program Utama... 49

Gambar 4.3. Interface Program Capture... 49

Gambar 4.4. Interface Program Video Record ... 50

(8)

xi

Universitas Kristen Maranatha

Gambar 4.6. Area Capture ... 52

Gambar 4.7. Program Capture Rotation ... 52

Gambar 4.8. Date, Time, Timer. dan Interval ... 53

Gambar 4.9. Tombol-tombol Fungsi ... 54

Gambar 4.10. Tombol Manual Capture ... 55

Gambar 4.11. File Hasil Auto Capture ... 56

Gambar 4.12. Program Video Record ... 57

Gambar 4.13. Video Record Rotation ... 58

Gambar 4.14. Select Devices ... 59

Gambar 4.15. Save File Video... 59

(9)

A-1 LAMPIRAN A

SCRIPT DALAM PEMBUATAN PROGRAM UTAMA

unit UProgramCCTV;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus, jpeg, ExtCtrls, ImgList;

type

TfrmProgramCCTV = class(TForm) GroupBox1: TGroupBox;

MainMenu1: TMainMenu; Programs1: TMenuItem; ProgramCapture1: TMenuItem; N1: TMenuItem;

ProgramVideoRecord1: TMenuItem; N2: TMenuItem;

Exit1: TMenuItem; Image1: TImage;

procedure ProgramCapture1Click(Sender: TObject); procedure Exit1Click(Sender: TObject);

procedure ProgramVideoRecord1Click(Sender: TObject); private

{ Private declarations } public

(10)

A-2 var

frmProgramCCTV: TfrmProgramCCTV;

implementation

uses UCapture, UVideo;

{$R *.dfm}

procedure TfrmProgramCCTV.ProgramCapture1Click(Sender: TObject); begin

frmCapture.edJam.Text := FormatDateTime('hh mm ss',Now); frmCapture.edTgl.Text := FormatDateTime('dd mmmm yyyy',Now); frmCapture.show;

end;

procedure TfrmProgramCCTV.Exit1Click(Sender: TObject); begin

Application.terminate; end;

procedure TfrmProgramCCTV.ProgramVideoRecord1Click(Sender: TObject); begin

frmVideo.show; end;

(11)

B-1 LAMPIRAN B

SCRIPT DALAM PEMBUATAN PROGRAM CAPTURE

unit UCapture;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DSPack, DirectShow9, DSUtil, StdCtrls, DBCtrls, ExtCtrls, Menus, Buttons, DB, ADODB, Mask, Grids, DBGrids;

type

TfrmCapture = class(TForm) FilterGraph1: TFilterGraph;

SampleGrabber1: TSampleGrabber; Filter1: TFilter;

MainMenu1: TMainMenu; Device1: TMenuItem; Panel1: TPanel; Panel2: TPanel;

VideoWindow1: TVideoWindow; DBImage1: TDBImage;

(12)

B-2 btnAutoCap: TButton;

btnDisableAutoCap: TButton; edJam: TEdit;

Label3: TLabel; Label4: TLabel; edTgl: TEdit;

SpeedButton1: TSpeedButton; edInterval: TEdit;

SpeedButton2: TSpeedButton; Button1: TButton;

Button2: TButton; Label7: TLabel; TimerCW: TTimer; TimerCCW: TTimer;

procedure btnManualCapClick(Sender: TObject); procedure FormCreate(Sender: TObject);

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure btnCloseClick(Sender: TObject);

procedure Timer1Timer(Sender: TObject); procedure btnAutoCapClick(Sender: TObject);

(13)

B-3 procedure TimerCCWTimer(Sender: TObject);

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

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

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

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

private

{ Private declarations } public

{ Public declarations }

Procedure OnSelectDevice(sender: TObject); end;

var

frmCapture: TfrmCapture; SysDev: TSysDevEnum; simpan : tBitmap;

x: integer; y: integer;

implementation

function Out32(wAddr:word;bOut:byte):byte; stdcall; external 'inpout32.dll'; function Inp32(wAddr:word):byte; stdcall; external 'inpout32.dll';

(14)

B-4 procedure TfrmCapture.btnManualCapClick(Sender: TObject);

begin

edJam.Text := FormatDateTime('hh mm ss',Now);

edTgl.Text := FormatDateTime('dd mmmm yyyy ',Now); simpan:=TBitmap.Create;

SampleGrabber1.GetBitmap(DBImage1.Picture.Bitmap); simpan:= DBImage1.Picture.Bitmap;

simpan.SaveToFile( edTgl.Text + edJam.Text + '.bmp');

end;

procedure TfrmCapture.FormCreate(Sender: TObject); var i: integer ;

Device: TMenuItem; Begin

SysDev:= TSysDevEnum.Create(CLSID_VideoInputDeviceCategory); if SysDev.CountFilters > 0 then

for i := 0 to SysDev.CountFilters - 1 do begin

Device := TMenuItem.Create(Device1);

Device.Caption := SysDev.Filters[i].FriendlyName; Device.Tag := i ;

Device.OnClick := OnSelectDevice ; Device1.Add(Device);

end;

(15)

B-5 end;

procedure TfrmCapture.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin

SysDev.Free;

FilterGraph1.ClearGraph; FilterGraph1.Active := false; end;

procedure TfrmCapture.OnSelectDevice(sender: TObject); begin

FilterGraph1.ClearGraph; FilterGraph1.Active := False;

Filter1.BaseFilter.Moniker := SysDev.GetMoniker(TMenuItem(Sender).Tag); FilterGraph1.Active := True;

with FilterGraph1 as ICaptureGraphBuilder2 do

RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter1 as IBaseFilter, SampleGrabber1

as IBaseFilter, VideoWindow1 as IBaseFilter); FilterGraph1.Play;

end;

procedure TfrmCapture.btnCloseClick(Sender: TObject); begin

Timer1.Enabled := false; frmCapture.Close;

end;

(16)

B-6 begin

if Timer1.Enabled = true then begin

btnManualCap.Click; end

end;

procedure TfrmCapture.btnAutoCapClick(Sender: TObject); begin

btnAutoCap.Enabled := false ; btnManualCap.Enabled := false; btnTimer.Enabled := true; Timer1.Enabled := true ;

end;

procedure TfrmCapture.btnDisableAutoCapClick(Sender: TObject); begin

btnAutoCap.Enabled := true; btnManualCap.Enabled := true ; Timer1.Enabled := false ;

end;

procedure TfrmCapture.SpeedButton1Click(Sender: TObject); begin

Timer1.Interval := StrToInt(edInterval.Text); edInterval.Color := clCream ;

(17)

B-7 end;

procedure TfrmCapture.Timer2Timer(Sender: TObject); begin

if Timer2.Enabled = true then begin

btnDisableAutoCap.Click; btnTimer.Enabled := false; end

end;

procedure TfrmCapture.btnTimerClick(Sender: TObject); begin

Timer2.Enabled := true ; end;

procedure TfrmCapture.SpeedButton2Click(Sender: TObject); begin

Timer2.Interval := StrToInt(edTimer.Text); edTimer.Color := clCream ;

SpeedButton2.Enabled := false ; end;

procedure TfrmCapture.TimerCWTimer(Sender: TObject); begin

case x of

(18)

B-8 inc(x);

if x=5 then begin x:=0; end; end;

procedure TfrmCapture.TimerCCWTimer(Sender: TObject); begin

case y of

1: Out32 ($378,$08); 2: Out32 ($378,$04); 3: Out32 ($378,$02); 4: Out32 ($378,$01); end;

inc(y); if y=5 then begin y:=0; end; end;

procedure TfrmCapture.Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin

TimerCW.Enabled := true ; end;

procedure TfrmCapture.Button1MouseUp(Sender: TObject; Button: TMouseButton;

(19)

B-9 begin

TimerCW.Enabled := false ; end;

procedure TfrmCapture.Button2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin

TimerCCW.Enabled := true ; end;

procedure TfrmCapture.Button2MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer); begin

TimerCCW.Enabled := false ; end;

(20)

C-1 LAMPIRAN C

SCRIPT DALAM PEMBUATAN PROGRAM VIDEO RECORD

unit UVideo;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DSPack, DirectShow9, DSUtil, StdCtrls, DBCtrls, ExtCtrls, Menus, Buttons, DB, ADODB, Mask, Grids, DBGrids, ComCtrls;

type

TfrmVideo = class(TForm) ListBox1: TListBox; ListBox2: TListBox; ListBox3: TListBox; ListBox4: TListBox; Label1: TLabel;

FilterGraph1: TFilterGraph; Filter1: TFilter;

Filter2: TFilter;

SaveDialog1: TSaveDialog; Timer1: TTimer;

btnSave: TButton; btnStart: TButton; btnStop: TButton;

(21)

C-2

procedure FormCreate(Sender: TObject); procedure ListBox1Click(Sender: TObject); procedure ListBox3Click(Sender: TObject); procedure btnSaveClick(Sender: TObject); procedure btnStartClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure btnStopClick(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure TimerCwTimer(Sender: TObject); procedure TimerCCwTimer(Sender: TObject);

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

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

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

(22)

C-3 var

frmVideo: TfrmVideo; CapEnum: TSysDevEnum;

VideoMediaTypes, AudioMediaTypes : TEnumMediaType; CapFile : WideString ='c:\Record.avi' ;

x: integer; y: integer;

SysDev: TSysDevEnum;

implementation

function Out32(wAddr:word;bOut:byte):byte; stdcall; external 'inpout32.dll'; function Inp32(wAddr:word):byte; stdcall; external 'inpout32.dll';

{$R *.dfm}

procedure TfrmVideo.FormCreate(Sender: TObject); var i : integer ;

begin

CapEnum := TSysDevEnum.Create(CLSID_VideoInputDeviceCategory); for i := 0 to CapEnum.CountFilters - 1 do

ListBox1.Items.Add(CapEnum.Filters[i].FriendlyName);

CapEnum.SelectGUIDCategory(CLSID_AudioInputDeviceCategory); for i := 0 to CapEnum.CountFilters - 1 do

ListBox3.Items.Add(CapEnum.Filters[i].FriendlyName);

(23)

C-4 AudioMediaTypes := TEnumMediaType.Create;

end;

procedure TfrmVideo.ListBox1Click(Sender: TObject); var

PinList : TPinList; i : Integer;

begin

CapEnum.SelectGUIDCategory(CLSID_VideoInputDeviceCategory); if ListBox1.ItemIndex <> -1 then

begin

Filter1.BaseFilter.Moniker := CapEnum.GetMoniker(ListBox1.ItemIndex); Filter1.FilterGraph := FilterGraph1;

FilterGraph1.Active := True;

PinList := TPinList.Create(Filter1 as IBaseFilter); ListBox2.Clear;

VideoMediaTypes.Assign(PinList.First); for i:= 0 to VideoMediaTypes.Count - 1 do

ListBox2.Items.Add(VideoMediaTypes.MediaDescription[i]); FilterGraph1.Active := false;

PinList.Free;

btnStart.Enabled := true; end;

end;

procedure TfrmVideo.ListBox3Click(Sender: TObject); var

(24)

C-5 ABool : LongBool;

begin

CapEnum.SelectGUIDCategory(CLSID_AudioInputDeviceCategory); if ListBox3.ItemIndex <> -1 then

begin

Filter2.BaseFilter.Moniker := CapEnum.GetMoniker(ListBox3.ItemIndex); Filter2.FilterGraph := FilterGraph1;

FilterGraph1.Active := True;

PinList := TPinList.Create(Filter2 as IBaseFilter); ListBox4.Clear;

i:= 0;

while i< PinList.Count do

if PinList.PinInfo[i].dir = PINDIR_OUTPUT then begin

AudioMediaTypes.Assign(PinList.Items[i]); PinList.Delete(i);

end else inc(i);

for i:= 0 to AudioMediaTypes.Count - 1 do begin

ListBox4.Items.Add(AudioMediaTypes.MediaDescription[i]); end;

FilterGraph1.Active := False; ComboBox1.Clear;

LineIndex := -1 ;

for i := 0 to PinList.Count - 1 do begin

ComboBox1.Items.Add(PinList.PinInfo[i].achName);

(25)

C-6 end;

ComboBox1.ItemIndex := LineIndex; PinList.Free;

btnStart.Enabled := True; end;

end;

procedure TfrmVideo.btnSaveClick(Sender: TObject); begin

if SaveDialog1.Execute then begin

CapFile := SaveDialog1.FileName; end;

end;

procedure TfrmVideo.btnStartClick(Sender: TObject); var

multiplexer : IBaseFilter; Writer : IFileSinkFilter; PinList : TPinList; i : Integer;

begin

FilterGraph1.Active := True;

if Filter2.FilterGraph <> nil then begin

PinList := TPinList.Create(Filter2 as IBaseFilter); i := 0 ;

(26)

C-7 if PinList.PinInfo[i].dir = PINDIR_OUTPUT then

begin

if ListBox4.ItemIndex <> -1 then

with (PinList.Items[i] as IAMStreamConfig) do

SetFormat(AudioMediaTypes.Items [ListBox4.ItemIndex].AMMediaType^); PinList.Delete(i);

end else inc(i);

if ComboBox1.ItemIndex <> -1 then

with (PinList.Items[ComboBox1.ItemIndex] as IAMAudioInputMixer) do put_Enable(true);

PinList.Free; end;

if Filter1.FilterGraph <> nil then begin

PinList := TPinList.Create(Filter1 as IBaseFilter); if ListBox2.ItemIndex <> - 1 then

with (PinList.First as IAMStreamConfig) do

SetFormat(VideoMediaTypes.Items [ListBox2.ItemIndex].AMMediaType^); PinList.Free;

end;

with FilterGraph1 as IcaptureGraphBuilder2 do begin

SetOutputFileName(MEDIASUBTYPE_Avi, PWideChar(CapFile), multiplexer, Writer );

if Filter1. BaseFilter.DataLength > 0 then

(27)

C-8 if Filter1.FilterGraph <> nil then

RenderStream(@PIN_CATEGORY_CAPTURE, nil, Filter1 as IBaseFilter, nil, multiplexer as IBaseFilter);

if Filter2.FilterGraph <> nil then begin

RenderStream(nil, nil, Filter2 As IBaseFilter, nil, multiplexer as IBaseFilter); end;

end;

FilterGraph1.Play; btnStop.enabled := true; btnStart.enabled := false; ListBox4.enabled := false; ListBox3.enabled := false; ListBox2.enabled := false; ListBox1.enabled := false; Timer1.enabled := true;

end;

procedure TfrmVideo.Timer1Timer(Sender: TObject); var

position : Int64;

Hour, Min, Sec, Msec : Word;

const MiliSecInOneDay = 86400000; begin

if FilterGraph1.Active then ; begin

(28)

C-9 DecodeTime(position div 1000 / MiliSecInOneDay, Hour, Min, Sec, MSec); StatusBar1.SimpleText := Format('%d:%d:%d:%d', [Hour, Min, Sec, MSec]); end;

end;

procedure TfrmVideo.btnStopClick(Sender: TObject); begin

Timer1.Enabled := False; btnStop.Enabled := False; btnStart.Enabled := True; FilterGraph1.Stop;

FilterGraph1.Active := False; ListBox4.Enabled := true ; ListBox3.Enabled := true ; ListBox2.Enabled := true ; ListBox1.Enabled := true ; end;

procedure TfrmVideo.FormDestroy(Sender: TObject); begin

CapEnum.Free;

VideoMediaTypes.Free; AudioMediaTypes.Free; end;

procedure TfrmVideo.TimerCwTimer(Sender: TObject); begin

case x of

(29)

C-10 4: Out32 ($378,$08);

end; inc(x); if x=5 then begin x:=0; end; end;

procedure TfrmVideo.TimerCCwTimer(Sender: TObject); begin

case y of

1: Out32 ($378,$08); 2: Out32 ($378,$04); 3: Out32 ($378,$02); 4: Out32 ($378,$01); end;

inc(y); if y=5 then begin y:=0; end; end;

procedure TfrmVideo.Button1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer); begin

(30)

C-11 procedure TfrmVideo.Button1MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer); begin

TimerCw.Enabled := false ; end;

procedure TfrmVideo.Button2MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer); begin

TimerCCw.Enabled := true ; end;

procedure TfrmVideo.Button2MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer); begin

TimerCCw.Enabled := false ; end;

(31)

1 Universitas Kristen Maranatha

BAB I

PENDAHULUAN

1.1. Latar Belakang

Dewasa ini tindak kejahatan semakin bertambah seiring dengan kemajuan zaman dan tuntutan hidup yang semakin berat, yang menyebabkan pola pikir manusia sudah menjadi tidak lagi memikirkan nasib orang lain tetapi lebih memilih untuk mensejahterakan dirinya sendiri dengan cara mencuri pada rumah-rumah penduduk yang kosong ataupun tindakan-tindakan yang dapat merugikan orang lain.

(32)

2 Universitas Kristen Maranatha 1.2. Identifikasi Masalah

1. Bagaimana menciptakan sistem kamera CCTV yang dapat merekam dan memfoto kondisi dan aktivitas yang terjadi di suatu rumah meski pemiliknya tidak berada di tempat?

2. Bagaimana menciptakan sistem untuk menggerakan kamera CCTV tersebut?

1.3. Tujuan Penulisan

1. Menciptakan sistem kamera CCTV yang berguna untuk merekam serta memfoto seluruh kejadian di tempat yang ingin dipantau, tanpa harus berada di tempat tersebut, sehingga semua situasi dapat terekam dan hasilnya dalam bentuk video ataupun foto.

2. Sistem ini juga mampu mengontrol gerak kamera CCTV.

1.4. Pembatasan Masalah

 Masalah dibatasi hanya membuat sistem kamera CCTV dengan

menggunakan 1 webcam.  Program dengan delphi.

 Cara mengkomunikasikan perangkat dengan komputer adalah

menggunakan parallel port.

 Sistem CCTV ini diprioritaskan untuk pemantauan kondisi ruangan

(33)

3 Universitas Kristen Maranatha 1.5. Sistematika Penulisan

BAB I PENDAHULUAN

Berisi tentang latar belakang penulisan, identifikasi masalah, tujuan penulisan, pembatasan masalah, dan sistematika penulisan.

BAB II LANDASAN TEORI

Berisi tentang landasan teori yang menunjang penulisan tugas akhir ini.

BAB III PERANCANGAN DAN PEMODELAN

Berisi tentang cara merancang dan membuat program serta merancang hardware.

BAB IV HASIL DAN PEMBAHASAN

Berisi tentang hasil yang didapat setelah pengerjaan project, serta membahas cara penggunaan programnya.

BAB V KESIMPULAN DAN SARAN

(34)

61

Universitas Kristen Maranatha

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

1. Kesimpulan yang diperoleh setelah pengerjaan tuugas akhir yang berjudul Perancangan Sitem Pengontrol Gerak kamera CCTV ini adalah terciptanya sistem kamera CCTV yang dapat merekam video dan memfoto object dengan pengaturan waktu yang dapat diatur sesuai dengan keinginan pemakai.

2. Sistem ini juga dapat menggerakkan kamera ke kanan dan kiri karena menggunakan motor stepper. Kekurangan dalam sistem ini ialah ukuran file untuk video masih sangat besar, hal ini dikarenakan hasil video yang diperoleh ialah masih dalam format avi dan program ini juga belum dapat kompresi video dengan otomatis.

5.2. Saran

1. Sistem ini masih banyak terdapat kekurangan terutama dalam hal format video yang didukung.

(35)

62

Universitas Kristen Maranatha

DAFTAR PUSTAKA

J.Alam, M. Agus, Membuat Program Aplikasi Menggunakan Delphi 6 & 7, edisi pertama, PT. Elex Media Komputindo, Jakarta. 2003.

http://www.google.com, 05 Juli 2010

http://www.wongmesin.net/2008/11/teori-motor-stepper/, 13 Juli 2010

http://elektronika-elektronika.blogspot.com/2007/05/tipe-dan-rangkaian-kontrol-motor.html 13 Juli 2010

Referensi

Dokumen terkait

Mereka tiga bersaudara, Bathara Wisnu dengan kedua adiknya yang lahir dari Dyah Uma Laksmi bermaksud untuk meruwat semua jenis mangsa Bathara Kala yang telah ditentukan oleh

Subsektor  tanaman  pangan  merupakan  subsektor  yang  memiliki  jumlah  rumah  tangga  jasa 

Status kepemilikan tanah warisan dapat beralih menjadi tanah pelaba pura dalam masyarakat hukum adat di Bali karena Beralih agama menghilangkan status seseorang

Dari data observasi yang diperoleh peneliti dapat diketahui bahwa, di akhir kegiatan pelaksanaan supervisi, supervisor membuat perjanjian dengan guru yang

Tenaga kerja merupakan salah satu faktor produksi yang menyerap biaya cukup besar sehingga perlu upaya-upaya untuk meningkatkan efisiensi. Salah satu cara mengukur efisiensi

Penelitian ini bertujuan untuk menduga umur simpan cookies sumber protein dan energi dari tepung campuran berbasis mocaf dengan metode ASLT (Accelerated Shelf

Temuan data tentang penggunaan superpolite form, avoidance of strong swear words, dan tag question dalam fungsi tindak tutur memuji untuk memperhalus teguran oleh

Dari Diseminasi produk teknologi Smart Plant House pada Budidaya Jamur Tiram Berbasis Internet of Things jamur yang dihasilkan memiliki kualitas yang bagus dengan kondisi