Jumat, 29 Mei 2015

MODE DAN FORMAT PENGALAMATAN

B.       Mode dan Fotmat Pengalamatan
Kekuatan utama dari setiap komputer terletak pada kemampuannya dalam mengakses memori. Mode pengalamatan dari CPU menyediakan kemampuan ini. Mode pengalamatan mempunyai pengertian bagaimana suatu instruksi akan mendpatkan data yang diperlukannya dalam eksekusi. Karena ada beberap a macam mode pengalamatan yang berbeda, suatu instruksi dapat mengakses operan dalam satu atau beberapa cara yang berbeda. Setiap variasi mode pengalamatan dari suatu instruksi harus memiliki kode operasi (op-code) yang unik, sehingga 62 instruksi dasar mikrokontroler M68HC05 membutuhkan setidaknya 210 kode operasi dari instruksi-instruksinya.
CPU M68HC05 menggunakan enam mode pengalamatan. Mode pengalamatan ini adalah inherent, immediate, extended, direct, indexed, dan relative. Dalam mikrokontroler M68HC05 yang terkecil, semua variabel program dan register I/O cukup dalam area $0000 sampai $00FF di memori sehingga mode pengalamatan yang digunakan adalah direct addressing mode.
Informasi yang disediakan dalam listing program menggunakan beberapa simbol untuk menentukan tipe dari numerik yang digunakan. Simbol khusus ini adalah:
1.      Tanpa simbol mengindikasikan numerik desimal. Angka ini akan diterjemahkan menjadi nilai biner sebelum disimpan dalam memori dan digunakan oleh CPU.
2.      Simbol $ mengindikasikan numerik heksadesimal, seperti $24 adalah 2416 dalam heksadesimal yang bernilai sama dengan 36 desimal.
3.      Simbol @ mengindikasikan numerik oktal, seperti @10 bernilai sama dengan 8 desimal.
4.      Simbol % mengindikasikan numerik biner, seperti 0100 bernilai sama dengan 8 desimal.
5.      Simbol ‘ (apostrof) mengindikasikan karakter ASCII tunggal.
6.      Simbol # mengindikasikan operand langsung (immediate) dan angka ditemui langsung dalam lokasi memori yang mengikuti kode operasi. Beberapa macam simbol dan ekspresi dapat mengikuti simbol # ini.
Mode pengalamatan yang dikenal oleh mikrokontroler keluarga 6805 ada beberapa macam sebagaimana tercantum di bawah ini:
B.1       Inhernt
Mode Pengalamatan INHERENT
Dalam mode pengalamatan inherent, semua informasi yang dibutuhkan untuk operasi telah diketahui otomatis oleh CPU, dan tidak dibutuhkan operan eksternal dari memori atau dari program. Operan yang digunakan hanyalah register internal dari CPU atau data dalam stack. Karena itu operasi ini hanyalah terdiri dari satu byte instruksi. Contoh:
0200 4C INCA ; increment akumulator
Pertama CPU membaca kode operasi $4C yang menginstruksikan CPU untuk menambah harga dari isi akumulator. Kemudian CPU akan menyimpan harga baru ke dalam akumulator dan mengeset bitflag jika dibutuhkan. Tabel 5.2 menampilkan semua instruksi M68HC05 yang dapat menggunakan mode pengalamatan inherent.

KARAKTERISTIK SET INSTRUKSI

A.    Karakterisktik Set Intruksi
A.1       Element-element Instruksi
Agar dapat dieksekusi, setiap instruksi harus berisi informasi yang diperlukan oleh CPU. Informasi itu dituangkan dalam elcmen-elemen instruksi:
1.      Operation Code/Kode Operasi: menspesifikasikan operasi yang akan dilakukan (misalnya, ADD).  Operasi dispesifikasikan oleh kode biner, yang dikenal sebagai kode operasi, atau opcode.
2.      Source Operand Reference/Referensi Operand Sumber: operasi dapat mencakup satu atau lebih sumber, operand merupakan input bagi operasi.
3.      Result Operand Reference/Reference Operand Hasil: operasi dapat membuat hasil operasi.
4.      Next Instruction Reference/Reference Operand Selanjutnya: elemen ini memberitahu CPU posisi instruksi berikutnya yang harus diambil setelah menyelesaikan eksekusi suatu instruksi.
Sumber dan hasil operand dapat berada di salah satu dari ketiga daerah di bawah ini:
1.      Memori utama atau memori virtual: dengan referensi alamat berikutnya, maka alamat memori utama atau virtual harus diketahui.
2.      CPU: instruksi harus diberi nomor register yang dimaksud.
3.      Perangkal I/O: instruksi harus menspesifikasikan modul I/O yang diperlukan oleh operasi.







