BAHASA PEMROGAMAN KOMPUTER

Sejarah Bahasa Pemrograman Komputer Sejak pertama komputer difference engine diciptakan oleh Charles Babbage pada tahun 1822, komputer membutuhkan sejumlah instruksi untuk melakukan suatu tugas tertentu. Instruksi-instruksi ini dikenal sebagai bahasa pemrograman. Bahasa komputer mulanya terdiri dari sejumlah langkah pengkabelan untuk membuat suatu program; hal ini dapat dipahami sebagai suatu rangkaian pengetikan kedalam komputer dan kemudian dijalankan. Pada awalnya, difference engine-nya Charles Babbage hanya dibuat untuk menjalankan tugas dengan menggunakan perpindahan gigi roda untuk menjalankan fungsi kalkukasi. Jadi, bentuk awal dari bahasa komputer adalah berupa gerakan secara mekanik, selanjutnya gerakan mekanik tersebut digantikan dengan sinyal listrik ketika pemerintah AS mengembangkan ENIAC pada tahun 1942, tetapi masih banyak mengadopsi prinsip-prinsip dasar dari Babbage’s engine yang mana diprogram dengan mengeset switch dan perkabelan pada seluruh sistem pada setiap “program” maupun kalkulasi. Tentu saja ini merupakan pekerjaan yang membosankan. Pada 1945, John Von Neumann yang bekerja pada Institute for Advanced Study mengemukakan dua konsep yang secara langsung mempengaruhi masa depan dari bahasa pemrograman komputer. Yang pertama dikenal sebagai “shared-program technique” (www.softlord.com). Pada teknik ini dinyatakan bahwa hardware komputer haruslah sederhana dan tidak perlu dilakukan pengkabelan dengan menggunakan tangan untuk setiap program. Sebagai gantinya, instruksi-instruksi yang lebih kompleks harus digunakan untuk mengendalikan perangkat keras yang lebih sederhana, hal ini memungkinkan komputer diprogram ulang dengan cepat. Konsep yang kedua yang juga sangat penting untuk pengembangan bahasa pemrograman. Von Neumann menyebutnya sebagai “conditional control transfer” (www.softlord.com). Ide ini berkembang menjadi bentuk subrutin, atau blok kode yang kecil yang dapat panggil berdasarkan aturan tertentu, dari pada suatu himpunan tunggal urutan kronologis yang harus dijalankan oleh komputer. Bagian kedua dari ide tersebut menyatakan bahwa kode komputer harus dapat bercabang berdasarkan pernyataan logika seperti IF (ekspresi) THEN, dan perulangan seperti FOR statement. “Conditional control transfer” mengembangkan ide adanya “libraries,” yang mana merupakan blok kode yang dapat digunakan berulang kali. Pada 1949, setelah beberapa tahun Von Neumann bekerja, bahasa Short Code dilahirkan (www.byte.com), yang merupakan bahasa komputer yang pertama untuk peralatan elektronik yang membutuhkan programmer untuk mengubah perintah kedalam 0 dan 1 dengan tangan. Pada 1957, bahasa khusus yang pertama muncul dalam bentuk FORTRAN yang merupakan singkatan dari sistem FORmula TRANslating. Bahasa ini dirancang pada IBM untuk perhitungan scientific. Komponen-komponennya sangat sederhana, dan menyediakan bagi programmer akses tingkat rendah kedalam komputer. Sampai saat ini, bahasa ini terbatas pada hanya terdiri dari perintah IF, DO, dan GOTO, tetapi pada waktu itu, perintah-perintah ini merupakan lompatan besar kearah depan. Type data dasar yang digunakan sampai sekarang ini dimulai dari FORTRAN, hal ini meliputi variabel logika (TRUE atau FALSE), dan bilangan integer, real, serta double-precision. FORTRAN sangat baik dalam menangani angka-angka, tetapi tidak terlalu baik untuk menangani proses input dan output, yang mana merupakan hal yang penting pada komputasi bisnis. Komputasi bisnis mulai tinggal landas pada 1959, dengan dikembangkannya COBOL, yang dirancang dari awal sebagai bahasa untuk para pebisnis. Type data yang ada hanya berupa number dan text string. Hal tersebut juga memungkinkan pengelompokan menjadi array dan record, sehingga data di telusuri dan diorganisasikan dengan lebih baik. Sesuatu hal yang menarik untuk dicatat bahwa suatu program COBOL dibuat menyerupai suatu essay, dengan empat atau lima bagian utama yang membentuk keseluruhan yang tertata dengan baik. Perintah-perintah COBOL sangat menyerupai tata bahasa English, sehingga membuatnya agak mudah dipelajari. Semua ciri-ciri ini dikembangkan agar mudah dipelajari dan mudah diterapkan pada dunia bisnis. Pada 1958, John McCarthy di MIT membuat bahasa LISt Processing (atau LISP), yang dirancang untuk riset Artificial Intelligence (AI). Karena dirancang untuk fungsi spesialisasi yang tinggi, maka tata cara penulisannya jaring kelihatan sebelum ataupun sesudahnya. Sesuatu perbedaan yang paling nyata dari bahasa ini dengan bahasa lain adalah dasar dan type satu-satunya adalah list, yang ditandai dengan suatu urutan item yang dicakup dengan tanda kurung. Program LISP sendirinya dibuat sebagai suatu himpunan dari list, sehingga LISP memiliki kemampuan yang khusus untuk memodifikasi dirinya, dan juga dapat berkembang sendiri. Tata cara penulisan LISP dikenal sebagai “Cambridge Polish,” sebagaimana dia sangat berbeda dari logika Boolean (Wexelblat, 177) : x V y – Cambridge Polish, what was used to describe the LISP program OR(x,y) – parenthesized prefix notation, what was used in the LISP program x OR y – standard Boolean logic LISP masih digunakan sampai sekarang karena spesialiasi yang tinggi dari sifat abstraknya. Bahasa Algol dibuat oleh suatu komite untuk pemakaian scientific pada tahun 1958. Kontribusi utamanya adalah merupakan akar dari tiga bahasa selanjutnya yaitu Pascal, C, C++, dan Java. Dia juga merupakan bahasa pertama dengan suatu tata bahasa formal, yang dikenal sebagai Backus-Naar Form atau BNF (McGraw-Hill Encyclopedia of Science and Technology, 454). Pada Algol telah diterapkan konsep-konsep baru, seperti rekursif pada function, bahasa berikutnya Algol 68, menjadi bahasa yang membosankan dan sulit digunakan (www.byte.com). Hal ini mengarah kepada adopsi terhadap bahasa yang lebih kecil dan kompak seperti Pascal. Pascal dimulai pada tahun 1968 oleh Niklaus Wirth. Tujuan pengembangannya adalah untuk kebutuhan pengajaran. Pada awalnya bahasa ini dikembangkan bukan dengan harapan adopsi pemakaian secara luas. Prinsipnya mereka mengembangkannya untuk alat pengajaran pemrograman yang baik seperti kemampuan debug dan perbaikan sistem dan dukungan kepada mikroprosesor komputer yang digunakan pada institusi pendidikan. Pascal dirancang dengan pendekatan yang sangat teratur (terstruktur), dia mengkombinasikan kemampuan yang terbaik dari bahasa-bahasa saat itu, COBOL, FORTRAN, dan ALGOL. Dalam pengerjaannya banyak perintah-perintah yang tidak teratur dan aneh dihilangkan, sehingga sangat menarik bagi pemakai (Bergin, 100-101). Kombinasi dari kemampuan input/output dan kemampuan matematika yang solid, membuatnya menjadi bahasa yang sukses besar. Pascal juga mengembangkan tipe data “pointer”, suatu fasilitas yang sangat bermanfaat pada bahasa yang mengimplementasikannya. Dia juga menambahkan perintah CASE, yang mana memperbolehkan perintah bercabang seperti suatu pohon pada suatu aturan: CASE expression OF possible-expression-value-1: statements to execute… possible-expression-value-2: statements to execute… END Pascal juga mengembangkan variabel dinamis, dimana variabel dapat dibuat ketika suatu program sedang berjalan, melalui perintah NEW dan DISPOSE. Tetapi Pascal tidak mengimplementasikan suatu array dinamis, atau kelompok dari variabel-variabel, yang mana sangat dibutuhkan, dan merupakan salah satu penyebab kekalahannya (Bergin, 101-102). Wirth kemudian membuat lanjutan dari Pascal, Modula-2, tetapi pada saat itu muncul C yang dengan cepat menjadi mengeser posisi Pascal. C dikembangkan pada tahun 1972 oleh Dennis Richie ketika sedang bekerja pada Bell Labs di New Jersey. Transisi pemakaian dari bahasa umum yang pertama ke bahasa umum sampai hari ini yaitu transisi antara Pascal dan C, C merupakan perkembangan dari B dan BCPL, tetapi agak menyerupai Pascal. Semua fasilitas di Pascal, termasuk perintah CASE tersedia di C. C menggunakan pointer secara luas dan dibangun untuk kecepatan dengan kelemahannya yaitu menjadi sulit untuk dibaca. Tetapi karena dia menghilangkan semua kelemahan yang terdapat di Pascal, sehingga dengan cepat mengambil alih posisi Pascal. Ritchie mengembangan C untuk sistem Unix yang baru pada saat yang bersamaan. Oleh karena ini, C dan Unix saling berkaitan. Unix memberikan C beberapa fasilitas besar seperti variabel dinamis, multitasking, penanganan interrupt, forking, dan strong low-level,input-output. Oleh karena itu, C sangat sering digunakan untuk pemrograman sistem operasi seperti Unix, Windows, MacOS, dan Linux. Pada akhir tahun 1970 dan awal 1980, suatu metode pemrograman yang baru telah dikembangkan. Ha tersebut dikenal sebagai Object Oriented Programming, atau OOP. Object merupakan suatu potongan dari data yang dapat dipaket dan dimanipulasi oleh programmer. Bjarne Stroustroup menyukai metode ini dan mengembangkan lanjutan dari C yang dikenal sebagai “C With Classes.” Kemampuan lanjutan ini dikembangkan menjadi bahasa C++ yang diluncurkan pada tahun 1983. C++ dirancang untuk mengorganisasikan kemampuan dasar dari C dengan OOP, dengan tetap mempertahankan kecepatan dari C dan dapat dijalankan pada komputer yang tipe berlainan. C++ sering kali digunakan dalam simulasi, seperti game. C++ menyediakan cara yang baik untuk memanipulasi ratusan instance dari manusia didalan elevator, atau pasukan yang diisi dengan tipe prajurit yang berbeda. Bahasa ini menjadi pilihan pada mata kuliah AP Computer Science sampai hari ini. Pada awal 1990′s, interaktif TV adalah teknologi masa depan. Sun Microsystems memutuskan bahwa interaktif TV membutuhkan suatu hal yang khusus, yaitu bahasa portable (bahasa yang dapat berjalan pada banyak jenis mesin yang berbeda). Bahasa ini dikenal sebagai Java. Pada tahun 1994, team proyek Java mengubah fokus mereka ke web, yang mana berubah menjadi sesuatu yang menjanjikan setelah interactive TV gagal. Pada tahun berikutnya, Netscape menyetujui pemakaian Java pada internet browser mereka, Navigator. Sampai titik ini, Java menjadi bahasa masa depan dan beberapa perusahaan mengumumkan aplikasi harus ditulis dalam Java. Java mempunyai tujuan yang besar dan merupakan bahasa yang baik menurut buku text, pada kenyataanya “bahasa tersebut tidak”. Dia memiliki masalah yang serius dalam optimasi, dengan arti program yang ditulis dengannya berjalan dengan lambat. Dan Sun telah membuat cacat penerimaan terhadap Java dengan pertikaian politis dengan Microsoft. Tetapi Java telah dinyatakan sebagai bahasa untuk instruksi masa depan dan benar-benar menerapkan object-oriented dan teknik tingkat tinggi seperti kode yang portable dan garbage collection. Visual Basic sering diajari sebagai bahasa pemrograman dasar yang mengacu pada bahasa BASIC yang dikembangkan pada tahun 1964 oleh John Kemeny dan Thomas Kurtz. BASIC adalah bahasa yang sangat terbatas dan dirancang untuk orang yang bukan computer science. Perintah-perintah dijalankan secara berurutan, tetapi kendali program dapat berubah berdasarkan IF..THEN, dan GOSUB yang mana menjalankan suatu blok kode dan kembali ketitik semula didalam alur program. Microsoft telah mengembangkan BASIC ke dalam produk Visual Basic (VB). Jantung dari VB adalah form, atau suatu window kosos dimana anda dapat drag dan drop komponen seperti menu, gambarm dan slider bars. Item-item ini dikenal sebagai “widgets.” Widget memiliki properti (seperti warna) dan events (seperti klik dan double klik) dan menjadi pusat dari pengembangan antarmuka dengan pemakai diberbagai bahasa program dewasa ini. VB merupakan program yang banyak digunakan untuk membuat interface sederhana ke produk Microsoft lainnya seperti Excel dan Access tanpa membaca banyak kode, dengannya dapat dimungkinkan untuk dibuat aplikasi yang lengkap. Perl telah sering digambarkan sebagai “duct tape of the Internet,” karena sering digunakan sebagai engine untuk interface web atau pada script untuk memodifikasi file konfigurasi. Dia memiliki fungsi text matching yang sangat baik sehingga membuatnya menjadi hal yang ideal untuk pekerjaan tersebut. Perl dikembangkan oleh Larry Wall pada 1987 karena fasilitas pada sed dan awk pada Unix (digunakan untuk manipulasi text) tidak mencukupi kebutuhannya. Tergantung kepada siapa anda bertanya, Perl adalah singkatan dari Practical Extraction and Reporting Language atau Pathologically Eclectic Rubbish Lister. Bahasa pemrograman telah berkembangan dari masa kemasa dan tetap dikembangkan dimasa depan. Mereka dimulai dari suatu daftar langkap pengkabelan agar komputer menjalankan tugas tertentu. Langkah-langkah ini berkembang menjadi software dan memiliki kemampuan yang lebih baik. Bahasa umum yang pertama menekankan pada kesederhanaan dan untuk satu tujuan saja, sedangkan bahasa dewasa ini terbagi atas bagaimana mereka diprogram, sehingga mereka dapat digunakan untuk semua tujuan. Dan mungkin bahasa yang akan datang lebih natural dengan penemuan pada quantum dan komputer-komputer biologis. Sumber : Indoprog ‘Algoritma & Pemrograman’ oleh Hendra, S.T.

