Selasa, 07 Mei 2019

Materi Pemrograman Dasar Kelas XI Semester 1 - Kurikulum 2013

BAB I
OPERASI ARITMATIKA DAN LOGIKA

Dewasa ini seiring dengan perkembangan teknologi informasi yang pesat, perkembangan software-software yang digunakan untuk membantu setiap kegiatan manusia juga semakin berkembang ke arah yang lebih baik. Sebagai dampak perkembangan software yang begitu pesat maka kebutuhan akan seorang programer software yang handal pun juga meningkat. Namun kebutuhan akan programer yang handal tidak diikuti dengan upaya peningkatan sumber daya manusia yang memadai.

Siswa SMK yang nantinya diharapkan bisa memenuhi kebutuhan pasar software yang ada, perlu adanya pemahaman mengenai dasar-dasar pemrograman yang baik. Dengan pemahaman dasar-dasar pemrograman yang baik diharapkan ketika mengembangkan suatu program dapat diminimalisir kesalahan-kesalahan dasar yang dapat mengakibatkan program tidak dapat berjalan sebagaimana mestinya. Ada berbagai macam dasar-dasar pemrograman yang harus dikuasai antara lain struktur program, variabel, operator, array dll.

Maka dalam bab ini, kita akan membahas dasar pemrograman yang berkaitan dengan operator. Operator memiliki peran yang vital dalam sutu struktur program. Operator bertugas untuk melakukan manipulasi-manipulasi terhadap suatu nilai variabel yang ada menjadi nilai variabel yang diinginkan programmer.

Pada bab ini, kita akan mempelajari berbagai jenis operator yang ada dalam bahasa pemrograman Pascal. Ada beberapa macam operator yang dikenal antara lain operator aritmatika (arithmetic operator), operator relasi (relational operator), operator logika (logical operator), operator Bitwise (Bitwise operator) dan operator penugasan (assignment operator).

Operator Aritmatika
Operand adalah nilai atau data asal yang digunakan dalam suatu operasi. Operator dapat didefinisikan sebagai simbol atau instruksi khusus yang digunakan untuk memanipulasi operand.
Operator Relasional adalah operator yang digunakan untuk menentukan relasi atau hubungan dari dua buah operand. Misalkan variabel a = 10 dan b = 12 maka :
OPERATOR
SIMBOL
DESKRIPSI
CONTOH
Sama dengan
=
Untuk mengecek nilai dari kedua operand, jika nilainya sama maka pernyataan tersebut bernilai benar
(a = b) salah

Tidak sama dengan
<> 
Untuk mengecek nilai dari kedua operand, jika nilainya tidak sama maka pernyataan tersebut bernilai benar.
(a <> b) benar

Lebih dari
Untuk mengecek nilai dari operand kiri lebih besar daripada operand kanan. Jika nilainya lebih besar maka pernyataan tersebut bernilai benar.
(a > b) salah

Lebih dari sama dengan

>=

Untuk mengecek nilai dari operand kiri lebih besar atau sama dengan operand kanan. Jika nilainya lebih besar atau sama dengan maka pernyataan tersebut bernilai benar
(a >= b) salah

Kurang dari
Untuk mengecek nilai dari operand kanan lebih besar daripada operand kiri. Jika nilainya lebih besar maka pernyataan tersebut bernilai benar.
(a < b) benar
Kurang dari sama
dengan

<=

Untuk mengecek nilai dari operand kanan lebih besar atau sama dengan operand kiri. Jika nilainya lebih besar atau sama dengan maka pernyataan tersebut bernilai benar.
(a <= b) benar

Operator Aritmatika
Operator aritmatika adalah operator yang digunakan untuk melakukan operasi-operasi perhitungan aritmatika seperti penjumlahan, pengurangan, pembagian, perkalian dll. Dalam bahasa pemrograman Pascal operator aritmatika dapat dibagi menjadi 2, yaitu :
1. Operator Aritmatika Unair
Operator aritmatika unair adalah operator aritmatika yang hanya melibatkan 1 operand saja.
2. Operator Aritmatika Biner
Operator aritmatika biner adalah operator aritmatika yang melibatkan 2 buah operand.
Berikut ini jenis operator dan kegunaannya dalam bahasa pemrograman pascal :
OPERATOR
SIMBOL
DESKRIPSI
CONTOH
Penjumlahan
+
Menambahkan suatu operand dengan operand yang lain
5 + 7 = 11
Pengurangan
-
Mengurangkan suatu operand dengan operand yang lain
5 – 7 = -2
Perkalian
*
Melakukan penjumlahan berulang pada suatu operand
5 * 7 = 35
Pembagian
/
Melakukan pembagian pada operand
10 / 2 = 5
Pembagian Bulat
Div
Membagi 2 bilangan bulat (integer) kemudian
Mengambil hasil bagi dan sisanya dibuang
7 div 2 = 3
Modulus
Mod
Membagi 2 bilangan bulat (integer) kemudian mengambil sisanya dan hasil baginya dibuang
7 mod 2 = 1

