Aritmatika Debug on Asssmbly

 3.4.1.  Memulai debug
  • Ketikkan perintah “debug” ( tanpa petik )
  • Nilai register diatas setelah ditekan huruf r :
  • AX = 0000 , BX = 0000 , CX = 0000 , DX = 0000
  • Alamat             = 13A7:0100
  • Perintah           = 0000
  • Assembly         = ADD [BX+SI],AL
          3.4.2.  Uji coba perintah add ( penjumlahan )
         Listing Program

  • Program tidak menampilkan apapun pada layar, karena program yang dibuat merupakan operasi aritmatika penjumlahan ( add ) yaitu 2 + 5 = 7 yang tidak bisa langsung di tampilkan ke monitor, angka 7 di sini merupakan hasil penjumlahan bukan merupakan kode ascii yang di tampilkan ke monitor ( ascii 7 adalah 37h ).
  • Ketikkan perintah “debug tambah.com” untuk menjalankan program

  • Nilai register diatas setelah menekan huruf r :
  • AX = 0000 , BX = 0000 , CX = 0008 , DX = 0000
  • Nilai AH = 00 , AL = 00 ( AX = xxyy  “AH = xx, AL = yy ” )

  • Nilai register diatas setelah menekan huruf t :
  • AX = 0200 , BX = 0000 , CX = 0008 , DX = 0000
  • Nilai AH = 02 , AL = 00


  •  Nilai register diatas setelah menekan huruf t :
  • AX = 0205 , BX = 0000 , CX = 0008 , DX = 0000
  • Nilai AH = 02 , AL = 05



  • Nilai register diatas setelah menekan huruf t :
  • AX = 0705 , BX = 0000 , CX = 0008 , DX = 0000
  • Nilai AH = 07 , AL = 05
  • Register Nilai AH = 07 adalah hasil penjumlahan AH + AL
  • Dalam listing program registrasi AH di isi dengan nilai 2 dan registrasi AL di isi dengan nilai 5, pada saat di jalankan proses debug kemudian di trace ( t ) sebanyak 3 kali hasilnya nilai masing-masing registrasi di jumlahkan dan diletakkan pada registrasi AH.
  • Program telah berjalan dengan baik


3.4.3.  Perintah sub ( pengurangan )
Listing Program


  •  Compile program

  • Sama seperti sebelumnya program tidak menampilkan apapun pada layar, karena program yang dibuat merupakan operasi aritmatika pengurangan ( sub ) yaitu 7 - 3 = 4 yang tidak bisa langsung di tampilkan ke monitor, angka 4 di sini merupakan hasil pengurangan bukan merupakan kode ascii yang di tampilkan ke monitor ( ascii 4 adalah 34h ).
  •  Ketikkan perintah “debug sub.com” untuk menjalankan program
  • Nilai register diatas setelah menekan huruf t :
  • AX = 0700 , BX = 0000 , CX = 0008 , DX = 0000
  • Nilai AH = 07 , AL = 00

  •  Nilai register diatas setelah menekan huruf t :
  • AX = 0703 , BX = 0000 , CX = 0008 , DX = 0000
  • Nilai AH = 07 , AL = 03

  • Nilai register diatas setelah menekan huruf t :
  • AX = 0403 , BX = 0000 , CX = 0008 , DX = 0000
  • Nilai AH = 04 , AL = 03
  • Program telah berjalan dengan baik menampilakan Register Nilai AH = 04 hasil dari pengurangan AH – AL

3.4.1.   Perintah mul (perkalian)

