Pages

Rabu, 31 Oktober 2012

Bahasa Rakitan 

            Hai,,,setelah mencoba membuat nama lengkap,,,aku akan mencoba menghilangkan kata int 21h di atas dan int 21h di bawah untuk lebih jelas mari kita mulai,,,,

1. Buka Notepad lalu ketikan seperti yang dibawah,,,di hapus semua int 21h kecuali yang atas sendiri,,,


          Hasilnya adalah huruf depan "R" tanpa huruf petik dua atas


 2. Buka Notepad lalu ketikan seperti yang dibawah,,,di hapus semua int 21h kecuali yang dibawah sendiri,,,


             Hasilnya adalah "I" tanpa huruf petik dua atas


          Kesimpulan sementara adalah int 21h sangat berpengaruh dalam penulisan code dan int 21h ini untuk melanjutkan code yang akan kita tulis atau menampilkan satu karakter.u
         Mungkin itu dulu artikel aku,,,
"oke deh semoga bermanfaat"

Selasa, 23 Oktober 2012

Pemrograman Bahasa Rakitan 
MATERI #3

 Menampilkan Nama Lengkap / Model Program

            Hai,,,hai,,,hai,,,setelah mempelajari pembelajaran Pemrograman Bahasa Rakitan #2,,,percobaan yang pertama membuat coding-coding,,,,Nah sekarang aku mau menampilkan nama lengkap aku nihhhh,,,,,mau tau caranya yuuuukkk mariiiii,,,,

  1. Pastikan file yang sudah di download, file-file entu yang akan menjadikan kode bahasa rakitan kita menjadi file object dan file executable.
  2. Letakan folder asm di salah satu drive komputer kamu, misalnya di drive D.
  3. Buka Notepad lalu ketikan kode berikut :




4. Simpan kode program ke dalam asm yang ada di D dengan nama kode8.asm 
5. Kita buka Command Prompt melalui : Start-> All Program-> Accessories-> Command Prompt
6. Arahkan ke folder kamu, misalkan di drive D dengan cara mengetik D: kemudian enter, lalu ketik lagi cd asm kemudian enter.
7. Langkah selanjutnya adalah meng-compile kode program kamu dengan mengetikan TASM kode8.asm kemudian enter.
8. Cek apakah ada pesan error, jika ada error coba cek kembali kode yang kamu ketikan kemudian perbaiki dan ulangi lagi compile nya.
9. Tahap selanjutnya adalah Linking yaitu merubah file object menjadi file executable dengan mengetikan TLINK /t kode8.obj kemudian enter.
10. Yang terakhir adalah mengetikan kode8 kemudian enter.


Itu dia hasilnya nama lengkap aku,,,,,
RINA TRIWULANSARI
Oke deh semoga artikel aku bermanfaat,,,

Minggu, 21 Oktober 2012


MATERI 2 
BAHASA RAKITAN  ( ASSEMBLY LANGUAGE )


             PERHATIAN-PERHATIAN artikel Pemrograman Bahasa Rakitan #2 akan segera dilanjutkan,,,,,diharapkan sudah mengerti tentang element komputer, seperti yang aku tulis di Pemrograman Bahasa Rakitan materei 1.
Untuk mempelajari Bahasa Rakitan, perlu mengenal beberapa jenis bilangan. mengapa???karena akan sangat membantu kita dalam pemrograman yang sesungguhnya. Jenis-jenis bilangan yang dipelajari adalah sebagai berikut : 

1. Bilangan Biner

    Bilangan Biner adalah bilangan ini berbasis 2, hanya mengenal angka 0 dan 1. Cara mengkonversi ke bilangan desilmal adalah dengan mengalihkan dua dengan pangkat N (suku ke-N) seperti bilangan desimal mengalihkan 9110 dengan pangkat N.
contoh :
               1001(2)=.......(10)
 1001   = (1x23) + (0x22) + (0x21) + (1x20)
            =     8    +     0     +     0     +    1
            =   910

2. Bilangan Hexadesimal 

    Bilangan Hexadesimal adalah bilangan yang berbasis 16, hexa=6 dan deca=10 (0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f).Bilangan Hexadesimal dapat di konversi ke dalam desimal dengan mengalihkan suku ke-N dengan 16N
