Anda di halaman 1dari 6

LEMBAR KERJA (SUPLEMENT)

PRAKTEK KOMUNIKASI DATA


I. Pokok Bahasan
Transmisi Data Paralel
II. Judul
Kendali Nyala 8 Led via LPT1 dengan Timer
IV. Tujuan
Setelah selesai praktek diharapkan mahasiswa dapat :
1. Memahami tentang konsep transmisi data paralel.
2. Memahami cara kerja teknik transmisi data paralel lewat port LPT1.
3. Memahami cara kerja komponen timer delphi
4. Memanfaatkan transmisi data paralel untuk kendali piranti-piranti sederhana
yang lain.
V. Teori Singkat
Prinsip kerja LPT1 telah dipelajari dalam jobsheet terdahulu. Dijelaskan
bahwa LPT1 merupakan perangkat untuk komunikasi data secara paralel berbasis
PC. Salah satu aplikasinya adalah untuk mengendalikan putaran motor stepper.
Motor stepper merupakan suatu piranti motor yang besarnya sudut putar dapat
diatur dengan cara memberikan tegangan tertentu pada kutub-kutubnya. Motor
jenis ini biasanya dipakai untuk piranti yang membutuhkan presisi sudut putar
yang tinggi, misalnya pemutar kertas pada printer, pemutar floppy disk, mesin
fotokopi, dsb.
Untuk menjalankan motor stepper 4 kutub, harus dipakai jalur data kendali
dari sistem mikrokomputer minimal lebar katanya 4 bit, dan dalam satu saat
keempat kutub tersebut harus mendapatkan tegangan logika yang
bersamaan/serempak. Beberapa cara bisa digunakan yang mendukung teknik
pengiriman data serempak, yakni dengan menggunakan port-port
mikrokontroller, menggunakan kartu interface PPI8255, atau menggunakan port
paralel printer (LPT1). Cara yang terakhir ini dianggap sebagai cara yang paling
mudah dan murah karena setiap komputer PC ada port paralelnya dan kita
tinggal memprogramnya saja agar bisa dipakai untuk transmisi paralel.
Pembuatan program yang digunakan untuk keperluan ini tentunya
membutuhkan suatu mekanisme pengiriman data keluar LPT1 dalam formatformat tertentu secara otomatis. Untuk keperluan tersebut dalam Delphi terdapat
suatu komponen yang menawarkan fungsi dan tugas yang dapat digunakan
untuk menyelesaikan masalah tersebut. Kompoenen tersebut adalah Ttimer.

komponen Timer

Transmisi Data Paralel - 1

Gambar 1.
Letak Komponen
Timer dalam IDE
Delphi

Komponen Timer (pewaktu) ada dalam component pallete di tab system.


Timer dalam delphi adalah jenis timer yang aktif akhir, artinya jika timer diset
2000mdetik, maka ketika timer mulai diaktifkan, dan dihitung hingga 2000mdetik
(atau 2 detik) baru timer akan mulai mengerjakan rutin yang ada dalam suatu
prosedur tertentu (prosedur OnTimer). Berikut ilustrasi cara kerja Timer dalam
Delphi dimana setting interval=2000 (mili detik).

0dtk

1dtk

2dtk

Prosedur
OnTimer
dikerjakan

timer1.enabled
:= true;
start timer

3dtk

4dtk

dst. hingga timer


dimatikan.
Timer1.Enabled
:= False;

Prosedur
OnTimer
dikerjakan

Gambar 2. Ilustrasi cara kerja Timer dalam Delphi


Ttimer mempunyai 4 macam properties dan 1 buah event yang harus
diketahui fungsi dan cara penggunaannya.

Gambar 3. Tampilan Object Inspector untuk properties dan Events Timer1

No.
1.

Nama Properties/
Event
Enabled

Fungsi dan Kegunaan


tipe data: boolean, diisi dengan True atau False
Fungsi jika diisi True maka Timer akan start (mulai) bekerja
(hingga Interval milidetik).
Jika diisi False, maka Timer akan berhenti.
Sintak:
<nama_komponen_Timer>.Enabled := True atau False;
Contoh pemakaian:
Timer1.Enabled := True; //timer mulai bekerja
Timer1.Enabled := False; //timer berhenti

Transmisi Data Paralel - 2

2.

Interval

tipe data: integer (cardinal)


Fungsi : setting lamanya timer tersebut bekerja dalam satuan mili
detik
Contoh:
Timer1.Interval := 1000; // lamanya timer bekerja
1dtk

3.
4.

Name
Tag

Nama dari komponen Timer tersebut


Untuk menyimpan nilai integer (jarang/tidak digunakan)

OnTimer

Prosedur yang akan dikerjakan ketika timer telah mencapai interval


mdetik (mulai dari saat timer start).

Jika diperhatikan pada Gambar 2 di atas, maka untuk membuat sebuah