A.2       Jenis-jenis Instruksi
1.        Data Processing/Pengolahan Data: instruksi-instruksi aritmetika dan logika.
2.        Data Movement/Perpindahan Data: instruksi I/O.
3.        Data Storage/Penyimpanan Data: instruksi-instruksi memori.
4.        Flow Control/Kontrol: instruksi pemeriksaan dan percabangan.

                                            A.2.1           Pengolahan data (data processing)
Meliputi operasi-operasi aritmatika dan logika. Operasi aritmatika memiliki kemampuan komputasi untuk pengolahan data numerik. Sedangkan instruksi logika beroperasi terhadap bit-bit word sebagai bit, bukannya sebagai bilangan, sehingga instruksi ini memiliki kemampuan untuk pengolahan data lain.
                                            A.2.2           Perpindahan data (data movement)
Berisi instruksi perpindahan data antar register maupun modul I/O. untuk dapat diolah oleh CPU maka diperlukan instruksi-instruksi yang bertugas memindahkan data operand yang diperlukan.
                                            A.2.3           Penyimpanan data (data storage)
Berisi instruksi-instruksi penyimpanan ke memori. Instruksi penyimpanan sangat penting dalam operasi komputasi, karena data tersebut akan digunakan untuk operasi berikutnya, minimal untuk ditampilkan pada layar harus diadakan penyimpanan walaupun sementara.

                                            A.2.4           Kontrol aliran program (program flow control)
Berisi instruksi pengontrolan operasi dan percabangan. Instruksi ini berfungsi untuk pengontrolan status dan mengoperasikan percabangan ke set instruksi lain.

A.3       TIPE-TIPE OPERAND
A.3.1      Addresses
Jenis Pengalamatan (Addressing Mode): Merupakan cara memberikan perintah transfer/pemindahan data dari lokasi satu ke lokasi lainnya.
Jenis Mode Pengalamatan :
1.      Mode pengalamatan segera:
Yaitu mode pengalamatan yang digunakan untuk mengisi suatu register dengan data.
ü  Register yang dapat diisi data dengan mode pengalamatan segera adalah : AX, BX, CX, DX, AL, AH, BL, BH, CL, CH, DL, DH, BP, SP, SI, DI
ü  Register segmen tidak dapat diisi dengan mode pengalamatan segera.
ü  Alamat memori juga tidak dapat diisi secara immediate.
2.      Mode pengalamatan register :
Yaitu mode pengalamatan yang digunakan untuk mentransfer data (byte/word) dari register sumber ke register tujuan.
ü  MOV CS, DS tidak diijinkan karena segment to segment
ü  MOV BL, BX Tidak dijinkan karena berbeda ukuran (mixed size)
Contoh :
Susun perintah untuk mengisi register segmen DS dengan data 1234 heksadesimal!
Jawab:
MOV AX, 1234   immediate addressing
MOV DS, AX   register addressing

3.      Mode pengalamatan langsung
Yaitu mode pengalamatan untuk mentransfer data antar memori dan register
Contoh bentuk 1 :
Susun instruksi assembly untuk memindahkan isi alamat 10120 heksadesimal ke register AL, isi alamat 10150 heksadesimal ke register BL, dan isi alamat 10160 heksadesimal ke register CL! Anggap segment base 1000 tersimpan pada register DS!
Jawab:
MOV AX, 1000   immediate addressing
MOV DS, AX    register addressing
MOV AL, [0120]   direct addressing
MOV BL, [0150]   direct addressing
MOV CL, [0160]   direct addressing
Contoh bentuk 2 :
Susun instruksi untuk mengisi alamat 10120 dengan data 5 heksadesimal! Anggap segment base yang digunakan adalah 1000 tersimpan dalam DS!
Jawab:
MOV AX,1000   immediate addressing
MOV DS, AX   register addressing
MOV AL, 5    immediate addressing
MOV [0120], AL   direct addressing


4.      Mode pengalamatan tak langsung
Merupakan mode pengalamatan untuk mentransfer DATA/byte/word antar register dan lokasi yang alamatnya ditunjukkan oleh isi suatu register.