Listing Program


  •  Compile program

  • Sama seperti sebelumnya program tidak menampilkan apapun pada layar, karena program yang dibuat merupakan operasi aritmatika perkalian ( mul ) yaitu 2 x 3 = 6 yang tidak bisa langsung di tampilkan ke monitor, angka 6 di sini merupakan hasil perkalian bukan merupakan kode ascii yang di tampilkan ke monitor ( ascii 6 adalah 36h ). 


  • Nilai register diatas setelah menekan huruf t :
  • AX = 0000 , BX = 0200 , CX = 0008 , DX = 0000
  • Nilai BH = 02 , AL = 00

  • Nilai register diatas setelah menekan huruf t :
  • AX = 0003 , BX = 0200 , CX = 0008 , DX = 0000
  • Nilai BH = 02 , AL = 03

  • Nilai register diatas setelah menekan huruf t :
  • AX = 0006 , BX = 0200 , CX = 0008 , DX = 0000
  • Nilai BH = 02 , AL = 06
  • Nilai AX = 0006 ( 16 bit )  adalah hasil perkalian BH – AL
  • Variabel yang berubah adalah BH, jadi hasil perkalian antara variabel AL ( 1 byte ) dan variabel BH ( 1 byte ) tidak diletakkan pada variabel BH tetapi terletak pada variabel AX ( 2 byte  ).


            3.4.4.  Perintah div (pembagian)
Listing Program


  • Compile program

  • Sama seperti sebelumnya program tidak menampilkan apapun pada layar, karena program yang dibuat merupakan operasi aritmatika pembagian ( div ) yaitu 8 : 4 = 2 yang tidak bisa langsung di tampilkan ke monitor, angka 2 di sini merupakan hasil pembagian bukan merupakan kode ascii yang di tampilkan ke monitor ( ascii 2 adalah 32h ).


  • Nilai register diatas setelah menekan huruf t :
  • AX = 0008 , BX = 0000 , CX = 0009 , DX = 0000
  • Nilai AX = 0008 , BH = 04

  • Nilai register diatas setelah menekan huruf t :
  • AX = 0008 , BX = 0400 , CX = 0009 , DX = 0000
  • Nilai AX = 0008 , BH = 04

  • Nilai register diatas setelah menekan huruf t :
  • AX = 0002 , BX = 0400 , CX = 0009 , DX = 0000
  • Nilai AX = 0002 , BH = 04
  • Nilai AX = 0002 ( 16 bit )  adalah hasil pembagian AX – BH
  • Variabel yang berubah adalah BH, jadi hasil pembagian antara variabel AX ( 2 byte ) dan variabel BH ( 1 byte ) tidak diletakkan pada variabel BH tetapi terletak pada variabel AL untuk hasil dan AH untuk sisa pembagian.


3.4.5.  Tugas
A)       
                        Listing Program


  • Compile program



  • Menjalankan perintah “debug tugas1.com

  • Nilai register diatas setelah menekan huruf t :
  • AX = 0000 , BX = 0000 , CX = 0008 , DX = 0800

  • Nilai register diatas setelah menekan huruf t :
  • AX = 0000 ,  BX = 0000 , CX = 0008 , DX = 0804

  • Nilai register diatas setelah menekan huruf t :
  • AX = 0000 ,  BX = 0000 , CX = 0008 , DX = 080C
  • Program diatas menggunkan operasi aritmatika penjumlahan ( add ) dengan  operasi 8 bit atau 1 byte, registrasi yang di gunakan adalah DH dan DL kemudian hasilnya diletakkan di registrasi DL.
B)       
                         Listing program


  • Compile program



  • Menjalankan perintah “debug tugas2.com

  • Nilai register diatas setelah menekan huruf t :
  • AX = 0000 ,  BX = FA00 , CX = 0008 , DX = 0000

  • Nilai register diatas setelah menekan huruf t :
  • AX = 00FA ,  BX = FA00 , CX = 0008 , DX = 0000

  • Nilai register diatas setelah menekan huruf t :
  • AX = F424 ,  BX = FA00 , CX = 0008 , DX = 0000
  • Program menggunakan operasi aritmatika perkalian ( mul ) dengan operasi 8 bit atau 1 byte, registrasi yang digunakan sesuai dengan prosedur yaitu BH ( 1 byte ) dan AL ( 1 byte ) kemudian hasil dari perkalian kedua regitrasi itu diletakkan pada registrasi AX ( 2 byte/16 bit ).

3.4.6.  Latihan soal
Soal !
1)   Apakah yang dimaksud dengan perintah :
a)      Mul bh
b)      Mul bx
c)      Div bh
d)      Div bx
2)   Apakah yang dimaksud operasi 8 bit dan 16 bit ?
3)   Kapankah kita menggunakan operasi 8 bit, dan kapan pula 16 bit ?
4)   Buatlah program untuk mengalikan 65.000 x 65.000. Tunjukan hasilnya dalam aplikasi debug !

