Pemrograman Bahasa Rakitan | 7 Mode Pengalamatan (Addressing Mode) Contoh Program Jadi 1

Di bawah ini merupakan listing program dari ke tujuh mode pengalamatan (Addressing Mode) yang saya jadikan menjadi 1 program. Cek this out, mohon koreksi jika ada kesalahan. CMIIW...  :)  :)  :)
;DEKLARASI MAKRO
;Makro Cetak Ganti Baris => untuk ganti baris
ganti_baris macro
 local kal
 kal db 13, 10, '$'
 mov ah,09h
 lea dx,kal
 int 21h
endm
;cetak kalimat
cetak_kal macro kalimat
 mov ah,09h
 lea dx,kalimat
 int 21h
endm
;MAKRO cetak angka
cetak_angka macro angka
local proses, ulang, cetak
proses:
 mov ax,angka
 mov bx,10
 xor cx,cx
ulang:
 xor dx,dx
 div bx
 push dx
 inc cx
 cmp ax,0
 jne ulang
cetak:
 pop dx
 add dl,'0'
 mov ah,02h
 int 21h
 loop cetak
endm
;ENDS MAKROOOOOOOOOOOOOOOOOOOOOOOOOOOOO
;==============================================
.model small
.code
org 100h
proses: jmp mulai
Kar DB 'A'
Kal DB 'ABCDEF'
A   DB 'SELAMAT'
Dia DB 'ABCDEFGHIJKL'
Mahasiswa STRUC
Nim Dw 0 ; 2 byte
Usia Dw 0 ; 1 byte
Nilai Dw 0,0,0 ; 3 byte
Mahasiswa ENDS
Kelas Mahasiswa 10 DUP (<>)
;===============================================
;CONTOH IMMEDIATE ADDRESSING DAN REGISTER ADDRESSING
mulai:
mov al, 65  ;Immediate Addressing
mov ah, 02h ;servis mencetak
mov dl, al  ;Register Addressing
int 21h     ;cetak nilai int 20h
ganti_baris
ganti_baris
;===============================================
;CONTOH DIRRECT ADDRESSING
MOV DL,Kar ;Direct addressing
MOV AH,02h ;servis cetak karakter
INT 21h
ganti_baris
ganti_baris
;================================================
;CONTOH INDIRRECT ADDRESSING
LEA BX,Kal ; Ambil Offset Kal
MOV CX,2
Ulang:
MOV DL,[BX]  ;Register indirect addressing
MOV AH,02h   ;servis cetak karakter
INT 21h
ADD BX, 2 ;BX=BX+1
LOOP Ulang
ganti_baris
ganti_baris
;=================================================
;CONTOH BASE RELATIVE ADDRESSING
xor bx, bx  ;BX=0, penunjuk karakter pertama yg dicetak
mov cx, 7  ;jumlah perulangan
ulang2:
mov dl, A[bx] ;ambil tabel A yang ke BX (untuk pertama kali BX=0)
mov ah, 02h
int 21h
inc bx      ;sama dengan bx+1
loop ulang2
ganti_baris
ganti_baris
;=================================================

;CONTOH DIRECT INDEXED ADDRESSING
lea bx, Dia
xor si, si
mov cx, 12

ulang3:
mov dl, Dia[si]
mov ah, 02h
int 21h
inc si
loop ulang3
ganti_baris
ganti_baris
;==================================================

;CONTOH BASED INDEXED ADDRESSING
LEA BX,kelas ; BX Menunjuk Offset Kelas
ADD BX,18 ; BX Menunjuk pada record ke 4
XOR SI,SI ; SI=0
MOV [BX][SI].Usia,19 ; Usia, record ke 4
cetak_angka [BX][SI].Usia
MOV [BX][SI].Nilai,76 ; Nilai pertama, record ke 4
cetak_angka [BX][SI].Nilai
MOV [BX][SI+1].Nilai,81 ; Nilai kedua, record ke 4
cetak_angka [BX][SI+1].Nilai
MOV [BX][SI+2].Nilai,95 ; Nilai ketiga, record ke 4
cetak_angka [BX][SI+2].Nilai
;====================================================

int 20h
end proses
;SELESAAAAAAAAAAAAAAAAAAIIIIIIIIIIIIIIIII....

Penampakanannya setelah saya modifikasi sedikit adalah sebagai berikut :

Terima kasih............

Pemrograman Java | 13 Langkah-Langkah Membuat Aplikasi Java Desktop di Netbeans

Membuat aplikasi desktop di Java, sama mudahnya dengan menggunakan bahasa lainnya, seperti Visual Basic, Delphi, dan kawan-kawannya. Salah satu perbedaan Java Desktop dengan yang lainnya, adalah bahwa tampilan form di Java sebenarnya tidak ada secara real, maskutnya bahwa form di Java terbentuk oleh file .JAVA (kode program), dan desain-nya diatur oleh sebuah file .XML. Jadi mirip-mirip dengan file .HTML, yang desain tampilannya diatur oleh file .CSS.