Setelah mengetahui definisi dan kegunaan dari berbagai macam operator aritmatika, berikut ini adalah contoh program sederhana yang memanfaatkan operasi aritmatika pada FreePascal : Contoh :
Jika diketahui a = 1 dan b = 2. Buatlah program pada FreePascal untuk memperoleh hasil operasi a + b !

program Penjumlahan; 
var a,b:integer;
begin
a:=1;
b:=2;
Writeln('a + b = ', a+b);
Write('Press any key to continue...');
Readln;
end.

Contoh :
Diketahui sebuah persegi panjang dengan panjang 10 cm dan lebar 5 cm. Buatlah program menggunakan FreePascal untuk menghitung luas dari persegi panjang tersebut!

program LuasPersegi; 
var p,l:integer;
begin
p:=10;
l:=5;
Writeln('Luas Persegi = ', p*l ,’cm2’);
Write('Press any key to continue...');
Readln;
End.
Contoh :
Willy mempunyai 7 buah permen. Dia berencana akan membagi permen yang dimiliki kepada 3 orang adiknya dengan jumlah yang sama banyak. Dengan menggunakan FreePascal hitunglah jumlah permen yang diterima masing-masing adik willy dan apakah ada sisanya?

program permen; 
begin
writeln('permen yang diperoleh = ', 7div3);
writeln(‘sisa permen willy = ’,7mod3) ;
write('press any key to continue...');
readln;
end.

Fungsi Aritmatika
Pada Kegiatan Belajar 1 kita telah belajar tentang berbagai jenis operator aritmatika beserta penggunaannya dalam sebuah program. Kita dapat melakukan berbagai operasi dasar dengan menggunakan operator aritmatika seperti penjumlahan, penguranga, pembagian dan perkalian. Namun bagaimana jika kita dihadapkan dengan ekspresi matematika di bawah ini?.
sinO
cosO
a2 + b2 = c2
A = pr2
Kita akan kesulitan mengakomodasi permasalahan di atas dalam FreePascal jika hanya menggunakan operator aritmatika yang telah dipelajari sebelumnya. Maka Freepascal mengakomodasi permasalahan tersebut dengan menyediakan berbagai bentuk fungsi matematika yang lazim digunakan dalam kehidupan sehari-hari. Berikut contoh- contoh fungsi aritmatika pada freepascal yang sering digunakan :
ABS
ABS merupakan fungsi matematika dalam pascal yang berguna untuk menghasilkan nilai mutlak dari sebuah bilangan negatif . Sintax : ABS(x)
FRAC
Merupakan fungsi matematika dalam Pascal yang berguna untuk menghasilkan nilai desimal dari bilangan real. Sintax : FRAC(x)
INT
Berguna  untuk  membulatkan  angka  pecahan  menjadi  sebuah  bilangan  bulat  positif.  Sintax  :
INT(x).
LN
Berfungsi untuk menghasilkan nilai logaritma dari sebuah bilangan. Sintax : Ln(x)
SIN
Sintaks sin berfungsi untuk menghitung nilai sinus dari sebuah bilangan yang biasanya digunakan untuk menghitung sudut tertetu dari 0 derajat samapi 360 derajat pada operasi metematika. Sintax : Sin(x).
SQR
Berfungsi untuk melakukan perhitungan kuadrat dari sebuah bilangan. Sintax : SQR(x)
SQRT
Berfungsi untuk melakukan penghitungan akar kuadrat dari sebuah bilangan. Sintax : Sqrt(x)
PRED
Perintah PRED digunakan untuk menghsilkan nilai yang lebih kecil darinya. Perintah PRED hanya dapat digunakan pada tioe data numerik, character dan boolean. Sintax : PRED(x)
SUCC
Perintah SUCC digunakan untuk menghasilkan nilai yang lebih besar darinya. Sama seperti perintah PRED, SUCC hanya dapat digunakan pada tipe data numerik, karakter dan boolean. Sintax : SUCC(x)
ODD
Digunakan untuk menentukan sebuah bilangan apakah termasuk bilangan ganjil atau bukan. Output dari operasi out adalah boolean. Sintax : ODD(x)
INC
Digunakan untuk menambah nilai bilangan numerik sebesar 1. Sintax : INC(x)
DEC
Digunakan untuk mengurangi nilai bilangan numerik sebesar 1. Sintax : DEC(x)