Bahasa Pemrogaman

Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer, adalah teknik komando/instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.

Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:

  1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
  2. Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
  3. Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
  4. Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.

Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat Rendah.

Sabtu, 14 Mei 2011

TEKNIK ENCODING

Modulasi adalah proses encoding sumber data dalam suatu sinyal carrier dengan frekuensi fc.

Macam - macam teknik encoding :
· Data digital, sinyal digital
· Data analog, sinyal digital

DATA DIGITAL, SINYAL DIGITAL
Sinyal digital adalah sinyal diskrit dengan pulsa tegangan diskontinyu. Tiap pulsa adalah elemen sinyal data biner diubah menjadi elemen - elemen sinyal.
Spektrum sinyal : disain sinyal yang bagus harus mengkonsentrasikan kekuatan transmisinya pada daerah tengah dari bandwidth transmisi; untuk mengatasi distorsi dalam penerimaan sinyal digunakan disain kode yang sesuai dengan bentuk dari spektrum sinyal transmisi.

Elemen sinyal adalah tiap pulsa dari sinyal digital. Data binary ditransmisikan dengan meng-encoder-kan tiap bit data menjadi elemen-elemen sinyal.
Ketentuan :
· Unipolar: Semua elemen-elemen sinyal dalam bentuk yang sama yaitu positif semua atau negatif semua.
· Polar :adalah elemen-elemen sinyal dimana salah satu state logic dinyatakan oleh level tegangan positif dan sebaliknya oleh tegangan negatif
· Rating Data : Rating data transmisi data dalam bit per secon
· Durasi atau panjang suatu bit: Waktu yang dibutuhkan pemancar untuk memancarkan bit
· Rating modulasi
· Rating dimana level sinyal berubah
· Diukur dalam bentuk baud=elemen-elemen sinyal per detik
· Tanda dan ruang
· Biner 1 dan biner 0 berturut-turut
· Modulation rate adalah kecepatan dimana level sinyal berubah, dinyatakan dalam bauds atau elemen sinyal per detik.
· Istilah mark dan space menyatakan digit binary '1' dan '0'.