Oke, langsung saja, ke langkah-langkah, yang paling utama :
1. Membuat Proyek Baru

2. Pilih “Java” > “Java Aplication” > “Next”

3. Isikan nama Proyeknya, Finish

4. Otomatis akan terbuat sebuah file dengan nama Main.JAVA. File inilah yang pertama kali di-load atau dipanggil saat program dieksekusi. Sebenarnya di file ini, tidak ada tampilan Form-nya, namun agar tampil formnya, akan dipanggil sebuah Form yang mana digunakan sebagai tampilan Utama dari Program yang kita buat (biasanya diberi menu-menu, status bar, dll).
Untuk memanggil form utama (dalam contoh ini “Utama.JAVA”– yang akan dibuat di langkah selanjutnya), ketikkan kode :
Utama ut = new Utama();
ut.setLocationRelativeTo(null);
ut.setVisible(true);
5. Selanjutnya buat sebuah Form Utama tersebut, dengan cara : Klik kanan di Source Package-nya (icon kotak) > New > JFrameForm. Jika tidak ada di pilihan pilih Other

6. Kemudian isikan namanya (misalnya “Utama.JAVA” – ekstensi JAVA gak usah ditulis), kemudian Finish

7. Nah di file Utama.JAVA inilah kita bisa menempatkan menu, gambar background, dll. Buatlah tampilan sebaik mungkin, karena inilah tampilan utama dari program.

8. Membuat menu, langkah-langkahnya :  Klik kanan pada desain form > Add From Pallete > Swing Menus > Menu Bar

Atau juga bisa memilih dari Pallete (di sebelah kanan Netbeans - jika tidak ada bisa dimunculkan lewat Menu Windows > Pallete) :

9. Memberi submenu  : Klik kanan nama menunya > Add From Pallete > Menu Item 
 

10. Memberi aksi pada menu/sub menu jika diklik. Maksudnya memberi aksi, yaitu mau dibawa kemana program setelah menge-klik menu/submenu tersebut, apakah menampilan form baru, atau yang lainnya. Sebagai contoh, memberi aksi menu, untuk menampilkan form baru (harus sudah dibuat form barunya), adalah sama dengan memanggil suatu kelas. 

Klik kanan pada menu/submenu > Events > Action > ActionPerformed , kemudian akan muncul kode program, nah langsung, jangan pindah ke mana-mana, ketikkan kode dengan format :

Nama_Form_YangDipanggil nama_instance = new Nama_Form_YangDipanggil();
nama_instance.setLocationRelativeTo(null); // untuk men-tengahkan tampilan form
 nama_instance.setVisible(true); // menampilkan form

sebagai contoh untuk memanggil form InputData.JAVA : 

InputData input = new InputData();
input. setLocationRelativeTo(null);
input.setVisible(true);

11. Membuat form InputData.JAVA (form yang akan dipanggil dari menu di Form Utama.JAVA). Langkah-langkahnya adalah, sama dengan membuat form utama tadi, yaitu Klik kanan pada Source Package > New > JFrameForm.

12. Nah, disini Anda dapat berkreasi dengan menambah-nambahkan komponen dari form, seperti label (Teks), Teks Field (Isian Teks), Radio Button, Textarea, Combobox, dll, dengan klik kanan > Add From Pallete > Swing Control > Pilih Sendiri, atau juga dengan meng-klik dan geser (klik and drag) ke jendela desain  dari menu Pallete di sebelah kanan (jika tidak ada, klik menu Windows > Pallete)

13. Sekian dan terimakasih, selamat mencoba. 

Pemrograman Bahasa Rakitan | Mode Pengalamatan (Addressing Mode) Listing Program

Pemrograman Bahasa Rakitan | Mode Pengalamatan (Addressing Mode) Listing Program

Dalam Bahasa Assembly ada yang dinamakan Mode Pengalamatan atau bahasa Inggrisnya adalah Addressing Mode, yaitu Mode pengalamatan berbagai didefinisikan dalam sebuah arsitektur set instruksi yang diberikan menentukan bagaimana instruksi bahasa mesin dalam arsitektur yang mengidentifikasi operan (operand atau) dari setiap instruksi. Sebuah mode pengalamatan menentukan bagaimana menghitung alamat memori efektif operand dengan menggunakan informasi yang dimiliki dalam register dan / atau konstanta yang terkandung dalam instruksi mesin atau tempat lain. Addressing mode ini terdapat 7 macam, sebagai berikut ini, yaitu :



1. IMMEDIATE ADRESSING => pengcopyan variabel angka secara langsung
2. REGISTER ADDRESSING => pencopyan variabel antar register yang berukuran sama, contoh : AL dan BH, CX dan AX, contoh penggunaan keduanya :
.model small
.code
org 100h
imme:
mov al, 65 ; disini contoh penggunaan Immediate Addressing  mencopy nilai 65 ke register AL mov ah, 02h
mov dl, al ; disini contoh penggunaan Register Addressing  mencopy nilai AL (65) ke register DL int 21h ; nilai 65 Hexa dicetak ke ASCII = huruf "A"
int 20h
end imme
3. DIRRECT ADRESSING => pengcopyan variabel dari suatu register atau simbol, contohnya  :

