Review Skripsi Sistem Pengamanan Pintu Ruangan Menggunakan Kombinasi Password Jari Dan Kartu Memanfaatkan Ppi 8255 Modus 0 Didukung Oleh Bahasa Pemrograman Borland Delphi 5.0
BAB
I
1.
PERMASALAHAN
Instansi-insatansi
seperti laboratorium ,perkantoran dan lain-lain, biasanya memiliki ruangan yang
tidak semua orang bebas masuk, karena biasanya menyimpan informasi dan
dokumen-dokumen yang rahasia. Untuk
menjaga keamanan itu maka dibutuhkan suatu sistem pengamanan yang baik guna
mencegah terjadinya penyusupan dan
pencurian data. Untuk menjamin tingkat kerahasiaan tersebut dapat digunakan
kode-kode dengan berbagai variasi kombinasi, sehingga hanya orang-orang
tertentu saja yang dapat mengakses kode ini. Keseluruhan kode-kode ini dapat
diwujudkan dengan menggunakan kombinasi-kombinasi lubang yang ada pada suatu
kartu (card) khusus.
2.
TUJUAN
Tujuan
dari pembuatan tugas akhir ini adalah :
1. Memahami
instruksi serta prinsip kerja dari PPI 8255.
2. Membuktikan
bahwa PC itu tidak hanya bisa digunakan untuk pengolahan, penyimpanan, dan
pengambilan data, tetapi juga bisa digunakan untuk hal-hal lain yang bersifat khusus
seperti pengontrolan dan sebagainya.
3. Mengaplikasikan
ilmu pengetahuan yang telah diperoleh selama proses perkuliahan secara
langsung, sehingga dapat lebih memahami dan mengembangkannya.
BAB
II
METODE
YANG DIGUNAKAN
Sub
bab ini menjelaskan teori-teori dasar yang berhubungan dengan perancangan
pengontrolan keamanan, menjelaskan sistim komputer itu sendiri, interface yang digunakan, serta
komponen-komponen pendukung yang digunakan dalam perancangan itu.
2.1. Sistim Komputer
Komputer
merupakan alat elektronika yang digunakan untuk mengolah data-data yang
dimasukkan melalui perangkat input, selanjutnya
diproses menggunakan program tertentu oleh Central Processing Unit (CPU), sehingga menghasilkan suatu
informasi yang diinginkan. Selanjutnya Informasi yang dihasilkan itu
dikeluarkan melalui perangkat output.
Komputer atau mikrokomputer terdiri
atas 3 (tiga) bagian utama yang meliputi Central Processing Unit (CPU), Main
Memory, dan I/O modul. Hubungan antara bagian atau elemen dasar yang membentuk
sebuah komputer didapat melalui tiga jalur (Bus),
yaitu Jalur Data (Data Bus), Jalur
Alamat (Addres Bus), Jalur Kontrol (Control Bus).
Bus
alamat terdiri atas 18, 20, 24 atau lebih jalur sinyal paralel. Pada
jalur-jalur ini, CPU mengirimkan alamat dari lokasi memori yang akan ditulisi
atau dibaca. Jumlah lokasi memori yang dapat dialamati tergantung dari
banyaknya jalur data. Jika CPU mempunyai n jumlah jalur alamat, maka dapat mengalamati
2n lokasi memori.
Bus data
terdiri dari 8, 16, 32 atau lebih jalur sinyal paralel. Sifat bus data ini adalah dua arah (bidirectional), artinya CPU dapat membaca data dari memori atau
port pada bus data tersebut. Banyak piranti yang dapat dihubungkan pada bus
data ini, tetapi hanya satu peralatan output yang boleh ada pada bus data saat
itu.
Bus
kontrol berisi 4-10 jalur sinyal paralel. CPU megirimkan sinyal keluaran pada
bus kontrol untuk meng-enablekan output dari memori atau port yang dialamati.
Umumnya sinyal-sinyal di bus kontrol adalah memori yang sedang membaca (read), menulis (write), I/O membaca (read I/O), dan I/O menulis (write
I/O).
2.2. Central
Processing Unit ( CPU )
Unit pengolahan utama merupakan bagian yang mengendalikan operasi dari
komputer. CPU ini membaca instruksi-instruksi yang terkode dari memori,
kemudian menterjemahkannya menjadi sederetan instruksi yang dijadikan sebagai
acuan untuk melakukan operasi. CPU
memiliki Arithmatic and Logical Unit (ALU) yang dapat melakukan operasi
pengolahan matematis dan operasi pengambilan keputusan (logika), sebuah Control Unit (CU) yang berfungsi untuk
mengontrol seluruh aktifitas yang akan dilakukan. CPU, juga berisi sebuah
address counter yang digunakan untuk menyimpan data biner, dan rangkaian yang
mengaktifkan sinyal kontrol untuk sementara.
2.3. I/O
Modul
I/O modul
diperlukan oleh komputer untuk mengambil atau mengirim data. Piranti I/O ini
diantaranya keyboard, monitor, printer, modem, dan lain-lain. Bagian fisik yang
menghubungkan bus-bus komputer dengan
sistim di luar disebut dengan port, yang terdiri atas port input dan port
output. Port input digunakan untuk
memasukan data ke komputer, sedangkan port output digunakan untuk mengirim data
dari komputer ke berbagai piranti keluaran seperti monitor, printer, maupun
DAC. Port ini merupakan sekumpulan D flip-flop yang membolehkan data melaluinya
apabila di-enable atau diclock oleh sinyal kontrol dari CPU terlebih dahulu.
Fungsi dari port I/O antara lain :
1.
Menyimpan
status peralatan untuk penyajian ke komputer pada saat dibutuhkan, menggunakan
register status peralatan.
2.
Menyediakan
ruang penyimpanan (register buffer data) paling sedikit satu karekter, atau
satu kata, untuk digunakan saat pemindahan data ke atau dari komputer.
3.
Mengenal
alamat peralatan pada saat alamat ini tampil di saluran alamat port I/O.
2.4. Sistem
Kendali
Setiap karya
manusia yang dapat dikategorikan sebagai mesin merupakan mekanisme terkontrol.
Terdiri atas bagian yang terpasang mati dan bagian yang dapat bergerak untuk
melaksanakan perubahan gaya, gerak dan listrik agar menghasilkan suatu usaha.
Pengontrolan bisa dilakukan secara langsung oleh manusia sebagai operator
maupun seracara otomatis berdasarkan rancangan kerja suatu alat. Tujuan
pengontrolan adalah untuk menciptakan
suatu hasil kerja yang optimal, sesuai dengan yang diharapkan serta memiliki
tingkat kesalahan sekecil mungkin.
Komputer sebagai pengendali terbentuk dari
pengaturan logika. Maksudnya, sistim pengaturan kerja komputer didasarkan pada
pengaturan sinyal-sinyal digital yang dihasilkan untuk komponen-komponen
pendukungnya. Sistim kendali yang digunakan adalah sistim switching, dimana pengendalian sinyal-sinyal tersebut bagaikan
suatu switch yang dapat mengaktifkan
atau menon-aktifkan komponen yang diperlukan. Untuk lebih jelasnya dapat
dilihat pada arsitektur proses input/output
yang terjadi di komputer, berdasarkan arsitektur Von Neuman pada gambar di bawah ini :
2.1.1 Sistim Antar Muka (Interface)
Rangkaian antar
muka / interface dibutuhkan sebagai perantara antara alat yang dikendalikan
(piranti peripheral) dengan komputer agar bisa berhubugan. Pengertian lain,
interface merupakan rangkaian elektronika yang menghubungkan antara dua buah
system yang berbeda agar kedua sistim tersebut dapat berkomunikasi.
Rangkaian interface
berfungsi untuk menterjemahkan setiap proses input/output dari piranti ke
komputer atau sebaliknya. Pengaturan ini perlu dilakukan karena adanya
perbedaan sistim penyaluran data, besar tegangan, arus, daya dan kecepatan
pengolahan antara komputer dengan piranti. Sebuah interface dapat saja
menghubungkan lebih dari satu peralatan input/output, karena biasanya terdiri
dari beberapa port. Port merupakan jalur-jalur komunikasi dengan peralatan
eksternal. Dalam hal ini akan digunakan interface PPI 8255 yang dapat melakukan
pengiriman data secara paralel.
Pengiriman data secara paralel dapat lebih cepat serta relatif lebih
mudah dari pada pengiriman data secara serial.
BAB
III
1.
PENYELESAIAN
MASALAH
Setelah alat dirakit dengan baik,
maka selanjutnya alat ini siap dioperasikan. Adapun langkah-langkah dalam
pengoperasian alat ini adalah :
1. Hubungkan
komputer dengan rangkaian – rangkaian
alat menggunakan interface PPI 8255.
2. Aktifkan
rangkaian alat dengan memberikan catu daya.
3. Hidupkan
komputer dan jalankan program tampilan informasi user yang ada di dalam
komputer tersebut.
4. Setelah
program jalan atau running, masukkan kartu ke dalam kotak penampang sesuai
dengan posisinya dan ikuti dengan menempelkan jari pada penampang jari sesuai
dengan kombinasi yang dimiliki.
5. Apabila
kombinasi input sesuai, maka hasilnya dapat dilihat pada monitor yang berupa
informasi data pribadi, dan tunggu pintu akan terbuka.
2.
MEREVIEW
PROGRAM
Dalam analisa program ini akan diuraikan tentang
modul-modul program dari sistem yang dirancang :
Modul program pengaktifan motor stepper
Interface
Implementation
Procedure
Port_Out(PortNumber:word;Outvalue:Byte);
Begin
Asm
mov dx,portnumber
mov al,outvalue
out dx,al
end;
End;
Procedure
Delay(Lama : LongInteger);
Var
YgBerlalu : LongInteger;
Begin
ygberlalu :=
GetTickCount;
repeat
Application.ProcessMessages;
Until
((GetTickCount - ygberlalu) >= Lama);
end;
Procedure
Timer1.Timer(Sender.Object);
Begin
Portout($378, $01); Delay(10);
Portout($378, $02);
Delay(10);
Portout($378, $04);
Delay(10);
Portout($378, $08);
Delay(10);
End;
End;
LAMPIRAN
1. Flowchart Program
Sebagai langkah awal
perancangan program diwujudkan dalam bentuk flowchart. Adapun flowchart yang
dimaksud adalah :
1.
Listing
Program
unit
Unit1;
interface
uses
Windows, Messages, SysUtils, Variants,
Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls,
ExtCtrls, TabNotBk, DB, DBTables,
DBCtrls, Grids, DBGrids;
type
TForm1 = class(TForm)
TabbedNotebook1: TTabbedNotebook;
Panel1: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Button3: TButton;
Button4: TButton;
Label6: TLabel;
Label7: TLabel;
DataSource1: TDataSource;
Table1: TTable;
Table2: TTable;
DataSource2: TDataSource;
DBGrid2: TDBGrid;
DBNavigator2: TDBNavigator;
Timer1: TTimer;
Timer2: TTimer;
Timer3: TTimer;
Timer4: TTimer;
Button5: TButton;
procedure FormCreate(Sender: TObject);
procedure Timer4Timer(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure Timer3Timer(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function
bacaport(alamat:word):byte;
procedure
kirimdata(alamat:word;data:byte);
procedure caridata(cardid: string);
procedure simpandata();
end;
var
Form1: TForm1;
data1,data2,i:integer;
cardID:string;
implementation
{$R
*.dfm}
procedure
TForm1.kirimdata (alamat:word ;
data:byte);
begin
asm
mov dx,alamat
mov al,data
out dx,al
end;
end;
function
tform1.bacaport(alamat:word):byte;
var
temp:byte;
begin
asm
mov dx,alamat
in al,dx
mov temp,al
end;
bacaport
:= temp;
end;
procedure
TForm1.FormCreate(Sender: TObject);
begin
kirimdata($303,$92);
panel1.Caption :='Masukkan Kartu dan
password';
edit1.Text :='';
edit2.Text :='';
edit3.Text :='';
edit4.Text :='';
edit5.Text :='';
label6.Caption := datetostr(date);
label7.Caption := timetostr(time);
end;
procedure
TForm1.Timer4Timer(Sender: TObject);
begin
label7.Caption := timetostr(time);
end;
procedure
TForm1.Button5Click(Sender: TObject);
begin
close;
end;
procedure
TForm1.Button1Click(Sender: TObject);
begin
panel1.Caption :='Masukkan Password';
end;
procedure
TForm1.FormActivate(Sender: TObject);
begin
timer2.Enabled:=false;
end;
procedure
TForm1.Timer1Timer(Sender: TObject);
begin
data1 := bacaport($300);
data2 := bacaport($301);
end;
procedure
TForm1.Timer2Timer(Sender: TObject);
var
i:integer;
begin
for i:=1 to 30 do
begin
kirimdata($302,$11);sleep(10);
kirimdata($302,$22);sleep(10);
kirimdata($302,$44);sleep(10);
kirimdata($302,$88);sleep(10);
end;
end;
procedure
TForm1.Timer3Timer(Sender: TObject);
var
ada:boolean;
begin
data1 := bacaport($300);
data2 := bacaport($301);
If data2= 1 then
begin
panel1.Caption :='Masukkan Kartu dan
password';
for i:=1 to 50 do
begin
kirimdata($302,$88);sleep(30);
kirimdata($302,$44);sleep(30);
kirimdata($302,$22);sleep(30);
kirimdata($302,$11);sleep(30);
end;
edit1.Text :=' ';
edit2.text :=' ';
edit3.text :=' ';
edit4.text :=' ';
edit5.text :=' ';
end;
if
(data1= 1) or (data1=0) then
begin
cardID:='120' ;
panel1.Caption :='Masukan Password Jari';
end;
if
cardID='120' then
begin
if data2= 140 then
begin
panel1.Caption := 'Akses Diterima';
//cari pada database dan tampilkan data
user
caridata('120');
simpandata;
for i:=1 to 50 do
begin
kirimdata($302,$11);sleep(30);
kirimdata($302,$22);sleep(30);
kirimdata($302,$44);sleep(30);
kirimdata($302,$88);sleep(30);
end;
end;
end;
if
(data1= 10) or (data1=11) then
begin
cardID:='110' ;
panel1.Caption :='Masukan Password Jari';
end;
if cardID='110' then
begin
if data2= 192 then
begin
panel1.Caption := 'Akses Diterima';
//cari pada database dan tampilkan
data user
caridata('110');
simpandata;
for i:=1 to 50 do
begin
kirimdata($302,$11);sleep(30);
kirimdata($302,$22);sleep(30);
kirimdata($302,$44);sleep(30);
kirimdata($302,$88);sleep(30);
end;
end;
end;
end;
procedure
TForm1.caridata(cardid: string);
var
ada:boolean;
begin
table1.IndexName :='cardid_idx';
ada := table1.FindKey([cardid]);
if ada then
begin
panel1.Caption := 'Akses Diterima';
edit1.Text :=table1['cardid'];
edit2.text := table1['nama'];
edit3.text := table1['sex'];
edit4.text := table1['alamat'];
edit5.text := table1['telepon'];
end;
end;
procedure
TForm1.Button3Click(Sender: TObject);
begin
caridata('120');
end;
procedure
TForm1.simpandata();
begin
table2.Append ;
table2['Tanggal']:=strtodate(label6.Caption);
table2['Jam']:=strtotime(label7.Caption);
table2['cardid']:=edit1.Text ;
table2['nama']:=edit2.Text ;
table2.Post;
end;
procedure
TForm1.Button4Click(Sender: TObject);
begin
simpandata;
end;
end;
di susun oleh : file lengkap bisa di download di sini
1. Muhammad
Asnawi (201451070)
2. Shinta
Anggraheni S (201451076)
3. Muhammad Muhsin A (201451129)
Comments
Post a Comment