Tugas-tugas receiver dalam mengartikan sinyal-sinyal digital:
• receiver harus mengetahui timing dari tiap bit
• receiver harus menentukan apakah level sinyal dalam posisi bit high(1) atau low(0).
Tugas-tugas ini dilaksanakan dengan men-sampling tiap posisi bit pada tengah-tengah interval dan membandingkan nilainya dengan threshold.

Faktor yang menentukan sukses dari receiver dalam mengartikan sinyal yang datang :
• Data rate (kecepatan data) : peningkatan data rate akan meningkatkan bit error
rate (kecepatan error dari bit).
• S/N : peningkatan S/N akan menurunkan bit error rate.
• Bandwidth : peningkatan bandwidth dapat meningkatkan data rate.

Lima faktor yang perlu dinilai atau dibandingkan dari berbagai teknik komunikasi :
• Spektrum sinyal : disain sinyal yang bagus harus mengkonsentrasikan kekuatan transmisinya pada daerah tengah dari bandwidth transmisi; untuk mengatasi distorsi dalam penerimaan sinyal digunakan disain kode yang sesuai dengan bentuk dari spektrum sinyal transmisi.
• Clocking : menentukan awal dan akhir dari tiap posisi bit dengan mekanisme synchronisasi yang berdasarkan pada sinyal transmisi.
• Deteksi error : dibentuk dalam skema fisik encoding sinyal.
• Interferensi sinyal dan Kekebalan terhadap noise
• Biaya dan kesulitan : semakin tinggi kecepatan pensinyalan untuk memenuhi data rate yang ada, semakin besar biayanya.
Perlu diketahui
· Waktu bit saat mulai dan berakhirnya
· Level sinyal
Faktor-faktor penerjemahan sinyal yang sukses
· Perbandingan sinyal dengan noise(gangguan)
· Rating data
· Bandwidth
Perbandingan Pola-Pola Encoding
· Spektrum sinyal
Kekurangan pada frekuensi tinggi mengurangi bandwidth yang dibutuhkan. Kekurangan pada komponen dc menyebabkan kopling ac melalui trafo menimbulkan isolasi Pusatkan kekuatan sinyal di tengah bandwidth
· Clocking
· Sinkronisasi transmiter dan receiver
· Clock eksternal
· Mekanisme sinkronisasi berdasarkan sinyal
· Pendeteksian error
· Dapat dibangun untuk encoding sinyal
· Interferensi sinyal dan kekebalan terhadap noise
· Beberapa code lebih baik daripada yang lain
· Harga dan Kerumitan
· Rating sinyal yang lebih tinggi(seperti kecepatan data) menyebabkan harga semakin tinggi
· Beberapa code membutuhkan rating sinyal lebih tinggi
Pola –Pola encoding
· Nonreturn to Zero-Level (NRZ-L)
· Nonreturn to Zero Inverted (NRZI)
· Bipolar-AMI
· Pseudoternary
· Manchester
· Differential Manchester
· B8ZS
· HDB3
Pengertian dari Format-Format sinyal encoding adalah sebagai berikut