5.      Base plus index addressing
Yaitu mode pengalamatan yang digunakan untuk mentransfer byte/word antar register dan memori yang alamatnya ditunjukkan oleh jumlah register base dan index.
Bentuk 1 :   MOV [BX + SI], AX
Bentuk 2 :   MOV AX, [BX+SI]
6.      Register relative addressing
Yaitu mode pengalamatan untuk tranfer byte/word antar register dan memori yang alamatnya ditunjukkan oleh isi suatu register dan jaraknya (displacement).
Bentuk :  MOV [BX + 4], AX
7.      Base relative plus index addressing
Merupakan mode pengalamatan yang digunakan untuk mentransfer byte/word antar register dan memori yang alamatnya ditunjukkan oleh suatu register base dan register index ditambah displacementnya
Bentuk :  MOV AX, [BX + DI + 4]
A.3.2      Numbers
1.        Integer or fixed point : sebuah integer yang skala dengan faktor tertentu. Penting untuk dicatat bahwa faktor skala ditentukan oleh jenis, itu adalah sama untuk semua nilai dari jenis fixed-titik tertentu.
2.        Floating point                  : sebuah bilangan yang digunakan untuk menggambarkan sebuah nilai yang sangat besar atau sangat kecil
3.        Decimal (BCD)                : sistem pengkodean bilangan desimal yang metodenya mirip dengan bilangan biner biasa; hanya saja dalam proses konversi, setiap simbol dari bilangan desimal dikonversi satu per satu, bukan secara keseluruhan seperti konversi bilangan desimal ke biner biasa.)
A.3.3      Characters
1.         ASCII (American Standard Code for Information Interchange) : suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal, contohnya 124 adalah untuk karakter "|". Ia selalu digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks.
2.         EBCDIC (Extended Binary Coded Decimal Interchange Code)  : kode 8 bit untuk huruf yang dipakai pada sistem operasi komputer merk IBM, seperti z/OS, OS/390, VM, VSE, OS/400, serta i5/OS

A.3.4      Logical Data
Bila data berbentuk binary: 0 dan 1

ASTERISK

Prosedur Instalasi Server Asterisk berbasis SIP :

Pengertian SIP                        : Pengertian SIP (Session Initiation Protokol) adalah suatu signalling protocol pada layer aplikasi yang berfungsi untuk membangun, memodifikasi, dan mengakhiri suatu sesi multimedia yang melibatkan satu atau beberapa pengguna

  Instalasi server asterisk berbasis SIP     :
1.       Instalasi Server Softswitch Berbasis SIP (Session Initiation Protocol)
 Peralatan yang dibutuhkan adalah:
§    Sebuah PC Linux
§    Sambungan LAN
§    Sambungan Internet
2.      Instalasi Asterisk
Teknik Instalasi yang perlu dikerjakan adalah:
Ambil software asterisk & asterisk sound dari http://www.asterisk.org. Pada saat tulisan ini ditulis ada dua (2) jenis / versi asterisk, yaitu,
asterisk-1.4.0.tar.gz
asterisk-1.2.15.tar
.gz
Anda harus memilih versi asterisk mana yang ingin di install. Mungkin yang agak aman pada hari ini adalah versi 1.2, kecuali nanti pada saat 1.4 sudah mulaistabil. Semetara suara operator wanita yang dibutuhkan adalah

asterisk-sounds-1.2.1.tar.gz
3.      Biasanya akan mengcopykan semua file yang di butuhkan tersebut ke folder /usr/local/src, melalui perintah

# cp asterisk-1.4.0.tar.gz /usr/local/src/
# cp asterisk-1.2.15.tar.gz /usr/local/src/
# cp asterisk-sounds-1.2.1.tar.gz /usr/local/src/
4.     Menginstalasi asterisk tidak sukar, cara yang perlu dilakukan untuk asterisk-1.4 agak berbeda dengan asterisk-1.2 sebelumnya dengan menambahkan ./configure, yaitu :

# cd /usr/local/src
# tar zxvf asterisk-1.4.0.tar.gz
# cd asterisk-1.4.0
# ./configure
# make
# make install
# make samples


