Rangkaian Dasar Osilator Armstrong |
Sunday, November 1, 2015
JENIS-JENIS OSILATOR LC
jenis-jenis osilator lc, osilator armstrong, osilator colpitts, osilator hartley, osilator clapp
OSILATOR
LC
Tugas
Elektronika Komunikasi II
1.
Osilator Amstrong
Osilator
Amstrong seperti diperlihatkan pada gambar 1.1 dibawah ini merupakan hasil
penerapan osilator LC. Rangkaian dasar dibuat dengan memberikan panjar
maju pada sambungan emitor-basis dan panjar mundur pada kolektor. Pemberian
panjar dilakukan lewat resistor R3 . Resistor R1 dan 2 R berlaku
sebagai pembagi tegangan.
Gambar
1.1.Rangkaian Dasar Osilator Amstrong
Gambar
1.2. Kurva Karakteristik
Saat
awal transistor diberi daya, resistor 1 R dan 2 R membawa
transistor ke titik pengoperasian Q pada bagian tengah garis beban (lihat
gambar 17.7-b). Keluaran transistor (pada kolektor) secara ideal adalah 0 volt.
Saat terjadi hantaran arus awal pada saat dihidupkan, terjadi darau (noise)
yang akan terlihat pada kolektor. Namun biasanya berharga sangat kecil.
Misalnya kita mempunyai isyarat -1 mV yang nampak pada kolektor. Transformator T1
akan membalik tegangan ini dan menurunkannya dengan faktor 10 (nisbah
primer-sekunder 1:10). Isyarat sebesar +0,1 mV akan nampak pada C1 pada
rangkaian basis.
Perhatikan
bahwa transistor memiliki = 100. Dengan +0,1 mV berada pada basis, 1 Q akan
memberikan isyarat keluaran sebesar -10 mV pada kolektor. Perubahan polaritas
dari + ke – pada keluaran akibat adanya karakteristik dasar penguat
emitorbersama. Tegangan keluaran sekali lagi akan mengalami penurunan oleh
transformator dan diberikan pada basis 1 Q . Isyarat kolektor sebesar
-10 mV sekarang akan menyebabkan terjadinya tegangan sebesar + 1 mV pada basis.
Melalui penguatan transistor, tegangan kolektor akan segera menjadi -100 mV.
Proses ini akan berlangsung, menghasilkan tegangan kolektor sebesar -1 V dan
akhirnya -10 V. Pada titik ini, transistor akan membawa garis beban sampai
mencapai kejenuhan (perhatikan daeran ini pada garis beban). Sampai pada titik
ini tegangan kolektor tidak akan berubah.
Dengan
tanpa adanya perubahan pada C V pada kumparan primer 1 T ,
tegangan pada kumparan sekunder secepatnya akan menjadi nol. Tegangan basis
secapatnya akan kembali pada titik Q. Penurunan tegangan basis ke arah
negatif ini (dari jenuh ke titik Q) membawa C V ke arah positif.
Melalui transformator, ini akan nampak sebagai tegangan ke arah positif pada
basis. Proses ini akan berlangsung melewati titik Q sampai berhenti pada
saat titik cutoff dicapai. Transformator selanjutnya akan berhenti
memberikan masukan tegangan ke basis. Transistor segera akan berbalik arah. 1 R
dan 2 R menyebabkan tegangan basis naik lagi ke titik Q.
Proses ini akan terus berulang: 1 Q akan sampai di titik jenuh – kembali
ke titik Q – ke cutoff - kembali ke titik Q. Dengan
demikian tegangan AC akan terjadi pada kumparan sekunder dari transformator.
Frekuensi
osilator Armstrong ditentukan oleh nilai 1 C dan S (nilai
induktasi diri kumparan sekunder) dengan mengikuti persamaan frekuensi
resonansi untuk LC. Perhatikan 1 C dan S membentuk
rangkaian tangki dengan mengikutkan sambungan emitor-basis dari 1 Q dan
1 R .
Keluaran
dari osilator Armstrong seperti pada gambar di atas dapat diubah dengan mengatur
harga 3 R . Penguatan akan mencapai harga tertinggi dengan memasang 3 R
pada harga optimum. Namun pemasangan 3 R yang terlalu tinggi akan
mengakibatkan terjadinya distorsi, misalnya keluaran akan berupa gelombang
kotak karena isyarat keluaran terpotong.
2.
Osilator Colpitts
Osilator
Colpitts sangat mirip dengan osilator Shunt-fed Hartley. Perbedaan yang
pokok adalah pada bagian rangkaian tangkinya. Pada osilator Colpitts, digunakan
dua kapasitor sebagai pengganti kumparan yang terbagi. Balikan dikembangkan
dengan menggunakan “medan elektrostatik” melalui jaringan pembagi kapasitor.
Frekuensi ditentukan oleh dua kapasitor terhubung seri dan induktor.
Gambar
2.1. Osilator Colpitts
Gambar
2.1 memperlihatkan rangkaian osilator Colpitts. Tegangan panjar untuk basis
diberikan oleh 1 R dan 2 R sedangkan untuk emiitor diberikan oleh
4 R . Kolektor diberi panjar mundur dengan menghubungkan ke bagian
positif dari CC V melalui 3 R . Resistor ini juga berfungsi
sebagai beban kolektor. Transistordihubungkan dengan konfigurasi
emitor-bersama.
Ketika
daya DC diberikan pada rangkaian, arus mengalir dari bagian negatif CC V melalui
4 R , 1 Q dan 3 R . Arus C I yang mengalir melalui
3 R menyebabkan penurunan tegangan C V dengan harga
positif. Tegangan yang berubah ke arah negatif ini dikenakan ke bagian
atas 1 C melalui 3 C . Bagian bawah 2 C bermuatan positif
dan tertambahkan ke tegangan basis dan menaikkan harga B I .
Transistor 1 Q akan semakin berkonduksi sampai pada titik jenuh.
Saat
1 Q sampai pada titik jenuh maka tidak ada lagi kenaikan C I dan
perubahan C V juga akan terhenti. Tidak terdapat balikan ke bagian atas
2 C . 1 C dan 2 C akan dilucuti lewat 1 L dan
selanjutnya medan magnet di sekitarnya akan menghilang. Arus pengosongan tetap
berlangsung untuk sesaat. Keping 2 C bagian bawah menjadi bermuatan
negatif dan keping 1 C bagian atas bermuatan positif. Ini akan
mengurangi tegangan maju 1 Q dan C I akan menurun. Harga C V akan
mulai naik. Kenaikan ini akan diupankan kembali ke bagian atas keping 1 C melalui
3 C . 1 C akan bermuatan lebih positif dan bagian bawah 2 C menjadi
lebih negatif. Proses ini terus berlanjut sampai 1 Q sampai pada titik cutoff.
Saat
1 Q sampai pada titik cutoff, tidak ada arus C I . Tidak
ada tegangan balikan ke 1 C . Gabungan muatan yang terkumpul pada 1 C
dan 2 C dilucuti melalui 1 L . Arus pelucutan mengalir dari
bagian bawah 2 C ke bagian atas 1 C . Muatan negatif pada 2 C
secepatnya akan habis dan medan magnet di sekitar 1 L akan menghilang.
Arus yang mengalir masih terus berlanjut. Keping 2 C bagian bawah
menjadi bermuatan positif dan keping 1 C bagian atas bermuatan negatif.
Tegangan positif pada 2 C menarik 1 Q dari daerah daerah cutoff
. Selanjutnya C I akan mulai mengalir lagi dan proses dimulai lagi
dari titik ini. Energi balikan ditambahkan ke rangkaian tangki sesaat pada
setiap adanya perubahan.
Besarnya
balikan pada rangkaian osilator Colpitts ditentukan oleh “nisbah kapasitansi” 1
C dan 2 C . Harga 1 C pada rangkaian ini jauh lebih kecil
dibandingkan dengan C2 atau C1 C2 X X .
Tegangan pada 1 C lebih besar dibandingkan pada 2 C . Dengan
membuat 2 C lebih kecil akan diperoleh tegangan balikan yang lebih
besar. Namun dengan menaikkan balikan terlalu tinggi akan mengakibatkan
terjadinya distorsi. Biasanya sekitar 10-50% tegangan kolektor dikembalikan ke
rangkaian tangki sebagai balikan.
3.
Osilator Hartley
Osilator
Hartley seperti pada gambar 3.1 banyak digunakan pada rangkaian penerima radio
AM dan FM. Frekuensi resonansi ditentukan oleh harga 1 T dan 1 C .
Kapasitor 2 C berfungsi sebagai penggandeng AC ke basis 1 Q .
Tegangan panjar 1 Q diberikan oleh resistor 2 R dan 1 R .
Kapasitor 4 C sebagai penggandeng variasi tegangan kolektor dengan
bagian bawah 1 T . Kumparan penarik RF ( 1 L ) menahan AC
agar tidak ke pencatu daya. 1 L juga berfungsi sebagai beban rangkaian.
1 Q adalah dari tipe n-p-n dengan konfigurasi emitor bersama.
Gambar
3.1. Rangkaian Osilator Hartley
Saat
daya DC diberikan pada rangkaian, arus mengalir dari bagian negatif dari sumber
lewat 1 R ke emitor. Kolektor dan basis keduanya dihubungkan ke bagian
positif dari CC V . Ini akan memberikan panjar maju pada emitor-basis
dan panjar mundur pada kolektor. Pada awalnya E I , B I dan C
I mengalir lewat 1 Q . Dengan C I mengalir lewat 1 L ,
tegangan kolektor mengalami penurunan. Tegangan ke arah negatif ini diberikan
pada bagian bawah 1 T oleh kapasitor 4 C . Ini mengakibatkan arus
mengalir pada kumparan bawah. Elektromagnet akan membesar di sekitar kumparan.
Ini akan memotong kumparan bagian atas dan memberikan tegangan positif mengisi
kapasitor 1 C . Tegangan ini juga diberikan pada 1 Q melalui 2 C
. 1 Q akhirnya sampai pada titik jenuh dan mengakibatkan tidak
terjadinya perubahan pada C V . Medan di bagian bawah 1 T akan
dengan cepat habis dan mengakibatkan terjadinya perubahan polaritas tegangan
pada bagian atas. Keping 1 C bagian atas sekarang menjadi negatif
sedangkan bagian bawah menjadi positif.
Muatan
1 C yang telah terakumulasi akan mulai dilucuti melalui 1 T melalui
proses rangkaian tangki. Tegangan negatif pada bagian atas 1 C menyebabkan
1 Q berubah ke negatif menuju cutoff. Selanjutnya ini akan
mengakibatkan C V membesar dengan cepat. Tegangan ke arah positif
kemudian ditransfer ke bagian bawah 1 T oleh 4 C , memberikan
balikan. Tegangan ini akan tertambahkan pada tegangan 1 C . Perubahan
pada C V beragsur-angsur berhenti, dan tidak ada tegangan yang
dibalikkan melalui 4 C . 1 C telah sepenuhnya terlucuti. Medan
magnet di bagian bawah 1 L kemudian menghilang. 1 C kemudian
termuati lagi, dengan bagian bawah berpolaritas positif dan bagian atas
negatif. 1 Q kemudian berkonduksi lagi. Proses ini akan berulang terus.
Rangkaian tangki menghasilkan gelombang kontinu dimana hilangnya isi tangki
dipenuhi lagi melalui balikan.
Sifat
khusus osilator Hartley adalah adanya tapped coil. Sejumlah variasi
rangkaian dimungkinkan. Kumparan mungkin dapat dipasang seri dengan kolektor.
Variasi ini biasa disebut sebagai osilator Series-fed Hartley. Rangkaian
seperti pada gambar 3.1 termasuk osilator Shunt-fed Hartley.
4. Osilator Clapp
Gambar
4.1 Rangkaian
Osilator Clapp
Osilator Clapp
adalah versi modifikasi osilator Colpitt dengan kemantapan frekuensi lebih
baik. Frekuensi ditentukan oleh deret kondensator Co dan induktor Lo dan bukan
oleh kondensator jajar C1 dan C2 seperti dalam rangkaian
osilator Colpitt standar. Untuk osilator Clapp :
dan
umpan balik positif diadakan oleh C1 dan C2. Kondensator-kondensator
ini harus jauh lebih tinggi harganya daripada Co.
PENGKODEAN DATA DIGITAL (NRZ-L, MANCHESTER)
pengkodean data digital, nrz-L, nrz-I, manchester, d-manchester, praktikum menggunakan delphi
LAPORAN
PRAKTIKUM KOMUNIKASI DATA
PENGKODEAN
DATA DIGITAL
(NRZ-L,
NRZ-I, RZ, MANCHESTER, D-MANCHESTER)
PRAKTIKUM II
I. JUDUL
: PENGKODEAN DATA DIGITAL (NRZ-L, NRZ-I, RZ, MANCHESTER, D-MANCHESTER)
II. TUJUAN KHUSUS
·
Memahami
macam-macam pengkodean data digital (NRZ-L, NRZ-I, MANCHESTER, D-MANCHESTER,
RZ)
·
Memahami teknik pengkodean
data digital
·
Mampu
melakukan simulasi pengkodean data digital
III. TUJUAN UMUM
·
Membuat program untuk
mensimulasikan karakteristik pengkodean data digital (NRZ-L, NRZ-I, RZ, MANCHESTER , D-MANCHESTER)
·
Membuat flowchart
teknik pengkodean data digital
IV. ALAT DAN BAHAN
a. Program
Borland Delphi 7
b. Satu
unit komputer
V. TEORI
PENUNJANG
A.
PENGKODEAN
SINYAL DIGITAL
Data
digital merupakan data yang memiliki deretan nilai yang berbeda dan memiliki
ciri-ciri tersendiri. Salah satu
contoh data digital adalah teks, bilangan bulat, dan karakter yang lain. Tetapi
permasalahannya adalah data dalam bentuk karakter yang dapat dipahami manusia
tersebut tidak dapat langsung ditransmisikan dalam sistem komunikasi. Data
terlebih dahulu harus diubah dalam bentuk biner. Jadi suatu data digital akan
ditransmisikan dalam deretan biner. Sedangkan sinyal digital merupakan sinyal
untuk menampilkan data digital. Salah satu contohnya adalah rangkaian tegangan
pulsa yang berbeda dan tidak terjadi secara terus-menerus yang dapat memberikan
sinyal digital melalui transmitter
digital.
Jenis-jenis pengkodean:
1.
NRZ
(Non-Return To Zero)
Format
yang paling mudah dalam mentransmisikan sinyal digital adalah dengan
menggunakan dua tingkat tegangan yang berlainan untuk dua digit biner.
Kode-kode yang mengikuti cara ini dibagi berdasarkan sifat-sifatnya. Tingkat
tegangan tetap konstan sepanjang interval bit yang ditransmisikan, yang dalam
hal ini tidak terdapat transisi (tidak kembali ke level tegangan nol).
Format
ini dibagi menjadi dua bagian, yaitu:
a.
Non-Return to Zero level (NRZ-L), yaitu suatu kode dimana tegangan negatif
dipakai untuk mewakili suatu nilai biner dan tegangan positif dipakai untuk
mewakili nilai biner lainnya.
b.
Non-Return to Zero Inverted (NRZ-I), yaitu suatu kode dimana suatu transisi (rendah
ke tinggi atau tinggi ke rendah) pada awal suatu bit akan dikenal sebagai biner
‘1’ dan berarti biner ‘0’ apabila tidak ada transmisi. NRZ-I merupakan salah
satu contoh dari differensial encoding
(penyandian encoding).
Gambar 1. Perbedaan NRZ-L dan NRZ-I
2.
Return
to Zero (Multilevel Binary)
Format
pengodean ini diarahkan untuk mengatasi ketidak-efisienan kode NRZ. Kode ini
menggunakan lebih dari 2 level sinyal (contohnya: AMI), yaitu suatu kode dimana
biner ‘0’ diwakili dengan tidak adanya garis sinyal dan biner ‘1’ diwakili oleh
suatu pulsa positif atau negatif. Adapun
keunggulan biner multilevel dibanding NRZ adalah:
·
kemampuan sinkronisasi
yang baik
·
Tidak
mengandung komponen dc dan pemakaian bandwidth
yang lebih kecil
·
Dapat
menampung bit informasi yang lebih banyak.
Gambar 2. AMI
3.
Biphase
Biphase
merupakan format pengkodean yang dkembangkan untuk mengatasi keterbatasan kode
NRZ. Pada biphase digunakan dua teknik, yaitu Manchester dan Differensial Manchester. Manchester yaitu suatu
kode dimana ada suatu transisi pada setengah dari periode tiap bit: transisi
rendah ke tinggi mewakili ‘1’ dan tinggi ke rendah mewakili ‘0’. Sedangkan
differensial manchester
adalah suatu kode dimana biner ‘0’ diwakili oleh adanya transisi diawal periode
suatu bit dan biner ‘1’ diwakili oleh ketiadaan transisi di awal periode suatu
bit. Keuntungan rancangan biphase adalah:
·
Sinkronisasi : karena
adanya transisi selama tiap bit, pesawat penerima dapat mensinkronkan transisi
tersebut atau dikenal sebagai self
clocking codes.
·
Tidak ada komponen dc
·
Deteksi terhadap
kesalahan : Ketiadaan dari transisi yang diharapkan dapat digunakan untuk
mendeteksi kesalahan
·
Kekurangan: Memakai bandwidth yang lebar daripada biner
multilevel
Gambar
3. Perbedaan Manchester dan D-Manchester
4.
HDB3
(High-Density Bipolar-3 Zero)
HDB3
adalah suatu kode yang menggantikan string-string dari 4 nol dengan rangkaian
yang mengandung satu atau dua pulsa, atau disebut violation code. Jika violasi terakhir positif maka violasi
berikutnya pasti negatif, begitu pula sebaliknya.
Tabel 1. Aturan Substitusi HDB3
Polaritas dari pulsa akhir
|
Jumlah dari
pulsa-pulsa bipolar karena substitusi terakhir
|
|
|
Genap
|
Ganjil
|
-
|
000-
|
+00+
|
+
|
000+
|
-00-
|
Kedua
kode ini didasarkan pada penggunaan pengkodean AMI dan cocok untuk transmisi
dengan kecepatan data tinggi. Ada
dua teknik yang umum digunakan dalam layanan transmisi jarak jauh dan keduanya
diilustrasikan pada Gambar 8. Pengkodean B8ZS dikenal sebagai pengkodean
bipolar dengan 8 nol tertukar sedangkan skema pengkodean didasarkan pada
bipolar-AMI. Kelemahan pengkodean ini adalah panjangnya string (deretan) nol
dapat menyebabkan hilangnya sinkronisasi saat transmisi data.
Gambar 4. Aturan pengkodean untuk B8ZS dan HDB3
VI.
TEKNIK PENGGAMBARAN PADA PEMROGRAMAN DELPHI
·
Menggambar
Sinyal RZ pada umumnya
Gambar
5. Penggambaran sinyal RZ pada umumnya
Untuk menggambarkan sinyal RZ, koordinat 0,0 terletak
pada perpotongan antara sumbu x dan sumbu y. Langkah pertama untuk menggambar
adalah melalui koordinat 0,0, sinyal RZ memiliki 2 kondisi sinyal yang ditandai
dengan adanya bit ‘1’ dan bit ‘0’. Dimana untuk bit ‘1’ di wakili oleh gambar
sebagai berikut :
|
Gambar 6. Kondisi
sinyal RZ pada posisi bit ‘1’
Pada gambar di atas dapat dilihat bahwa kondisi bit ‘1’
diwakili oleh 4 garis dimana terdapat 2 garis yang mempunyai panjang yang sama (a1=a2,
b1=b2). Sedangkan
untuk bit ‘0’ diwakili oleh gambar sebagai berikut :
Gambar 7. Kondisi
sinyal RZ pada posisi bit ‘0’
Sama halnya untuk menggambarkan sinyal RZ bit ‘1’, bit ‘0’ juga memiliki 4 garis dimana
terdapat 2 garis yang mempunyai panjang yang sama.
· Penggambaran
sinyal RZ di Komputer
Gambar 8. Penggambaran sinyal RZ di komputer
Untuk menggambarkan sinyal RZ di komputer sangat berbeda
dengan menggambarkan sinyal RZ pada
umumnya. Ini dikarenakan adanya perbedaan referensi koordinat (0,0), untuk
penggambaran di komputer koordinat (0,0) terletak di pojok kiri atas. Langkah
pertama penggambaran sinyal RZ adalah dengan menarik garis setinggi t menuju koordinat (0,0) pada
penggambaran sinyal RZ pada umumnya. Setelah itu dilihat kondisi dari bit yang
akan kita gambar, misalnya, bit ‘1’ maka penggambarannya sebagai berikut :
Gambar
9. Penggambaran bit ‘1’ pada komputer
Setelah menuju titik setinggi t dari koordinat (0,0) penggambaran sinyal RZ pada umumnya,
dilanjutkan dengan membuat garis sepanjang b1
ke arah sumbu (0,0) penggambaran sinyal RZ dengan komputer, setelah itu, dari
ujung garis b1, buat garis
sepanjang garis a1 ke arah
kanan, selanjutnya dari ujung garis a1
buat garis sepanjang b2 ke
arah bawah (berlawanan dengan arah garis b1
/ menuju koordinat (0,0) penggambaran sinyal RZ pada umumnya), setelah itu
tarik garis sepanjang a2
dengan arah sesuai dengan garis a1.
Untuk menggambarkan bit ‘0’ sinyal RZ pada komputer
mempunyai cara yang sama dengan penggambaran sinyal RZ dengan bit’1’. Yang
membedakan hanyalah bentuk dari sinyal RZ bit ‘0’ yang berlawanan arah dengan
bit ‘1’.
VII. LANGKAH-LANGKAH PRAKTIKUM
MEMBUAT PROGRAM UNTUK MENGGAMBARKAN
SINYAL RZ, NRZ-L, NRZ-I, DAN MANCHESTER
· Membuka
program Delphi
· Menambahkan pada form satu buah image dan dua buah
button. Selanjutnya mengatur tata letak komponen-komponen tersebut.
Gambar
10. Tata letak komponen
·
Mengubah
beberapa property form dan komponen menurut tabel berikut:
Komponen
|
Property
|
Setting
|
Form
|
Caption
|
(Nama)Veronica
|
Name
|
frmrz
|
|
Button1
|
Caption
|
RZ
|
Name
|
btrz
|
|
Button2
|
Caption
|
Exit
|
Name
|
btexit
|
|
Button 3
|
Caption
|
NRZ-L
|
Name
|
btnrz
|
|
Button 4
|
Caption
|
NRZ-I
|
Name
|
btnrzi
|
|
Button 5
|
Caption
|
Reset
|
Name
|
btreset
|
|
Button 6
|
Caption
|
|
Name
|
btmanc
|
|
Image1
|
Name
|
imgtampil
|
Edit1
|
Text
|
010011001
|
Edit2
|
Name
|
edsumbux
|
Text
|
40
|
|
Edit3
|
Name
|
edsumbuy
|
Text
|
125
|
|
Groupbox1
|
Caption
|
Image
|
Label1
|
Caption
|
sumbu x
|
Label2
|
Caption
|
sumbu y
|
- Mengetikkan kode program di bawah ini untuk
menggambarkan gelombang pengkodean RZ sebagai prosedur rz_1 dan rz_0
dengan cara melakukan double click pada button btrz sebagai event
on click.
procedure rz_1(x,y:integer);
begin
frmrz.imgtampil.Canvas.Pen.Color:=clRed;
frmrz.imgtampil.Canvas.MoveTo(40+x,150);
frmrz.imgtampil.Canvas.LineTo(40+x,100);
frmrz.imgtampil.Canvas.MoveTo(40+x,100);
frmrz.imgtampil.Canvas.LineTo(70+y,100);
frmrz.imgtampil.Canvas.MoveTo(70+y,100);
frmrz.imgtampil.Canvas.LineTo(70+y,150);
frmrz.imgtampil.Canvas.MoveTo(70+y,150);
frmrz.imgtampil.Canvas.LineTo(100+y,150);
frmrz.imgtampil.Canvas.Pen.Color:=clBlack;
end;
procedure
rz_0(x,y:integer);
begin
frmrz.imgtampil.Canvas.Pen.Color:=clRed;
frmrz.imgtampil.Canvas.MoveTo(40+x,150);
frmrz.imgtampil.Canvas.LineTo(40+x,200);
frmrz.imgtampil.Canvas.MoveTo(40+x,200);
frmrz.imgtampil.Canvas.LineTo(70+y,200);
frmrz.imgtampil.Canvas.MoveTo(70+y,200);
frmrz.imgtampil.Canvas.LineTo(70+y,150);
frmrz.imgtampil.Canvas.MoveTo(70+y,150);
frmrz.imgtampil.Canvas.LineTo(100+y,150);
frmrz.imgtampil.Canvas.Pen.Color:=clBlack;
end;
procedure
Tfrmrz.btrzClick(Sender: TObject);
var
i:integer;
data:string;
sx,sy,x,y:integer;
begin
data:=edit1.text;
x:=0;
y:=0;
for
i:=1 to length(data) do begin
if data[i]='1' then begin
rz_1(x,y);
end else if data[i]='0' then begin
rz_0(x,y);
end;
y:=y+60;
x:=x+60;
end;
x:=0;
y:=0;
x:=
strtoint(frmrz.edsumbux.Text);
y:=
strtoint(frmrz.edsumbuy.Text);
sumbu(40,150,500,y);
for
sx:=1 to 450 do
begin
sy:=y;
end;
end;
Keterangan procedure rz_1:
Gambar
11. Penggambaran gelombang RZ biner 1
Gambar 12. Penggambaran gelombang RZ biner 0
Nilai x = 60 pixel dan y = 60 pixel
VIII. TAMPILAN
HASIL PROGRAM
Gambar 13.Tampilan sinyal saat button RZ di-klik
Gambar 14. Tampilan
sinyal saat button NRZ-L di-klik
Gambar 15. Tampilan sinyal saat button NRZ-I di-klik
Gambar 16. Tampilan sinyal saat button Manchester di-klik
IX.
KESIMPULAN
Pengkodean data
digital ditujukan untuk membangun sinyal digital, yang meliputi : unipolar, polar,
dan bipolar. Macam-macam pengkodean data digital yaitu NRZ-L, NRZ-I, dan RZ.
Pengkodean NRZ (Non-Return to Zero) menggunakan dua tingkat tegangan yang
berlainan untuk biner ’0’ dan biner ’1’. Sedangkan pengkodean RZ (Return to
Zero) selalu menuju ke level nol pada setengah periodenya.
Dalam proses
penggambaran sinyal digital, menggunakan beberapa procedure dalam membentuk
kondisi sinyal yang ditandai dengan adanya bit ’1’ dan bit ’0’.
X.
LISTING PROGRAM
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants,
Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
Tfrmrz = class(TForm)
Panel1: TPanel;
GroupBox1: TGroupBox;
imgtampil: TImage;
btnrz: TButton;
btexit: TButton;
Edit1: TEdit;
edsumbux: TEdit;
edsumbuy:
TEdit;
Label1: TLabel;
Label2: TLabel;
btnrzi: TButton;
btreset: TButton;
btrz: TButton;
btmanc: TButton;
procedure
btnrzClick(Sender: TObject);
procedure btexitClick(Sender: TObject);
procedure btresetClick(Sender: TObject);
procedure btrzClick(Sender: TObject);
procedure btnrziClick(Sender: TObject);
procedure btmancClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmrz: Tfrmrz;
x0,y0,p,l,lbr,tggi,bnykbit:integer;
implementation
{$R *.dfm}
//NRZ-L
procedure sumbu
(ax,ay,b,c:integer);
Begin
frmrz.imgtampil.Canvas.MoveTo(ax,ay);
frmrz.imgtampil.Canvas.LineTo(ax+b,ay);
frmrz.imgtampil.Canvas.MoveTo(ax,ay);
frmrz.imgtampil.Canvas.LineTo(ax,ay-c);
frmrz.imgtampil.Canvas.MoveTo(ax,ay);
frmrz.imgtampil.Canvas.LineTo(ax,ay+c);
end;
procedure
garis0(x,y:integer);
begin
frmrz.imgtampil.Canvas.Pen.Color:=clRed;
frmrz.imgtampil.Canvas.MoveTo(40+x,100);
frmrz.imgtampil.Canvas.LineTo(100+y,100);
end;
procedure
garis1(x,y:integer);
begin
frmrz.imgtampil.Canvas.Pen.Color:=clRed;
frmrz.imgtampil.Canvas.MoveTo(40+y,200);
frmrz.imgtampil.Canvas.LineTo(100+y,200);
end;
procedure garistegak
(x,y:integer);
begin
frmrz.imgtampil.Canvas.Pen.Color:=clRed;
frmrz.imgtampil.Canvas.MoveTo(40+x,100);
frmrz.imgtampil.Canvas.LineTo(40+x,200);
end;
procedure
Tfrmrz.btnrzClick(Sender: TObject);
var i:integer;
data:string;
sx,sy,x,y:integer;
begin
data:=frmrz.Edit1.Text;
x:=0;
y:=0;
for i:=1 to
length(frmrz.Edit1.Text) do
begin
if data[i]='1' then
begin
garis1(x,y);
end;
if data[i]='0' then
begin
garis0(x,y);
end;
if data[i]<>data[i-1] then
begin
garistegak(x,y);
end;
y:=y+60;
x:=x+60;
end;
x:=0;
y:=0;
x:=
strtoint(frmrz.edsumbux.Text);
y:=
strtoint(frmrz.edsumbuy.Text);
sumbu(40,150,500,y);
for
sx:=1 to 500 do
begin
sy:=y;
end;
end;
//RZ
procedure
rz_1(x,y:integer);
begin
frmrz.imgtampil.Canvas.Pen.Color:=clRed;
frmrz.imgtampil.Canvas.MoveTo(40+x,150);
frmrz.imgtampil.Canvas.LineTo(40+x,100);
frmrz.imgtampil.Canvas.MoveTo(40+x,100);
frmrz.imgtampil.Canvas.LineTo(70+y,100);
frmrz.imgtampil.Canvas.MoveTo(70+y,100);
frmrz.imgtampil.Canvas.LineTo(70+y,150);
frmrz.imgtampil.Canvas.MoveTo(70+y,150);
frmrz.imgtampil.Canvas.LineTo(100+y,150);
frmrz.imgtampil.Canvas.Pen.Color:=clBlack;
end;
procedure
rz_0(x,y:integer);
begin
frmrz.imgtampil.Canvas.Pen.Color:=clRed;
frmrz.imgtampil.Canvas.MoveTo(40+x,150);
frmrz.imgtampil.Canvas.LineTo(40+x,200);
frmrz.imgtampil.Canvas.MoveTo(40+x,200);
frmrz.imgtampil.Canvas.LineTo(70+y,200);
frmrz.imgtampil.Canvas.MoveTo(70+y,200);
frmrz.imgtampil.Canvas.LineTo(70+y,150);
frmrz.imgtampil.Canvas.MoveTo(70+y,150);
frmrz.imgtampil.Canvas.LineTo(100+y,150);
frmrz.imgtampil.Canvas.Pen.Color:=clBlack;
end;
procedure
Tfrmrz.btrzClick(Sender: TObject);
var i:integer;
data:string;
sx,sy,x,y:integer;
begin
data:=edit1.text;
x:=0;
y:=0;
for i:=1 to length(data) do
begin
if data[i]='1' then begin
rz_1(x,y);
end else if data[i]='0' then begin
rz_0(x,y);
end;
y:=y+60;
x:=x+60;
end;
x:=0;
y:=0;
x:=
strtoint(frmrz.edsumbux.Text);
y:=
strtoint(frmrz.edsumbuy.Text);
sumbu(40,150,500,y);
for
sx:=1 to 450 do
begin
sy:=y;
end;
end;
//NRZ-I
procedure
grsbwh(poss:integer);
begin
with frmrz.imgtampil.Canvas do
begin
MoveTo(x0+poss,y0+tggi);
lineto(x0+poss+lbr,y0+tggi);
end;
end;
procedure
grsats(pos:integer);
begin
with frmrz.imgtampil.Canvas do
begin
MoveTo(x0+pos,y0-tggi);
LineTo(x0+pos+lbr,y0-tggi);
end;
end;
procedure grs(pos:integer);
begin
with frmrz.imgtampil.Canvas do
begin
MoveTo(x0+pos,y0+tggi);
LineTo(x0+pos,y0-tggi);
end;
end;
procedure
sumbui(ax,ay,b,c:integer);
begin
with frmrz.imgtampil.Canvas do
begin
MoveTo(ax,ay);
LineTo(ax+b,ay);
MoveTo(ax,ay);
LineTo(ax,ay-c);
MoveTo(ax,ay);
LineTo(ax,ay+c);
end;
end;
procedure
nrzi(biner:string);
var
i,count:integer;
pos:integer;
sbl:boolean;
begin
count:=0;
sbl:=false;
bnykbit:=length(biner);
lbr:=round(p/(bnykbit));
for i:=1 to bnykbit do
begin
pos:=round(p/(bnykbit))*count;
if biner[i]= '1' then
sbl:=not sbl;
if sbl=true then
grsbwh(pos)
else
grsats(pos);
if
biner[i]='1' then
grs(pos);
count:=count+1;
end;
end;
procedure
Tfrmrz.btnrziClick(Sender: TObject);
begin
frmrz.imgtampil.Canvas.Create;
y0:= round(Frmrz.imgtampil.Height/2);
x0:= round((imgtampil.Width-100)/20 );
p:= imgtampil.Width-100;
l:= round((imgtampil.Height/2)-25);
tggi:=l-25;
sumbu(x0,y0,p,l);
nrzi(Edit1.Text);
end;
//Manchester
procedure sumbumanc
(ax,ay,b,c:integer);
Begin
frmrz.imgtampil.Canvas.MoveTo(ax,ay);
frmrz.imgtampil.Canvas.LineTo(ax+b,ay);
frmrz.imgtampil.Canvas.MoveTo(ax,ay);
frmrz.imgtampil.Canvas.LineTo(ax,ay-c);
frmrz.imgtampil.Canvas.MoveTo(ax,ay);
frmrz.imgtampil.Canvas.LineTo(ax,ay+c);
end;
procedure
garismanc0(x,y:integer);
begin
frmrz.imgtampil.Canvas.Pen.Color:=clRed;
frmrz.imgtampil.Canvas.MoveTo(40+x,100);
frmrz.imgtampil.Canvas.LineTo(70+y,100);
frmrz.imgtampil.Canvas.MoveTo(70+y,100);
frmrz.imgtampil.Canvas.LineTo(70+y,150);
frmrz.imgtampil.Canvas.MoveTo(70+y,150);
frmrz.imgtampil.Canvas.LineTo(100+x,150);
end;
procedure garismanc1
(x,y:integer);
begin
frmrz.imgtampil.Canvas.Pen.Color:=clRed;
frmrz.imgtampil.Canvas.MoveTo(40+x,150);
frmrz.imgtampil.Canvas.LineTo(70+y,150);
frmrz.imgtampil.Canvas.MoveTo(70+y,150);
frmrz.imgtampil.Canvas.LineTo(70+y,100);
frmrz.imgtampil.Canvas.MoveTo(70+y,100);
frmrz.imgtampil.Canvas.LineTo(100+y,100);
end;
procedure garistegakmanc
(x,y:integer);
begin
frmrz.imgtampil.Canvas.Pen.Color:=clRed;
frmrz.imgtampil.Canvas.MoveTo(40+x,100);
frmrz.imgtampil.Canvas.LineTo(40+x,150);
end;
procedure
Tfrmrz.btmancClick(Sender: TObject);
var i:integer;
data:string;
sx,sy,x,y:integer;
begin
data:=frmrz.Edit1.Text;
x:=0;
y:=0;
for i:=1 to
length(frmrz.Edit1.Text) do
begin
if data[i]='1' then
begin
garismanc1(x,y);
end;
if data[i]='0' then
begin
garismanc0(x,y);
end;
if data[i]=data[i-1] then
begin
garistegakmanc(x,y);
end;
y:=y+60;
x:=x+60;
end;
x:=0;
y:=0;
x:=
strtoint(frmrz.edsumbux.Text);
y:=
strtoint(frmrz.edsumbuy.Text);
sumbu(40,150,500,y);
for
sx:=1 to 500 do
begin
sy:=y;
end;
end;
procedure
Tfrmrz.btresetClick(Sender: TObject);
begin
imgtampil.Picture:=nil;
imgtampil.Refresh;
end;
procedure
Tfrmrz.btexitClick(Sender: TObject);
begin
close
end;
end.