Jawab :
1)     
     a) Mul bh adalah operasi aritmatika perkalian menggunakan operasi 8 bit atau 1 byte 
   b) Mul bx adalah operasi aritmatika perkalian menggunakan operasi 16 bit atau 2 byte
   c)Div bh adalah operasi aritmatika pembagian menggunkan operasi 8 bit atau 1 byte
   d)Div bx adalah operasi aritmatika pembagian menggunakan operasi 16 bit atau 2 byte

2)    Operasi 8 bit adalah proses perhitungan dengan menggunakan nilai yang kecil atau tidak melebihi 2 karakter pada hexa, sedangkan operasi 16 bit adalah proses perhitungan dengan menggunakan nilai yang besar atau melebihi 2 karakter pada hexa.
3)  Menggunakan operasi 8 bit jika nilai pada registrasi atau suatu variabel tidak melebihi 2 karakter dalam konversi bilangan hexa, contoh 8d = 38h, 200d = C8. Sebaliknya menggunakan operasi 16 bit jika nilai pada suatu registrasi melebihi 2 karakter dalam konversi bilangan hexa, contoh 65000d = FDE8h , 999d = 03E7h.  
4)         
Listing Program


  • Compile program



  • Menjalankan perintah “debug latihan1.com

  • Nilai register diatas setelah menekan huruf t :
  • AX = 0000 ,  BX = FDE8 , CX = 000A , DX = 0000

  • Nilai register diatas setelah menekan huruf t :
  • AX = FDE8 ,  BX = FDE8 , CX = 000A , DX = 0000

  • Nilai register diatas setelah menekan huruf t :
  • AX = 6240 ,  BX = FDE8 , CX = 000A , DX = FBD4
  • Program menggunakan operasi aritmatika perkalian ( mul ) dengan operasi 16 bit atau 2 byte, registrasi yang digunakan sesuai dengan prosedur yaitu BX ( 2 byte ) dan AX ( 2 byte ) kemudian hasil dari perkalian kedua regitrasi itu diletakkan pada registrasi DX dan AX.
  • DX sebagai MSB ( Most Significant Bit ) dan AX sebagai LSB ( Least Significant Bit )
3.4.7.  Kesimpulan
1.    Dalam pengoperasian aritmatika pada bahasa assembly file yang telah di compile dan di jalankan tidak bisa langsung di tampilkan ke monitor, maka dari itu digunakanlah perintah “debug” untuk melihat hasil proses aritmatika yang berjalan pada program.
2. Operasi aritmatika dalam bahasa assembly menggunakan perintah add untuk penjumlahan, sub untuk pengurangan, mul untuk perkalian dan div untuk pembagian. Terkhusus untuk mul dan div cara penggunaan program harus mengikuti prosedur dalam pengoperasiannya.
3.  Operasi 8 bit dapat digunakan jika nilai pada suatu registrasi kecil atau tidak melebihi 2 karakter dalam konversi bilangan hexa, sedangkan 16 bit dapat digunakan jika nilai pada suatu registrasi besar atau melebihi 2 karakter pada konversi bilangan hexa.

Website Bloking with Proxy Debian Server / Cara Memblog Website

Seperti biasa langsung pada konfigurasi :) , jangan lupa masuk sebagai admin ( root )

~#apt-get insatall squid

~#service squid stop

~#nano /etc/squid/squid.conf

( ctrl + w ) -- http_port 3128

( tambahkan script berikut disamping http_port 3128 )     transparent

( tambahkan script berikut dibawah http_port 3128 )     cache_mem 16 MB
                            cache_mgr akhdiat@smkn1tanjung.sch.id

                            visible_hostname www.smkn1tanjung.sch.id

( tambahkan script berikut dibawah acl connect method ) acl lan src ( ip network private )

                            acl dontopen dstdomain "/etc/squid/dontopen.txt"
                            http_access deny dontopen
                            http_access allow lan
                            http_access allow all

~#nano /etc/squid/dontopen.txt

( masukkan nama website yang ingin anda block contoh www.facebook.com, www.sex.com, www.youtube.com )