.model small
.code
org 100h
mulai: jmp dir
A db 45h ; kode ASCII huruf E
dir: mov ah, 02h
mov dl, A ; disini contoh penggunaan Dirrect Addressing  mencopy nilai A (45h) ke register AL int 21h ; nilai A = 45h Hexa dicetak ke ASCII = huruf "A"
int 20h
end mulai
4. REGISTER INDIRRECT ADRESSING => mengakses suatu variabel yang banyak dengan mengambil alamat efektifnya, contohnya :

.model small
.code
org 100h
mulai: jmp regin
A db 'INDONESIA'
regin:
lea bx, A ; pengambilan variabel A ("selamat sore") dengan register indirect addressing
                        ; register BX menunjukan alamat efektif dari "Kal"
mov cx, 3 ; counter untuk Looping
ulang:
mov dl, [bx] ; mengambil nilai yang ditunjukkan register BX
mov ah, 02h
int 21h
add bx, 2 ; menambahkan nilai BX=+2, sehingga BX akan menujukkan ke 2 alamat selanjutnya
loop ulang
int 20h
end mulai
5. BASE RELATIVE ADRESSING => mengakses suatu tabel dengan mengambil alamat efektifnya.

.model small
.code
org 100h
mulai: jmp barel
A db 'SELAMAT' ; kode ASCII huruf E

barel:
xor bx, bx ; BX = 0, sebagai patokan penunjuk karakter pertama yg dicetak
mov cx, 7 ; jumlah perulangan
ulang:
mov dl, A[bx] ;ambil tabel A yang ke BX (untuk pertama kali BX = 0)
mov ah, 02h int 21h
inc bx ; inc bx sama dengan bx+1
loop ulang
int 20h
end mulai
6. Direct Indexed Addressing ==> mirip  dengan  base  addressing,  perbedaannya  hanya  penggunaan  register  yang dipakai untuk perhitungan alamat  efektif. Pada indexed addressing dipakai register-register index  yaitu SI dan DI.

Contoh-nya lagi  [UNDER CONTRUCTION]

7. Base Indexed Addressing ==> merupakan  gabungan  antara  base  addressing  dan  indexed  addressing.  Mode  pengalamatan  ini sering digunakan untuk menangani array dua dimensi.  Contoh :
;MAKRO cetak angka
cetak_angka macro angka
local proses, ulang, cetak
proses:
 mov ax,angka
 mov bx,10
 xor cx,cx
ulang:
 xor dx,dx
 div bx
 push dx
 inc cx
 cmp ax,0
 jne ulang
cetak:
 pop dx
 add dl,'0'
 mov ah,02h
 int 21h
 loop cetak
endm

.MODEL SMALL
.CODE
ORG 100h
Data :   JMP Proses
Mahasiswa STRUC
Nim Dw 0 ; 2 byte
Usia Dw 0 ; 1 byte
Nilai Dw 0,0,0 ; 3 byte
Mahasiswa ENDS
Kelas Mahasiswa 10 DUP (<>)
Proses:
LEA BX,kelas ; BX Menunjuk Offset Kelas
ADD BX,18 ; BX Menunjuk pada record ke 4
XOR SI,SI ; SI=0

MOV [BX][SI].Usia,19 ; Usia, record ke 4
cetak_angka [BX][SI].Usia
MOV [BX][SI].Nilai,76 ; Nilai pertama, record ke 4
cetak_angka [BX][SI].Nilai
MOV [BX][SI+1].Nilai,81 ; Nilai kedua, record ke 4
cetak_angka [BX][SI+1].Nilai
MOV [BX][SI+2].Nilai,95 ; Nilai ketiga, record ke 4
cetak_angka [BX][SI+2].Nilai
INT 20h ; Selesai, kembali ke DOS
END Data 

Kemegahan Trafford Training Centre, Tempat Latihan Manchester United

Cuma Copy Paste. Sumber tulisan ini dari salah satu Fans Page MU, klik di sini



Kalau kalian semua melihat Stadion Manchester United, Old Trafford. maka kalian akan tercengang dan kagum betapa mewahnya stadion sepak bola milik Manchester united tersebut. Stadion Old Trafford memang salah satu stadion termegah dan terbesar di Dunia,bahkan di Inggris, Old Trafford dinobatkan sebagai stadion klub terbesar di Inggris dengan kapasitas 76.000 penonton Kemegahan Manchester ternyata tak hanya terletak pada stadionya saja, melainkan juga tempat latihanya. Manchester mempunyai tempat latihan di sebuah kawasan perbukitan asri di wilayah Carrington Manchester yang bernama Trafford Training Centre (TTC) . Di sanalah para pemain Manchester United berlatih. Manchester United membangun sebuah pemusatan latihan yang sangat representatif pada akhir 1990-an. Sejak 26 Juli 2006, "The Red Devils" resmi menggunakan Trafford Training Centre (TTC) sebagai pusat latihan. Tempat latihan yang punya fasilitas serba modern ini menjadi tempat penggemblengan para pemain MU, sebelum maupun sesudah pertandingan. Entah sudah berapa banyak taktik yang dilatih di sini oleh Sir Alex Ferguson terhadap tim besutannya.

