Tampilkan postingan dengan label education. Tampilkan semua postingan
Tampilkan postingan dengan label education. Tampilkan semua postingan

Mengenal SSH

Mengenal SSH Lebih Lanjut
SSH tidak hanya sekadar dapat digunakan untuk menjalankan perintah di komputer lain dalam lingkungan kerja yang aman. SSH sendiri memiliki banyak sekali fungsi, dan dengan mengenal SSH lebih baik, kita bisa lebih memanfaatkannya untuk menjaga sistem kita dari pihak yang tidak bertanggung jawab, ataupun untuk dapat bekerja lebih mudah.Secure shell saat ini merupakan program standar untuk menjalankan perintah di komputer lain dengan aman. Hampir semua distro Linux telah memaketkan SSH ke dalam distronya. Dan, umumnya, SSH Daemon pun telah dijalankan pada saat booting. Dengan demikian, pengguna di komputer lain dapat terhubung ke suatu komputer lainnya dengan mudah, tanpa harus menjalankan service tambahan. Apabila distro Anda masih belum memaketkan SSH, download-lah di website OpenSSH di http://www.openssh.com. SSH dibangun untuk mengatasi kelemahan aplikasi semacam telnet yang mengirimkan data dalam plain-text, sehingga dapat disniff oleh pihak yang tidak bertanggungjawab. Pada kenyataannya, tidak hanya telnet yang digantikan oleh SSH. Namun, juga termasuk rlogin, rsh, rexec, dan ftp. Hari demi hari, SSH juga kian bertumbuh semakin lengkap. Saat ini, banyak sekali service di Linux yang mengirimkan data menggunakan bantuan SSH. Melihat sebentar ke belakang, SSH. com memulai pengembangan SSH original dan melisensikannya di bawah lisensi open source. SSH kemudian menuai sukses dibandingkan dengan deslogin ataupun telnet-ssl (telnet yang melewati koneksi aman) karena kecanggihan dan kemudahan penggunaannya. Sayangnya, beberapa tahun kemudian, SSH.com membangun SSH2 dan melisensikannya di bawah lisensi yang berbeda. Lisensi yang hanya mengizinkan penggunaan bebas untuk lingkungan kerja non komersial. SSH2 ini sebenarnya sangat baik karena dibangun ulang mulai
dari level protokol. Source code-nya pun ditulis ulang. Tidak puas dengan kondisi lisensi demikian, orang-orang di belakang Open- BSD kemudian mengambil kode SSH1 dan  mengimplementasikan semua fi tur SSH2 dan melisensikannya di bawah lisensi open source, dan menyebutnya sebagai OpenSSH.
OpenSSH inilah yang kita pakai di Linux. Sebenarnya, selain Linux, berbagai sistem operasi juga telah memasukkan OpenSSH ke dalam instalasi default, seperti *BSD, Solaris dan MacOS. Satu hal yang perlu dicatat di sini adalah SSH sendiri merupakan protokol yang memiliki banyak implementasi. Ada implementasi yang proprietary dan implementasi yang free. Masing-masing memiliki kelebihan dan kekurangannya sendiri.
Bagaimana SSH bekerja? Setiap koneksi akan dienkrip dengan session key yang akan berubah secara periodik. Beberapa pendekatan kriptografi dilakukan untuk memastikan bahwa kita benar-benar terhubung ke server yang diinginkan dan tidak ada orang dite ngah-tengah yang mencuri data. Setiap server memiliki pasangan key public/private dan setiap kali koneksi, client akan memeriksa apakah key dari server telah berubah atau tidak. Apabila berubah, client akan menolak untuk melakukan koneksi karena ada kemungkinan percobaan tindak kejahatan. Lebih lanjut, berikut ini, kita akan membahas beberapa isu yang cukup menarik seputar penggunaan SSH. SSH1 versi 1Saat ini, SSH2 sudah cukup banyak digunakan.OpenSSH yang terinstal di sistem umumnya mendukung kedua versi SSH
tersebut, namun beberapa implementasi secara default akan berbicara menggunakan protokol versi 2. Berikut ini, kita akan membahas sedikit seputar protokol versi 1.
Sebelum pembicaraan terjadi, SSH client dan server harus memulai koneksi yang aman. Dalam proses ini, ada proses pertukaran key, password, dan data lainnya. Berikut ini adalah proses-proses bagaimana koneksi aman dilakukan pada SSH1: Client menghubungi server. Ini adalah proses yang sangat sederhana, di mana client mengirimkan request ke port 22 (port standar SSH) milik server. Client dan server saling melihat protokol yang digunakan. Protokol direpresentasikan dalam karakter ASCII. Untuk melihat versi protokol yang digunakan, Anda juga bisa memanfaatkan telnet ke port 22. Client dan server kemudian menggunakan
protokol berbasis paket (packetbased  protocol). Data di-transport dalam protokol TCP.
 Server memberikan informasi dirinya kepada client dan menyediakan beberapa parameter session. Lebih detail, serverakan mengirim informasi berikut ini dalam kondisi tidak terenkripsi: Host key server, untuk membuktikani dentitas host server Server key server, untuk membantu membuat koneksi aman. Urutan 8 byte random, yang disebut check bytes, Client harus mengikutsertakan check bytes ini pada respon berikutnya, atau server akan menolak respon dari client. Daftar enkripsi, kompresi dan metode authentikasi yang didukung oleh server. Client mengirimkan secret key ke server.
