Senin, 10 Oktober 2011

UTS PRAKTEK PBR

PEMROGRAMAN BAHASA RAKITAN
Dosen : Nahar Mardiyantoro,M.Kom

1.  Menampilkan karakter beratribut M-A dengan foreground merah background hitam :

.model small
.code
org 100h
mulai:
        mov ah,09h
        mov bl,00000100b
        mov cx,13
lagi:
    int 10h
    inc bl

    mov ah,02h
    mov dl,'M'
    mov cx,13
ulang:
           inc bl
           int 21h
           dec dl
           loop ulang
           int 20h
end mulai

hasil dari coding di atas adalah seperti gambar dibawah ini :
Mov ah,09 h berfungsi untuk perintah memasukan , dengan alamat 00000100b akan dimasukan ke bl karakter sebanyak 13 dengan warna merah  mov bl,00000100b berfungsi merubah huruf menjadi berwarna merah sedangkan mov cx,13 berfungsi untuk melakukan looping dalam hal ini huruf yang diminta adalah M-A atau A-M = 13 huruf.

Mov ah, 02h merupakan perintah untuk mengcopy atau pindahkan sedangkan mov dl merupakan perintah yang harus berisi bilangan hexa dari karakter ascii yang akan dicetak sehingga digunakan mov dl,'M'.

inc bl berfungsi menambahkan satu karakter sedangkan dec dl mengurangi satu karakter loop ulang maka akan dilakukan perintah looping atau ulangi sebanyak satu karakter dari A sampai M karena dibelakukan decrement atau pengurangan maka akan ditampilkan (int 21h) huruf tercetak dari belakang M-A.
Dengan flowchart :





2. Menampilkan kalimat jika menemukan huruf tertentu maka pencetakan selesai dengan flowchart berikut dan diimplementasikan dalam coding maka :

.model small
.code
org 100h
mulai :
            jmp ulang
            vkal db 'UTS PBR STMIK WUP$'
ulang :
            mov dl, vkal[bx]
            mov ah, 02h
            int 21h
            inc bx
            mov ax, bx
            cmp ax,10
            je exit
            jmp ulang

            exit : int 20h

end mulai

jmp ulang merupakan perintah lompat, mov dl,vkal [bx] maka dengan alamat vkal[bx] akan dimasukan ke dl. mov ah 02h berpasangan dengan perintah int 21h merupakan perintah untuk menampilkan . inc bx  artinya menambah 1 karakter yang ada didalam bx. mov ax, secara khusus register AX digunakan pada operasi aritmatika dalam operasi pembagian dan pengurangan sedangkan bx biasanya digunakan untuk menunjukan suatu alamat offset dari suatu segmen. cmp ax,10 adalah peerintah membandingkan (compare) dengan 10 karakter yang diminta yaitu jika bertemu dengan huruf M maka berhenti mencetak. jika benar maka keluar (je exit) jika masih belum menemukan lompat / looping ke ulang ( jmp ulang ) exit / keluar dan cetak (int 20h). Hasil dari perintah diatas adalah bila kita tuliskan "UTS PBR STMIK WUP" maka ketika bertemu dengan huruf M perintah cetak terhenti sehingga yang tercetak adalah "UTS PBR ST" seperti gambar berikut :

alhamdulillah.... semoga berkenan...



UTS TEORI PBR

UTS SMT III PEMROGRAMAN BAHASA RAKITAN 
Dosen : Nahar Mardiyantoro,M.Kom

Teori
1. Tahapan dalam mendevelop sebuah sorftware menggunakan   bahasa assembley :
    1) Coding (membuat coding)
   2) Compare (bandingkan)
   3) Link (linking merubah file obj)
   4) Run (jalankan)
    * Langkah pertama lakukan pengcodingan/ buat coding menggunakan notepad. dalam membuat coding ada beberapa ketentuan karena kita menjalankan program assembley menggunakan DOS (Disk Operating System) dimana dalam DOS function service terdapat beberapa pasangan untuk mengerjakan beberapa intruksi , sedangkan DOS memiliki banyak fungction service sehingga dibutuhkan servis untuk menampilkan perintah. Simpan dalam file asm .
     * Langkah kedua lakukan compare yaitu membandingkan antara coding yang kita buat dalam notepad dengan turbo assembler. Tentunya  kita harus memiliki file asm yang terdiri dari RTM.EXE,TASM.EXE, TASM.HLP, TLINK.CFG dan TLINK.EXE ini merupakan syarat agar kita dapat menjalankan turbo assembler.
     * Langkah ketiga linking, yaitu  merubah file objek kedalam bahasa mesin dengan syarat memanggil tLink/t nama file objek.obj 
     * langkah keempat jalankan program turbo assembler dengan perintah Run ==>nama file.com