TTC sangat tertutup. Selain pagar yang mengelilingi kompleks, juga ditambah 30.000 pohon yang ikut memagari seluruh arena. Hal ini dilakukan untuk menghindari upaya mata-mata klub lawan terhadap strategi yang dilatih. Walaupun hal ini membuat banyak fans kesulitan meminta tanda tangan pemain, namun hal ini memang perlu untuk dilakukan.

LAPANGAN

Ada 14 lapangan dengan berbagai ukuran di TTC. Salah satunya berukuran standar internasional. Sisanya lebih berupa lapangan rumput yang sangat luas. Untuk membatasinya, kerap digunakan sejumlah cone dari plastik. Lapangan- lapangan kecil kerap digunakan untuk melakukan sesi latihan seperti 4 a side (permainan 4 lawan 4) atau yang lainnya. Semua lapangan di sini menggunakan rumput natural.

RUANG GANTI PEMAIN
Terbilang sangat luas untuk sebuah ruang ganti. Ada banyak locker untuk menggantung kostum latihan para pemain. Ruang ini memang dibuat untuk menampung sebanyak mungkin, tidak sekadar starting eleven plus pemain cadangan. Ruang ini menjadi saksi bisu berbagai kejadian penting yang menyangkut Sir Alex dengan para pemainnya. Kabarnya, di tempat inilah percekcokan antara Fergie dan Beckham terjadi.

KOLAM RENANG
Tak ada tempat latihan yang tidak mempunyai kolam renang. Sebagai sarana melatih kebugaran, kolam renang mutlak dimiliki TTC. Panjang 50 meter, kolam renang ini juga memiliki sepasang gawang di setiap sisi. Para pemain kerap menggunakan kolam renang ini untuk bermain polo air. Selain untuk menjaga kebugaran, polo air juga bisa membunuh kejenuhan akibat rutinitas latihan.

THE CLIFF 

Kandang buat Akademi Sebelum memasuki era milenium baru, Manchester United punya satu tempat pemusatan latihan yang lebih sederhana, berlokasi tak jauh dari Trafford Training Centre. Tempat itu dikenal dengan nama The Cliff. Ide pembuatan pemusatan latihan sudah bergulir sejak masa kepemimpinan James W Gibson pada 1938, tetapi baru terealisasi pada 1950-an. Saat itu, The Cliff masih berupa tanah lapang. Belum ada bangunan di sekilingnya. The Cliff digunkan dengan tujuan menjaga rumput Old Trafford agar tidak lebih cepat rusak karena digunakan untuk latihan. Akhir 1950-an, The Cliff mendapat pembenahan di berbagai hal, termasuk di antaranya membuatkan lampu untuk latihan atau pertandingan malam hari. Namun, saat itu The Cliff masih belum terbuka untuk umum. Hal itu mulai bergeser ketika Sir Alex Ferguson mengubah kebijakan terhadap The Cliff pada 1990-an. Pemusatan latihan ini menjadi lebih terbuka bagi siapa pun yang ingin melihat proses latihan "Setan Merah". Bahkan, karena tidak ada pagar pembatas, sesi latihan kerap terganggu oleh ulah suporter yang meminta foto bareng atau tanda tangan para pemain. Itulah yang menjadi salah satu factor kenapa manajemen klub kemudian membangun satu kompleks latihan yang lebih modern dan bisa lebih menjaga privasi para pemain. Setelah tempat latihan baru selesai, The Cliff tak dilupakan begitu saja. Tempat ini masih menjadi kandang tim Akademi Manchester United. Selain itu, Timnas Inggris pun pernah menggunakan The Cliff sebagai pemusatan latihan ketika mereka akan melakoni laga di Stadion Old Trafford.

RAMAH LINGKUNGAN

TTC merupakan pemusatan latihan yang berorientasi masa depan. Desain bangunan sengaja dibuat untuk menghemat energi. Begitu pula dengan lingkungan sekitarnya yang sangat hijau. Penuh dengan tumbuhan dan bahkan hewan-hewan liar. Salah satu teknologi yang digunakan di tempat ini adalah daur ulang air. Trafford Training Centre menggunakan sebuah teknologi bernama Reed Bed Technology. Dengan teknologi ini, semua air kotor dijernihkan kembali agar bias digunakan untuk menyiram rumput dan tanaman di sekeliling kompleks. Untuk mendapat pasokan air yang mencukupi, sejumlah kolam air pun dibuat di beberapa area. Selain untuk menampung, kolam-kolam ini pun kerap digunakan oleh bebek liar sebagai tempat tinggal atau sekadar beristirahat. Benar-benar sebuah kompleks latihan yang sangat mengerti akan pentingnya lingkungan hijau dan bersih.