5.      Asterisk-1.2.15 merupakan versi terakhir dari asterisk-1.2 pada saat naskah ini ditulis, perintah yang perlu dijalankan untuk menginstalasi adalah
# cd /usr/local/src
# tar zxvf asterisk-1.2.15.tar.gz
# cd asterisk-1.2.15
# make
# make install
# make samples
6.     Selanjutnya install suara operator asterisk, melalui perintah
# cd /usr/local/src
# tar zxvf asterisk-sounds-1.2.1.tar.gz
# cd asterisk-sounds-1.2.1
# make install
Selesai sudah proses instalasi asterisk. Langsung selanjutnya yang perlu dilakukan adalah mengkonfigurasi agar sesuai dengan apa yang kita inginkan.

Konfigurasi Asterisk Minimal Sekali
Konfigurasi Asterisk yang aman sangat minimal dengan misi untuk meng-authentikasi user, mengkonfigurasi dial-plan dan mengenalkan ENUM tidak banyak yang harus dilakukan. Seluruh proses konfigurasi merupakan proses editing file-file yang ada di folder

/etc/asterisk
File yang perlu diperhatikan tidak banyak, hanya:

sip.conf                => untuk authentikasi user dengan nomor telepon dan password.
extensions.conf    => untuk mengatur dialplan.
enum.conf            => untuk memperkenalkan nomor +62XX.
Masih banyak file-file konfigurasi lainnya, sangat di sarankan bagi anda yang ingin secara serius mempelajari asterisk untuk membaca-baca file-file konfigurasi yang ada di /etc/asterisk/

Konfigurasi ENUM.CONF
Tidak banyak yang harus di ubah di /etc/asterisk/enum.conf, hanya pastikan bahwa ada entry:

search => e164.arpa
search => e164.
org
search => e164.id
Dengan cara itu, kita dapat pastikan bahwa informasi ENUM yang ada di e164.arpa, e164.org dan e164.id akan dapat di ketahui dengan baik oleh asterisk kita.




Konfigurasi SIP.CONF
Pada file /etc/asterisk/sip.conf, untuk sebuah account dengan nomor telepon 2099, password 123456, IP address dinamis menggunakan DHCP maka entry yang digunakan adalah:

[2099]
context=default
type=friend
username=2099
secret=123456
host=dynamic
dtmfmode=rfc2833
mailbox=2099@default
Untuk asterisk-1.4, agar dial tone dapat di handel dengan baik maka perlu ditambahkan di tambahan entry berikut

rfc2833compensate=yes
Masukan entry di atas untuk masing-masing user.

Sampai titik ini maka masing-masing user dapat meregistrasikan diri ke asterisk dan dapat menelepon satu sama lain dengan mereka yang terdaftar di asterisk server yang kita operasikan.

Agar asterisk server kita dapat berbicara dengan user lain di XL. Indosat, VoIP Rakyat, di Pulver atau di SIP Proxy yang banyak bertebaran di Internet, kita perlu meregistrasikan diri ke SIP Proxy server tersebut. Perintah yang digunakan adalah

register => 2345:password@sip_proxy/1234
yang artinya, user 1234 di asterisk server yang kita operasikan merupakan user 2345 di sip_proxy yang login ke sana menggunakan password "password". Misalnya seseorang user 2000 mempunyai account 20345 di server voiprakyat.or,id dengan password "rahasia" maka format yang digunakan adalah

register => 20345:rahasia@voiprakyat.or,id/2000
Dengan cara ini, maka ada panggilan di VoIP Rakyat ke nomor 20345 akan langsung di forward ke nomor 2000 di SIP server yang kita gunakan.

Konfigurasi EXTENSIONS.CONF
Pada file /etc/asterisk/extensions.conf kita dapat mengatur apa yang harus dilakukan oleh asterisk jika menerima sebuah panggilan ke nomor extension tertentu, yang sering digunakan adalah

exten => _20XX,1,Dial(SIP/${EXTEN},20,rt)
exten => _20XX,2,HangUp
Cara membaca perintah di atas adalah sebagai berikut:

Jika ada orang yang menelepon ke extension 20XX maka langkah 1 yang harus di kerjakan adalah DIAL EXTENsiontersebut mengunakan teknologi SIP, tunggu 20 detik, jika tidak di angkat maka time out (rt). Langkah ke 2 yang harus dilakukan adalah HangUp. Tentunya anda perlu mengatur sedikit-sedikit perintah ini agar sesuai dengan kondisi yang anda gunakan di SIP Server anda.