program AritFunct2; 
uses crt;
var a,b,c : real; 
begin
clrscr;
writeln('============================================='); 
writeln('Program Hitung Sisi Miring Segitiga Siku-Siku');
writeln; writeln('misalkan :');
writeln('a = sisi tegak pertama'); writeln('b = sisi tegak kedua'); writeln('c = sisi miring segitiga');
writeln('=============================================');
writeln;
writeln('Masukkan nilai a = ');readln(a); writeln('Masukkan nilai b = ');readln(b); writeln;
writeln('=============================================');
c:=sqrt(sqr(a)+sqr(b));
writeln('c= ',c:4:2); writeln;
writeln('Maka panjang sisi miring segitiga : ',c:4:2);
readln;
end.

program AritFunct3; 
uses crt;
var x : integer; //deklarasi 25ariable x
begin
clrscr;
x:=1;
writeln(‘Perintah Increment dengan while’);
while x<=10 do //25selama x = 10
 begin
write(x,’ ‘);
INC(x); //pengenaan fungsi increment pada x
end;
writeln;
writeln(‘Perintah Decrement dengan while’);
while x>=1 do //25selama x = 1 
begin
write(x,’ ‘);
DEC(x); //pengenaan fungsi increment pada x
end;
readln;
end.

Pemanfaatan Fungsi Aritmatika
Di bawah ini merupakan contoh masalah yang dapat kita selesaikan dengan memanfaatkan fungsi aritmatika pada FreePascal

Permasalahan di atas meminta kita untuk menentukan panjang AC. Untuk mencari panjang AC dapat memanfaatkan teorema Phytagoras.
Dari bentuk umum Phytagoras, apabila diamati bentuk tersebut secara garis besar memanfaatkan bentuk kuadrat dan bentuk akar. Dan dalam bahasa pemrograman Pascal juga dimuat tentang fungsi SQR (x) dan SQRT (x) yang mana kedua fungsi itu mengacu pada operasi kuadrat dan operasi akar dari suatu bilangan.

program Segitiga; //judul program
uses crt;
var a,b : integer; //deklarasi variabel 
c : real;
begin
clrscr; 
writeln('========================================='); 
writeln('Hitung sisi miring segitiga siku-siku'); writeln('========================================='); writeln;
a:=3; //pemberian nilai variabel a 
writeln('AB = ',a); //menampilkan isi variabel a 
b:=4 ;  //pemberian nilai variabel b 
writeln('BC = ',b); writeln(''); //menampilkan isi variabel b 
writeln('==========================================');
c:=sqrt(sqr(a)+sqr(b)); //operasi phytagoras 
writeln('AC = ',c:1:0); //menampilkan AC 
writeln('===========================================');
readln;
end.
contoh
Dua titik A (x1,y1) dan B (x2,y2). Kedua titik A dan B akan dihubungkan dengan sebuah garis sehingga membentuk ruas garis AB. Tentukan panjang ruas garis AB.

program Jarak;
uses crt;
var x1,x2,y1,y2:integer; a:real;
begin
clrscr;
writeln('================================='); 
writeln('Menghitung Jarak Antara 2 Titik'); 
writeln('================================='); writeln;
//input variabel yang digunakan untuk titik A 
writeln('Masukkan koordinat titik A(x1,y1)'); write('x1 = '); readln(x1);
write('y1 = '); readln(y1); writeln;
//input variabel yang digunakan untuk titik B 
writeln('Masukkan koordinat titik B(x2,y2)'); 
write('x2 = '); readln(x2);
write('y2 = '); readln(y2); writeln;
//Menghitung jarak titik A dan B 
a:= SQRT(SQR(x2-x1)+SQR(y2-y1));
//Menampilkan hasil perhitungan jarak A dan B 
writeln('================================='); 
writeln('Jarak Titik A dengan B : ',a:4:2,' satuan'); 
writeln('=================================');
readln();
end.

Operasi Logika
Operator logika digunakan untuk menentukan nilai boolean dari satu atau beberapa operand. Operator logika bekerja sebagaimana hukum-hukum logika yang ada dalam hukum matematika. Di dalam Freepascal ada 4 buah operator logika yaitu : NOT, AND, OR dan XOR.

Operator Operasi Tipe Operand Tipe Hasil
not Negasi Boolean Boolean
and Konjungsi Boolean Boolean
or Disjungsi Boolean Boolean
xor Disjungsi Eksklusif Boolean Boolean