program yang dapat menampilkan counter naik (misalnya), cukup memberikan
instruksi increment pada suatu variabel global bertipe integer tertentu dan
menampilkan isinya, dan yang kesemuanya itu dituliskan dalam prosedur
OnTimer. Berikut contoh sederhana dari pemakaian Timer delphi.
procedure TForm1.Timer1Timer(Sender: TObject);
begin
i := i + 1;
Caption := inttostr(i);
end;
Cuplikan program diatas akan menghasilkan tampilan counter pada judul
formnya. Tampilan counter akan menghitung naik dan tidak akan berhenti
sebelum form ditutup. Untuk menghentikan suatu timer adalah dengan
memberikan instruksi:
<nama_komponen_timer>.Enabled := False;
Instruksi tersebut bisa ditaruh dimana saja, termasuk juga di dalam prosedur
OnTimer-nya sendiri. Sebagai contoh dalam cuplikan prosedur kasus di atas,
diinginkan counter berhenti setelah mencapai angka 19, maka prosedur tersebut
menjadi sbb:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
i := i + 1;
Caption := inttostr(i);
if (i = 19) then Timer1.Enbled := False;
end;

VI. Alat dan Bahan


1.
Sistem operasi Windows Xp
2.
Borland Delphi 7
VII. Langkah Percobaan
PRAKTIK A. Program Counter
Transmisi Data Paralel - 3

1. Jalankan program Borland Delphi 7, lalu ikuti langkah-langkah sebagai


berikut.
2. Dalam Form yang aktif: (1) klik tab System pada component pallete, (2)
pilih/klik komponen Timer. (3)Masukkan/taruh ke dalam form (form1). (4)
Pada jendela Object Inspector, pada tab Properties klik Enabled. Pastikan
bernilai False. Perhatikan Gambar 3.
2

Gambar 4.
Langkah-langkah
praktikum

3. Gantilah nilai interval menjadi 1000 (milidetik) = 1 detik.


4. Buat komponen Label (Tlabel dalam tab Standard). Taruh ditengah-tengah
form. Ganti pada properties: Font | Name menjadi Arial. Set ukuran font
menjadi 70.

Jenis font
diubah Arial

Gambar 5.
Jendela Object
Inspector untuk
komponen Label1

Ukuran font
diset 70

5. Buatlah dua buah komponen Tombol Tekan atau Button (Tbutton ada
dalam tab Standard). Taruh keduanya di bawah komponen Label1 secara
berjajar. Pada jendela Object Inspector dari komponen Button1 tersebut, cari
Transmisi Data Paralel - 4

properties Caption. Lalu gantilah nilai Caption-tersebut dengan kata Mulai.


Demikian juga untuk Button yang kedua, Captionnya diganti dengan Henti.
6. Klik ganda komponen Timer1 yang sudah ada dalam form tersebut. Maka
anda akan dibawa langsung ke editor program Delphi, dan kursor secara
otomatis ditaruh dalam prosedur OnTimer. Artinya anda dipersilahkan
untuk mengetikkan baris-baris program untuk prosedur OnTimer.
7. Langsung ketikkan baris-baris program berikut ini.
procedure TForm1.Timer1Timer(Sender: TObject);
begin
i := i + 1;
Label1.Caption := inttostr(i);
if (i = 19) then Timer1.Enabled := False;
end;
8. Deklarasikan variabel global bertipe integer dengan nama i.
var
Form1: TForm1;
i : integer;
implementation
{$R *.dfm}
9. Kembali ke mode Form. Klik ganda komponen Button1. Anda akan dibawa
ke jendela editor delphi dalam prosedur OnClick dari Button1. Ketikkan
program berikut.
procedure TForm1.Button1Click(Sender: TObject);
begin
i := 0;
Timer1.Enabled := True;
end;
10. Kembali ke mode Form. Sekarang klik ganda komponen Button2. Anda
akan dibawa ke jendela editor delphi dalam prosedur OnClick dari
Button2. Ketikkan program berikut.
procedure TForm1.Button2Click(Sender: TObject);
begin
i := 0;
Timer1.Enabled := False;
end;
11. Sampai disini jika anda kembali ke mode form, maka seharusnya IDE Delphi
anda seperti gambar berikut ini.

Transmisi Data Paralel - 5

12. Jalankan program anda. Klik tombol Mulai. Amati apa yang nampak di
jendela form aktif? Jika belum muncul tampilan counter dari 1,2,3...,19
secara otomatis berarti program anda masih salah. Telitilah dan ulangi lagi.
Tugas:
1. Buatlah program dengan timer untuk membuat simulasi nyala 8 led
secara otomatis menampilkan simulasi counter biner.
2. jika tugas pertama telah benar tancapkan modul 8-led paralel ke port
LPT1. Nyalakan 8 led tersebut sesuai dengan tampilan simulasi 8 led
dalam program anda.
3. Buatlah program untuk menampilkan simulasi Running 8 led dari kanan
ke kiri dengan durasi 1 detik.
Catatan : untuk menampilkan formasi biner seperti berikut ini dalam delphi
0000
0000
0000
0000
....
1000

0001
0010
0100
1000

=
=
=
=

1
2
4
8

0000 = 128

caranya adalah dengan mengalikan i := i*2 dan menset nilai awal dari i := 1;
Lalu mengecek jika i > 128 maka i dikembalikan ke 1 lagi.

Transmisi Data Paralel - 6

Anda mungkin juga menyukai