Nonreturn to Zero-Level (NRZ-L):yaitu suatu kode dimana tegangan negatif dipakai untuk mewakili suatu binary dan tegangan positif dipakai untuk mewakili binary lainnya.
· Dua tegangan yang berbeda antara bit 0 dan bit 1
· Tegangan konstan selama interval bit
· Tidak ada transisi yaitu tegangan no return to zero
Contoh:
· Lebih sering, tegangan negatif untuk satu hasil dan tegangan positif untuk yang lain
· Ini adalah NRZ-L
Nonreturn to Zero Inverted (NRZI):yaitu suatu kode dimana suatu transisi (low ke high atau high ke low) pada awal suatu bit time akan dikenal sebagai binary '1' untuk bit time tersebut; tidak ada transisi berarti binary '0'. Sehingga NRZI merupakan salah satu contoh dari differensial encoding.
• Nonreturn to Zero Inverted (NRZI) dalam kesatuan
• Pulsa tegangan konstan untuk durasi bit
• Data dikodekan / diterjemahkan sebagai kehadiran(ada) atau ketiadaan sinyal transisi saat permulaan bit time
• Transisi (dari rendah ke tinggi atau tinggi ke rendah) merupakan biner 1
• Tidak ada transisi untuk biner 0
• Sebagai contoh encoding differential
Keuntungan differensial encoding :
· lebih kebal noise
· tidak dipengaruhi oleh level tegangan.
Kelemahan dari NRZ-L maupun NRZI :
· keterbatasan dalam komponen dc dan kemampuan synchronisasi yang buruk