Pengujian DNS, Install setting DHCP dan sekaligus pengujian DHCP


Video ini akan menjelaskan tentang pengujian DNS, Install setting DHCP dan sekaligus pengujian DHCP

Prinsip Kerja Dari Sebuah Sound System

Prinsip Kerja Dari Sebuah Sound System
Prinsip kerja dari sebuah Sound system adalah memperkuat suara dengan mengubah energi getar yang diterima dari unit input menjadi energi listrik. Energi getar diubah menjadi energi listrik oleh microphone. Energi listrik yang masuk dikombinasikan dengan sumber suara lainya oleh mixer sebelum dikuatkan. Kemudian penguatan energi listrik ditingkatkan melalui amplifier, yang selanjutnya energi listrik dikonversi kembali menjadi energi getar oleh unit output/speaker.

Contoh sound system yang praktis, digunakan pada saat diskusi diruang kuliah. Sistem pada Gambar dirancang untuk memperkuat suara dari tiga microphone. Secara konseptual sistem dapat dianalisis  memiliki empat bagian penting yaitu input divice, pemproses, penguat, dan output. konsep sistem dapat disederhanakan lagi menjadi input transduser, pemrosesan sinyal, dan output transduser:
  • Input.transduser
    Terdiri dari tiga mikrofon yang mengubah suara panelis menjadi sinyal audio yang dihubungkan ke bagian peralatan pemproses sinyal melalui kabel.
  • Signal.Processing
    Setelah ketiga mikrofon terhubung ke masing-masing input pada  mixer console,  maka mixer  console menerima signal listrik tersebut melalui masing-masing kanalnya (satu mikropon satu kanal), kemudian mencampur dan menyeimbangkan satu tingkat sinyal outputnya dan selanjutnya mengirimkan signal listrik tersebut melalui kabel ke power amplifier. Power amplifier akan memperkuat signal listrik yang diterima dan mengalirkan melalui kabel menuju ke loudspeaker.
  • Output.transduser
    Terdiri dari loudspeaker yang mengubah signal listrik yang telah dikuatkan oleh amplifier sebelumnya kembali menjadi suara yang lebih keras.


Berikut blok diagram contoh model praktis dari sebuah sound system  sederhana.

CODE FUNGSI

FUNGSI
Fungsi / Function adalah satu blok kode yang melakukan tugas tertentu atau satu blok instruksi yang di eksekusi ketika dipanggil dari bagian lain dalam suatu program.
Tujuan pembuatan fungsi adalah :
- Memudahkan dalam pembuatan program.
- Menghemat ukuran program.
Keuntungan memakai fungsi :
- Menguraikan tugas pemrograman rumit menjadi langkah-langkah yang lebih sederhana atau kecil.
- Mengurangi duplikasi kode (kode yang sama ditulis berulang-ulang) dalam program.


- Dapat menggunakan kode yang ditulis dalam berbagai program yang berbeda.
- Memecah program besar menjadi kecil sehingga dapat dikerjakan oleh programmer-programmer atau dipecah menjadi beberapa tahap sehingga mempermudah pengerjaan dalam sebuah projek
- Menyembunyikan informasi dari user sehingga mencegah adanya perbuatan iseng seperti memodifikasi atau mengubah program yang kita buat
- Meningkatkan kemampuan pelacakan kesalahan, jika terjadi suatu kesalahan kita tinggal mencari fungsi yang bersangkutan saja dan tak perlu mencari kesalahan tersebut di seluruh program.
Bentuk umum Sebuah fungsi adalah sebagai berikut :
Tipedata namafungsi(daftarparameter)
{
/*Badan Fungsi*/
return nilaireturn; /* untuk tipe data bukan void */
}

Jenis-jenis fungsi pada C++
1. Void ( Fungi tanpa nilai balik )
Fungsi yang void sering disebut juga prosedur. Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut.
Ciri-ciri dari jenis fungsi Void adalah sebagai berikut:
- Tidak adanya keyword return.
- Tidak adanya tipe data di dalam deklarasi fungsi.
- Menggunakan keyword void.
- Tidak dapat langsung ditampilkan hasilnya.
- Tidak memiliki nilai kembalian fungsi
Keyword void juga digunakan jika suatu function tidak mengandung suatu parameter apapun.
Void : void tampilkan_jml (int a, int b)
{
int jml;
jml = a + b;
cout<
}