This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

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
rangkaian dasar osilator lc armstrong
Rangkaian Dasar Osilator Armstrong
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

pengkodean data digital nrz-L nrz-I manchester d-manchester
Perbedaan NRZ-L dan NRZ-I
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 :
a2
 

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
Manchester
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.