NRZ
Encoding differential
• Data menggambarkan perubahan daripada level
• Deteksi yang lebih dapat dipercaya untuk transisi daripada level
• Pada transmisi yang lebih komplek layoutnya lebih mudah hilang pada polatitas
NRZ pros and cons
• Pros
· Mudah untuk teknisi
· Membuat kegunaan bandwidth menjadi baik
• Cons
· Komponen dc
· Kekurangan dari kapasitas sinkronisasi
• Digunakan untuk recording magnetik
• Tidak sering digunakan untuk transmisi sinyal
Biner Multilevel
• Digunakan lebih dari 2 level
• Bipolar-AMI
• Zero menggambarkan tidak adanya line signal
• Satu menggambarkan positif atau negatif sinyal
• Satu pulsa menggantikan dalam polaritas
• Tidak ada kerugian dalam sinkronisasi jika panjang tali (nol masih bermasalah)
• Bandwidth rendah
• Tidak ada jaringan untuk komponen dc
• Mudah mendeteksi error
Pseudoternary
• Satu menggambarkan adanya jalur sinyal
• Zero menggambarkan perwakilan dari positif dan negatif
• Tidak adanya keuntungan atau kerugian pada bipolar-AMI
Keunggulan multilevel binary terhadap NRZ :
· kemampuan synchronisasi yang baik
· tidak menangkap komponen dc dan pemakaian bandwidth yang lebih kecil
· dapat menampung bit informasi yang lebih.
Kekurangannya dibanding NRZ :
· diperlukan receiver yang mampu membedakan 3 level (+A, -A, 0) sehingga membutuhkan lebih dari 3 db kekuatan sinyal dibandingkan NRZ untuk probabilitas bit error yang sama.
Bipolar-AMI and Pseudoternary