Operator Bitwise

Operasi bit digunakan untuk melakukan manipulasi bit pada bilangan bertipe data Byte dan word. Operator bitwise mirip dengan operator aljabar yang mengolah data bertipe byte dan word sehingga menghasilkan nilai output berupa bilangan juga. Terdapat lima jenis operator bitwise yang dikenal dalam Pascal yaitu AND, OR, XOR, SHR, SHL.

Operator Simbol Operasi
Not ~ Bit not
and & Bit Konjungsi
or | Bit Disjungsi
Xor ! Bit Eksklusif Disjungsi
Shl << Bit shift left
Shr >> Bit shift right
   
program Logika4;
uses crt;
var   a,b,c,d,e,f,g:integer;
begin
clrscr;
a:=9;
b:=10;
writeln('a = ',a);
writeln('b = ',b);
writeln('==================');
writeln(‘melakukan operasi bitwise AND’);
c:=a And b;
writeln('a and b = ',c);
writeln('==================');
writeln('melakukan operasi bitwise OR’);
d:=a or b;
writeln('a or b = ',d);
writeln('==================');
writeln('melakukan operasi bitwise XOR’);
e:=a xor b;
writeln('a xor b = ',e);
writeln('==================');
writeln('melakukan operasi bitwise shr’)
f:=a shr 2;
writeln('a shr 2 = ',f);
writeln('==================');
writeln('melakukan operasi bitwise shl’)
g:=b shl 2;
writeln('b shl 2 = ',g);
writeln('==================');
readln;
end.

BAB II
ARRAY
Setelah mengenal data tunggal, yaitu sebuah variabel yang hanya bisa menyimpan satu data saja, kita akan belajar suatu struktur data yang mampu menyimpan beberapa data sekaligus. Dalam kehidupan sehari-hari kita mungkin pernah melihat sebuah loker yang memiliki banyak tempat penyimpanan, misalnya di tempat penitipan barang di supermarket. Untuk mempermudah mengenali setiap tempat penyimpanan pada loker tersebut biasanya diberi nomor urut. Setiap tempat pada loker memiliki kegunaan yang sama, yaitu sama-sama digunakan untuk menyimpan barang pengunjung. Struktur data yang memiliki konsep serupa dengan ini dalam pemrograman disebut dengan array. Array adalah sekumpulan data yang bertipe sama. Variabel bertipe array memiliki kemampuan untuk menyimpan sekumpulan data yang mempunyai tipe sama.

Rabu, 19 Desember 2018

Cara Transfer Akun PB Garena ke Akun PB Zepetto

sitanggang - Oke teman-teman semuaa yang sudah berkunjung ke Website sayaaa!! :) , dan disini mimin akan mengupdate kembali yang sebelum nya sibuk, dan pada kali ini sih mimin ketinggalan updatenya, kemaren ada berita Heboh tentang Game Point Blank , yang dimana Point Blank akan berpindah tangan atau akan Mengalihkan kembali ke Zepetto lagi. Dan mimin disini akan memberitahu cara Transfer Akun PB Garena kalian ke Akun PB Zepetto, Cara nya Cukup mudah banget tidak butuh waktu 1hari,1jam,5menit hanya 1-2menit sudah selesai masalah untuk Melakukan Transfer Akun PB kalian ke Zepetto.

Oke, langsung saja tanpa Basa-Basi!!!

Ikuti Langkah-Langkah Berikut ini :

1. Pertama kalian klik website ini : http://safelinku.net/BAlgOf9 , silahkan kalian klik link berikut dan nanti akan tertuju pada web Point Blank
2. lalu setelah kalian sudah masuk ke Website yang tadi saya berikan silahkan terlebih dahulu untuk login akun Garena kalian di Web Resmi Garena garena.com dan isikan ID/Password yang mau kalian akan Transferkan ke Zepetto
3. Setelah selesai login di Web Garena, lalu buka kembali web PBID kalian atau Point Blank yang kalian klik Link pada proses pertama, lalu kalian scrool ke bawah dan lihat ada "Buat Akun" kalian silahkan klik Buat Akun


4. lalu kalian klik "OK" pada bagian bawah , dan isikan Formulir Username, password, Email Aktif kalian dan isi Captha nya !! ingatt juga username dan password yang kalian isi tersebut agar kalian juga bisa Login di Zepetto nantinya !!


5. Setelah itu klik Daftar, Kemudian teman-teman kembali ke Website Awal nya atau halaman sebelumnya disitu ada Zepetto Login dan disitu teman-teman bisa Login pake Username dan Password yang kalian Daftar Sebelumnya!


6. dan kalian sudah login maka teman-teman bisa klik hubungkan Akun kalian, karena teman-teman sebelumnya sudah login Akun di Website Garena tadi, jadi teman-teman tidak perlu lagi untuk login ke Garena , sekarang teman-teman sudah selesai untuk mentransfer akun teman-teman ke Zepetto


Selamat Teman-teman sudah bisa memainkan Akun teman-teman di Zepetto nanti nya! 

Selasa, 13 November 2018

Pengertian DHCP Beserta Fungsinya

Pengertian DHCP (Dynamic Host Configuration Protocol)

Dynamic Host Configuration Protocol atau DHCP, adalah suatu protokol client atau server yang memiliki fungsi untuk membuat dan menyewakan alamat IP secara otomatis kepada komputer client atau host client baik itu secara massal atau per unit. Selain pembuatan alamat IP, DHCP ini juga mampu memberikan default gateway, DNS, hostname, dan domain name secara otomatis. Ada 2 arsitektur dalam menjalankan cara kerja DHCP ini, yakni DHCP server dan DHCP client.

Pengertian DHCP Server dan DHCP Client

DHCP server adalah suatu perangkat engine yang dapat menyediakan alamat IP, DNS, default gateway dan berbagai informasi TCP/IP lainnya untuk komputer client yang memintanya. Sistem operasi komputer yang menyediakan layanan DHCP server ini seperti Windows NT server, windows 2003 server, GNU atau linux.
DHCP client adalah suatu perangkat client yang mengoperasikan perangkat lunak DHCP client sehingga dapat tersinkronisasi dengan DHCP server untuk menerima alamat IP,DNS, dan default gateway secara otomatis. Komputer client biasanya terhubung dengan DHCP server seperti diantaranya windows NT workstation, windows 2000 professional, windows XP, windows vista, windows 7, windows 8, windows 10 dan linux.

Fungsi DHCP secara Umum

  • DHCP digunakan oleh network administrator untuk mengelola jaringan komputer dan pengalamatan IP address secara otomatis.
  • DHCP digunakan untuk memberikan layanan penyawaan IP address secara otomatis kepada komputer client yang tersambung dengan server.
  • DHCP mempercepat kinerja komputer client dalam proses pengiriman atau pengolahan data.
  • DHCP server dapat memberikan layanan sewa ip address dinamis maupun statis.
  • DHCP mampu melayani penyewaan network dalam jumlah massal.

Cara Kerja DHCP Server dan Client

Sistem kerja DHCP server dalam menyewakan alamat IP kepada DHCP client ini memiliki beberapa tahap. Berikut ulasan cara kerja DHCP yang ada pada umumnya :
  1. IP Least Request : Komputer client meminta alamat IP address ke DHCP server.
  2. IP least Offer : DHCP server menawarkan alamat IP address yang tersedia kepada komputer client.
  3. IP lease Selection : Komputer client menerima alamat IP address yang ditawarkan DHCP server dan melakukan penyewaan kepada DHCP server selama batas waktu tertentu.
  4. IP Lease Acknowledge : DHCP server menerima penyewaan DHCP client dan memberikan alamat IP address serta memberikan subnet jaringan lainnya sebagai fasilitas tambahan. Kemudian DHCP client melakukan aktifasi/inisialisasi dengan mengikat alamat IP sehinggal alamat IP itu tidak dapat diambil oleh komputer client lainnya, selanjutnya komputer client bisa digunakan untuk bekerja pada jaringan DHCP server yang sudah dikonfigurasi.

Pengertian Spread Spectrum, DSSS, FHSS

Spread spectrum adalah sebuah metode komunikasi dimana semua sinyal komunikasi disebar di seluruh spektrum frekuensi yang tersedia. Pada awalnya dikembangkan untuk kepentingan militer dan intelejen. Ide dasarnya adalah untuk menyebarkan sinyal informasi melalui bandwidth yang lebih luas untuk mencegah dilakukannya pencegatan informasi dan gangguan-gangguan lainnya. Istilah spread spectrum digunakan karena pada sistem ini sinyal yang ditransmisikan memiliki bandwidth yang jauh lebih lebar dari bandwidth sinyal informasi (mencapai ribuan kali). Proses penebaran bandwidth sinyal informasi ini disebut spreading. Spread spectrum jenis pertama yang dikembangkan dikenal dengan nama frequency hopping atau lompatan frekuensi. Versi yang terbaru adalah direct squence spread spectrum. Kedua teknik ini dipergunakan dalam berbagai produk jaringan nirkabel. Selain itu juga untuk berbagai aplikasi lainnya, seperti telepon nirkabelt (cordless telephone). Sebuah sistem spread-spectrum harus memenuhi kriteria sebagai berikut :
  1. Sinyal yang dikirimkan menduduki bandwidth yang jauh lebih lebar daripada bandwidth minimum yang diperlukan untuk mengirimkan sinyal informasi
  2. Pada pengirim terjadi proses spreading yang menebarkan sinyal informasi dengan bantuan sinyal kode yang bersifat independen terhadap informasi
  3. Pada penerima terjadi proses despreading yang melibatkan korelasi antara sinyal yang diterima dan replika sinyal kode yang dibangkitkan sendiri oleh suatu generator lokal.
Dalam komunikasi spread spectrum semakin lebar bandwidth akan semakin tahan terhadap jamming dan akan semakin terjamin tingkat kerahasiaannya. Disamping itu akan semakin banyak kanal yang bisa dipakai. Seperti yang di terangkan oleh Shanon , salah seorang ahli statistik telekomunikasi, dalam ilmu komunikasi dinyatakan bahwa kapasitas kanal akan sebanding dengan bandwidth transmisi dan logaritmik dari S/N-nya. Jadi agar sistem komunikasi dapat bekerja dengan kapasitas kanal yang tetap pada level daya noise yang tinggi (S/N yang rendah), dapat dilakukan dengan jalan memperbesar bandwidth transmisi W. Disamping itu Shannon juga mengemukakan bahwa sebuah kanal dapat mentransmisikan informasi dengan probabilitas salah yang kecil apabila terhadap infromasi tersebut dilakukan pengkodean yang tepat dan rate infromasi yang tidak melebihi kapasitas kanal meskipun kanal tersebut memuat interferensi acak.
diagram
Gambar 1, Diagram Sistem Spread Spectrum
Gambar diatas menyajikan gambaran tentang karakteristik kunci beberapa sistem spektum penyebaran. Input dimasukkan ke dalam suatau channel enkoder yang menghasilkan sebuah sinyal analog dengan bandwidth sempit relatif di seputar beberapa frekuensi pusat. Sinyal ini kemudian dimodulasikan menggunakan deretan digit-digit tidak beraturan yang disebut pseudorandom sequence. Efek dari modulasi ini adalah untuk meningkatkan secara signifikan bandwith (yang menyebarkan spektrum) sinyal yang ditransmisikan. Pada ujung penerima, deretan digit yang sama di gunakan untuk mendemodulasikan sinyal spektrum penyebaran. Terakhir sinyal dimasukkan ke dalam sebuah channel dekoder untuk melindungi data.
  • Imunitas dari berbagai noise dan multipath distortion
    • Termasuk gangguan (Jamming)
  • Dapat mengacak sinyal
    • Hanya receiver yang mengetahui pengacakan kode dapat mendapat kembali sinyal
  • Beberapa user dapat mengunakan bandwidth yang lebih besar dengan sedikit interferency
    • Telepon seluler
    • Code division multiplexing (CDM)
    • Code division multiple access (CDMA)
Komentar mengenai jumlah pseudorandom adalah ordenya. Jumlah ini didapat melalui suatu algoritma menggunakan beberapa nilai awal yang disebut seed. Algoritma tersebut dapat ditentukan dan karenanya menghasilkan deretan bilangan yang tidak acak secara statistik. Bagaimanapun juga, bila algoritmanya baik, deretan yang dihasilkan akan melalui beberapa ujian yang memeriksa kecakapannya. Jumlah – jumlah semacam itu ditunjukkan sebagai pseudorandom number. Poin terpenting dari hal ini adalah walaupun mengetahui tentang algoritma dan seed, sangatlah sulit untuk memprediksikan deretan tersebut. Oleh sebab itu, hanya receiver, yang membagi informasi ini dengan sebuah transmitterlah yang mampu mengkodekan sinyal dengan sukses.
Apakah sifat sinyal pseudo random akan mampu mewakili suatu sinyal yang benar – benar random? Ada 3 sifat dasar untuk mengetahui apakah sekuen biner dapat memenuhi kriteria random.
  • Balanced property
    • Kondisi balance (seimbang) untuk sekuen biner yang bagus mensyaratkan jumlah bit 1 dan jumlah bit 0 yang muncul sama. Beda yang diijinkan maksimum adalah 1 digit.
  • Run Property
    • Suatu run didefinasikan sebagai suatu sekuen tipe single pada bit – bit (binary digit). Kemunculan digit yang berlawanan dalam suatu sekuen akan memenuhi run yang baru. Panjang run adalah jumlah digit – digit didalam run. Pada suatu periode yang tersusun dari 1 dan 0, diketahui bahwa 0.5 run masing – masing tipe 1, sepanjang sekitar 1/4 panjang 2, dan 1/8 pada panjang 3,dst.
  • Correlation Property
    • Jika suatu periode pada sekuen dibandingkan secara term by term dengan suatu siklus yang digeser terhadap dirinya sendiri, akan didapat periode dimana sinyal itu akan memiliki perulangan. Pada dua sinyal dengan periode yang sama, to s/d tn, maka keduanya benar-benar mirip. Kondisi ini dalam bentuk ternormalisasi memiliki nilai korelasi 1. Untuk suatu kondisi dimana bentuk sinyal pertama bertolak belakang dengan sinyal kedua, maka dinyatakan memiliki korelasi –1. Gambaran korelasi dua sinyal secara sederhana seperti Gambar berikut ini. Gambar a dan b memiliki korelasi 1, sedangkan gambar a dengan c memiliki korelasi –1.
Sifat sinyal random
Gambar 2, Sifat-sifat sinyal random

A. Frequency Hopping Spread Spectrum (FHSS)

Penggunaan channel
Gambar 3, Penggunaan channel pada FHSS
Dalam skema Frequency Hopping Spread Spectrum, sinyal disiarkan sepanjang rangkaian frekuensi radio yang kelihatannya acak, melompat dari frekuensi ke frekuensi pada titik pisah (split-socond intervals). Sebuah receiver, melompat di antara frekuensi secara sinkron dengan transmitter, lalu menangkap pesan. Sehingga orang-orang yang berusaha mendengarkan secara diam diam hanya akana mendengar bunyi titik titik yang tidak jelas. Upaya untuk mengganggu sinyal hanya akan berhasil dengan cara menghantam sedikit bit-nya.
Sistem FHSS
Gambar 4, Sistem Frequency Hopping Spread Spectrum pada Transmitter
Untuk transmisi data biner dimasukkan ke dalam sebuah modulator dengan menggunakan beberapa skema pengkodean digital-ke-analog, semacam Frequency-shift keying(FSK) atau Binary Phase-Shift Keying(BPSK). Sinyal yang dihasilkan dipusatkan disekitar beberapa frekuensi dasar. Sumber jumlah pseudorandom menyajikan apa yang dilampirkan dalam indeks didalam tabel frekuensi. Pada masing masing interval yang berurutan, dipilih sebuah frekuensi baru dari tabel. Frekuensi ini kemudian dimodulasikan melalui sinyal yang dihasilkan dari modulator awal agar menghasilkan sinyal yang baru dengan bentuk yang sama namun sekarang dipusatkan di tengah tengah frekuensi yang dipilih dari tabel.
System FHSSGambar 5, Sistem Frequency Hopping Spread Spectrum pada Receiver
Sedangkan pada penerima, sinyal spektrum penyebaran didemodulasikan menggunakan sejumlah frekuensi yang sama yang didapatkan dari tabel kemudian didemoduasikan agar menghasilkan data output. Sebagai contoh, bila FSK digunakan, modulator memilih salah satu dari dua frekuensi, katakanlah f0 atau f1, berkaitan dengan transmisi biner 1 atau biner 0.Sinyal FSK biner yang dihasilkan diartikan ke dalam frekuensi melalui suatu jumlah yang ditentukan melalui urutan output dari generator sumber pseudorandom. Sehingga, bila frekuensi yang dipilih pada waktu I adalah f1 maka sinyal pada waktu I adalah baik fi + fo maupun fi + f1.
Sinyal ditransfer secara bergantian dengan menggunakan 1MHz atau lebih dalam rentang sebuah pita frekuensi tertentu yang tetap. Prinsip dari metoda frequency hopping adalah menggunakan pita yang sempit yang bergantian dalam memancarkan sinyal radio. Secara periodik antara 20 sampai dengan 400ms (milidetik) sinyal berpindah dari channel frekuensi satu ke channel frekuensi lainnya. Pita 2.4GHz dibagi-bagi ke dalam beberapa sub bagian yang disebut channel/kanal. Salah satu standar pembagian channel ini adalah sistem ETSI (European Telecommunication Standard Institute) dengan membagi channel, dimulai dengan channel 1 pada frekuensi 2.412MHz, channel 2 pada frekuensi 2.417MHz, channel 3 pada frekuensi 2.422MHz dan seterusnya setiap 5MHz bertambah sampai channel 13.
Dengan teknologi DSSS maka untuk satu perangkat akan bekerja menggunakan 4 channel (menghabiskan 20MHz, tepatnya 17MHz). Dalam implementasinya secara normal pada lokasi dan arah yang sama hanya 3 dari 13 kanal DSSS yang bisa dipakai. Parameter lain yang memungkinkan penggunaan lebih dari 3 channel ini adalah penggunaan antena (directional antenna) dan polarisasi antena itu sendiri (horisontal/vertikal).

Slow and Fast FHSS

  • Frekwensi bergeser tiap-tiap Tc Detik
  • Durasi dari signal element adalah Ts detik
  • Ts³Slow FHSS memiliki Tc
  • Fast FHSS memiliki Tc < Ts
  • Biasanya fast FHSS memberikan improved performance dalam noise (or jamming)

Slow Frequency Hop Spread Spectrum menggunakan MFSK (M=4, k=2)

Slow FHSS

Fast Frequency Hop Spread Spectrum menggunakan MFSK (M=4, k=2)

Fast FHSS

B. Direct Sequence Spread Spectrum (DSSS)

Direct Sequence Spread Spectrum dipilih karena adanya kemudahan dalam mengacak data yang akan dispreading. Dalam DSSS spreading hanya menggunakan sebuah generator noise yang periodik yang di sebut Pseudo Noise Generator. Kode yang digunakan pada sistem spread spectrum memiliki sifat acak tetapi periodik sehingga disebut sinyal acak semu (pseudo random). Kode tersebut bersifat sebagai noise tapi deterministik sehingga disebut juga noise semu (pseudo noise). Pembangkit sinyal kode ini disebut Pseudo Random Generator (PRG) atau pseudo noise generator (PNG). PRG inilah yang akan melebarkan dan sekaligus mengacak sinyal data yang akan dikirimkan. Dalam skema ini, masing masing bit pada sinyal yang asli ditampilkan oleh bit- bit multipel pada sinyal yang ditransmisikan, yang disebut kode tipis(chipping). Kode tipis yang menyebarkan secara langsung sepanjang band frekuensi yang lebih luas sebanding dengan jumlah bit yang dipergunakan. Oleh karena itu, kode tipis 10-bit menyebarkan sinyal sepanjang band frekuensi yang 10 kali lebih besar dibandingkan kode tipis 1-bit.
Satu teknik dengan spektrum penyebaran deretan langsung adalah dengan mengkombinasikan stream informasi digital dengan bit stream pseudorandom menggunakan OR-eksklusif contoh pada gambar 6.
DSSS
Gambar 6.Contoh Direct Sequence Spread Spectrum
Patut dicatat bahwa bit informasi dari satu membalikan bit-bit pseudorandom dalam kombinasi tersebut, sementara bit informasi 0 menyebabkan bit-bit pseudorandom ditransmisikan tanpa mengalami inversi. Kombinasi bit stream memiliki data rate yang sama dengan deretan pseudorandom yang asli, sehingga memiliki bandwidth yang lebih lebar dibandingkan dengan stream informasi. Pada contoh ini, bit stream lebih besar 4 kali lipat rate informasi.
DSSS tx
Gambar 7a.Direct Sequence Spread Spectrum pada Transmitter
DSSS Rx
Gambar 7b.Direct Sequence Spread Spectrum pada Receiver
Gambar 7 menunjukkan implementasi deretan langsung yang khusus. Dalam hal ini, stream informasi dan stream pseudorandom bahkan dikonversi ke sinyal-sinyal analog lalu dikombinasikan, bukannya menunjukkan OR-eksklusif dari dua stream dan kemudian memodulasikannya. Penyebaran spektrum dapat dicapai melalui teknik deretan langsung yang ditentukan dengan mudah. Sebagai contoh, anggap saja sinyal informasi memiliki lebar bit sebesar tb yang ekuivalen terhadap rate data = 1/tb. Dalam hal ini, bandwidth sinyal tergantung pada teknik pengkodean, kira-kira 2/tb. Hampir sama dengan itu, bandwidth sinyal pseudorandom asalah 2/Tc dimana Tc adalah lebar bit pseudorandom input. Bandwidth sinyal yang dikombinasikan kira-kira sebesar jumlah dari 2 bandwidth tersebut. Jumlah penyebaran yang dicapai adalah hasil langsung dari rate data pseudorandom. Semakin besar data rate pseudorandom input, semakin besar jumlah penyebarannya.

Contoh Direct Sequence Spread Spectrum Menggunakan BPSK

BPSKGambar 8, Contoh DSSS menggunakan BPSK

Approximate spectrum sinyal DSSS

DSSSGambar 9, Approximate spectrum sinyal DSSS