contoh :
               E616  = (Ex161)  +  (6x160)
                        = 14(16) + 6(1)
                        = 23010

3. Bilangan Desimal
    Bilangan Desimal ini sudah tidak asing lagi, karena digunakan dalam kehidupan sehari-hari. Sistem bilangan ini terdiri dari angka 0 sampai 9 dengan menggunakan dasar 10.

Langsung aja ya,,,,Bahasa Rakitan mempunyai 4 Tipe Intruksi Dasar yaitu : 
1. Mnemonic Opcode
2. Operand 1
3. Operand 2 
4. Tempat Menyimpan (store) hasil (Komentar)

Mnemonic atau opcode adalah kode yang akan melakukan aksi terhadap operand. Opeerand adalah data yang diproses oleh opcode. Sebuah opcode bisa membutuhkan 1,2 atau lebih operand, kadang juga tidak perlu operand. Sedangkan komentar dapat diberikan dengan menggunakan tanda titik koma(;). Ini dia contoh jumlah operand yang berbeda dalam suatu assembly yaitu :

CJNE R0,#22H, Tasmi ; dibutuhkan 3 buah operand 
MOVX @DPTR, A    ; dibutuhkan 2 buah operand 
RR A     ;  1 buah operand 
    NOP     ; tidak memerlukan operand