Pertukaran untuk biner multilevel
• Tidak ada efisiensi pada NZR
· Tiap elemen sinyal hanya menggambarkan satu bit
· Pada 3 level sistem dapat menggambarkan log23 = 1.58 bits
· Receiver harus membedakan diantara 3 level (+A, -A, 0)
· Membutuhkan kira-kira lebih dari 3db kekuatan sinyal untuk kemungkinan yang sama dalam bit error
Dua fase:Dua tekniknya yaitu manchester dan differential manchester.
• Manchester
· Transisi di tengah untuk tiap periode bit
· Perpindahan transisi sebagai clock dan data
· Rendah ke tinggi menggambarkan nol
· Tinggi ke rendah menggambarkan zero
· Digunakan IEEE 802.3
• Differential Manchester
· Transisi Midbit adalah hanya clocking
· Transisi dimulai saat periode bit menggambarkan zero
· Tidak ada transisi yang dimulia saat periode bit dalam menggambarkan nol
· Catatan : ini adalah pola differential encoding
· Digunakan IEEE 802.5
Keuntungan rancangan biphase :
• Synchronisasi : karena adanya transisi selama tiap bit time, receiver dapat men-synchron-kan pada transis tersebut atau dikenal sebagai self clocking codes.
• Tidak ada komponen dc.
• Deteksi terhadap error : ketiadaan dari transisi yang diharapkan, dapat dipakai untuk mendeteksi error.
Kekurangannya :
· memakai bandwidth yang lebih lebar dari pada multilevel binary.
Manchester Encoding
Differential Manchester Encoding
Data Analog, Sinyal Digital
Digitalisasi
Konversi dari data analog ke data digital
Data digital lalu dp ditransmisikan menggunakan NRZ-L
Data digital dp ditransmisikan menggunakan code lain selain NRZ-L
Data digital dapat dikonversikan kembali ke sinyal analog
Konversi analog ke digital dilakukan menggunakan codec
Pulse code modulation
Delta modulation
Pulse Code Modulation(PCM) (1)
Jika suatu sinyal dicuplik (sampling) dg interval regular dg laju lebih besar drpd dua kali frekuensi tertinggi sinyal, sampel-sampel memuat semua informasi dari sinyal original
Data suara dibatasi di bawah 4000Hz
Memerlukan 8000 sampel per detik
Sampel-sampel analog (Pulse Amplitude Modulation, PAM)
Tiap sampel dialokasikan nilai digital
Jika sinyal diambil pada interval regular kecepatannya lebih tinggi daripada kedua sinyal frekuensi, sample menahan banyak informasi pada sinyal original – (Proof - Stallings appendix 4A).
Batas data voice(suara) sampai 4000Hz
Membutuhkan 8000 sample tiap detik
Sample-sample analog (Pulse Amplitude Modulation, PAM)
Tiap sample diberikan nilai digital
Pulse Code Modulation(PCM) (2)
Sistem 4 bit memberikan 16 level
Kuantisasi
Error kuantisasi atau noise
Aproksimasi berarti tdk mungkin utk mendpkan kembali sinyal original secara eksak
Sampel 8 bit memberikan 256 level
Kualitas sebanding dg transmisi analog
8000 sampel per detik dg masing-masing sampel 8 bit memberikan 64kbps
PCM Example



