Interface Alat Transportasi
Dalam gambar di atas beberapa hal yang dapat disampaikan adalah:
Merupakan interface pengenalan bagi anak-anak khususnya yang masih berada di usia PAUD, TK atau bahkan SD. Read the rest of this entry
KEUNGGULAN JENIS-JENIS INTERFACE GUI,CLI,VUI
Keunggulan GUI
Saat ini interface yang banyak digunakan dalam software adalah GUI (Graphical User Interface). GUI memberikan keuntungan seperti:
- Mudah dipelajari oleh pengguna yang pengalaman dalam menggunakan komputer cukup minim.
- Berpindah dari satu layar ke layar yang lain tanpa kehilangan informasi.
- Akses penuh pada layar dengan segera untuk beberapa macam tugas/keperluan.
Keunggulan CLI
- Akses cepat.
- Berpindah dari satu layar ke layar yang lain tanpa kehilangan informasi.
Keunggulan VUI
- Cepat. Teknologi ini mempercepat transmisi informasi dan umpan balik dari transmisi tersebut. Contohnya pada komando suara. Hanya dalam selang waktu sekitar satu atau dua detik setelah kita mengkomandokan perintah melalui suara, komputer sudah memberi umpan balik atas komando kita.
- Mudah digunakan. Kemudahan teknologi ini juga dapat dilihat dalam aplikasi komando suara. Komando yang biasanya kita masukkan ke dalam komputer dengan menggunakan tetikus atau papan ketik kini dapat dengan mudahnya kita lakukan tanpa perangkat keras, yakni dengan komando suara.
Demikian semoga bermanfaat
PRINSIP UTAMA MENDESAIN INTERFACE
Interface merupakan bagian sistem yang dikendalikan oleh user untuk mencapai dan melaksanakan fungsi-fungsi suatu sistem. Berikut ini beberapa prinsip utama dalam mendesain antarmuka atau interface :
a. User Compatibility
Interface harus disesuaikan dengan user, dan tidak dianjurkan merancang interface untuk dirinya sendiri. Hal ini didasarkan karena sistem diciptakan untuk kebutuhan user.
b. Product Compability
Sebuah interface sistem, harus sesuai dengan bentuk manual atau tradisionalnya. Sehingga diharapkan menghasilkan laporan serta informasi yang detail dan akurat dibandingkan dengan sistem manual.
c. Task Compability
Interface harus membantu dan memudahkan user dalam menyelesaikan tugasnya.
d. Work Flow Compability
Sistem manual harus disediakan oleh pengembang perangkat lunak, dan menyediakan runutan-runutan pekerjaan yang ada pada sebuah sistem.
e. Consistency
Sebuah sistem harus sesuai dengan sistem nyata serta sesuai dengan produk yang dihasilkan.
f. Familiarity
Interface sebisa mungkin didesain dengan interface pada umumnya, dari segi tata letak, model, dan sebagainya.
g. Simplicity
Kesederhanaan perlu diperhatikan pada saat membangun interface.
h. Direct Manipulation
Sistem harus mempunyai media atau tools yang dapat digunakan untuk melakukan perubahan pada interface sesuai dengan keinginan user. Dalam hal ini dicustomize oleh user.
i. Control
Sistem harus memiliki penanganan terhadap kesalahan yang dilakukan oleh user.
j. WYSIWYG
“what you see is what you get”, informasi yang ditampilkan harus sesuai dengan usaha yang dilakukan oleh user.
k. Flexibility
Sistem harus menyediakan berbagai solusi penyelesaian suatu masalah.
l. Responsiveness
Sistem harus memiliki respon yang baik, maksudnya adalah kecepatan akses suatu sistem akan sangat mempengaruhi mood user.
m. Invisible Technology
Suatu sistem harus memiliki suatu kelebihan yang tidak melulu diminta oleh user, maksudnya diciptakan suatu terobosan baru pada suatu sistem.
n. Robustness
Interface yang baik dapat berupa frase-frase menu atau error handling yang sopan.
o. Protection
Proteksi disini lebih menjaga kenyamanan user. Nyaman dimaksudkan user tidak menemui susasana kacau ketika user salah memasukkan data atau salah eksekusi.
p. Easy of Learning and Easy of Use
Kemudahan dalam mengoperasikan perangkat lunak hanya dengan memandangi atau belajar beberapa jam saja.
Semoga bermanfaat.
Jenis Extensi Program Hasil Assembly
Program COM
- Lebih pendek dari file EXE
- Lebih cepat dibanding file EXE
- Hanya dapat menggunakan 1 segmen
- Ukuran file maksimum 64 KB (ukuran satu segment)
- Sulit untuk mengakses data atau procedure yang terletak pada segment yang lain.
- 100h (256) byte pertama merupakan PSP(Program Segment Prefix) dari program tersebut.
- Bisa dibuat dengan DEBUG
Program EXE
- Lebih panjang dari file COM
- Lebih lambat dibanding file COM
- Bisa menggunakan lebih dari 1 segmen
- Ukuran file tak terbatas sesuai dengan ukuran memory.
- Mudah mengakses data atau procedure pada segment yang lain.
- Tidak bisa dibuat dengan DEBUG
Bentuk Umum Assembly
. MODEL SMALL
.CODE
.STACK 200h / ORG 100h
label1:
JMP label2
data Label2:
program
end label1
Contoh Program Assembly
.MODEL SMALL
.CODE
ORG 100h
mulai:
mov ah,02h
mov dl,’A’
int 21h
int 20h
end mulai
Interrupt 21h – Service 02h Fungsi :
Mencetak satu buah karakter pada layar.
Register Input : AH = 02h DL = karakter / kode ascii
Register Output : Tidak ada
Materi PBR
1. Lompatan Tak Bersyarat
Secara fisik anda hanya dapat melihat bahwa lompatan tak bersyarat terdiri dari satu macam, tapi bila
dianalisis jumlah byte yang dipakai untuk lompatan tak bersyarat dapat dikelompokan menjadi 2 macam yaitu :
- Lompatan Dekat (Near Jump)
- Lompatan Jauh (Far Jump)
Adapun secara fisik perintah lompat dapat ditulis sebagai berikut :
JMP [lokasi memory]
Contoh :
JMP 200
Perintah ini adalah untuk melakukan lompatan kearah lokasi memory segment:0200
2. Perbandingan Lompatan Bersyarat
Untuk lompatan bersyarat, terdapat beberapa jenis lompatan yang kegunaanya dapat disesuaikan dengan
keperluan yang dibutuhkan. Untuk perbandingan Operand dengan menggunakan perintah perbandingan
(Compare). Adapun tata penulisan perintah perbandingan adalah :
CMP [operand1],[operand2]
Contohnya :
CMP AX,0102
Perintah ini digunakan untuk membandingkan AX dengan 0102
3. Lompatan Bersyarat
- JE (Jump If Equal)
Perintah ini berlaku bila pada saat pembandingan kedua opearnd sama. Contohnya :
CMP AX,0102
JE 0102
- JNE (Jump If Not Equal)
Perintah ini berlaku bila pada saat perbandingan kedua operand tidak sama. Contohnya :
CMP AX,0102
JNE 0102
- JG (Jump If Greater Than)
Perintah ini berlaku bila pada saat perbandingan operand pertama menunjukan lebih besar dari operand
pertama. Kebalikannya adalah JNG (Jump If Not Greater)
- JGE (Jump If Greater Or Equal)
Perintah ini berlaku bila pada saat perbandingan operand pertama menunjukan lebih besar atau sama dengan
dari operand pertama. Kebalikannya adalah JNGE (Jump If Not Greater)
Perbedaan nilai servis 01h, 07h dan 08h
Pada coding program Assembly ada beberapa nilai servis yang digunakan diantaranya 01h, 02h, 07h,08h,09h dan lain-lain.
Dalam kesempatan ini penyusun ingin membahas tentang perbedaan antara nilai servis 01h, 07h dan 08h.
Perbedaan yang dapat disimpulkan dari ketiganya adalah sebagai berikut:
1. Nilai servis 01h
inputan keyboard ditampilkan (echo)
mengenal Ctrl + C (kontrol break)
2. Nilai servis 07h
inputan keyboard tidak ditampilkan (without echo/no echo)
tidak mengenal Ctrl + C
3. Nilai servis 08h
inputan keyboard tidak ditampilkan (without echo/no echo)
mengenal Ctrl + C
Demikian harap maklum dan semoga bermanfaat …
Set Intruksi
Register = Memory [MemoryAddress]
Memory [MemoryAddress] = Register
Register = Register + Memory [MemoryAddress]
Register = Register – Memory [MemoryAddress]
Membuat Password Sederhana pada Assembly
Password berupa kata YOUR. Apabila dinputkan maka tiap karakter berubah menjadi tanda star (*).
Apabila password benar, maka muncul tulisan Welcome Guys!
coding programnya
.model small
.code
org 100h
mulai:
jmp proses
kal db 13,10,’Masukkan Password : $’
kal2 db 10,’Welcome Guys!$’
proses : mov ah, 09h
lea dx, kal
int 21h
mov ah, 07h
int 21h
cmp al, ‘Y’
je kode1
jne proses
int 20h
kode1:
mov ah, 02h
mov dl, ‘*’
int 21h
mov ah, 07h
int 21h
cmp al, ‘O’
je kode2
jne proses
kode2:
mov ah, 02h
mov dl, ‘*’
int 21h
mov ah, 07h
int 21h
cmp al, ‘U’
je kode3
jne proses
kode3:
mov ah, 02h
mov dl, ‘*’
int 21h
mov ah, 07h
int 21h
cmp al, ‘R’
je kode4
jne proses
kode4:
mov ah, 02h
mov dl, ‘*’
int 21h
mov ah, 09h
lea dx, kal2
int 21h
int 20h
end mulai
Membuat Tulisan Terbalik
Misalkan kita ingin mendapatkan output : Tulisan Pemrograman Bahasa Rakitan Terbalik yang terbalik
maka coding programnya adalah sebagai berikut:
.model small
.code
org 100h
data:
jmp proses
kal db ‘Tulisan Pemrograman Bahasa Rakitan Terbalik$’
proses:
xor bx, bx
cek:
mov al,kal[bx]
inc bx
cmp al, ‘$’
jne cek
dec bx
mov cx, bx
ulang:
dec bx
mov dl, kal[bx]
mov ah, 2
int 21h
loop ulang
int 20h
end data
Kalimat merupakan bx.
XOR ( Exclusive OR )
Format XOR Operand1, Operand2
Fungsi Melakukan operasi logika Exlusive OR antara Operand1 dengan Operand2. Perintah XOR ini juga sering dipakai untuk me-nol-kan suatu register dengan cara XOR Operand1, Operand1
Kalimat Matematika -
Contoh XOR BX, BX ;Berfungsi untuk me-nol-kan nilai BX ( BX = 0 )
cek:
mov al,kal[bx]
inc bx
cmp al, ‘$’
jne cek
dec bx
mov cx, bx
digunakan untuk melakukan pengecekan terhadap kata yang terdapat dalam bx jika tidak sama dengan $, maka akan diulang.
ulang:
dec bx
mov dl, kal[bx]
mov ah, 2
int 21h
loop ulang
digunakan untuk mencetak nilai bx yang terbalik.
Selamat mencoba …
Instruksi Mnemonic
Beberapa Intruksi Mnemonic Assembly
Mnemonic : ADD
Tersedia pada : 8088 keatas
Syntax : ADD Tujuan,Sumber
Pengaruh flag : OF, SF, ZF, AF, PF, CF
Fungsi : Menambahkan “Sumber” dan “Tujuan” kemudian hasilnya disimpan pada “Tujuan”. Bila hasil penjumlahan tidak tertampung seluruhnya pada “Tujuan”, maka CF akan diset 1.
Contoh:
ADD AX,BX ; Jumlahkan 2 register
ADD AL,[350] ; Jumlahkan register dengan isi memori
ADD [350],AL ; Jumlahkan isi memory dengan register
ADD AH,10h ; Jumlahkan register dengan immediate
ADD [350],10h ; Jumlahkan isi memori dengan immediate
Mnemonic : AND
Tersedia pada : 8088 keatas
Syntax : AND Tujuan,Sumber
Pengaruh flag : OF, SF, ZF, PF, CF
Fungsi : Melakukan logika AND antara “Tujuan” dan “Sumber”. Hasil dari operasi AND diletakkan pada “Tujuan”. Instruksi AND umumnya digunakan untuk melihat kondisi suatu bit dengan menolkan bit-bit lainnya.
Contoh:
AND AL,00001000b ; AL=0000?000
JZ Nol ; Jika bit ketiga AL=0, maka lompat
Mnemonic : CALL
Tersedia pada : 8088 keatas
Syntax : CALL nama-procedure
Pengaruh flag : Tidak ada
Fungsi : Melompat dan mengerjakan intruksi pada procedure
Pada saat instruksi Call diberikan, maka processor akan melakukan :
- PUSH CS ke stack bila procedure yang dipanggil bertipe Far.
- PUSH IP ke stack.
- Mengganti nilai CS dengan segmen dari procedure bila procedure
tersebut bertipe Far.
- Mengganti nilai IP dengan offset dari procedure. Lakukan intruksi yang terdapat pada alamat baru(CS:IP) sampai bertemu dengan intruksi RET, setelah itu:
- POP IP
- POP CS bila procedure bertipe Far.
- Kembali ke program induk/pemanggil.
Mnemonic : DEC (Decrement)
Tersedia pada : 8088 keatas
Syntax : DEC Tujuan
Pengaruh flag : OF, SF, ZF, AF, PF
Fungsi : Untuk mengurangi “Tujuan” dengan 1. “Tujuan” dapat berupa
register 8 bit, 16 bit, 32 bit maupun memory. Bila anda ingin mengurangi suatu
register ataupun memory dengan 1, gunakanlah perintah DEC ini karena selain
lebih cepat, perintah DEC juga menggunakan memory lebih sedikit dibandingkan
dengan perintah SUB.
Contoh:
Kita dapat mengimplementasikan perintah Loop dengan menggunakan DEC. Di bawah ini kita akan menjumlahkan bilangan BX sampai 1. Misalnya bila BX = 5 maka dijumlahkan 5+4+3+2+1 = ….
Mnemonic : DIV (Divide)
Tersedia pada : 8088 keatas
Syntax : DIV Sumber
Pengaruh flag : OF, SF, ZF, AF, PF, CF
Fungsi : Bila “sumber” bertipe 8 bit maka dilakukan pembagian AX
dengan “Sumber” (AX / Sumber). Hasil pembagian akan disimpan pada register AL sedangkan sisa pembagian akan disimpan pada regiser AH.
Jika “sumber” bertipe 16 bit maka dilakukan pembagian DX:AX dengan “Sumber” (DX:AX / Sumber). Hasil pembagian akan disimpan pada register AX sedangkan sisa pembagian akan disimpan pada regiser DX.
Contoh:
Untuk memeriksa apakah suatu bilangan merupakan kelipatan 3 atau bukan, anda bisa membaginya dengan tiga. Bila merupakan kelipatan 3, maka sisa pembagian akan 0, sebaliknya jika bukan kelipatan tiga, sisa pembagian tidak akan 0. Macro ini akan menjadikan AL=1 bila bilangan yang ditest merupakan kelipatan tiga dan sebaliknya akan bernilai 0.
Lipat3 MACRO Bil
MOV AX,Bil
MOV BX,3
DIV BX
CMP AX,0 ; Apakah ada sisa pembagian ?
JE Tiga ; Tidak ada sisa , kelipatan 3
MOV AL,0
Tiga :
MOV AL,1
ENDM
Mnemonic : INC (Increment)
Tersedia pada : 8088 keatas
Syntax : INC Tujuan
Pengaruh flag : OF, SF, ZF, AF, PF
Fungsi : Untuk menambah “Tujuan” dengan 1. Bila anda ingin menambah suatu register ataupun memory dengan 1, gunakanlah perintah INC ini karena selain lebih cepat, perintah INC juga menggunakan memory lebih sedikit dibandingkan dengan perintah ADD.
Contoh:
Untuk membuat suatu pengulangan, seperti pada perintah ‘FOR I:=1 TO 10
DO’ pada bahasa tingkat tinggi:
XOR AX,AX
Ulang:
CMP AX,10
JE Selesai
INC AX
JMP Ulang
Mnemonic : MOV (Move)
Tersedia pada : 8088 keatas
Syntax : MOV Tujuan,Sumb
Pengaruh flag : Tidak Ada
Fungsi : Untuk mengcopykan isi “Sumber” ke “Tujuan”. Antara “Sumber”
dan “Tujuan” harus mempunyai tipe data yang sama, seperti AL dan BL, AX dan BX. Pada perintah MOV ini harus anda perhatikan bahwa:
- Segment register tidak bisa langsung diisi nilainya, seperti:
MOV ES,0B800h
Mnemonic : MUL (Multiply)
Tersedia pada : 8088 keatas
Syntax : MUL Sumber
Pengaruh flag : OF, CF
Fungsi : Bila “Sumber” bertipe 8 bit maka akan dilakukan perkalian
antara “Sumber” dengan AL. Hasilnya disimpan pada register AX. Bila “Sumber” bertipe 16 bit maka akan dilakukan perkalian antara “Sumber” dengan AX. Hasilnya disimpan pada pasangan register DX:AX.
Contoh:
MUL BH ; AX = BH * AL
MUL BX ; DX:AX = BX * AX
Belajar ASSEMBLY
Mari kita belajar apa itu bahasa ASSEMBLY . Bahasa assembly merupakan low level language dalam dunia progamming komputer
Apa itu Register ? Register adalah sebagian tempat di memory mikroprosesor yang dapat diakses dengan cepat. Di dalam register ini disimpan nilai – nilai yang sangat penting .
EAX, EBX, ECX dan EDX disebut “General Purpose Register”. Register ini merupakan Register 32-bit, jika mengcrack program 16-bit maka yang terlibat adalah AX, BX, CX dan DX. Register dapat dipecah2 …
Contoh
misalnya isi EAX adalah 00001234, maka
~
EAX = 00 00 12 34 ==> 32 bit
~
AX = 12 34 ==> 16 bit
~
AH = 12 ==> 8 bit
~
AL = 34 ==> 8 bit
Terlihat bahwa AX terdiri dari AH dan AL, H menunjukan High dan L menunjukan Low
ESI dan EDI adalah “Index Register”. Register ini digunakan sebagai penunjuk terhadap suatu lokasi di memory dan biasanya digunakan untuk operasi – operasi String.
EBP dan ESP adalah “Pointer Register”. Kedua Register ini berpasangan dengan Register SS. Apabila ESP ( Stack Pointer ) berpasangan dengan Register SS ( ESP : SS ) maka digunakan untuk menunjuk alamat pada Stack sementara EBP ( Base Pointer ) akan berpasangan dengan Register SS ( EBP : SS ) untuk menunjuk pada alamat memory tempat data.
EIP adalah “Index Pointer Register” yang berpasangan dengan CS ( CS : EIP ) untuk menunjuk pada alamat memory tempat perintah selanjutnya yang akan di eksekusi.
Perintah dasar dalam assembly adalah :
1. ADD ( ADD Binary Number )
Format ADD Operand1, Operand2
Fungsi Menambahkan Operand1 dengan Operand2, hasilnya akan disimpan di dalam Operand1
Kalimat Matematika Operand1 = Operand1 + Operand2
Contoh MOV EAX, 00000001h ; Lihat perintah MOV
ADD EAX, 00000002h ; EAX = 00000001h + 00000002h = 00000003h
2. AND ( Logical AND )
Format AND Operand1, Operand2
Fungsi Melakukan Operasi Logika AND pada Operand1 dan Operand2, hasilnya akan disimpan di Operand1
Kalimat Matematika Operand1 = Operand1 AND Operand2
Contoh MOV EAX, 00001111b ; Lihat perintah MOV
AND EAX, 11110000b ; EAX = 00001111b AND 11110000b = 00000000b
3. CALL ( CALL A Procedure )
Format CALL LokasiProcedure
Fungsi Memanggil sebuah Procedure.
Kalimat Matematika -
Contoh CALL 12345678 ; Memanggil Procedure yang berada pada Offset 12345678
4. CDQ ( Convert Doubleword To Quadword )
Format CDQ
Fungsi Merubah nilai 32-bit dalam EAX menjadi 64-bit dalam EDX : EAX dengan cara mengosongkan isi EDX
Kalimat Matematika -
Contoh MOV EAX, 12345678h ; EAX = 12345678h
CDQ ; EDX : EAX = 00000000 : 12345678h
5. CMP ( Compare )
Format CMP Operand1, Operand2
Fungsi Membandingkan Operand1 dengan Operand2, setelah perintah ini, biasanya akan diikuti dengan sebuah Condtional Jump yang akan menentukan jalur program berikutnya.
Kalimat Matematika -
Contoh MOV ECX, 0Ah ; EAX = 0Ah
MOV EAX, 0Bh ; EBX = 0Bh
CMP EAX, ECX ; Pembandingan EAX dengan ECX.
JE 12345678 ; Jika sama, lompat ke Offset 12345678. Jika tidak, lanjutkan ke bawah
6. DEC ( Decrement )
Format DEC Operand
Fungsi Mengurangi nilai Operand dengan 1
Kalimat Matematika Operand1 = Operand1 – 1
Contoh MOV EAX, 0Ah ; EAX = 0000000Ah
DEC EAX ; EAX = 0000000Ah – 00000001h = 00000009h
7. DIV ( Unsigned Division )
Format DIV Operand
Fungsi Membagi nilai yang ada di Register EAX dengan Operand2
Kalimat Matematika EAX = EAX DIV Operand
Contoh MOV EAX, 0Ah ; EAX = 0000000Ah
MOV EBX, 05h ; EBX = 00000005h
DIV EBX ; EAX = 0000000Ah DIV 00000005h = 00000002h
8. IDIV ( Signed – Integer – Division )
Format IDIV Operand
Fungsi Membagi nilai yang ada di Register EDX : EAX dengan Operand2, hasilnya akan disimpan di EAX sedang sisanya disimpan di EDX
Kalimat Matematika EDX : EAX = EDX : EAX IDIV Operand
Contoh MOV EDX, 00h ; EDX = 00000000h
MOV EAX, 0Fh ; EAX = 0000000Fh
MOV EBX, 05h ; EBX = 00000005h
IDIV EBX ; EDX : EAX = 00000000 : 0000000Fh IDIV 00000005h
; EAX = 00000003h ( hasil ) EDX = 00000000h ( sisa )
9. IMUL ( Signed – Integer – Multiplication )
Format IMUL Operand
Fungsi Pada program 32 bit, IMUL ini digunakan untuk mengalikan antara nilai yang tersimpan di dalam Register EDX : EAX dengan Operand. Hasilnya akan disimpan di dalam EAX
Kalimat Matematika EAX = EDX : EAX IMUL Operand
Contoh MOV EDX, 00h ; EDX = 00000000h
MOV EAX, 05h ; EAX = 00000005h
MOV EBX, 0Ah ; EBX = 0000000Ah
IMUL EBX ; EAX = 00000000 : 00000005 IMUL 0000000A = 00000032h
10. Conditional Jump
Conditional Jump adalah perintah dalam Assembler yang digunakan untuk menentukan alur program berikutnya. Conditional Jump ini sebelumnya didahului oleh perintah CMP ( perhatikan contoh di penjelasan no. 5).
Ada berbagai macam Conditional Jump, di sini aku hanya membahas beberapa Conditional Jump yang sering aku temui ketika mengCrak, untuk perintah – perintah Conditional Jump lainnya, bisa kamu perdalam lagi di buku – buku yang membahas Assembly. Untuk semua penjelasan Conditional Jump di bawah ini, aku akan pake beberapa perintah yang ada sebelum perintah Conditional Jump tersebut dieksekusi.
MOV EAX, 01h ; EAX = 00000001h
MOV EBX, 02h ; EBX = 00000002h
CMP EAX, EBX ; Membandingkan antara EAX dengan EBX
Format Conditional Jump
Fungsi
JA LokasiTujuan ( Jump If Above ) Lompat ke LokasiTujuan jika EAX lebih besar dari EBX
JAE LokasiTujuan ( Jump If Above or Equal ) Lompat ke LokasiTujuan jika EAX lebih besar atau sama dengan EBX
JNA LokasiTujuan ( Jump If Not Above ) Lompat ke LokasiTujuan jika EAX tidak lebih besar dari EBX
JNAE LokasiTujuan ( Jump If Not Above or Equal ) Lompat ke LokasiTujuan jika EAX tidak lebih besar atau sama dengan EBX
JB LokasiTujuan ( Jump If Below ) Lompat ke LokasiTujuan jika EAX lebih kecil dari EBX
JBE LokasiTujuan ( Jump If Below or Equal ) Fungsinya sama dengan perintah JNA
JNB LokasiTujuan ( Jump If Not Below ) Fungsinya sama dengan perintah JAE
JNBE LokasiTujuan ( Jump If Not Below or Equal ) Fungsinya sama dengan perintah JA
JE LokasiTujuan ( Jump If Equal ) Lompat ke LokasiTujuan jika EAX sama dengan EBX
JNE LokasiTujuan ( Jump If Not Equal ) Lompat ke LokasiTujuan jika EAX tidak sama dengan EBX
JG LokasiTujuan ( Jump If Greater ) Lompat ke LokasiTujuan jika EAX lebih besar dari EBX
JGE LokasiTujuan ( Jump If Greater or Equal ) Lompat ke LokasiTujuan jika EAX lebih besar atau sama dengan EBX
JNG LokasiTujuan ( Jump If Not Greater ) Lompat ke LokasiTujuan jika EAX tidak lebih besar dari EBX
JNGE LokasiTujuan ( Jump If Not Greater or Equal ) Lompat ke LokasiTujuan jika EAX tidak lebih besar atau sama dengan EBX
JL LokasiTujuan ( Jump If Less Than ) Fungsinya sama dengan perintah JNGE
JLE LokasiTujuan ( Jump If Less or Equal ) Fungsinya sama dengan perintah JNG
JNL LokasiTujuan ( Jump If Not Less Than ) Fungsinya sama dengan perintah JGE
JNLE LokasiTujuan ( Jump If Not Less or Equal ) Fungsinya sama dengan perintah JG
JZ LokasiTujuan ( Jump If Zero ) Fungsinya sama dengan JE
JNZ LokasiTujuan ( Jump If Not Zero ) Fungsinya sama dengan JNE
11. JMP LokasiTujuan ( Unconditional Jump )
Format JMP LokasiTujuan
Fungsi Perintah JMP ini berbeda dengan perintah – perintah Conditional Jump karena ia tidak memerlukan hasil perbandingan sebelum perintah ini dieksekusi.
Kalimat Matematika -
Contoh JMP 12345678 ; Lompat ke Offset 12345678
12. LEA ( Load Effective Address )
Format LEA Operand1, LokasiMemory
Fungsi Untuk mengambil Offset dari LokasiMemory dan menyimpannya di dalam Operand1
Kalimat Matematika -
Contoh LEA EAX,
13. MOV ( Move Data )
Format MOV Operand1, Operand2
Fungsi Menyalin isi dari Operand2 kedalam Operand1
Kalimat Matematika Operand1 = Operand2
Contoh MOV EAX, 0Ah ; EAX = 0000000Ah
14. MUL ( Multiplication )
Format MUL Operand
Fungsi Mengalikan isi EAX dengan Operand, hasilnya akan disimapn di dalam EDX : EAX
Kalimat Matematika EDX : EAX = EAX * Operand
Contoh MOV EAX, 0Ah ; EAX = 0000000Ah
MUL EAX, 05h ; EDX : EAX = 0000000Ah * 00000005h = 00000000 : 00000032h
15. NOP ( No Operation )
Format NOP
Fungsi Seperti namanya, NOP tidak melakukan Operasi apa – apa, walaupun begitu perintah ini memiliki peran yang cukup penting dalam Kraking. Seperti yang diketahui, salah satu teknik mengKrak sebuah Sistem Proteksi adalah Patching, dalam Patching ini, Kraker harus merubah perintah yang ada di dalam Sistem Proteksi tersebut agar dapat mengKraknya.
Contoh sederhananya yaitu ketika ada sebuah Conditional Jump yang akan menentukan apakah S/N yang kita masukan valid atau tidak, salah satu cara yang mungkin untuk mengKraknya adalah dengan me-NOP-kan perintah Conditional Jump tersebut. Untuk lebih jealasnya, liat contoh di bawah.
Kalimat Matematika -
Contoh MOV EAX, 12345678 ; Offset 12345678 berisi S/N palsu
MOV EBX, 87654321 ; Offset 87654321 berisi S/N yang asli.
CMP EAX, EBX ; Bandingkan EAX dengan EBX
JNE 12344321 ; Jika tidak sama, lompat ke Offset 12344321
Offset berikutnya menyatakan bahwa S/N yang dimasukan adalah S/N yang valid.
Offset 12344321 menyatakan bahwa S/N yang kita masukan adalah S/N yang salah..
Listing di atas menunjukkan dengan jelas bagaimana S/N kita dibandingkan, jika kau ingin dengan sembarang S/N dapat dianggap sukses maka kita bisa me-NOP-kan Conditional Jump di atas sehingga listing perintah di atas menjadi :
MOV EAX, 12345678 ; Offset 12345678 berisi S/N palsu
MOV EBX, 87654321 ; Offset 87654321 berisi S/N yang asli.
CMP EAX, EBX ; Bandingkan EAX dengan EBX
NOP ; Tidak melakukan pencabangan sehingga S/N apa saja yang dimasukan akan dianggap valid.
16. OR ( Logical OR )
Format OR Operand1, Operand2
Fungsi Melakukan Operasi Logika OR terhadap Operand1 dan Operand2, hasilanya akan disimpan di dalam Operand1
Kalimat Matematika Operand1 = Operand1 OR Operand2
Contoh OR EAX, EBX
17. POP ( POP from Stack )
Format POP Operand
Fungsi Mengambil isi dari Stack dan menyimpannya di dalam Operand
Kalimat Matematika -
Contoh POP EAX
18. PUSH ( PUSH onto Stack )
Format PUSH Operand
Fungsi Memasukan nilai dari Operand ke dalam Stack
Kalimat Matematika -
Contoh PUSH EAX
19. RET ( Return from Procedure )
Format RET
Fungsi Kembali ke Rutin pemanggil Procedure yang sedang berlangsung.
Kalimat Matematika -
Contoh 1234 : 00000001 CALL 00001000 ;Memanggil Procedure yang ada di Offset 00001000
1234 : 00000002 ;Perintah Selanjutnya
1234 : 00001000 RET ;Alur program akan kembali ke Offset 00000002
20. SUB ( Subtract Binary Values )
Format SUB Operand1, Operand2
Fungsi Mengurangkan nilai dari Operand1 dengan Operand2. Hasilnya kemudian disimpan di dalam Operand1
Kalimat Matematika Operand1 = Operand1 – Operand2
Contoh MOV EAX, 0Ah ;EAX = 0Ah ( = 10 decimal )
MOV EBX, 01h ;EBX = 01h ( = 01 decimal )
SUB EAX, EBX ;EAX = EAX – EBX = 0Ah – 01h = 09h
21. TEST ( Test Bits )
Format TEST Operand1, Operand2
Fungsi Memeriksa apakah Operand1 sama dengan Operand2 ???
Kalimat Matematika -
Contoh MOV EAX, 0Ah ;EAX = 0Ah ( = 10 decimal )
MOV EBX, 01h ;EBX = 01h ( = 01 decimal )
TEST EAX, EBX ;Apakah EAX = EBX ???
JE 12344321 ;Jika sama, lompat.
22. XOR ( Exclusive OR )
Format XOR Operand1, Operand2
Fungsi Melakukan operasi logika Exlusive OR antara Operand1 dengan Operand2. Perintah XOR ini juga sering dipakai untuk me-nol-kan suatu register dengan cara XOR Operand1, Operand1
Kalimat Matematika -
Contoh XOR EAX, EAX ;Berfungsi untuk me-nol-kan nilai EAX ( EAX = 0 )
klo ada yg salah maklum yaaa….
SIMULASI JARINGAN KOMPUTER DENGAN APLIKASI PACKET TRACER
Untuk membuat jaringan komputer, kita tidak harus langsung menggunakan perangkat yang sebenarnya, ada beberapa program aplikasi yang menawarkan pembuatan simulasi jaringan komputer, salah satunya adalah Power Tracer. Program ini dapat berjalan dengan tambahan menginstal Flash Player pada perangkat komputer.
Dengan program tersebut, kita terbantu untuk menentukan apakah topologi jaringan yang akan kita buat dapat berkomunikasi dengan baik atau tidak, berapa kebutuhan perangkat yang dibutuhkan dan sebagainya.
Dalam program ini terdapat beberapa perangkat yang dapat digunakan misalnya router, cloud, switch, bridge, hub, acces point, repeater, PC, server dan printer. Dapat dilihat pada gambar berikut.
Dalam contoh di atas adalah menghubungkan dua komputer dengan menggunakan kabel yang dipasang secara cross-over (digambarkan dengan garis putus-putus), karena dua perangkat yang sejenis.
Gambar di atas merupakan contoh topologi star yang menghubungkan 6 perangkat komputer yang dihubungkan dengan sebuah perangkat switch.
Untuk mengecek apakah jaringan yang kita buat sudah dapat berfungsi dengan baik maka dapat dicoba pada tab REALTIME. Dan untuk lebih meyakinkan fungsi dari masing-masing sambungan dengan membuat simulasi pada tab SIMULATION.
Curhat tentang Jaringan Komputer
Curhat tentang Jaringan Komputer
Jaringan komputer yang biasa diartikan sebagai dua komputer atau lebih yang saling berinteraksi. Banyak hal yang memberikan kita kemudahan dengan adanya jaringan komputer misalnya kemudahan mendapatkan akses informasi yang lebih cepat dan hasil pekerjaan yang lebih maksimal (berkaitan dengan waktu)
Berikut ini beberapa pengalaman pribadi penulis tentang penggunaan jaringan komputer
1. Eksplisit
Secara eksplisit, penulis menggunakan jaringan komputer ketika mengakses sebuah situs di internet melalui warnet (maklum belum online) maupun lewat hp.
2. Implisit
Implisitnya, penulis menggunakan jaringan komputer ketika mau mencetak suatu file dengan printer yang ada di ruangan sebelah (TU) karena kebetulan sudah dipasang LAN, jadi tinggal sharing saja.
Mungkin hanya ini …. cukup singkat yah. Harap maklum.
Nasrudin dan Tiga Orang Bijak
Pada suatu hari ada tiga orang bijak yang pergi berkeliling negeri untuk mendapatkan jawaban atas pertanyaan yang mendesak. Sampailah mereka pada suatu hari di desa Nasrudin. Orang-orang desa ini menyodorkan Nasrudin sebagai wakil orang-orang yang bijak di desa tersebut. Nasrudin dipaksa berhadapan dengan tiga orang bijak itu dan di sekeliling mereka berkumpullah orang-orang desa menonton mereka bicara.Orang bijak pertama bertanya kepada Nasrudin, “Di mana sebenarnya pusat bumi ini?”
Nasrudin menjawab, “Tepat di bawah telapak kaki saya, saudara.”“Bagaimana bisa saudara buktikan hal itu?” tanya orang bijak pertama tadi.
“Kalau tidak percaya,” jawab Nasrudin, “Ukur saja sendiri.”Orang bijak yang pertama diam tak bisa menjawab.Tiba giliran orang bijak kedua mengajukan pertanyaan. “Berapa banyak jumlah bintang yang ada di langit?” Nasrudin menjawab, “Bintang-bintang yang ada di langit itu jumlahnya sama dengan rambut yang tumbuh di keledai saya ini.”“Bagaimana saudara bisa membuktikan hal itu?”Nasrudin menjawab, “Nah, kalau tidak percaya, hitung saja rambut yang ada di keledai itu, dan nanti saudara akan tahu kebenarannya.”“Itu sih bicara goblok-goblokan,” tanya orang bijak kedua, “Bagaimana orang bisa menghitung bulu keledai.”Nasrudin pun menjawab, “Nah, kalau saya goblok, kenapa Anda juga mengajukan pertanyaan itu, bagaimana orang bisa menghitung bintang di langit?”Mendengar jawaban itu, si bijak kedua itu pun tidak bisa melanjutkan.Sekarang tampillah orang bijak ketiga yang katanya paling bijak di antara mereka. Ia agak terganggu oleh kecerdikan nasrudin dan dengan ketus bertanya, “Tampaknya saudara tahu banyak mengenai keledai, tapi coba saudara katakan kepada saya berapa jumlah bulu yang ada pada ekor keledai itu.” “Saya tahu jumlahnya,” jawab Nasrudin, “Jumlah bulu yang ada pada ekor kelesai saya ini sama dengan jumlah rambut di janggut Saudara.”“Bagaimana Anda bisa membuktikan hal itu?” tanyanya lagi. “Oh, kalau yang itu sih mudah. Begini, Saudara mencabut selembar bulu dari ekor keledai saya, dan kemudian saya mencabut sehelai rambut dari janggut saudara. Nah, kalau sama, maka apa yang saya katakan itu benar, tetapi kalau tidak, saya keliru.”Tentu saja orang bijak yang ketiga itu tidak mau menerima cara menghitung seperti itu. Dan orang-orang desa yang mengelilingi mereka itu semakin yakin Nasrudin adalah yang terbijak di antara keempat orang tersebut.Dikutip dari: e-ketawa pada tanggal Sep 28th, 2006
Cerita ”Teler”-nya Abu Nawas
Konon Terjadi Saat Lailatul Qadar
HAMPIR semua orang mengenal nama Abu Nawas. Namun di negeri kita, sosok tersebut telanjur dianggap sebagai pelawak. Mungkin hal itu akibat pengaruh buku “Hikayat Abu Nawas” saduran Nur Sutan Iskandar, terbitan Balai Pustaka, yang menjadi bacaan wajib murid-murid sekolah sejak tahun 1930-an hingga 1950-an.
Padahal Abu Nawas (nama sebenarnya Abu Hani Muhammad bin Hakami, lahir di Ahwaz, Persia, tahun 735 dan meninggal di Bagdhad, tahun 810) adalah seorang sastrawan besar dalam khazanah sastra Arab abad Pertengahan. Bahkan sastrawan terbesar pada zaman kekuasaan Sultan Harun al Rasyid al Abassi, yang menjadi khalifah Dinasti Abasiyah tahun 786-809.Memang, karena kepiawaiannya di bidang bahasa dan sastra Arab, Abu Nawas banyak menggubah sajak-sajak bercorak lelucon dan senda-gurau (mujuniyat). Ia juga sangat ahli merangkai syair tentang cinta dan kecantikan wanita (gazal), pujian terhadap seseorang (madah), bahkan sindiran halus namun tajam (hija). Dan dalam keadaan mabuk minum alkohol khamr), sambil meracau tak karuan, ia menggubah puisi-puisi yang membangga-banggakan minuman keras, yang disebut puisi khumrayat. Karena kelakuannya yang urakan, tak bermoral, bahkan kemungkina atheis, Abu Nawas tidak disukai kalangan agamawan dan kalangan yang menjunjung tinggi ahlak kesopanan. Bahkan, ia pernah dipenjarakan karena kelakuannya yang tak beres itu.
Namun menjelang usia tua, ia berubah total. Menjadi tekun beribadah, rendah hati (tawadlu) dan jarang berbicara. Dari beberapa anekdot yang dihimpun para pengamat puisi Abu Nawas, terungkap, kesadaran (al yakhzah) diri Abu Nawas tergugah pada suatu malam “Qadar” (Lailatulkadar). Konon, ketika dalam keadaan “teler” Abu Nawas didatangi seseorang tak dikenal, yang berkata :“Ya, Abu Hani, idza lam takun milhan tuslih, fa la takun zubabatan tufsid (Wahai Abu Hani, jika engkau tak mampu menjadi garam yang melezatkan hidangan, janganlah engkau menjadi lalat yang menjijikkan, yang merusak hidangan itu).
Abu Nuwas langsung merasa dirinya sebagai lalat. Bahkan lebih hina dina. Ia sadar, tahun-tahun kehidupannya tidak membawa manfaat sebagaimana garam memberi kesedapan. Justru ia terus-terusan merusak, merusak dan merusak. Padahal merusak dilarang keras oleh Allah SWT. La tufsidu fil ardli. Innallaha la yuhibbul mufsidin (Alquran Surah Al Qashash ayat 77).Sejak peristiwa “Malam Qadar” itu, Abu Nawas, mengganti syair-syair dengan zikir. Memindahkan malam-malamnya dari kafe, bar atau pub, ke masjid. Ia tidak ingin lagi menjadi lalat. Biar tak jadi apa-apa, asal tidak membawa kerusakan bagi dirinya dan orang lain.
Beberapa kawannya satu “geng” mendatangi Abu Nawas yang sedang i’tikaf di sebuah masjid, pada sepuluh malam terakhir Ramadan. “Apa yang keluar dari bibirmu sekarang ?” ejek kawan-kawannya.
“Ayat-ayat Alquran,” jawab Abu Nawas, kalem.“Yang kau pikirkan di kepalamu ?”
“Kemahaagungan Allah, yang sudah mengubah manusia buruk seperti kalian, menjadi manusia yang baik seperti aku sekarang.”
“Kau habiskan malam-malammu dengan apa ?”
“Dengan mendekatkan diriku yang hina dina kepada Zat Maha Mulia, yaitu Allah SWT.”
“Lalu siang-siangmu keluyuran ke mana ?”
“Ke gurun dan samudera petunjuk-Nya yang penuh rahmat dan ampunan. Aku tak akan tersesat di situ, karena firman-firman-Nya amat jelas,” kata Abu Nawas seraya mengutip sabda Nabi Muhammad saw. afdlala ibadati ummatiy tilawatul Qurani. Sebaik-baik ibadah umatku adalah membaca Alquran.
Salah satu puisi karya terakhir Abu Nawas, sebuah puisi religius yang di negeri kita (antara lain di Pondok Modern Gontor) dijadikan “pupujian” seusai salat.Ilahi, lastulil firdausi ‘alaWa la aqwa alan naril jahimiFahabli taubatan waghfir dzunubiFainnaka ghafiru dzanbil adzimi (Ya Allah, tak pantas buatku surgaTapi neraka, tak kuat aku akan siksanyaMaka atas segala dosa aku bertaubatKarena ampunanmu lebih hebat) Puisi-puisi Abu Nawas bersama kisah hidupnya, ditulis antara lain oleh Mustafa Abdur Razak, dalam buku “Abu Nawas, Hayatuhu wa Sya’iruhu” (1981). Dikenal dan digemari di dunia Barat setelah diterjemahkan ke dalam bahasa Jerman oleh A.von Kremer “Diwan des Abu Nuwas Grossten Lyrischen Dichters der Araber” (1806).Abu Nawas mungkin salah satu contoh manusia yang mendapat barakah “Lailatul Qadar”. Malam yang lebih baik daripada seribu bulan. Kita yang sedang saum sambil mengharap ampunan, rahmat dan itqun minannari (pembebasan dari api neraka), tak mustahil mendapat keberuntungan seperti Abu Nawas. (dikutip dari H.Usep Romli HM yang ditulis di harian Pikiran Rakyat edisi Senin, 24 Oktober 2005)***
Ada gula ada semut
Peribahasa ini diartikan bahwa apabila terdapat suatu sumber keuntungan maka ke sanalah arah tujuan bagi yang membutuhkan. Memang peribahasa ini boleh dikatakan mengandung makna yang cukup dalam, dalam artian sifat manusia yang notabene selain sebagai makhluk pribadi juga sebagai makhluk sosial, tentu membutuhkan bantuan orang lain. Nah, biasanya yang mereka tuju untuk memberikan bantuan tentunya yang dianggap atau dalam pandangan masyarakat adalah orang yang mampu untuk mengatasi segala permasalahan yang sedang mereka hadapi yang hingga suatu waktu belum dapat diselesaikan atau belum menemukan pemecahan masalahnya.
![]()
Kalau kita mau jujur, bahwa kita senantiasa membutuhkan bantuan orang lain. Tetapi kalau kita mampu menjadi orang yang mandiri dan memposisikan tangannya berada di atas, tentulah lebih terhormat dalam pandangan sesama dan Tuhan.
Catatan tentang kata-kata mutiara
Apabila kita mendengar beberapa kata-kata bijak tentunya kita akan merasakan bahwa apa yang diungkapkan dalam untaian kata-kata itu bertujuan untuk memberikan beberapa hal baik berupa semangat, inspirasi, dukungan, bahkan keinginan yang nantinya ingin diperoleh ketika menjalani hidup dan kehidupan. Banyak kata-kata bijak yang telah dikeluarkan oleh para pendahulu yang pernah hidup dalam masanya tersendiri. Seorang ahli filsafat dikenal memiliki banyak petuah yang berasal dari hasil pemikiran mereka atau dari pendalaman terhadap fenomena yang ada di sekitarnya. Para nabi juga ketika bersabda tentunya mengandung ungkapan-ungkapan bijak yang penuh makna. Yang jarang atau kadang-kadang tidak kita sadari bahwa sebenarnya kata-kata bijak atau kata-kata mutiara itu mengandung banyak kisah dibalik kemunculannya.
Selamat Datang
Saya mengucapkan sugeng rawuh, moga dengan bergabungnya Saudara di weblog ini dapat menambah silaturrahim diantara kita, dan mohon saran dan kritik berkaitan dengan media yang penyusun hadirkan.