Secret key ini juga merupakan session key pertama. Di sini, akan terdapat
enkripsi ganda untuk memastikan hanya server yang dituju yang dapat membaca apa yang dikirimkan.
Program yang datang bersama SSH Berikut ini adalah program yang datang
bersama paket openssh:  scp, untuk melakukan pengopian fi le antar host dengan aman.
 Sftp, sebagai ftp client yang aman. Slogin, program untuk melakukan remote login. Program ini ditujukan untuk menggantikan rlogin. Ssh, program secure shell, berguna untuk menjalankan perintah di host lain dengan aman. Ssh-add, program yang berguna untuk menambahkan identitas RSA dan DSA kepada agen authentikasi, ssh-agent. Ssh-agent, program yang berguna untuk
menjaga private key yang digunakan untuk authentikasi menggunakan public key.
 Ssh-copy-id, berguna untuk menginstal identity.pub ke authorized_keys komputer lain.  Ssh-keyconverter, berguna untuk mengkonversi public dan private key RSA yang digunakan pada SSH1 ke format yang digunakan oleh SSH2.  Ssh-keygen, program untuk membuat key authentikasi dan melakukan pengaturan
lebih lanjut.  Ssh-keyscan, program yang berguna untuk mendapatkan public ssh host key
host-host lain. Sshd, ssh server.  Sftp-server, subsystem ssh yang berfungsi sebagai sftp server. Program ini tidak ditujukan untuk dipanggil langsung, melainkan sebagai subsystem sshd. Dengan satu paket OpenSSH, Anda sudah dapat melakukan berbagai pekerjaan remote dengan cara yang sangat mudah dan sekaligus aman. Menjalankan perintah secara remote, meng-copy fi le antar-host dan melakukan manajemen sistem lanjutan dapat dilakukan dengan hati tenang. Berikut ini adalah contoh penggunaan scp dan sftp, sebagai cara untuk transfer file yang aman. SCP Program ini berguna untuk meng-copy fi le antar host. Kita dapat mengopi dari lokal ke remote ataupun remote ke lokal. Contoh pengopian fi le lokal ke remote:
$ scp -r a nop@192.168.0.1:/tmp/
Password:
Contoh pengopian fi le remote ke lokal:
$ scp -r nop@192.168.0.1:/tmp/a .
Password:
Sebagai catatan, opsi -r digunakan untuk pengopian secara rekursif.
SFTP
SFTP adalah program yang berfungsi sebagai ftp client yang secure. Cara penggunaannya
sama seperti halnya dengan penggunaan ftp client biasa. Sebagai contoh:
sftp nop@192.168.0.1
Connecting to 192.168.0.1…
Password:
sftp> ls -l
-rwxr–r– 1 mei users
32814 Jul 8 19:36 0300469981.
jpg
drwxr-xr-x 2 nop users
80 Jan 15 2005 Documents
drwxr-xr-x 5 nop users
120 Apr 22 22:58 GNUstep
lrwxrwxrwx 1 nop users
24 Jan 3 2005 KEANTSYSTEMS
drwxr-xr-x 5 nop users
416 May 1 01:27 OpenOffice.
org1.1
-rwxr–r– 1 nop users
600 Jan 21 09:20 PUTTY.RND
drwxr-xr-x 2 nop users
48 Jan 3 2005 bin
drwx–x–x 13 nop users
488 Jan 21 17:27 profile
drwxr-xr-x 2 nop users
80 Jan 3 2005 public_html
sftp> bye
Sebagai catatan, sftp menyediakan perintah dasar untuk bekerja dengan fi le. Perintahnya
tidak akan selengkap ftp client konvensional.
X over SSH
Istilah lain yang umum digunakan adalah SSH X forwarding. Seperti diketahui, X adalah sistem kompleks yang mengizinkan remote display dari komputer satu ke komputer lain melewati jaringan secaratransparan. Sayangnya, X sendiri cukup terbuka untuk diserang oleh kalangan penjahat cyber. Di sinilah peran SSH. Setiap data yang melewati SSH akan dienkrip sebelum dikirimkan. Bagaimana X forwarding bekerja? Sebuah ssh client meminta X forwarding pada saat terhubung ke SSH server (diasumsikan X forwarding telah diaktifkan di client). Apabila server mengizinkan X forwarding pada koneksi tersebut, maka proses login akan berjalan normal. Server akan mengatur beberapa langkah tambahan yang transparan bagi user. Sebagai tambahan dalam menangani sesi terminal, server akan mengatur dirinya sebagai X proxy server
yang berjalan pada mesin remote dan akan mengatur variabel DISPLAY di remote shell yang mengacu kepada proxy X tersebut. Secara sederhana, SSH server kemudian akan berpura-pura sebagai X server.
Pada saat Anda menjalankan X client, client tersebut akan terhubung ke X proxy. Proxy kemudian akan bertindak seolah-olah seperti X server yang sesungguhnya dan akan meminta kepada SSH client untuk bertindak sebagai client X proxy untuk kemudian akan melakukan koneksi ke X server. Client dan server SSH kemudian akan bekerjasama untuk melewatkan informasi protokol X bolak balik melalui SSH di antara
dua sesi X. Sebagai catatan, untuk mengaktifkan X forwarding pada client, editlah fi le /etc/ssh/
ssh_confi g dan berikan nilai Yes untuk opsi ForwardX11.
Bagi Anda yang lebih suka menggunakanVNC daripada X, maka seperti halnya X
forwarding, kita juga bisa menerapkan hal yang sama, koneksi melalui SSH. Beberapa pihak memiliki argumen yang mengatakan bahwa VNC forwarding masih lebih aman dibandingkan dengan X forwarding. Satucatatan, selalu gunakan VNC forwarding apabila Anda harus membuka data rahasialewat jaringan. Informasi mengenai VNC bisa didapatkan di realvnc.com.Pembahasan mengenai SSH X forwardingakan dilakukan secara terpisah. Verbose untuk informasi lebih lanjut Apabila Anda membutuhkan informasi