Presentasi Interaksi Manusia dan Komputer | Desain Sistem Informasi Parkir Gedung

Presentasi Interaksi Manusia dan Komputer | Desain Sistem Informasi Parkir Gedung

Kelompok_eMPAT :

1. Choirul Anam (12090xxx)
2. Agus Supriyadi (12090xxx)
3. Nur Akhwan (12090672)
4. Herwin Prasetya (12090673)

Presented a design of aplication :

"SISTEM INFORMASI PARKIR GEDUNG"

Sekilas tentang Program :
  1. Program “Sistem Informasi Parkir Gedung” merupakan sebuah program untuk mengelola manajemen per-parkiran di suatu gedung.
  2. Program berbasis Aplikasi Desktop Jaringan (dengan Visual Basic/Delphi/Java) database MySQL
  3. Ada dua user, yaitu petugas masuk, dan petugas keluar
Tunggu selanjutnya, belum dipresentasikan'e....
Pemrograman Berorientasi Obyek | Overriding dan Overload di Pemrograman Java

Pemrograman Berorientasi Obyek | Overriding dan Overload di Pemrograman Java

Java merupakan bahasa pemrogramman yang berorientasi Obyek (ya, iyalah, lha nama mata kuliahnya aja "PEMROGRAMAN BERORIENTASI OBYEK". Inheritance, overloading dan overriding merupakan contoh aspek OO yang dapat diimplementasikan di JAVA. 

  1. Inheritance merupakan pewarisan dimana superkelas(kelas induk) mewariskan semua atributnya dan methodnya (selain yang private). 
  2. Overloading merupakan fungsionalitas yang memungkinkan kita untuk mendefinisikan beberapa method yang mempunyai nama sama tetapi memiliki body method yang berbeda. Overloading dimungkinkan karena adanya perbedaan signature (jumlah parameter method, dan tipe datanya)
  3. Overriding, yaitu mekanisme untuk melakukan penindihan/pergantian method yang sebelumnya sudah didefinisikan pada superclass dengan method yang sama(nama nya) yang ada di subclass. 


Contoh skrip Overriding : 
package tug1;
class Olahragawan {
    public void berolahraga() {
        System.out.println("Jenis Olahraganya" + "belum didefinisikan");
    }
}
class Pembalap extends Olahragawan {
    @Override
    public void berolahraga() {
       System.out.println("Pembalap membalap di sirkuit");
    }
}
class Pelari extends Olahragawan {
    @Override
    public void berolahraga() {
        System.out.println("Pelari berlari di lintasan lari");
    }
}
class Pesepakbola extends Olahragawan {
    @Override
    public void berolahraga() {
        System.out.println("Pesepakbola bermain sepakbola di stadion");
    }
}
class Main {
    public static void main(String[] args) {
        Olahragawan Ol;
        Pembalap Rossi = new Pembalap();
        Pelari Suryo = new Pelari();
        Pesepakbola Andik = new Pesepakbola();
        Ol = Rossi;
        Ol.berolahraga();
        Ol = Suryo;
        Ol.berolahraga();
        Ol = Andik;
        Ol.berolahraga();
    }
}
Contoh Skrip Overloading :
package overload;
class Mobil{
private String warna;
private int tahunProduksi;
// Konstruktor Pertama
public Mobil(String warna){
this.warna = warna;
}
// Konstruktor Kedua
public Mobil (int tahunProduksi){
this.tahunProduksi = tahunProduksi;
}
public void info1 ( ){
System.out.println("Warna : " + this.warna);
}
//Metode2
public void info2 ( ){
System.out.println("Tahun : " + this.tahunProduksi);
}
}
public class Main {
    public static void main(String[] args) {
        Mobil mobilku1=new Mobil("Putih");
        mobilku1.info1();
        Mobil mobilku2 = new Mobil (2009);
        mobilku2.info2();
    }
}
Sekian, yang bisa saya tangkap dan saya tuliskah setelah mempelajarai mata kuliah Pemrograman Berorientasi Obyek, yang membahas tentang Overriding, Overloading dan Inheritance.. Nuwun..

Prosedur, Makro, dan Pustaka Makro Bahasa Assembly (Bahasa Rakitan)

Beberapa hari yang lalu, Selasa, 6 Desember 2011 merupakan mata kuliah Bahasa Rakitan, yang membahas mengenai Makro, dan Pustaka Makro. Beberapa kesimpulan yang bisa saya dapatkan  (kebetulan saat itu saya sungguh-sungguh kuliah, dengan memperhatikan satu-demi satu penjelasan materi dosen) yaitu :

MAKRO
1. Makro kurang lebih mirip dengan Prosedur, hanya saja Makro lebih canggih, karena bisa menggunakan Parameter.
2. Makro tidak menggunakan perintah CALL seperti pada Procedure
3. Format penulisan Makro :
nama_macro MACRO [P1/P2]
<Program>
ENDM
4. Penggunaan Parameter ([P1/P2]) boleh ada, boleh tidak, boleh lebih dari 1 dengan dipisahkan tanda koma.
5. Jika Makro menggunakan Label, yang dipanggil lebih dari 1, maka HARUS menggunakan kata kunci LOCAL

Contoh Program dengan MAKRO :

; DEKLARASI MAKRO
; terdiri dari 3 makro, yaitu cetak_kar, cetak_kal, cetak_angka
;cetak karakter
cetak_kar macro kar
local ulang
mov cx, 2
mov ah, 02
mov dl, kar
ulang:
int 21h
loop ulang
endm
;cetak kalimat
cetak_kal macro kal
mov ah,09h
lea dx,kal
int 21h
endm
;cetak angka
cetak_angka macro angka
local proses, ulang, cetak
proses:
mov ax,angka ;ax =1234
mov bx,10 ;bx=10
xor cx,cx ;cx=0
ulang:
xor dx,dx
div bx ;dx=ax/bx
push dx ;push untuk menyimpan data ke dalam steck
inc cx
cmp ax,0
jne ulang
cetak:
pop dx ;pop untuk mengambil data dari stack
add dl,'0' ;ubah angka menjadi code ascii
mov ah,02h
int 21h
loop cetak
endm
; SELESAI deklarasi MAKRO

;mulai penggunaan makro
.model small
.code
org 100h
proses: jmp x
k db ' STMIK EL RAHMA YOGYAKARTA $'
a dw 2009
x:
cetak_kar 'w'
cetak_kal k
cetak_angka a
int 20h
end proses
PUSTAKA MAKRO

1. Bila banyak menggunakan makro, maka dapat dijadikan 1 menjadi suatu Pustaka Makro
2. Pustaka Makro adalah suatu File dengan Extensi .MCR yang berisi beberapa atau banyak Makro
3. File .MCR tadi harus 1 folder dengan file .ASM yang memanggilnya.
4. Untuk memanggilnya menggunakan kata kunci INCLUDE nama_file_pustaka.MCR

Contoh program dengan Pustaka Makro.
a. Buat file pustaka makronya dengan nama "pustaka.mcr", isinya :

;cetak karakter
cetak_kar macro kar
local ulang
mov cx, 2
mov ah, 02
mov dl, kar
ulang:
int 21h
loop ulang
endm
;cetak kalimat
cetak_kal macro kal
mov ah,09h
lea dx,kal
int 21h
endm
;cetak angka
cetak_angka macro angka
local proses, ulang, cetak
proses:
mov ax,angka ;ax =1234
mov bx,10 ;bx=10
xor cx,cx ;cx=0
ulang:
xor dx,dx
div bx ;dx=ax/bx
push dx ;push untuk menyimpan data ke dalam steck
inc cx
cmp ax,0
jne ulang
cetak:
pop dx ;pop untuk mengambil data dari stack
add dl,'0' ;ubah angka menjadi code ascii
mov ah,02h
int 21h
loop cetak
endm
b. Buat file .ASMnya, tempat memanggil file pustaka.MCR tadi, dengan nama "pakai.asm". isinya :

include pustaka.mcr  ; pemanggilan file pustaka makro __BAHAYA __Sesuaikan nama file mcr-nya
.model small
.code
org 100h
proses: jmp x
k db ' STMIK EL RAHMA YOGYAKARTA $'
a dw 2009
x:
cetak_kar 'w'
cetak_kal k
cetak_angka a
int 20h
end proses
Hasil jadinya yang pustaka makro :


Nggih, sampun, cekap semanten kemawon share bahan kuliah Pemrograman Bahasa Rakitan dari Saya : Nur Akhwan @ Teknik Informatika Angkatan 2009 STMIK El Rahma Yogyakarta

Membuat Gallery Foto dengan PHP - Bag. 1

Melalui postingan ini, saya ingin membagi sediki ilmu pemrograman PHP, tentang bagaimana membuat sebuah gallery foto sederhana, yang dikelompokkan menurut kategori-kategori tertentu. Contoh tampilan jadinya adalah sebagaimana klik disini [website MTs N Sidoharjo], atau lihat screenshoot di bawah ini, wahai saudaraku :

Langkah-langkahnya adalah sebagaimana berikut ini :

1. Langkah pertamanya adalah buat database dengan nama "galeri", dengan 2 tabel, yaitu : "galeri" dan "galeri_kategori". Anda bisa copy script di bawah ini : 
 CREATE DATABASE `galeri`;
CREATE TABLE `galeri` (
  `id` int(3) NOT NULL auto_increment,
  `foto` varchar(50) NOT NULL default '',
  `kategori` varchar(20) NOT NULL default '',
  `ket` varchar(255) NOT NULL default '',
  `tgl` varchar(75) NOT NULL default '',
  `ukuran` int(10) NOT NULL default '0',
  `view` int(10) NOT NULL default '0',
  `panjang` int(10) NOT NULL default '0',
  `lebar` int(10) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=37 ;
CREATE TABLE `galeri_kategori` (
  `id` int(3) NOT NULL auto_increment,
  `kategori` varchar(255) NOT NULL,
  `keterangan` varchar(255) NOT NULL default '',
  `total` int(6) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ; 
2. Langkah ke dua adalah, membuat folder-folder yang strukturnya adalah sebagai berikut :

    - folder "admin" : untuk menyimpan file-file untuk mengelola galeri
    - folder "foto/asli" : untuk menyimpan file foto dengan ukuran yang sebenarnya
    - folder "foto/thumb" : untuk menyimpan file foto dengan ukuran mini (thumbnail view).

3. Langkah ketiga dan selanjutnya, akan dilanjutkan pada bagian kedua, klik Membuat Gallery Foto dengan PHP dan jQuery Fancybox.
Tujuh Format Tampilan Dynamic View Blogger

Tujuh Format Tampilan Dynamic View Blogger

Berita bagus bagi Anda yang hobi nge-blog, khususnya yang menggunakan Blogger. Layanan blog milik raksasa Google ini, kini menyediakan 7 (tujuh) format untuk menampilkan halaman blog Anda yang mereka namai Dynamic Views. Menurut penjelasan dari Blog Resmi Google di http://googleblog.blogspot.com, Dynamic Views ini dibangun dengan teknologi terbaru di dunia web, yaitu AJAX, HTML 5 dan CSS 3, yang menjamin tampilan lebih interaktif. Jadi jika browser Anda masih menggunakan versi lama, maka halaman blog tidak akan bisa ditampilkan. Mereka juga mengklaim Dynamic Views ini mempercepat loading halaman 40%. dari template tradisional, dan dijamin lebih cepat dalam menemukan postingan lama. Dari sisi pengunjung blog juga diuntungkan karena pengunjung juga bisa memilih tampilan yang mereka inginkan dengan mudah.

Berikut deskripsi singkat mengenai 7 tampilan Dynamic Views blogger :

1. Classic (contoh klik disini)
Pada tampilan Classic ini postingan ditampilkan semua, dari postingan pertama sampai postingan terakhir, dan setiap postingan ditampilkan semua, tanpa ada embel-embel "Read More". Cocok sekali jika ingin menelusuri postingan lama dan detail postingan.

2. Flipcard (contoh klik disini)
Lebih banyak menggunakan animasi, dan hanya judul postingan yang ditampilkan, dalam format flip dan jika diklik, akan  menampilkan detail postingan. Bisa dikelompokkan berdasarkan bulan postingan, label, dan authornya.

3. Magazine (contoh klik disini)
Postingan ditampilkan mirip layout majalah, dengan hanya menampilkan judul dan sedikit detail postingan.

4. Mozaic (contoh klik disini)
Postingan ditampilkan judul dan priview detail postingan, dalam bentuk kotak-kotak yang bervariasi besarnya. Untuk menampilkan detail postingan, cukup klik kotaknya.

5. Sidebar (contoh klik disini)
Menampilkan judul postingan dalam bentuk menu, di sisi sebelah kiri, dan di sebelah kanan adalah detail postingannya.

6. Snapshot (contoh klik disini)
Dalam tampilan ini, semua gambar yang ada dipostingan ditampilkan semua.Cukup klik gambarnya, jika ingin melihat detail postingan.

7. Timeslide (contoh klik disini)
Postingan dikelompokkan menurut bulan postingan.

Tampilan Dynamic View ini tidak serta merta tampil setiap kita mengetikkan alamat blog kita. Kita harus melakukan pengaturan dahulu. Caranyanya, login dahulu ke Blogger, dan pada Dashboard pilih menu "Rancangan". Pada pilihan template pilih "Tampilan Dinamis", kemudian klik "Langsung di Blog berdasarkan Tampilan Dinamis" agar setiap pengunjung mengunjungi blog kita, dapat langsung diarahkan ke tampilan Dynamic View ini. Mudah sekali bukan, selamat mencoba.
Presentasi Organisasi Prosesor Mata Kuliah Organisasi dan Arsitektur Komputer

Presentasi Organisasi Prosesor Mata Kuliah Organisasi dan Arsitektur Komputer

Fungsi Utama CPU
Fungsi CPU adalah menjalankan program-program yang disimpan dalam memori utama dengan cara mengambil intruksi-intruksi, menguji intruksi tersebut dan menjalankanya satu demi satu. Komponen-komponen itu dihubungkan oleh sebuah bus, yaitu sekumpulan kabel-kabel paralel untuk mentransmisikan alamat (address), data, dan sinyal-sinyal kontrol. Bus dapat berada di luar CPU, yang menghubungkan CPU dengan memori dan peralatan I/O, tapi juga ada di dalam CPU.


Langkah2 CPU menjalankan Intruksi

  1. Mengambil intruksi berikutnya dari memori dan membawanya ke dalam register intruksi)
  2. Mengubah PC (Program Counter) agar menunjuk ke intruksi selanjutnya
  3. Menentukan jenis intruksi yang baru saja diambil
  4. Jika instruksi tersebut menggunakan sebuah word dalam memori, ditentukan di mana instruksi tersebut berada
  5. Mengambil word tersebut, jika diperlukan, dan membawanya ke dalam sebuah register CPU
  6. Menjalankan intruksi
  7. Kembali ke langkah 1 untuk memulai menjalankan intruksi selanjutnya
Organisasi Dasar Prosesor terdiri dari :
  1. Aritmethic Logic Unit (ALU). ALU melakukan operasi aritmatik dan logika pada operand-operand yang disimpan sementara di register. Pada beberapa prosesor, hasil operasi disimpan pada register khusus yang disebut akumulator. Tipe operasi ditentukan oleh control unit yang mengkode instruksi yang di fetch dan mengumpankan ke ALU dengan sinyal-sinyal kontrol yang sesuai. Prosesor juga dapat melakukan operasi biner presisi ganda, untuk mempercepat aplikasi tertentu. Prosesor ini biasanya merupakan prosesor slave yang dihubungkan dengan prosesor utama. Prosesor ini sering disebut dengan prosesor aritmetik.
  2. Register. Register mempertukarkan informasi melalui satu atau lebih bus-bus internal. Bus-bus internal ini memungkinkan terjadinya overlaping operasi-operasi yang dapat meningkatkan kecepatan CPU. Lebar setiap register  (yaitu jumlah bit) biasanya sama dengan bus data internal. Register yang lainnya adalah general purpose register (GPR) yang digunakan untuk menyimpan alamat dan data sementara selama operasi prosesor.
  3. Control Unit (CU). Control Unit (CU) membangkitkan urutan sinyal yang berasal dari clock. Tipe urutan sinyal tergantung pada opcode dari masukan yang diberikan dari seumber luar ke CPU. Masukan eksternal tersebut dapat merupakan permintaan interupsi pada program (interrupt request).


Lanjut mbesok, gan... filenya ternyata ndak tak bawa....


Penjumlahan dengan Menginput Angka di Assembly (Bahasa Rakitan)

Penjumlahan dengan Menginput Angka di Assembly (Bahasa Rakitan)

Di bawah ini merupakan listing program yang digunakan untuk menampilkan hasil penjumlahan 2 angka, yang angkanya diinputkan oleh pengguna, namun masih terbatas cuma hitungan ke sepuluh. Mungkin ada yang pembenahan oleh pembaca, tuliskan di komen. Cekidot :


.model small
.code
org 100h
start : jmp input
nilai1 db 'Silahkan input nilai 1 = ','$'
nilai2 db 13,10,'Silahkan input nilai 2 = ','$'
hasil  db 13,10,'Hasilnya adalah = ','$'
input:
mov ah,09h
mov dx,offset nilai1
int 21h
mov ah,01h
int 21h
mov bl,al
sub bl,30h
mov ah,09h
mov dx,offset nilai2
int 21h
mov ah,01h
int 21h
sub al,30h
add bl,al
tampil :
mov ah,09h
mov dx,offset hasil
int 21h
mov ah,02h
mov dl,bl
add dl,30h
int 21h
akhir :
int 20h
end start
Input Kalimat/Kata di Assembly, Men-tampil-kannya dan mem-balik-kannya (reserve String) Pemrograman Assembly

Input Kalimat/Kata di Assembly, Men-tampil-kannya dan mem-balik-kannya (reserve String) Pemrograman Assembly

Di bawah ini listing program dengan Bahasa Assembly (Mata Kuliah Pemrograman Bahasa Rakitan) yang digunakan untuk menampilkan strings (teks, kata, kalimat) dalam bentuk normal dan dibalik (seperti bahasa orang MALANG (NGALAM)), dimana strings (teks, kata, kalimat) yang ditampilkan, diinputkan oleh user sendiri. Let's cekidot : 

.model small
.code
org 100h
   
awal: jmp proses
kal0 db 'Masukkan Kata atau Kalimat : $'
    kal1 db 13,10,'Asli  >>  $'
    kal2 db 13,10,'Balik >>  $'
    kalx db 13,10,'$'
    kata db 40,?,40 dup (?)                                        
               
proses:            
    ;cetak string 
    mov ah,09h
    mov dx,offset kal0
    int 21h  
    ;input string 
    mov ah,0ah
    lea dx,kata
    int 21h
    
    ;cetak string 
    mov ah,09h
    mov dx,offset kal1
    int 21h
    
    ;cetak variabel string 
    mov bx,offset kata+2       
    
cetak1:
    mov dl,[bx]                    
    cmp dl,0dh                    
    je balik                    
    
mov ah,02h
    int 21h
inc bx
jmp cetak1   
   
;cetak kata dari belakang
balik:
mov ah,09h
    mov dx,offset kal2
    int 21h   
    mov ah,09h
mov dx,offset kalx            
    int 21h                     

cetak2:    
    mov dl,[bx]                    
    cmp dl,kata+1                
    je selesai                   
                     
    mov ah,02h    
    int 21h
    dec bx
    jmp cetak2

selesai:
    int 20h
    
end awal