Anda di halaman 1dari 24

Modul I Menghidupkan dan Mematikan Led di Port Data LPT (Paralel Port) 1. Tujuan : a.

Mahasiswa dapat memahami dan melakukan pengiriman atau pengambilan data dari komputer ke periperal eksternal di luar komputer b. Mahasiswa dapat membuat pemrograman pengiriman data untuk menghidupkan dan mematikan LED menggunkan Delphi 2. Alat dan Bahan a. Komputer b. Modul peralatan praktikum PSI c. Konektor DB25 3. Prosedur Praktikum Program ini akan menyalakan semua led di LPT data saat button ON ditekan dan mematikan semua led saat button OFF ditekan. a. Buatlah tampilan form seperti berikut Komponen Properti Button1 Caption Button2 Name Caption Name Isi On Button1 Off Button1

b. Tambahkan nilai konstanta: Const LPT_data = $378; c. Tuliskan kode untuk procedure outport setelah tanda direktive {$R*.dfm} pada layar kode d. Isikan kode Pascal untuk button ON: Procedure Tform1. Button1click (sender: Tobject);

Begin Outport (LPTdata,$FF); end; e. Isikan kode Pascal untuk button OFF: f. Procedure Tform1. Button2click (sender: Tobject); Begin Outport (LPTdata,$00); End; g. Sehingga program lengkapnya sebagai berikut: var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin asm mov dx,$378 mov al,$FF out dx,al end; end; procedure TForm1.Button2Click(Sender: TObject); begin asm mov dx,$378 mov al,$00 out dx,al end; end; end.

Modul II Menghidupkan, Mematikan, dan Variasi Lain Penyalaan LED di Port Pata LPT 1. Tujuan : a. Mahasiswa dapat memahami dan melakukan pengiriman atau pengambilan data dari komputer ke periperal eksternal di luar komputer b. Mahasiswa dapat membuat pemrograman pengiriman data untuk menghidupkan 2. Alat dan Bahan a. Komputer b. Modul peralatan praktikum PSI c. Konektor DB25 3. Prosedur Praktikum Saat anda tekan tombol on semua ditekan led akan padam. Untuk tombol variasi akan mengoutputkan penyalaan led sesuai nilai yang anda masukkan pada edit. Sehingga anda wajib mengisikan terlebih dahulu suatu nilai antara 0-255 pada edit sebelum menekan tombol variasi. a. Buatlah tampilan form seperti berikut : dan mematikan dan memvarisi penyalaan LED menggunkan Delphi

b. Tambahkan nilai konstanta: c. Tuliskan kode untuk procedure outport setelah tanda direktive {$*,.dfm} pada layar kode. d. Isikan kode Pascal untuk button ON: e. Isikan kode Pascal untuk button OFF: f. Isikan button pascal untuk button Variasi: g. Sehingga program lengkapnya sebagai berikut: var Form1: TForm1; Const LPTdata=$378; implementation {$R *.dfm} procedure outport (alamat:word;data:byte); begin asm mov dx,alamat mov al,data

out dx,al end; end; procedure TForm1.Button1Click(Sender: TObject); begin outport(LPTdata,$FF) end; procedure TForm1.Button2Click(Sender: TObject); begin outport(LPTdata,$00) end; procedure TForm1.Button3Click(Sender: TObject); var data_variasi :integer; begin data_variasi:=StrToInt(edit1.text); outport(LPTdata,data_variasi); end; procedure TForm1.Button4Click(Sender: TObject); begin close; end; end. Catatan :

Saat program di run, jika tombol variasi ditekan sebelum anda memasukkan nilai dalam layar edit maka akan tampil pesan kesalahan dari window sesuai sistem yang anda gunakan sebagai berikut:

Saat itu seolah-olah delphi mengalami hang, untuk menghentikan program lakukan hal-hal berikut: 1. 2. Tekan OK pada pesan kesalahan di atas Pilih menu Run lalu Program Reset pada layar Delphi atau tekan Ctrl+F2. Maka program akan kembali normal kembali. Program anda di proyek 2 dapat dimodifikasi sedikit supaya tidak mengalami pesan kesalahan dari window seperti di atas, yaitu dengan menambahkan Message dialog pada prosedur button variasi sehingga prosedur lengkapnya sebagai berikut: procedure TForm1.Button3Click(Sender: TObject); var data_variasi:integer; begin if edit1.Text='' then MessageDlg('Isikan ',mtinformation,[mboK],0) else data_variasi:= StrToInt(edit1.text); outport(LPT_data,data_variasi); end; Nilai Terlebih Dahulu !!

Modul III Pengenalan Delay untuk aplikasi Lampu Berjalan 1. Tujuan : a. Mahasiswa dapat memahami dan melakukan pengiriman atau pengambilan data dari komputer ke periperal eksternal di luar komputer b. Mahasiswa 2. Alat dan Bahan a. Komputer b. Modul peralatan praktikum PSI c. Konektor DB25 3. Prosedur Praktikum Suatu delay sangat berguna dalam teknik interfacing. Sub rutin delay akan melakukan proses buang-buang waktusehingga tundaan yang dihasilkan dapat bermanfaat, misal: untuk aplikasi led, ADC, motor stepper dan sebagainya. a. Buatlah tampilan form sederhana berikut. Jika tombol Go anda tekan maka led akan menyala bergantian dari kiri ke kanan dapat membuat pemrograman untuk lampu berjalan menggunakan Delphi

Komponen Button1 BitButton1

Properti Caption Name Kind Name

Isi Go Button1 BkClose BitBtn1

b.

Tuliskan procedure delay seperti dibawah ini, bisa diletakkan sebelum procedure outport atau sesudahnya. procedure delay (lama:longint); 1: var 2: ref : longint; 3: begin 4: ref:=gettickcount; 5: repeat 6: application.ProcessMessages; 7: until ((gettickcount-ref) >=lama) 8: end; Penjelasan:

Baris 1 dan 2

: digunakan untuk deklarasi variabel ref dengan jenis longint (seluruh 2147483637) bilangan antara -214748368 sampai

Baris 4 Baris 6

: fungsi gettickcount, merupakan fungsi yang dimiliki delphi untuk mengambil pewaktuan komputer saat itu : dengan menuliskan application Process Messages maka saa procedure delay dijalankan, berbagai aplikasi window masih dapa bekerja. Baris 6 akan diulang terus menerus sampai syarat pada baris 7 terpenuhi (true).

c.

Program lengkap sebagai berikut: var Form1: TForm1; const LPT_data=$378; implementation {$R *.dfm} procedure delay(t:LongInt); var mulai,selesai:LongInt; begin mulai:=GetTickCount; repeat application.processMessages; selesai:=GetTickCount; until (selesai-mulai)>=t; end; procedure outport(alamat:word;data:byte);

begin asm mov dx,alamat mov al, data out dx,al end; end; procedure TForm1.Button1Click(Sender: TObject); begin close end;

procedure TForm1.Button2Click(Sender: TObject); var i,n:integer; data:byte; begin for n:=1 to 3 do begin data:=128; for i:= 1 to 8 do begin outport(LPT_data,data); asm ROL data,1 end; delay(50); end; end;

end; end.

Modul IV Pengenalan Timer, Lampu berjalan 1. Tujuan : a. Mahasiswa dapat memahami dan melakukan pengiriman atau pengambilan data dari komputer ke periperal eksternal di luar komputer b. Mahasiswa dapat membuat pemrograman menggunakan timer untuk lampu berjalan 2. Alat dan Bahan a. Komputer b. Modul peralatan praktikum PSI c. Konektor DB25 3. Prosedur Praktikum Pada proyek ini anda akan memanfaatkan timer sehingga waktu yang digunakan untuk delay atau keperluan yang lain benar-benar tepat dalam satuan waktu, misal : 500 mili detuk, 1 detik, 2 detik dan seterusnya. Komponen timer dapat diambil di palette System, properti yang penting adalah: Enable True, timer aktif

Interval