Cara Service Epson T20E Mati Total


Cara Service Epson T20E Mati Total :

1. Bongkar printer dan ambil boardnya.

2. Cek keluaran power suplynya, kalau normal harus keluar tegangan 43-45vdc. cara cek tegangan disini
 
3. Kalau power suplynya normal, anda lanjutkan langkah berikutnya yaitu cek diodanya, seperti yang saya tunjukkan pada gambar.

4. Jika Diodanya short / konslet, berarti inilah sumber masalahnya. Cara cek dioda, baca di sini… Dengan konsletnya dioda ini menyebabkan listrik dari power suply yg 43-45vdc ini menjadi ngeground atau konslet, sehingga kelihatan mati total. Kebanyakan orang mengira power suplynya yang rusak padahal cuma dioda yg ada di mainboard printer T20E ini.

5. Ganti dengan dioda biasa 1-2 Ampere, jika anda kesulitan mencari dioda yg sejenis.

6. Selesai, tinggal mencoba …. dan semoga bermanfaat

TEKNIK MENYOLDER

TEKNIK MENYOLDER

Dalam praktek elektronika, memasang atau melepas komponen diperlukan solder. Menyolder harus ada teknik dan cara-cara tertentu. Tidak boleh asal menyolder karena hasilnya bisa jadi tidak memuaskan atau rangkaian menjadi tidak bekerja sesuai dengan semestinya. Menyolder adalah kemampuan yang penting didalam elektronika.

