Praktikum Pengkodean Data Digital [PDF]

  • Author / Uploaded
  • aldo
  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



Praktikum 2 Membuat Program Pengkodean Data Digital



Tujuan Praktikum 1. Mahasiswa dapat mengkonversikan data biner ke pengkode data digital (RZ, NRZ, MANCHESTER, B8ZS, HDB3, UNIPOLAR, AMI) 2. Mahasiswa dapat membuat program untuk mensimulasikan karakteristik pengkode data digital di komputer. 3. Mahasiswa mampu membuat flowchart pengodean data digital



Alat & Bahan 



Program Delphi versi 7







Satu unit komputer



Landasan Teori 1. 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:



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



Praktikum 2 Membuat Program Pengkodean Data Digital



A. 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 B. 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



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03 



Praktikum 2 Membuat Program Pengkodean Data Digital



Dapat menampung bit informasi yang lebih banyak.



Gambar 2. AMI C. 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



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



Praktikum 2 Membuat Program Pengkodean Data Digital



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



E. Delphi 7 Borland Delphi 7 merupakan bahasa pemrograman berbasis Windows. Delphi 7 dapat membantu untuk membuat berbagai macam aplikasi yang berjalan di sistem operasi Windows, mulai dari sebuah program



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



Praktikum 2 Membuat Program Pengkodean Data Digital



sederhana sampai dengan program yang berbasiskan client/server atau jaringan. Delphi, termasuk aplikasi yang dapat digunakan untuk mengolah teks, grafik, angka, database dan aplikasi web. Berikut ini sebagian kecil dari banyak kelebihan Borland Delphi 7 : 



Berbasis Object Oriented Programming (OOP). Setiap bagian yang ada pada program dipandang sebagai suatu object yang mempunyai sifat-sifat yang dapat diubah dan diatur.







Satu file .exe. Setelah program dirancang dalam IDE (Intergrated Development Environment) Delphi, Delphi akan mengkompilasinya menjadi sebuah file executable tunggal.







Program yang dibuat dapat langsung didistribusikan dan dijalankan pada komputer lain tanpa perlu menyertakan file DLL dari luar. Ini merupakan sebuah kelebihan yang sangat berarti.







Borland Delphi 7 hadir bersama Borland Kylix 3 yang berbasiskan Linux, sehingga memungkinkan programmer untuk membuat aplikasi multi-platform. Hal yang tidak kalah pentingnya untuk di ketahui bagi para pengguna



delphi bahwa delphi merupakan sebuah bahasa pemrograman dengan sifat Event-Driven. Artinya Delphi akan menjalankan perintah ketika sebuah event terjadi.



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



Flowchart 1. Flowchart Program Pengkodean Data Digital



Praktikum 2 Membuat Program Pengkodean Data Digital



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



Praktikum 2 Membuat Program Pengkodean Data Digital



Script Program A. Script Program Pengkodean Data Digital 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);



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



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:='10101010'; 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; end; end.



Praktikum 2 Membuat Program Pengkodean Data Digital



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



Praktikum 2 Membuat Program Pengkodean Data Digital



B. Script Program Pengkodean Data Digital RZ Manual Input Biner



procedure sumbu(image:Timage;ax,ay,b,c:integer); begin image.Canvas.Pen.Color:=clblack; image.Canvas.MoveTo(ax,ay); image.Canvas.LineTo(ax+b,ay); image.Canvas.MoveTo(ax,ay); image.Canvas.LineTo(ax,ay-c); image.Canvas.MoveTo(ax,ay); image.Canvas.LineTo(ax,ay+c); image.Canvas.Pen.Width:=3; end; procedure Tfrmsinyal.inputChange(Sender: TObject); var x1,x2,y1,y2,i,n:integer; data:string; pnjg:double;



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