2. Perbedaan yang dihasilkan apabila kita melakukan linking terhadap sebuah file OBJ menggunakan parameter  /t dan tanpa /t dapat dilihat pada gambar berikut :

dari hasil diatas dapat ditarik kesimpulan  sebagai syarat memanggil file objek jika menggunakan parameter /t maka hasil akan sesuai sedangkan bila tidak menggunakan parameter /t pada tLink hasil tetap sama namun ada peringatan atau warning : No Stack

3. Contoh program yang didalamnya berisikan perulangan 
.model small
.code
org 100h
mulai:

      mov ah,02h
      mov dl,65
      mov cx,13
ulang:
      int 21h
      inc dl
      loop ulang

int 20h

end mulai

Coding diatas merupakan perintah memunculkan abjad dari A -M .sebanyak 13 huruf maka digunakan mov cx 13 dimana register cx digunakan secara khusus untuk operasi looping  yangmana register ini menentukan berapa banyaknya looping yang akan terjadi.   Bila program dijalankan menggunakan turbo assembler maka hasilnya seperti gambar berikut, atau bisa juga  untuk contoh perintah perulangan menggunakan jawaban soal nomor 4  dibawah ini :


4. Pada program berikut terdapat ketidak sesuaian pada salah satu penggunaan registernya :
.model small
.code
org 100h
mulai:
      mov ah,02h
      mov dl,'B'
      mov cx,8
lagi:
      int 21h
     inc al     
     inc cx
      loop lagi
int 20h
end mulai

bila program dijalankan maka hasilnya seperti gambar berikut :
disini muncul ketidak sesuai dengan munculnya huruf B yang tidak terbatas sedangkan suatu register memiliki batasan karakter bila register yang dipakai sudah sesuai untuk membatasi karakter hanya perlu menambahkan tanda $ namun pada kasus diatas yang tidak sesuai adalah inc cx dimana register cx ini berfungsi untuk melakukan perintah looping yang sudah diminta untuk mengulang sebanyak 8 kali pada mov cx,8. yang benar adalah :

.model small
.code
org 100h
mulai:
      mov ah,02h
      mov dl,'B'
      mov cx,8
lagi:
      int 21h
     inc al     
     loop lagi
int 20h
end mulai

sehingga hasilnya sesuai yang diminta yaitu mengulang cetak huruf B sebanyak 8 kali seperti gambar berikut :




Demikian, semoga bermanfaat serta membawa kesuksesan dan keberuntungan.....amiin..

Jumat, 30 September 2011

SINGGLE VARIABEL DAN ARRAY VARIABEL
Dosen : Nahar Mardiyantoro,M.Kom

Singgle Variable merupakan suatu variabel yang hanya dapat menyimpan satu data

contoh : Vkal DB 'HALO'
             Vkal,'Hi'
maka yang akan ditampilkan adalah Hi

Array Variabel  adalah sebuah tempat penyimpanan data dimana salah satu variabel hilang atau diseplit

Contoh:
    .model small
    .code
    org 100h
    Mulai :
        vkal DB 'HALO'

    Proses:
        mov DL, vkal[1]
        mov ah, 02h
        int 21h
        int 20h
    end mulai


Jika coding diatas dipraktekan atau dipanggil menggunakan asm  pada cmd prompt maka akan muncul satu karakter saja hal ini karena pada mov DL,vkal[1] yang diminta untuk ditampilkan adalah vkal 1dimana vkal 1 berisi huruf A, karena dalam array karakter dihitung mulai dari 0 sedangkan pada contoh diatas kata HALO terdiri dari 4 karakter dimana H=vkal0, A=vkal1,L=vkal2,O=vkal3 jadi jika mov DL,vkal yang kita panggil [4] atau lebih maka yang ditampilkan kosong, karena melebihi array variabel yaitu 4 sedangkan dalam contoh diatas array variabel hanya sampai 3 sehingga prosessor membaca Out of Range atau Out of Character.Berikut contoh coding diatas bila dipraktekan menggunakan cmd propmt :


Berikut adalah sebuah flowchart untuk menampilkan kalimat yang jika bertemu huruf  "S" maka berhenti  men cari seperti pada contoh kalimat "MY NAME IS SALJU" melalui perulangan sehingga nantinya yang ditampilkan adalah "MY NAME I"
 