Tiap titik sambungan komponen harus disolder. Penyolderan yang tidak sempurna dapat menyebabkan rangkaian tidak bekerja.

Teknik menyolder adalah sebagai berikut :

1. Pilih solder yang berdaya 60-80 Watt untuk hasil yang sempurna.

2. Buatlah tatakan untuk menyolder jika diperlukan.

3. Gunakan timah yang bagus untuk hasil yang sempurna.

4. Sebelum kawat (kaki) komponen disolder, lebih baik dibersihkan / dikerik dulu dengan cutter untuk memudahkan menempelnya timah pada kawat / kaki komponen tersebut.

5. Pastikan solder sudah panas untuk memulai penyolderan

6. Pasang kaki komponen pada PCB kemudian tempelkan mata solder pada kawat / kaki komponen sebentar (agar panas dan memudahkan timah menempel), kemudian tempelkan timah sedikit demi sedikit sesuai dengan kebutuhan. Jangan terlalu banyak karena hasilnya menjadi tidak rapi. Ujung solder dan ujung timah menempel pada pad PCB dengan arah berlawanan. Jangan memberikan timah yang terlalu banyak.

Berikut posisi yang salah yang membuat hasil solderan tidak maksimal.
 
  

Cara Upload joomla

pertama, siapkan dahulu ketiga perlengkapan berikut
1.file joomla
2.hosting
3.file zilla
setelah semua sudah disiapkan, ambil sebatang rokok, dan korek, bila perlu secangkir kopi hangat....

pertama buat akun di www.000webhost.com , saya anggap anda sudah bisa membuatnya,
setelah akun selesai, login ke akun anda tersebut dan buatlah sebuah domain










setelah itu isi nama alamat yang akan anda gunakan sebagai alamat web anda beserta password, 
*bagi yang ingin membuat domain dengan domain berbayar bisa mengisi pada kolom paling atas
setelah itu  klik setup new account.












setelah berhasil membuat account baru, klik "[ Back to Accounts List ]"
selanjutnya masuk ke cpanel




lihat pada informasi account anda untuk proses selanjutnya
maah untuk keamanan blog user saya sembunyikan, karena dunia maya ... banyak yg mengakses,,, waspada tangan jail di luar sana

















selanjutnya kita buka filezilla yang telah di install
masukkan data yang diminta








jika sukses akan tampil seperti ini


kemudian masuk ke public_html dengan cara menekan 2 kali pada pulic_html


lalu hapus file default.php
  

setelah itu cari folder tempat file joomla berada yaitu pada PC kita
setela itu kita drag saja ke public_html

kemudian tunggu hinggal proses upload selesai,,,
yahh,,,, habis dah rokok saya.....

hayo semoga sukses ya kawan"....
maaf tutorialnya cepet"an,,,,
lagi buat laporan,,,,

Penangkap Wifi Temuan Anak Semarang

Ajang Perkemahan Ilmiah Remaja Nasional (PIRN) ke-10 yang digelar di SMAN 3 Jombang memunculkan sejumlah penemuan menarik. Di antaranya, antena penangkap sinyal wifi dari corong minyak tanah. Wifi digunakan untuk jaringan internet lokal tanpa kabel.
Riswanda, pelajar asal SMA Semesta Semarang mengatakan, ia bersama sejumlah temannya tergabung dalam kelompok V dalam PIRN. Dalam kelompok itu ia melakukan penelitian bidang IPT (Ilmu Pengetahun dan Teknologi).
Untuk membuat antena tersebut, hanya dibutuhkan biaya sebesar Rp 200.000. Harga yang sangat murah jika dibanding membeli antena wifi yang mencapai jutaan rupiah.
Cara menggunakan antena alternatif itu tinggal menghubungkan kabel dari antena ke perangkat seperti laptop. “Dengan antena ini sinyal wifi makin kuat,” kata Riswanda bangga.
Kegiatan PIRN ke-10 merupakan kerjasama LIPI dengan Pemkab Jombang, diikuti 538 peserta dari 30 provinsi. Mereka pelajar SMP dan SMA, serta guru pendamping. Kegiatan dimulai 3 Juli hingga 9.