Sebagai percobaan, ayooo mulai latihan bercoding ria...Kebutuhan yang harus ada dalam ber-assembly adalah notepad, compiler. lebih jelas download aja (http://mardziyant.wordpress.com) bahasa rakitan / assembly language #2 dosen aku okey.
Setelah download,,,,,mulai dehh langkah - langkah'ya....penulisan coding harus sesuai n teliti kalo sampai ga teliti bisa error,,, ini dia hasil'ya  "A" 


Sekian dulu artikel dari aku,,,,semoga bisa membantu heeeee,, 

 Perbedaan Compiler dengan Interpreter


               Haiiiii,,,,,,ketemu lagi deh pastinya yaaaa diblog aku ini heeee,,,,Disini aku mo bahas sedikit nih tentang Compiler dan Interpreter. Waaahhhh apa lagi tuhhhh....Mau tau lebih jelasnya.....ayoooo kita mulai,,,,,,
" Komputer adalah Benda Bodoh " itu yang sering di katakan oleh dosen'ku kenapa??? Karena komputer itu   tidak tau apa-apa, jangankan sederat kata-kata, abjad saja dia tidak mengerti. " Komputer tak dapat membaca ", ternyata eh ternyata Bahasa Tingkat Tinggi itu menggunakan kata-kata manusia. Mengapa itu bisa terjadi??? padahal komputer kan tidak mengerti abjad atau kata-kata manusia. Hal tersebut bisa terjadi karena adanya dukungan dari Compiler dengan Interpreter. 


                Apa itu  Compiler dengan Interpreter??? 

Compiler adalah program sistem yang digunakan sebagai alat bantu dalam pemrogaman. Perangkat lunak yang melakukan proses penterjemahan code (yang dibuat programmer) ke dalam bahasa mesin. Hasil dari terjemahan ini adalah bahasa mesin. Pada beberapa compiler, output berupa bahasa mesin dilaksanakan dengan proses assembler yang berbeda.
Keuntungan'ya adalah proses eksekusi dapat berjalan dengan cepat, sebab tak ada lagi proses penerjemahan. Disamping itu, program sumber bisa dirahasiakan, sebab yang dieksekusi adalah program yang sudah dalam bentuk kode mesin
Kelemahan'ya adalah proses pembuatan dan pengujian membutuhkan waktu relatif lebih lama, sebab ada waktu untuk mengkopilasi (menerjemahkan) ada pula waktu melakukan proses linking. Perlu diketahui, program akan berhasil dikompilasi hanya jika program tak mengandung kesalahn secara kaidah sama sekali. 

Sedangkan Interpreter adalah perangkat lunak yang mampu mengeksekusi code program (yang ditulis oleh programmer) lalu menterjemahkannya ke dalam bahasa mesin, sehingga mesin melakukan instruksi yang diminta oleh programmer tersebut. Perintah-perintah yang dibuat oleh programmer tersebut dieksekusi baris demi baris, sambil mengikuti logika yang terdapat di dalam kode tersebut. Proses ini sangat berbeda dengan compiler, dimana pada compiler, hasilnya sudah langsung berupa satu kesatuan perintah dalam bentuk bahasa mesin, dimana proses penterjemahan dilaksanakan sebelum program tersebut dieksekusi.
Keuntungan'ya adalah pemakaian interpreter, penyusunan program relatif lebih cepat dan bisa langsung diuji sekalipun masih ada beberapa kesalahan secara kaidah dalam program.
Kelemahan'ya menjadi lambat sebab sebelum instruksi dijalankan selaluharus diterjemahkan dulu. Selain itu, saat program dieksekusi, interpreter juga harus berada dalam memori. Jadi memori selalu digunakan baik untuk program maupuninterpreter. Disamping itu, program sumber (source code) yaitu program aslinya tidak dapat dirahasiakan.

Untuk lebih jelas lagi ini dia perbedaan Compiler dengan Interpreter adalah :
  1. Jika hendak menjalankan program hasil kompilasi dapat dilakukan tanpa butuh kode sumber. Kalau interpreter butuh kode sumber.
  2. Jika dengan kompiler, maka pembuatan kode yang bisa dijalankan mesin dilakukan dalam 2 tahap terpisah, yaitu parsing ( pembuatan kode objek ) dan linking ( penggabungan kode objek dengan library ) . Kalau interpreter tidak ada proses terpisah.
  3. JIka compiler membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Kalau interpreter tidak butuh linker untuk menggabungkan kode objek dengan berbagai macam library.
  4. Interpreter cocok untuk membuat / menguji coba modul ( sub-routine / program-program kecil ). Maka compiler agak repot karena untuk mengubah suatu modul / kode objek kecil, maka harus dilakukan proses linking / penggabungan kembali semua objek dengan library yang diperlukan.
  5. Pada kompiler bisa dilakukan optimisasi / peningkatan kualitas kode yang bisa dijalankan. Ada yang dioptimasi supaya lebih cepat, ada yang supaya lebih kecil, ada yang dioptimasi untuk sistem dengan banyak processor. Kalau interpreter susah atau bahkan tidak bisa dioptimasikan.
Itu dia perbedaan'nya,,,,naahhh sekarang madan ngerti donk apa itu Compiler dengan Interpreter....

Rabu, 17 Oktober 2012

PEMROGRAMAN BAHASA RAKITAN

MATERI 1
PEMROGRAMAN BAHASA RAKITAN
( ASSEMBLY LANGUAGE )

          Apa sihhh Pemrograman Bahasa Rakitan itu??? Sebelumnya aku pernah dengar dari kakak angkatan tapi belum mempelajari hanya sebatas mendengar. Naaahhh sekarang aku baru mau mulai mempelajarinya dan setelah aku baca artikel dari pak nahar pelan-pelan aku mulai mengetahui apa itu Bahasa Pemrograman??? Bahasa rakitan (bahasa Inggris: assembly language) adalah bahasa pemrograman komputer tingkat rendah (Low Level Language) dan setingkat diatas bahasa mesin (Machine Language). Pemrograman bahasa mesin menulis sejumlah baris number yang merepresentasikan byte instruksi mesin yang nantinya akan dieksekusi dan data konstanta yang digunakan dalam program. Pemrograman bahasa rakitan menggunakan instruksi simbolik untuk merepresentasikan data mentah yang akan dibentuk ke dalam bahasa mesin dan inisial data konstanta. Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari :
  1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner. Contohnya  01100101100110.  
  2. Bahasa Tingkat Rendah atau dikenal dengan istilah bahasa rakitan (bhs.Inggris Assembly) yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic). Contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP dsb.
  3. Bahasa Tingkat Menengah yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia dan instruksi yang bersifat simbolik. Contohnya {,} , ? 
  4. Bahasa Tingkat Tinggi yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia. Contohnya begin, if, for, while , and, or, dsb.