False, timer tidak berfungsi Selang waktu yang digunakan untuk mengaktifkan aplikasi pada procedure timer. Satuannya milidetik

a. Buatlah tampilan form sebagai berikut:

Komponen timer dapat diletakkan disembarang tempat pada form karena tidak dapat ditampilkan saat program dijalankan. Kecepatan jalannya led tergantung pada nilai yang anda masukkan pada properti interval. Komponen Button1 Button2 Properti Caption Name Caption Isi Jalan Button1 STOP

Bitbutton Timer1 (terletak palette System)

Name Kind di Enabled Name Interval

Button2 bkClose False Timer1 1000

b. Klik ganda form disembarang tempat, dan isikan kode pascal berikut: procedure TForm1.FormCreate(Sender: TObject); begin data:=$80; end; kode diatas berguna sebagai inisialisasi nilai awal led saat form pertama kali muncul. Kemudian pada langkah berikutnya nilai led itu akan kita geser ke kanan sehingga menghasilkan lampu berjalan. c. Klik ganda komponen timer dan isikanlah kode berikut: procedure TForm1.Timer1Timer(Sender: TObject); begin outport(LPT_data,data); asm ROR data,1 end; end; Kode yang anda tuliskan diantara begin dan end, akan dijalankan setiap 1000 ms atau setiap 1 detik, hal ini sesuai dengan interval yang anda masukkan pada properti Timer. Sehingga nyala led akan di rotateke kanan 1 kali setiap detik. d. Isikan kode pascal untuk tombol jalan: procedure TForm1.Button1Click(Sender: TObject); begin timer1.enabled:=true; end; // kondisi awal laed: 1000 000 outport(LPT_data,data);

kode ini digunakan untuk me-nonaktifkan timer jika tombol jalan ditekan. e. Isikan kode pascal untuk tombol stop: procedure TForm1.Button1Click(Sender: TObject); begin timer1.enabled:=false; end; kode ini digunakan untuk me-nonaktifkan timer saat tombol stop diletakan. f. Kode lengkap dapat dilihat swbagai berikut: (jangan lupa menambahkan variabel daya, konstanta LPT_data dan prosedur outport) var Form1: TForm1; data:byte; const LPT_data=$378; implementation {$R *.dfm} procedure outport(alamat:word;data:byte); begin asm mov dx,alamat mov al,data out dx,al end; end; procedure TForm1.Button1Click(Sender: TObject); begin timer1.Enabled:=true; end;

procedure TForm1.Button2Click(Sender: TObject); begin timer1.Enabled:=false; end; procedure TForm1.Timer1Timer(Sender: TObject); begin outport(LPT_data,data); asm ROR data,1 end; end; procedure TForm1.Button3Click(Sender: TObject); begin close; end; procedure TForm1.FormCreate(Sender: TObject); begin data:=$80; outport(LPT_data,data); end; end.

Modul V Penggunaan Radio Group 1. Tujuan : a. Mahasiswa dapat memahami dan melakukan pengiriman atau pengambilan data dari komputer ke periperal eksternal di luar komputer b. Mahasiswa dapat membuat pemrograman tentang penggunaan Radio Button 2. Alat dan Bahan a. Komputer b. Modul peralatan praktikum PSI c. Konektor DB25 3. Prosedur Praktikum Pada proyek ini anda akan mengembangkan proyek sebelumnya dengan menu pilihan untuk putar kanan dan putar kiri penyalaan led menggunakan Radio Group. a. Buatlah tampilan form sebagai berikut:

Komponen Button1 Button2 RadioGroup Bit Button Timer1

Properti Caption Name Caption Name Caption Items Kind Enabled Interval

Isi Start Button1 Stop Button2 Arah Led Putar Kanan Putar Kiri bkClose False 200

b. Isikan kode pascal untuk komponen Timer: procedure TForm1.Timer1timer (Sender: TObject); begin if radiogroup1.itemindex=0 then begin outport(LPT_data,data); asm ROR data,1 then end; end; if radiogroup1.itemindex=1 then begin outport(PT_data,data);