Laporan project assembly

poject assembly

Komunikasi Data Dan Pengertian Informasi

Komunikasi Data Dan Pengertian Informasi

topik Transmisi Data

Bab 2 - Transmisi Data

assembler tambahan

Assembler 1

PROGRAM SUMBER ASSEMBLY

Program Sumber Assembly

materi tambahan komdat

Komunikasi Data

contoh program lainnya


itu adalah perogram pemanggilan karakter yang diikuti oleh tanda bunyi beep pada setiap karakter yang telah tercetak. source kodenya sebagai berikut:

; nama EDDY YUDIANTO
; MODIFIKASI ...
; contoh program mencetak string dengan
; yang mengandung'$' disertai BELL

#MAKE_COM#        ; membuat berkas COM
ORG    100h

    JMP START

; Data:
msg DB '==EDDY YUDIANTO==',0
   
; simpan alamat label msg ke register DX:
START: 
    MOV  AH, 2          ; fungsi mencetak karakter'
    MOV  BX, 0        ; tanda indeks data

ulang:
    MOV  DL, msg[BX]  ; baca karakter simpan di DL
    CMP  DL, 0        ; apakah kode ASCII 0?
    JZ   selesai      ; YA, selesai!
    INT  21h          ; TIDAK, cetak karakter!
    CALL bunyi_bel    ; panggil prosedur bunyi_bel
    INC  BX           ; naikkan indeksnya
    JMP  ulang        ; ulangi lagi
   
selesai:
    RET               ; kembali ke sistem operasi

bunyi_bel PROC
    MOV  DL, 7
    MOV  AH, 2
    INT  21h
    RET
bunyi_bel ENDP   

END  

program jam analog


emu8086 merupakan program emulator untuk bahasa assembly yang mungkin sangat susah dipelajari, karena ini merupakan bahasa tingkat rendah yang dapat dimengerti oleh mesin, kali ini saya mencoba menshare contoh program dengan menggunakan emu8086, untuk source kodenya, seperti ini
data segment
col     dw    320
row     dw    240
x       dw    320,  330,  340,   350,  360
        dw    370,  378,  386,   394,  400
        dw    406,  411,  415,   417,  419   
        dw    420,  419,  417,   415,  411 
        dw    406,  400,  394,   386,  378
        dw    370,  360,  350,   340,  330
        dw    320,  309,  299,   289,  279
        dw    270,  261,  253,   245,  239
        dw    233,  228,  224,   222,  220
        dw    220,  220,  222,   224,  228
        dw    233,  239,  245,   253,  261
        dw    269,  279,  289,   299,  309

  
       
    
y       dw  140,   140,   142,   144,   148
        dw  153,   159,   165,   173,   181
        dw  189,   199,   209,   219,   229
        dw  240,   250,   260,   270,   280
        dw  290,   298,   306,   314,   320
        dw  326,   331,   335,   337,   339
        dw  340,   339,   337,   335,   331
        dw  326,   320,   314,   306,   298
        dw  290,   280,   270,   260,   250
        dw  240,   229,   219,   209,   199
        dw  190,   181,   173,   165,   159
        dw  153,   148,   144,   142,   140


  

mx  dw      320,   329,   338,   347,   356
    dw      365,   372,   380,   386,   392
    dw      397,   402,   405,   408,   409  
    dw      410,   409,   408,   405,   402
    dw      397,   392,   386,   380,   372
    dw      365,   356,   347,   338,   329
    dw      320,   310,   301,   292,   283
    dw      275,   267,   259,   253,   247
    dw      242,   237,   234,   231,   230
    dw      230,   230,   231,   234,   237
    dw      242,   247,   253,   259,   267
    dw      274,   283,   292,   301,   310


 
my  dw    150,   150,   151,   154,   157
    dw    162,   167,   173,   179,   187
    dw    194,   203,   212,   221,   230
    dw    240,   249,   258,   267,   276
    dw    285,   292,   300,   306,   312
    dw    317,   322,   325,   328,   329
    dw    330,   329,   328,   325,   322
    dw    317,   312,   306,   300,   292
    dw    285,   276,   267,   258,   249
    dw    240,   230,   221,   212,   203
    dw    195,   187,   179,   173,   167
    dw    162,   157,   154,   151,   150