Sebagai permulaan disini komputer....Sistem komputer mempunyai 3 element yaitu hardware, software dan brainware. Hardware merupakan salah satu element komputer yang betul-betul riiil yaitu bisa kita lihat dan sentuh secara fisik, ada yang berbentuk bahan elektris maupun non elektris. Software itu merupakan susunan perintah yang dibuat oleh manusia kemudian ditanamkan ke dalam media penyimpanan yang nantinya akan dipindahkan ke dalam pengolah (processor) dan software berfungsi sebagai media perantara atau salah satu interface bagi brainware. Sedangkan brainware atau programmer bisa memerintahkan si hardware untuk bekerja dan menghasilkan apa yang diinginkan karena perintah-perintahnya sudah di susunkan oleh si programmer.

Kelebihan dari Bahasa Rakitan adalah :
  1. Ukuran program lebih kecil, sehingga bisa ngirit media penyimpanan
  2. Lebih dekat dengan hardware, sehingga kita bisa benar-benar memanfaatkan seluruh kemampuan komputer
  3. Bisa dibuat modular alias terpisah-pisah
  4. Memiliki fasilitas makro
Selain itu Bahasa Rakitan dapat diterapkan tidak hanya pada Personal Computer saja melainkan bisa kita gunakan sebagai program dari mikrokontroler.


Dalam pemograman assembly kita akan menemukan apa yang disebut dengan register. Register itu sendiri merupakan memori dalam mikroprosesor yang bekerja dengan kecepatan yang sangat tinggi dan jenis–jenis register itu sendiri dibagi menjadi beberapa bagian yaitu : 

       1. Segmen Register (Register 16 bit) 
Merupakan register untuk menunjukkan alamat dari suatu segmen. Yang termasuk register segmen adalah :
a. Register CS (Code Segmen) Menujukan tempat segmen yang sedang aktif. 
b. Register SS (Stack Segmen) Untuk letak segmen yang digunakan oleh Stack.  
c. Register DS (Data Segmen ) Ketempat segmen dimana data-data program disimpan.
d. Register ES (Extra Segmen) Register bonus yang tidak memiliki tugas khusus.

        2. Pointer dan Index Register (Register 16 bit) 
Digunakan sebagai penunjuk atau pointer terhadap suatu lokasi dimemory. Yang termasuk register dalam kelompok ini adalah:
a. Register SP(Stack Pointer) yang berpasangan dengan register segment SS(SS:SP)
     digunakan untuk mununjukkan alamat dari stack. 
b. Register BP(Base Pointer) yang berpasangan dengan register SS(SS:BP)
     mencatat suatu alamat di memory tempat data.
c .Register SI(Source Index) dan register DI(Destination Index) biasanya digunakan pada 
   operasi string dengan mengakses secara langsung padaalamat di memory yang ditunjukkan 
   oleh kedua  register ini.

       3. General Purpose Register (16 bit) 
Register ini dapat digunakan untuk berbagai keperluan, tetapi masing -masing juga memiliki fungsi khusus. Jenis register ini memiliki ciri khas,yaitu dapat dibagi lagi menjadi register 8 bit. Yang termasuk register general purpose adalah :
a. AX –> AH|AL (Accumulator)Untuk menangani operasi arithmatika. 
b.BX –> BH|BL (Base)Untuk menunjukkan alamat offset.
c.CX –> CH|CL (Counter)Untuk looping, menunjukkan berapa kali looping terjadi.
d.DX –> DH|DL (Data)Untuk menampung sisa pembagian bilangan 16 bit.

        4. Index Pointer Register 
Register IP berpasangan dengan CS(CS:IP) menunjukkan alamat dimemory tempat dari intruksi (perintah) selanjutnya yang akan dieksekusi. Register IP juga merupakan register 16 bit. Pada prosesor 80386 digunakan register EIP yang merupakan register32 bit.

        5. Flags Register
Flag register menujukan kondisi sari suatu kaadaan [ya atau tidak ]. Karena setiap keadaan dapat digunakan 1 bit saja ,maka sesuai dengan jumlah bitnya, flag register hanya mampumencatat sampai 16 keadaan.

Naaah sekarang dah mulai mengerti tentang Pemrograman Bahasa Rakitan.... :)
See You.....