bila flowchart diatas dideklarasikan dalam coding maka :
.model small
.code
org 100h
mulai:
    jmp ulang
    vkal db 'MY NAME IS SALJU$'
ulang:
    mov dl, vkal[BX]
    mov ah,02h
    int 21h
    inc bx
    mov ax, bx
    cmp ax, 9
    je exit 
    jmp ulang
    exit: int 20h

end mulai
====================================================
buat menggunakan Notepad dan simpan file dengan nama array2 .asm pilih type all document
dan ketika program dijalankan jika menemui huruf S maka akan berhenti jika tidak maka looping ke atas  seperti gambar berikut :

jalankan menggunakan klik Start, Run dengan program ASM di DOS. Arahkan ke folder program asm (cd ..) kemudian  ketik tasm array2.asm (file asm) lalu ketik tlink/t array2.obj langkah terakhir pannggil dengan cara ketik array2.com maka akan tampil hanya huruf "MY NAME I " dari kalimat "MY NAME IS SALJU$"


Demikian semoga dapat diterima dan bermanfaat..amiin..

Minggu, 18 September 2011

BAHASA RAKITAN : PERINTAH STRING JUMP DAN COMPARE PADA ASSEMBLER

Dosen : Nahar Mardiyantoro,M.Kom

Dalam menyusun sebuah program atau procedure dalam bahasa rakitan dibutuhkan instruksi-instruksi . Instruksi atau perintah pada  mikro kumputer disusun dalam bentuk singkatan kata yang disebut dengan Mnemonic, yang disusun dalam kelompok tertentu dimana tiap kelompok memiliki pasangannya sendiri dan tidak dapat kita pisahkan semau kita. Berikut salah satu perintah yang menggunakan instruksi string yaitu compare dan mempraktekannya menggunakan turbo asembler seperti postingan saya yang lalu , jadi  masih ingat tentunya syarat apa yang dibutuhkan untuk menjalankan turbo asembler kan  ?
ok...langsung saja kita praktekan  contoh berikut :

.model small
.code
org 100h
Mulai :
    jmp proses
    bila db 5
    kal1 db 'sama$'
    kal2 db 'lebih kecil$'
    kal3 db 'lebih besar$'
       
Proses:
    mov al,bila
    cmp al,5
    je sama
    ja kecil
    jb besar
   
sama :  mov ah,09h
    lea dx, kal1
    int 21h
    int 20h

kecil : mov ah,09h
    lea dx, kal2
    int 21h
    int 20h

besar : mov ah,09h
    lea dx, kal3
    int 21h

    int 20h
End mulai

bila coding diatas kita praktekan maka akan ditampilkan "sama" seperti pada gambar berikut :
mengapa ? karena pada coding bila db 5 dan cmp al, 5 yang artinya apabila kedua bilangan tersebut dibandingkan / compare (cmp al) berarti sama
Lain lagi bila pada koding cmp al,5  kita ganti bilangannya menjadi 7 ( bilangan yang lebih besar dari bilangan a lihat pada bila db 5) maka jika dipraktekan hasil yang ditampilkan adalah "lebih besar" demikian juga bila kita masukan bilangan yang lebih kecil dari 5 maka yang ditampilkan adalah "lebih kecil". seperti pada gambar berikut :
jmp atau jump merupakan perintah lompat yang pada pascal dikenal dengan go to merupakan perintah kondisional karena tidak memerlukan syarat untuk melaksanakannya. sedangkan cmp = compare atau bandingkan , je = jump equal jika perintah yang digunakan hanya dua pembanding misal sama dan beda maka digunakan jne = jump not equal (lompat jika tidak sama maka...) sedangkan pada contoh diatas
pembanding yang digunakan ada 3 macam yaitu sama, lebih kecil dan lebih besar maka digunkan je (jump equal = lompat jika sama), ja (jump above = lompat ke atas) dan jb (jump bellow= lompat ke bawah).

oya hampir lupa diatas ada tanda '$' ternyata itu berfungsi untuk membatasi karakter karena jika tanda $ dihapus yang terjadi adalah munculnya karakter yang sangat banyak atau tidak terbatas. sedangkan kapasitas terbatas .


mov al bila berarti kerjakan al berisi bila sedangkan bila=5 ( bilangan a)
cmp al, 7  = bandingkan isi dari al  yaitu  5 banding 7

Lea = Load Effective Address berfungsi mentransfer opsan sumber 16 bit dalam memori ke tujuan 16 bit. lea dx, kal1 berarti dengan alamat kal1 akan dimasukan ke dx.