hx  dw    320,    350,   371,    380,   371
    dw    350,    320,   290,    268,   260
    dw    268,    290  
hy  dw    180,    188,   209,    240,   270
    dw    291,    300,   291,    270,   240
    dw    210,    188  

r       dw     ?
lcolor  db     ?
parac  dw     4 dup(0)
data ends
;--------------------------------------------------------------------
code segment
main    proc    far 
          assume cs:code,ds:data,es:data
start:    mov ax,data
          mov ds,ax
          mov es,ax
         
mv:       mov ah,0
          mov al,12h
          int 10h

         
          mov si,offset x
          mov di,offset y
          mov bl,60
init:     mov ax,0c05h
          mov bh,0
          mov dx,[di]
          mov cx,[si]
          int 10h
          inc si
          inc si
          inc di
          inc di
          dec bl
          jne init
         
          mov si,offset x
          mov di,offset y
          mov bl,12
init1:    mov ax,0c03h
          mov bh,0
          mov dx,[di]
          mov cx,[si]
          int 10h
          add si,10
          add di,10
          dec bl
          jne init1
         
         
          mov col,320
          mov row,240

          mov ah,2ch
          int 21h  
          mov si,offset x
          mov di,offset y
          add dh,dh
          mov al,dh
          mov ah,00h
          add si,ax
          add di,ax
          mov lcolor,0fh
          call draw_line
         
          mov ah,2ch
          int 21h 
          mov si,offset mx
          mov di,offset my
          add cl,cl
          mov al,cl
          mov ah,00h
          add si,ax
          add di,ax
          mov lcolor,0ah
          call draw_line
         
          mov ah,2ch
          int 21h  
          mov si,offset hx
          mov di,offset hy
          mov al,ch
          mov ah,00h
          mov bl,12
          div bl
          add ah,ah
          mov al,ah
          mov ah,00h
          add si,ax
          add di,ax
          mov lcolor,09h
          call draw_line
         
         
          mov ah,2ch
          int 21h
          cmp cl,59
          jne con
          cmp dh,55
          jl  con
          call beep
          call delay1
          jmp last
        
con:      mov ah,2ch
          int 21h
          cmp cl,0
          jne con1
          cmp dh,0
          jne con1
          call beep
          call delay1
          jmp last
         
con1:    
          call gensound
          call delay
last:     mov ah,0bh
          int 21h
          cmp al,0
          jne exit
          jmp mv
          mov ah,4ch
          int 21h
exit:     mov ah,4ch
          int 21h
main endp
;---------------

dapat didownload disini

makalah komdat TRANSMISI DATA

ISI

MAKALAH MAKRO

BAB 7 MAKRO

PRESENTASI ASSEMBLY

BAB 7 ion

ASSEMBLY ...

All Fungsi assembly

Macro hampir sama dengan procedure, yang dapat membantu anda dalam membuat program yang besar. Dengan Macro anda tidak perlu menggunakan perintah "CALL" dan anda juga bisa menggunakan parameter dengan mudah. Suatu ciri dari pemrograman bahasa tingkat tinggi!
17.1. MEMBUAT MACRO
Macro adalah lebih mudah dibuat daripada procedure. Untuk membuat Macro bisa anda gunakan bentuk seperti pada gambar 17.1.
---------------------------------------------------------------
NamaM MACRO [P1,P2,,]
+------------+
| Program |
+------------+
ENDM
---------------------------------------------------------------
Gambar 17.1. Model Macro
"P1" dan "P2" adalah parameter yang bisa anda gunakan pada macro. Parameter ini berbentuk optional, artinya bisa digunakan ataupun tidak. Supaya lebih jelas bisa anda lihat pada program MAC1 yang menggunakan macro ini untuk mencetak karakter.
Cetak_Kar MACRO Kar
MOV CX,3
MOV AH,02
MOV DL,Kar
Ulang :
INT 21h ; Cetak Karakter
LOOP Ulang
ENDM ; End Macro
;-----------------------------------;
; Program : MAC1.ASM ;
; Fungsi : Menggunakan Macro ;
; Untuk mencetak ;
; huruf 'SSS' ;
;-----------------------------------;
.MODEL SMALL
.CODE
ORG 100h
Proses:
Cetak_Kar 'S' ; Cetak Huruf S
INT 20h
END Proses
Program 17.1. Menggunakan Macro