begin x1:=0; y1:=100; if length(input.Text)=0 then begin showmessage('Masukkan input data biner'); input.SetFocus; end else begin data:=input.Text; n:=length(input.Text); image.Picture:=nil; sumbu(image,x1,y1,1000,100); image.Canvas.Pen.Color:=clblue; pnjg:=round(image.Width/round(2*n)); for i:=0 to n do begin if data[i]='1' then begin x2:=round((2*i*pnjg)-(2*pnjg)); image.Canvas.MoveTo(x2,y1-1); image.Canvas.LineTo(x2,y1-75); image.Canvas.LineTo(round(x2+pnjg),y1-75); image.Canvas.LineTo(round(x2+pnjg),y1-1);



Praktikum 2 Membuat Program Pengkodean Data Digital



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



Praktikum 2 Membuat Program Pengkodean Data Digital



image.Canvas.LineTo(round(x2+2*pnjg),y1-1); end else begin x2:=round((2*i*pnjg)-(2*pnjg)); image.Canvas.MoveTo(x2,y1-1); image.Canvas.LineTo(x2,y1+75); image.Canvas.LineTo(round(x2+pnjg),y1+75); image.Canvas.LineTo(round(x2+pnjg),y1-1); image.Canvas.LineTo(round(x2+2*pnjg),y1-1); end; end; end; end; procedure Tfrmsinyal.btkeluarClick(Sender: TObject); begin frmsinyal.Close; end; end. C. Script Program Pengkodean Data Digital (RZ, NRZI, DMANCHESTER, HDB3, UNIPOLAR, AMI)



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



Praktikum 2 Membuat Program Pengkodean Data Digital



procedure sumbu (image:Timage; ax,ay,b,c:integer); begin image.Canvas.Pen.Color:=clblack; image.Canvas.MoveTo(ax,ay); image.Canvas.LineTo(ax+b,ay); image.Canvas.MoveTo(ax,ay); image.Canvas.LineTo(ax,ay-c); image.Canvas.MoveTo(ax,ay); image.Canvas.LineTo(ax,ay+c); image.Canvas.Pen.Width:=3 ; end; procedure Tfrmsinyal.Edit1Change(Sender: TObject); var x1,x2,y1,i,n,u,a:integer; data :string; pnjg :double; tnd:integer; begin x1:=0; y1:=100; if length (Edit1.Text)=0 then begin Showmessage ('masukkan input data biner '); Edit1.SetFocus ;



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



end else begin data :=Edit1.Text; n:= length(Edit1.Text); rz.Picture:=nil; sumbu(rz,x1,y1,1000,100); rz.Canvas.Pen.Color :=clblue; unipolar.Picture:=nil; sumbu(unipolar,x1,y1,1000,100); unipolar.Canvas.Pen.Color :=clred; nrzi.Picture:=nil; sumbu(nrzi,x1,y1,1000,100); nrzi.Canvas.Pen.Color :=clgreen; ami.Picture:=nil; sumbu(ami,x1,y1,1000,100); ami.Canvas.Pen.Color :=clgreen; diff.picture:=nil; sumbu(diff,x1,y1,400,50); diff.Canvas.pen.color:=clblue; hdb.Picture:=nil; sumbu(hdb,x1,y1,1000,100); hdb.Canvas.Pen.Color :=clyellow; tnd:=1; pnjg :=round(rz.Width/round(2*n));



Praktikum 2 Membuat Program Pengkodean Data Digital



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



Praktikum 2 Membuat Program Pengkodean Data Digital



for i := 0 to n do begin if data [i]= '1' then begin //untuk membuat yang satu x2 :=round ((2*i*pnjg )-(2*pnjg)); rz.Canvas.MoveTo(x2,y1-1); rz.Canvas.LineTo(x2,y1-35); rz.Canvas.LineTo(round(x2+pnjg),y1-35); rz.Canvas.LineTo(round(x2+pnjg),y1-1); rz.Canvas.LineTo(round(x2+2*pnjg),y1-1); unipolar.Canvas.LineTo(x2,y1-35); unipolar.Canvas.LineTo(round(x2+pnjg*2),y1-35); diff.Canvas.LineTo(x2,y1+25); diff.Canvas.LineTo(round(x2+pnjg),y1+25); diff.Canvas.LineTo(round(x2+pnjg),y1-25); diff.Canvas.LineTo(round(x2+2*pnjg),y1-25); if tnd =0 then begin nrzi.Canvas.MoveTo(x2,y1+35); nrzi.Canvas.LineTo(x2,y1-35); nrzi.Canvas.LineTo(round(x2+pnjg*2),y1-35); tnd:=1; end else begin nrzi.Canvas.MoveTo(x2,y1-35);



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