int 21h merupakan nomor interupsi dimana nama interupsi tersebut adalah DOS function services ,interupsi yang berarti menampilkan data agar dapat dibaca dan int 20h merupakan perintah cetak

jangan lupa untuk menutup coding dengan end mulai.

huffff.....masih banyak lagi nich yang harus dipostkan....hmmm...  semoga bermanfaat dech.. cU..

Minggu, 28 Agustus 2011

STATISTIK - UKURAN PEMUSATAN

TUGAS STATISTIK : UKURAN PEMUSATAN DATA
Dosen : Nahar Mardiantoro,M.Kom

Rohmatun Yuliani_SIA201029

Ukuran Pemusatan merupakan nilai tunggal yang memusat dan mewakili suatu kumpulan data untuk memperlihatkan karakteristik data.

Definisi dan Jenis Pemusatan meliputi :
- Rata-rata / Mean ( merupakan nilai yang berada di tengah data terurut)
Jenis Rata-rata :
* Rata-rata Hitung (arithmatic mean)
* Rata-rata tertimbang
* Rata-rata geometric


1. Menghitung Data Berkelompok menggunakan Mean berikut merupakan sebuah data berkelompok mengenai menghitung lama kerja / masa bakti karyawan :



menggunakan rumus :


=   jumlah fi dan xi = fx yaitu 56
=  jumlah fi = 20
jadi x = 56 : 20 
x = 2,8 jadi rata- rata ( mean ) lama kerja karyawan 
= 2,8 th

2.  Menghitung data tunggal :
2,4,6,8,10,12,14,16,18,20    n =....
maka kita hitung jumlah data yang ada yaitu 10 jadi n = 10

3.  Menghitung data yang mempunyai bobot menggunakan mean
tertimbang seperti pada tabel berikut :



 4. Rataan Geometrik adalah rata- rata yang digunakan untuk 
menghitung rata-rata laju pertumbuhan seperti pada tabel berikut
 menghitung rata-rata laju pertumbuhan jumlah rombel per tahun

 













Log G = log 6 + log 7+ log 8 + log 10 + log1
                                      5


            =  0,77 + 0,84 + 1 + 1,079 + 2,04
                                      5


            = 5,729

                   5


Log G =  1,1458

            = antilog 1,1458
            = 0,059


Sehingga diperoleh rata-rata laju pertumbuhan dari data tersebut diatas sebesar 0,059.

demikian semoga bermanfaat...

Minggu, 14 Agustus 2011

Pengantar Bahasa Rakitan : Menampilkan Huruf Ganjil dengan Asembley

Pada posting sebelumnya telah saya sampaikan tentang membuat nama menggunakan asembley , dimana kita menggunakan code Ascii untuk menampilkan serangkaian huruf menjadi nama kita . sekarang masih menggunakan fasilitas command prompt kembali bermain dengan DOS. Kita coba buat urutan abjad yang berjumlah 26 huruf , kita ambil yang ganjil saja ,agar bisa ditampilkan dalam command prompt masih menggunakan Turbo Asember seperti contoh berikut :

.model small
.code
org 100h
mulai:

mov ah,02h
mov dl,65
mov cx,13
ulang:
int 21h
inc dl
inc dl
loop ulang

int 20h
end mulai

Tentunya juga kita harus memiliki file asm RTM.EXE,TASM.EXE, TASM.HLP, TLINK.CFG
dan TLINK.EXE dan masih menggunakan 4 langkah yang sama untuk membuat program sembley yaitu coding, compaile, link dan run . Sebelumnya sekedar mengingatkan cara masuk ke command prompt, dari awal kita klik start untuk pengguna windows xp tinggal klik Run dan untuk pengguna Windows 7 ketikan Run pada serching kemudian ketikan cmd maka kita telah masuk ke command prompt seperti gambar 1 dan 2 berikut
















Ketika baru masuk command prompt tentu kita belum bisa langsung masuk ke program asm namun terlebih dahulu masuk ke directori dimana kita menyimpan folder asm . Lakukan change directory contoh :
pada c:\ d: (enter)
pada d:\cd asm (enter)
seperti pada gambar berikut :















Setelah berada dalam directory asm : laksanakan langkah ke2:
- ketik tasm nama file.asm
- ketik tlink/t nama file.obj
- ketik nama file.com
maka ketika kita jalankan program diatas akan muncul hasil abjad secara urut ganjil : ACEGIKMOQSUWY seperti ditampilkan gambar berikut :