Dari program MAC1 bisa anda lihat betapa mudahnya untuk menggunakan macro. Pada procedure, setiap kali kita memanggilnya dengan perintah CALL maka program akan melompat pada procedure tersebut, sehingga setiap procedure hanya terdapat satu kali saja pada program. Lain halnya dengan Macro, setiap terjadi pemanggilan terhadap macro atau dapat dikatakan secara kasar, setiap kita memanggil macro dengan menuliskan nama macronya dalam program, maka seluruh isi macro akan dipindahkan pada program yang memanggilnya. Dengan demikian bila pada program anda memanggil suatu macro sebanyak 10 kali maka macro tersebut akan disisipkan 10 kali pada program. Hal inilah yang menyebabkan program yang menggunakan macro ukuran programnya menjadi lebih besar. Tetapi hal ini juga yang menyebabkan program yang menggunakan macro lebih cepat daripada procedure, karena pada procedure komputer harus melakukan lompatan tetapi pada macro tidak perlu.
17.2. LABEL PADA MACRO
Pada macro anda bisa menggunakan label seperti biasa. Tetapi anda harus ingat, karena setiap pemanggilan Macro akan menyebabkan seluruh isi macro tersebut disisipkan pada program, maka pada macro yang didalamnya menggunakan label hanya dapat dipanggil sebanyak satu kali. Bila anda menggunakanya lebih dari satu kali maka akan terjadi "**Error** Symbol already defined elsewhere: ULANG" karena dianggap kita menggunakan label yang sama.
Untuk menghindari hal itu, gunakanlah directif LOCAL. Dengan directif LOCAL assembler akan membedakan label tersebut setiap kali terjadi pemanggilan terhadapnya.
Cetak_Kar MACRO Kar
LOCAL Ulang ; Label 'Ulang' jadikan Local
MOV CX,3
MOV AH,02
MOV DL,Kar
Ulang:
INT 21h ; Cetak Karakter
LOOP Ulang
ENDM ; End Macro
;-----------------------------------;
; Program : MAC2.ASM ;
; Fungsi : Menggunakan Macro ;
; Untuk mencetak ;
; huruf 'PPPCCC' ;
;-----------------------------------;
.MODEL SMALL
.CODE
ORG 100h
Proses:
Cetak_Kar 'P' ; Cetak Huruf P
Cetak_Kar 'C' ; Cetak Huruf C
INT 20h
END Proses
88
Program 17.2. Menggunakan Perintah LOCAL
17.3. PUSTAKA MACRO
Bila kita sering menggunakan suatu fungsi seperti mencetak kalimat pada setiap program yang kita buat, tentu saja akan sangat membosankan karena setiap kali kita harus membuat fungsi yang sama. Dengan macro anda bisa menghindari hal tersebut dengan membuat suatu pustaka macro. Pustaka tersebut bisa anda simpan dengan suatu nama, misalnya 'pustaka.mcr'. File yang tersimpan adalah dalam bentuk ASCII, tanpa perlu di compile.
;/========================\;
; Program : PUSTAKA.MCR ;
;\========================/;
Cetak_Kar MACRO Kar ; Macro untuk mencetak
MOV AH,02 ; Karakter
MOV DL,Kar
INT 21h
ENDM
Cetak_Klm MACRO Klm ; Macro untuk mencetak
LEA DX,Klm ; kalimat
MOV AH,09
INT 21h
ENDM
Program 17.3. Pustaka.MCR
Setelah program 17.3. anda ketikkan, simpanlah dengan nama 'PUSTAKA.MCR'. Anda bisa menggunakan macro pada file pustaka.mcr dengan hanya manambahkan kata:
INCLUDE PUSTAKA.MCR
Sebagai contohnya bisa anda lihat pada program 17.4. yang menggunakan file pustaka.mcr ini untuk mencetak kalimat dan karakter.
;/====================================\;
; Program : TPTK.ASM ;
; Fungsi : Contoh menggunakan ;
; pustaka macro ;
;\====================================/;
INCLUDE PUSTAKA.MCR ; Gunakan file PUSTAKA.MCR
.MODEL SMALL
.CODE
ORG 100h
TData : JMP Proses
Kal0 DB 'PENGGUNAAN PUSTAKA MACRO $'
Proses:
Cetak_Klm Kal0 ; Cetak Kalimat Kal0
Cetak_Kar 'Y' ; Cetak Huruf 'Y'
INT 20h
END TData
Program 17.4. Menggunakan Pustaka.MCR
Setelah program 17.4. anda jalankan, maka pada layar akan ditampilkan:
PENGGUNAAN PUSTAKA MACRO Y
17.4. MACRO ATAU PROCEDURE ?
Banyak pro dan kontra mengenai macro dan procedure ini. Sebagian orang menganggap macro akan merugikan program, tetapi banyak juga yang menganggap macro adalah pemecahan yang tepat dalam pemrograman assembler yang terkenal sulit untuk digunakan. Kini apa yang akan anda pakai ? Macro ataukah procedure ? Untuk itu marilah kita lihat dahulu perbedaan antara procedure dan macro ini.
- Procedure tidak memperpanjang program, karena hanya muncul sekali saja pada program.
- Macro akan muncul pada program setiap terjadi pemanggilan terhadap macro, sehingga macro akan memperpanjang program.
- Untuk menggunakan procedure anda harus memanggilnya dengan perintah CALL dan dalam procedure diakhiri dengan RET.
- Macro bisa anda gunakan dengan memanggil langsung namanya dan pada macro tidak perlu diakhiri dengan RET.
- Procedure akan memperlambat program, karena setiap pemanggilan terhadap procedure, komputer harus melakukan lompatan.
- Macro tidak memperlambat program karena komputer tidak perlu melakukan lompatan.
- Pada procedure anda tidak bisa menggunakan parameter secara langsung. Bila anda ingin menggunakan parameter bisa dengan melalui stack atau register.
- Macro dengan mudah bisa menggunakan parameter, suatu ciri bahasa tingkat tinggi.
- Macro lebih mudah dibuat dan digunakan daripada procedure.
Setelah melihat perbedaan-perbedaan tersebut, kapankah kita menggunakan procedure dan kapankah menggunakan macro ?
- Jika fungsi tersebut jarang dipanggil, gunakanlah MACRO karena macro tidak
memperlambat proses.
- Jika fungsi tersebut sering dipanggil, gunakanlah PROCEDURE karena
procedure tidak memperbesar program.
- Jika fungsi tersebut kecil, gunakanlah MACRO. Karena pengaruh terhadap
besarnya program hanya sedikit dan program akan lebih cepat.
- Jika fungsi tersebut besar, gunakanlah PROCEDURE. Karena procedure tidak
memperbesar program.