( save )
~#iptables -t nat -A PREROUTING -s ( ip network private ) -d 0/0 -p tcp --dport 80 -j REDIRECT --to-ports 3128

~#iptables-save

~# nano /etc/rc.local

( tambahkan script berikut diatas exit 0 ) iptables -t nat -A PREROUTING -s ( ip network private ) -d 0/0 -p tcp --dport 80 -j REDIRECT --to-ports 3128

~#service squid restart

( Cara mentesnya silahkan buka browser anda dan buka website yang anda block tadi apabila muncul tampilan ERROR pada website anda maka Website blocking with proxy telah berjalan dengan baik )
Add caption


Salam TKJ :)

Autentifikasi Proxy Debian 6 Server


Langsung pada konfigurasi :

Harus pada posisi sebagai admin ( root )

~#apt-get insatall squid

~#apt-get insatall apache2-utills

~#touch /etc/squid/squid_passwd

~#chmod o+r /etc/squid/squid_passwd

~#htpasswd /etc/squid/squid_passwd akhdiat

( isi password )
~#service squid stop

~#nano /etc/squid/squid.conf

( ctrl + w ) -- auth_param basic program

( hapus pagar 5 baris kebawah setelah auth_param basic program )
( hapus script dan tambahkan script berikut disamping auth_param basic program ) /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd

( ctrl + w ) -- acl connect method
( tambahkan script berikut diatas acl connect method ) acl ncsa_users proxy_auth REQUIRED
( tambahkan script berikut dibawah acl connect method ) http_access allow localhost
                            http_access allow ncsa_users
                            http_access deny all

( ctrl + w ) -- dns_nameservers
( tambahkan script berikut dibawah default ) dns_nameservers ( ip server )
( save )

~#squid -z

~#service squid restart

( Cara mentesnya silahkan buka browser anda dan setting proxy manual dengan ip yang mengarah ke router mu, setelah itu buka website buatanmu apabila muncul autentikasi ( username dan password maka settingan mu berhasil ) :)
Salam TKJ :)

Hak Akses Folder dan File Pada Linux

  I.


code :
0 = tidak memiliki hak akses apa-apa
4 = read ( r ) dapat melihat ataupun mendownload suatu file
3 = write ( w ) dapat melihat ataupun mengupload suatu file
1 = excute ( x ) dapat mengahapus maupun mengeksekusi suatu file dengan menggunakan script-script
  = directory ( d ) merupakan suatu wadah tempat file-file tersebut berada ( folder )



urutan :

d rwx rwx rwx
- --- --- ---
   1   2   3

---  =  User/Owner ( u )
 1

---  =  Group ( g )
 2

---  =  Other ( o )
 3

Penggunaan :

- untuk 3 strip didepan itu digunakan oleh user atau owner maksudnya si user dapat mengakses sesuai hak akses yang telah diberikan kepadanya.
- untuk 3 strip ditengah itu digunakan oleh user lain yang berada dalam suatu wadah ( group ) user lain yang berada dalam group dapat mengakses sesuai hak akses yang     telah diberikan kepadanya.
- untuk 3 strip dibelakang itu digunakan oleh other atau pengguna lain maksudnya user lain dapat mengakses sesuai hak akses yang telah diberikan kepadanya.

Contoh Pemberian hak akses :

I. pemilik suatu directory ( user ) ingin directorynya agar dapat didownload oleh semua orang ( user lain ) dengan pengecualian orang lain tidak bisa mengupload file kedalam directorynya.

( Hak akes yang dapat digunakan dari permasalahan diatas adalah ) oreang lain ( other ) harus diberi hak akses read ( r ) agar dapat mendownload saja.

Script yang digunakan
~#chmod 704 /(nama directory)

                                                                                                                                       r   w  x
( penjelasan :     7 untuk angka pertama mengijikan user atau owner untuk full access atau    -   -   -   )
                                           
        0 untuk angka kedua tidak mengijinkan group untuk mengakses apa-apa   -   -   - )
                                                           
        4 untuk angka ketiga mengijinkan user lain atau other untuk dapat mengakses read ( melihat
                        r
dan download    -   -   -   )


II.