Pada DOS (Disk Operating System) untuk mengerjakan beberapa intruksi maka digunakan pasangan, sedangkan dos memiliki banyak fungction service sehingga dibutuhkan servis untuk menampilkan perintah. seperti perintah mov ah,02 artinya dibutuhkan pasangan servis untuk mencetak atau menampilkan satu karakter dimana pasangannya adalah mov dl, 65 karena huruf yang diambil diawali dari huruf A yang memiliki kode ascii 65. Sedangkan mov cx,13 adalah perintah berulang yang berfungsi untuk menampilkan data secara berulang.

Karena jumlah huruf keseluruhan ada 26 sedangkan yang ingin ditampilkan hanya yang ganjil berarti kita butuh perulangan sebanyak separuh dari 26 yaitu 13
huruf . Perintah ulang sudah jelas berarti perulangan sedangkan int 21h adalah nomor interupsi dimana nama interupsi tersebut adalah DOS function services ,interupsi yang berarti menampilkan data agar dapat dibaca , inc dl atau incremen dl artinya membuat penambahan sebanyak satu kali sehingga abjad yang dibaca akan melompat satu kali sedangkan dalam program yang saya tampilkan perintah inc dl saya tampilkan 2 kali secara berurutan berarti abjad yang dibaca akan ditambah dan melompat sebanyak 2 kali karena abjad yang diambil tidak urut melainkan hanya yang ganjil saja yaitu ACEGIKMOQSUWY
.

Anda dapat mencoba dengan cara lain atau mencoba merubah salah satu coding diatas ,karena tidak menutup kemungkinan adanya cara yang berbeda yang dapat digunakan untuk menampilkan hal yang serupa

Oke bos selamat mencoba ....terimakasih....

Minggu, 07 Agustus 2011

Pengantar Bahasa Rakitan : Membuat Nama dengan Asembley

Berikut saya postingkan cara membuat tulisan atau nama dengan menggunakan command prompt yang cukup sederhana.

1. Langkah pertama buatlah tampilan berikut dengan menggunakan NotePad
. model small
. code org 100h
mulai :
mov ah,02h
mov dl 2
int 21h

int 20h

end mulai

ketika kita simpan syntak diatas kemudian run atau jalankan maka yang muncul huruf a. Artinya jika kita ganti mov dl,2 dengan menggunakan kode Ascii sesuai huruf yang kita kehendaki maka yang muncul mungkin akan berbeda. Lalu gimana jika kita ingin bikin sesuai nama kita misalnya . Ok kita coba bikin nama saya Rohmatun Yuliani caranya :

.model small

.code org 100h

mulai :
mov ah,02h
mov dl,82
int 21h
mov ah,02h
mov dl,111
int 21h

mov ah,02h
mov dl,104
int 21h

mov ah,02h
mov dl,109
int 21h
mov ah,02h
mov dl,97
int 21h
mov ah,02h

mov dl,116

int 21h
mov ah,02h
mov dl,117
int 21h
mov ah,02h
mov dl,110
int 21h
mov ah,02h

mov dl,32

int 21h
mov ah,02h
mov dl,89
int 21h
mov ah,02h
mov dl,117
int 21h
mov ah,02h
mov dl,108
int 21h
mov ah,02h
mov dl,105
int 21h
mov ah,02h

mov dl,97

int 21h

mov ah,02h

mov dl,110
int 21h

mov ah,02h

mov dl,105
int 21h
int 20h

end mulai


simpan data diatas gunakan latihan.asm . Jangan lupa simpan dalam folder asm yang didalamnya sudah terdapat 5 file asm agar program dapat dijalankan.
file asm tersebut terdiri dari :
TLINK.EXE
RTM.EXE
TASM.HLP
TLINK.CFG
TASM.EXE
simpan dalam satu folder asm jangan lupa pula untuk selalu memunculkan int 21h karena merupakan perintah intrupsi untuk memunculkan kode ascii yang kita ketikan menjadi bahasa yang bisa kita baca jadi coding mov dl,105 tidak akan muncul huruf i jika dibawahnya tidak dicantumkan code int 21h sama halnya jika kita tidak mencantumkan mov ah,02h juga terjadi eror.

Untuk menjalankan program command prompt dalam dos perhatikan 4 langkah yang harus dijalankan :

1. coding (buat coding seperti diatas)
2. compare dengan mengetikan tasm (nama filenya)latihan.asm (enter)
3. Link (merubah file obj ke dalam bahasa mesin dengan syarat memanggil :
tlink/t (nama file)latihan.obj (enter)
4. Jalankan perintah (Run)ketikan latihan.com (enter) maka nama yang diketikan dalam bahasa mesin akan tampil dalam bahasa manusia seperti contoh berikut :