asm ROL data,1 end; end; end; Penjelasan: Baris 3 dan 10 : digunakan untuk menditeksi pilihan pada radio group apakah yang dipilih putar kanan ataukah pitar kiri. Item index 0 adalah pilihan yang teratas yaitu putar kanan. Item index 1 untuk pilihan putar kiri. Jika masih ada pilihan yang ketiga maka nomor item index berikutnya adalah 2 Baris 4-9 : hanya akan dijalankan jika item index bernilai 0, artinya pilihan pada putar kanan. Baris 11-16 : hanya akan dijalankan jika item index bernilai 1 (putar kiri) c. Sehingga program lengkap sebagai berikut: var Form1: TForm1; data:byte; const LPT_data=$378; implementation {$R *.dfm} procedure outport(alamat:word;data:byte); begin asm mov dx,alamat mov al,data out dx,al end; end; procedure TForm1.Button1Click(Sender: TObject); begin timer1.Enabled:=true; end; procedure TForm1.Button2Click(Sender: TObject); begin timer1.Enabled:=false; end;

procedure TForm1.Button3Click(Sender: TObject); begin close; end; procedure TForm1.Timer1Timer(Sender: TObject); begin if radiogroup1.ItemIndex=0 then begin outport(LPT_data,data); asm ROR data,1 end; end; if radiogroup1.ItemIndex=1 then begin outport(LPT_data,data); asm ROL data,1 end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin data:=$10; outport(LPT_data,data); end; procedure TForm1.BitBtn1Click(Sender: TObject); begin Close; end;

end.

Modul VI Penggunaan Scroll Bar untuk mengendalikan timer 1. Tujuan : a. Mahasiswa dapat memahami dan melakukan pengiriman atau pengambilan data dari komputer ke periperal eksternal di luar komputer b. Mahasiswa dapat membuat pemrograman tentang penggunaan Scroll Bar Untuk mengendalikan Timer 2. Alat dan Bahan a. Komputer b. Modul peralatan praktikum PSI c. Konektor DB25 3. Prosedur Praktikum Proyek anda kali ini akan lebih kompleks dan mengasyikkan. Jika pada proyek sebelumnya kecepatan jalannya led tergantung nilai yang diisikan dalam pada properti interval timer, maka kali ini anda dapat mengatur kecepatan led lewat scroll bar.

a. Buatlah tampilan form seperti proyek lima sekali lagi namun dengan menambahkan sebuah scroll bar.

Komponen Button1 Button2

Properti Caption Name Caption Name Properti Caption Items Isi Arah Led Putar Kanan Putar Kiri False 200 200 2000 200 kecepatan:

isi Start Button1 Stop Button2

Komponen RadioGroup1

Timer1 Scrol1

Enabed Interval Min Max LargeChange Caption

Label1

b. Isikan kode Pascal untuk Scroll Bar. Klik ganda komponen Scroll Bar dan tuliskan procedure TForm1.ScrollBar1Change(Sender :TObject);

begin timer1.interval:=scrollbar1.position; `end; c. Isi kode yang sama dengan proyek 5. Kode selengkapnya sebagai berikut: Var Form1: TForm1; data:byte; const LPT_data=$378; implementation {$R *.dfm} procedure outport(alamat:word;data:byte); begin asm mov dx,alamat mov al,data out dx,al end; end; procedure TForm1.ScrollBar1Change(Sender: TObject); begin timer1.Interval:=scrollbar1.Position; end; procedure TForm1.FormCreate(Sender: TObject); begin data:=$10; end;

procedure TForm1.Button1Click(Sender: TObject); begin timer1.Enabled:=true; end; procedure TForm1.Button2Click(Sender: TObject); begin timer1.Enabled:=false; end; procedure TForm1.Timer1Timer(Sender: TObject); begin if radiogroup1.ItemIndex=0 then begin outport(LPT_data,data); asm ROR data,1 end; end; if radiogroup1.ItemIndex=1 then begin outport(LPT_data,data); asm ROL data,1 end; end; end; procedure TForm1.Button3Click(Sender: TObject); begin close; end;

end.

Anda mungkin juga menyukai