nrzi.Canvas.LineTo(x2,y1+35); nrzi.Canvas.LineTo(round(x2+pnjg*2),y1+35); tnd:=0; end; if u=0 then begin ami.Canvas.MoveTo(x2,y1-1); ami.Canvas.LineTo(x2,y1+35); ami.Canvas.LineTo(round(x2+2*pnjg),y1+35); ami.Canvas.LineTo(round(x2+2*pnjg),y1+35); ami.Canvas.LineTo(round(x2+2*pnjg),y1-1); u:=1; end else begin ami.Canvas.MoveTo(x2,y1-1); ami.Canvas.LineTo(x2,y1-35); ami.Canvas.LineTo(round(x2+2*pnjg),y1-35); ami.Canvas.LineTo(round(x2+2*pnjg),y1-35); ami.Canvas.LineTo(round(x2+2*pnjg),y1+1); u:=0; end; if u=0 then begin hdb.Canvas.MoveTo(x2,y1+1); hdb.Canvas.LineTo(x2,y1+35); hdb.Canvas.LineTo(round(x2+2*pnjg),y1+35);



Praktikum 2 Membuat Program Pengkodean Data Digital



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



hdb.Canvas.LineTo(round(x2+2*pnjg),y1+35); hdb.Canvas.LineTo(round(x2+2*pnjg),y1-1); u:=1; end else begin hdb.Canvas.MoveTo(x2,y1-1); hdb.Canvas.LineTo(x2,y1-35); hdb.Canvas.LineTo(round(x2+2*pnjg),y1-35); hdb.Canvas.LineTo(round(x2+2*pnjg),y1-35); hdb.Canvas.LineTo(round(x2+2*pnjg),y1+1); u:=0; end; end else begin //untuk membuat yang nol x2 :=round ((2*i*pnjg )-(2*pnjg)); rz.Canvas.MoveTo(x2,y1-1); rz.Canvas.LineTo(x2,y1+35); rz.Canvas.LineTo(round(x2+pnjg),y1+35); rz.Canvas.LineTo(round(x2+pnjg),y1-1); rz.Canvas.LineTo(round(x2+2*pnjg),y1-1); unipolar.Canvas.LineTo(x2,y1-1); unipolar.Canvas.LineTo(round(x2+pnjg*2),y1-1); diff.Canvas.LineTo(x2,y1-25); diff.Canvas.LineTo(round(x2+pnjg),y1-25);



Praktikum 2 Membuat Program Pengkodean Data Digital



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



Praktikum 2 Membuat Program Pengkodean Data Digital



diff.Canvas.LineTo(round(x2+pnjg),y1+25); diff.Canvas.LineTo(round(x2+2*pnjg),y1+25); if tnd= 0 then nrzi.Canvas.LineTo(round(x2+pnjg*2),y1+35) else nrzi.Canvas.LineTo(round(x2+pnjg*2),y1-35); end; if u= 0 then ami.Canvas.MoveTo(x2,y1-1) else ami.Canvas.LineTo(round(x2+pnjg*2),y1-1); end; if a=0 then hdb.Canvas.MoveTo(x2,y1-1) else hdb.Canvas.LineTo(round(x2+pnjg*2),y1-1); end; end; procedure Tfrmsinyal.btkeluarClick(Sender: TObject); begin frmsinyal.close; end; end.



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



Praktikum 2 Membuat Program Pengkodean Data Digital