untuk menambah, mengurangi ataupun menetapkan hak akses dapat menggunakan simbol

+ = untuk menambah
- = untuk mengurangi
                                                  
- misalkan ingin menambah user dalam group agar dapat read dan write maka dapat menggunakan

script :
~#chmod g+rw /(nama directory)
                                                                d                  r  w
artinya user dalam group diberikan akses    -   -   -   -   -   -   -   -   -   -
                                                    
- misalkan ingin mengurangi user dalam group agar dapat read dan write maka dapat menggunakan
            d              r   w
script    -   -   -   -   -   -   -   -   -   -
~#chmod g-rx /(nama directory)
                                                                                         d
artinya user dalam group tidak diberikan akses sama sekali   -   -   -   -   -   -   -   -   -   -

Selamat Mencoba Salam TKJ .... :)

Instalasi PPTP VPN Server Pada Linux Debian

Salah satu jenis layanan VPN adalah menggunakan PPTP (Point-to-point tunneling protocol), PPTP banyak digunakan karena mudah digunakan, pada sistem operasi windows, linux maupun mac, PPTP client sudah menjadi program bawaan dari OS sehingga bisa digunakan tanpa menambah software pada komputer. Yang akan kita buat sekarang adalah PPTP Server, sedangkan software yang ada di komputer-komputer adalah PPTP client.

Untuk pembuatan PPTP server bisa disimak melalui berbagai cara simpel dibawah ini :

1. Masuk (login) kedalam server linux anda dengan akses root.

2. Install beberapa software yang diperlukan.
root@vpn1:~# apt-get install pptp ppp iptables
3. Konfigurasi file config pptp
root@vpn1:~# nano /etc/pptpd.conf
4. Pada bagian file bawah sendiri, ubah konfigurasi localip dan remoteip. cara mengubahnya bisa hanya menghilangkan tanda # atau bis alangsung membuat konfigurasi baru. localip adalah ip private dari PPTP server, sedangkan remoteip adalah IP private yang akan diberikan (DHCP) oleh PPTP server kepada PPTP client. Contohnya adalah sebagai berikut:
# (Recommended)
localip 192.168.10.1
remoteip 192.168.10.200-238
# or
#localip 192.168.0.234-238,192.168.0.245
#remoteip 192.168.1.234-238,192.168.1.245
5. Tambahkan DNS untuk client PPTP,
root@vpn1:~# nano /etc/ppp/pptpd-options
cari baris yang terdapat kata ms-dns dan ubah seperti dibawah ini
ms-dns 8.8.8.8
ms-dns 8.8.4.4
IP 8.8.8.8 dan 8.8.4.4 adalah IP Public DNS dari google.

6. Menambahkan User pada server PPTP
root@vpn1:~# nano /etc/ppp/chap-secrets
kemudian isikan sesuai parameter yang diminta yaitu dengan format
username(spasi)pptpd(spasi)password(spasi)ipaddress
contohnya
# client    server  secret          IP addresses
anjarwebid  pptpd   passwordsaya    192.168.10.200
7. Konfigurasi iptables untuk VPN server
Untuk kode dibawah ini digunakan untuk memberikan akses internet bagi client yang sudah terkoneksi ke VPN server. Tanpa kode dibawah ini maka client tidak akan bisa mengakses internet saat sudah konek dengan VPN server.
root@vpn1:~# nano /etc/rc.local
kemudian isikan kode dibawah ini pada baris sebelum exit 0;
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
8. Mengaktifkan IPv4 forwading
root@vpn1:~# nano /etc/sysctl.conf
setelah masuk, supaya aktif maka uncomment pada bagian
net.ipv4.ip_forward=1
kemudian reload dengan comamand dibawah ini
root@vpn1:~# sysctl -p
9. Restart server PPTP
root@vpn1:~# reboot

Setelah step-step diatas silahkan coba menggunakan VPN di windows dan konek ke server VPN anda, apabila langkah-langkahnya benar maka seharusnya bisa berjalan dengan normal, anda bisa terkoneksi dengan server vpn dan tetap bisa menikmati koneksi internet.

sumber :
http://herliandiserli.blogspot.com/2012/07/instalasi-pptp-vpn-server-pada-ubuntu.html