PCM Block Diagram
Dibatasi frekuensi dibawah 4000 Hz, prosedur lama dapat menjelaskannya, 8000 sampel per detik akan cukup mampu mengkarakteristikkan sinyal suara dengan lengkap. Patut dicatat, bagaimanapun juga, bahwa ini merupakan sampel-sampel analog, yang disebut sebagai sampel Pulsa Amplitudo Modulasi (PCM). Untuk mengubah menjadi digital, masing-masing sampel analog ini harus ditandai dengan suatu kode biner. Gambar 5.10 menunjukkan contoh di mana masing-masing sampel didekati dengan terkuantisasi menjadi satu dari 16 level yang berbeda. Kemudian masing-masing sampel ditunjukkan melalui 4 bit. Namun karena nilai-nilai yang di kuantisasi merupakan perkiraan, tidak mungkin bisa mewakili sinyal yang asli dengan sangat tepat. Dengan menggunakan sampel 8-bit, yang memungkinkan 256 level kuantisasi, mutu sinyal suara yang diwakili mampu dibandingkan dengan sinyal suara yang diperoleh melalui transmisi analog. Patut dicatat bahwa hal ini menyatakan secara tidak langsung bahwa rate data 8000 sampel per detik x 8 bit per sampel = 64 kbps diperlukan untuk sinyal suara tunggal. Jadi, PCM memulai dengan suatu waktu-kontinu, sinyal amplitudo-kontinu (analog), dari mana sinyal digital dihasilkan. Sinyal digital terdiri dari blok-blok n bit, dimana setiap bilangan bit n adalah amplitudo pulsa PCM. Pada penerima, proses ini dibalik agar menghasilkan sinyal analog. ingat, bagaimanapun juga, proses ini melanggar perihal teori pengambilan sampel. Dengan mengkuantisasi pulsa PAM, sinyal yang asli sekarang hanya pendekatannya dan tidak dapat diperbaharui dengan tepat. efek ini dikenal sebagai. Error Terkuantisasi atau Derau kuantisasi. Perbandingan sinyal-terhadap-derau untuk derau kuantisasi dapat dinyatakan sebagai [GIBS93].
NSR = 20 Log2n + 1,67 dB = 6,02n + 1,76dB