ASSEMBLY HELLO WORLD (video)

yah menyambung tentang program assembly khususnya program helloworld yang pernah saya posting sebelumnya, bagi blogger yang kurang mengerti bisa melihat video ini....

ASSEMBLY HELLO WORLD

Untuk membuat program pemuncul kata atau yang sering disebut program “HELLO” ataupun “HELLO WORLD”, diperlukan software Turbo Assembler,
Disini saya membuat 2 program HELLO WORLD dengan 2 versi yang berbeda, yang pertama dengan menampilkan message kata dan yang kedua dengan memangil satu demi satu huruf atau karakter yang diwakilkan oleh bilangan heksadesimal untuk membangun kata yang akan dibuat
1. DENGAN MEMANGIL MESSAGE
Pertama kita masuk atau membuka command prompt atau cmd, yaitu terletak di start- all program-accessories-command prompt, atau dengan run dan kita ketik cmd




Setelah itu akan muncul tampilan command prompt
Selanjutnya kita menuju ke direktori Turbo Assembler itu sendiri, yaitu kita ketik di command prompt “cd C\tasm\bin” lalu entersetelah itu kita akan menuju direktori tersebut
selanjutnya kita membuat file yang akan dieksekusi. 

karena  terlalu panjangnya postingan ini, saya sediakan link buat mengunduhnya
Pertama tama kita buat di notepad, kita ketik aja “notepad 1.asm”  (*1 dapat diganti sesuai keinginana, itu hanya nama file) setelah itu tekan enter

____________


ShoutMix chat widget