Hasil Program dan Pembahasan 1. Hasil Program Pengkodean Data Digital RZ



Dari Hasil Gambar di atas dapat kita perhatikan bahwa tersedia tombol RZ dan tombol exit dimana tombol RZ jika kita tekan akan menghasilkan sinyal di img tersebut. Hasil sinyal yang berasal dari Script di atas pada tampilan tersebut kita membuat pilihan biner ‘10101010’ sehingga akan menghasilkan sinyal yang tertera pada img tersebut sesuai dengan fitur pada program. 2. Hasil Program Pengkodean Data Digital RZ Manual Input Biner



Dari Hasil Gambar di atas dapat kita perhatikan bahwa tersedia input Biner dan tombol keluar dimana jika mengisikan kode biner di dalamnya maka akan keluar sinyal kotak pada image kemudian jika menekan tombol keluar maka kita akan keluar dari program tersebut. Hasil sinyal yang berasal dari Script di atas pada tampilan tersebut dapat kita lihat bahwa user dapat memilih sendiri bentuk sinyal



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



Praktikum 2 Membuat Program Pengkodean Data Digital



yang akan di hasilkan sesuai dengan fitur pada program. Pada Gambar di atas juga dapat kita lihat bahwa hasil yang kita buat berbentuk Kotak dengan besar sinyal yang kita atur terlebih dahulu di script.



3. Hasil Script Program Pengkodean Data Digital (RZ, NRZI, DMANCHESTER, HDB3, UNIPOLAR, AMI)



Pada Gambar di atas dapat kita lihat bahwa hasil yang kita buat berbentuk kotak itu dirancang dengan input dari biner yang mengubah sinyal menjadi kombinasi urutan bilangan 0 dan 1, tinggi pulsa, dan lebar pulsa dan script yang kita buat dapat menghasilkan sinyal kotak. Hasil yang diperoleh juga terdapat beberapa macam sinyal seperti RZ, NRZI, DMANCHESTER, HDB3, UNIPOLAR, AMI, dan input juga sama kita menginputkan sendiri untuk keluaran nya. Perbedaan dari tiap jenis sinyal ialah jika RZ itu keluaran jenis sinyal nya jika ‘1’ maka akan naik dan kembali ke 0 , jika ‘0’ maka sinyal akan turun ke -1 kemudian kembali ke 0. Kemudian jenis sinyal NRZI jika ‘0’ maka sinyal akan di -1 dan jika ‘1’ maka sinyal akan di 1. Jenis sinyal DMANCHESTER jika ‘0’ maka sinyal akan selalu dari -1 ke 1 jika ‘1’ sinyal selalu dari 1 ke -1. Jenis sinyal HDB3 jika ‘0’ maka sinyal akan di 0 jika ‘1’ maka sinyal akan di -1, dan jenis sinyal AMI ialah kebalikan dari HDB3 jika ‘1’ maka sinyal akan di 1. Terakhir jenis sinyal UNIPOLAR akan sama bentuk sinyal nya dengan data.



Nama Kelas No. Abs



: Aldo Fahmi B : JTD-2B : 03



Praktikum 2 Membuat Program Pengkodean Data Digital



Kesimpulan Setelah Melakukan Percobaan di atas dapat kita simpulkan bahwa program yang kita buat sudah berjalan dengan lancar menggunakan program Delphi 7 dan mampu membuat program sesuai keinginan kita, juga Program yang dibuat dapat langsung didistribusikan dan dijalankan pada komputer lain tanpa perlu menyertakan file DLL dari luar. Kemudian juga dapat kita simpulkan jenis sinyal juga banyak beragam bentuknya ini merupakan sebuah kelebihan dari program tersebut yang telah membuat beragam sinyal. Selain itu pada praktikum kali ini sudah berhasil membuat sinyal RZ, NRZI, DMANCHESTER, HDB3, UNIPOLAR, AMI dan dapat menggunkan fitur-fitur input biner.