Jadi, masing-masing bit tambahan yang dipergunakan untuk kuantisasi meningkatkan SNR kira-kira 6 dB, yang merupakan faktor 4. Biasanya, skema PCM diperhalus menggunakan teknik yang disebut pengkodean nonlinear, yang artinya bahwa level-level kuantisasi tidak dipergunakan sama. Problem yang didapat bila sinyal diperlakukan sama adalah membuat rata-rata error absolut untuk setiap sampel juga sama, tanpa memperhatikan level sinyal. Akibatnya, nilai-nilai amplitudo yang lebih rendah relatif lebih terdistorsi. Dengan memperbesar jumlah langkah-langkah kuantisasi untuk sinyal-sinyal beramplitudo rendah, serta memperkecil jumlah langkah-langkah kuantisasi untuk sinyal beramplitudo besar, dapat diperoleh pengurangan yang nyata di semua distorsi sinyal. Efek yang sama dapat diperoleh dengan menggunakan kuantisasi yang seragam tetapi juga melakukan Companding (penyingkatan diperluas) dari sinyal analog input. Companding adalah proses mempersingkat rentang intensitas sebuah sinyal dengan penambahan lebih banyak penguat untuk sinyal-sinyal yang lemah dibanding terhadap sinyal yang kuat pada input. Pada output operasi Pembalikan digunakan. Untuk sinyal-sinyal suara, peningkatan sebesar 24 sampai 30 dB diperoleh
Nonlinear Encoding


Level kuantisasi tidak sama
Mengurangi keseluruhan distorsi sinyal
Dapat juga dilakukan dengan companding
Effect dari Non-Linear Coding
Fungsi Companding Tipikal

Delta Modulation

Input analog diaproksimasikan dg fungsi tangga (staircase function)
Naik atau turun satu level (d) pd tiap interval sample
Delta Modulation - contoh
Delta Modulation – Operasi
Delta Modulation – Performansi
Reproduksi suara baik
PCM - 128 level (7 bit)
Voice bandwidth 4khz
Memerlukan 8000 x 7 = 56kbps utk PCM
Kompresi data dp memperbaiki ini
mis. Teknik Interframe coding untuk
Data Analog, Sinyal Analog
Mengapa memodulasi sinyal analog?
Frekuensi lebih tinggi dp memberikan transmisi yg lebih efisien
Memungkinkan frequency division multiplexing
Tipe-Tipe modulasi
Amplitude
Frequency
Phase
Modulasi Analog

0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More