Senin, 20 Januari 2014

SET INTRUKSI

1.     SET INTRUKSI
Set intruksi adalah sekumpulan lengkap intruksi yang dapat dimengerti oleh CPU, set intruksi sering juga disebut bahasa mesin karena aslinya juga berbentuk biner kemudian dimengerti sebagai bahasa assembly untuk dimengerti manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh manusia. Sebuah intruksi terdiri dari sebuah opcode, biasanya bersama dengan beberapa informasi tambahan seperti darimana asal operand-operand dan kemana hasil akan ditempatkan.
o  TRANSFER DATA  
Menetapkan lokasi operand sumber dan operand tujuan. Lokasi – lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack. Menetapkan panjang data yang dipindahkan dan mode pengalamatan CPU bertindak untuk melakukan transfer data adalah :
1.        Memindahkan data dari satu lokasi ke lokasi lain
2.        Apabila memori dilibatkan sebagai berikut :
o    Menetapkan alamat memori.
o    Menjalankan transformasi alat memori virtual ke alamat memori aktual.
o    Mengawali pembacaan / penulisan memori.
Operasi set instruksi untuk transfer data :
1.        MOVE digunakan untuk memindahkan word atau blok dari sumber ke tujuan.
2.        STORE digunakan untuk memindahkan word dari prosesor ke memori.
3.        LOAD digunakan untuk memindahkan word dari memori ke prosesor.
4.        EXCHANGE digunakan untuk menukar isi sumber ke tujuan.
5.        CLEAR / RESET digunakan untuk memindahkan word 0 ke tujuan.
6.        SET digunakan untuk memindahkan word 1 ke tujuan.
7.        PUSH digunakan untuk memindahkan word dari sumber ke bagian paling atas stack.
8.        POP digunakan untuk memindahkan word dari bgian paling atas sumber.



                                                                                                                               

o  ARITHMETIC
Tindakan CPU untuk melakukan operasi aritmethic adalah melakukan transfer data sebelum atau sesudah, melakukan fungsi dalam ALU, dan menset kode-kode kondisi dan flag.
Operasi set intruksi untuk arithmetic :
1.        ADD adalah  Penjumlahan
2.        SUBTRACT adalah Pengurangan
3.        MULTIPLY adalah Perkalian
4.        DIVIDE adalah Pembagian
5.        ABSOLUTE
6.        NEGATIVE
7.        DECREMENT
8.        INCREMENT
Uuntuk urutan 5 sampai 8 merupakan instruksi operand tunggal.
                                                 
o  LOGICAL    
Operasi set instruksi untuk operasi logical :
1.        AND, OR, NOT, EXOR
2.        COMPARE digunakan untuk melakukan perbandingan logika.
3.        3TEST digunakan untuk menguji kondisi tertentu.
4.        SHIFT digunakan untuk operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit.
5.        ROTATE digunakan untuk operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin.

o  CONTROL
Operasi set instruksi untuk transfer control :
1.        JUMP (cabang)            :Pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu.
2.       JUMP BERSYARAT :Menguji persyaratan tertentu dan memuat PC dengan alamat tertentu atau tidak melakukan apa tergantung dari persyaratan.
3.        JUMP SUBRUTIN     :Melompat ke alamat tertentu.
4.        RETURN                     :Mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu.
5.        EXECUTE                    :Mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruksi.
6.        SKIP                             :Menambah PC sehingga melompati instruksi berikutnya.
7.        SKIP BERSYARAT    :Melompat atau tidak melakukan apa-apa berdasarkan pada persyaratan.
8.        HALT                           :Menghentikan eksekusi program.
9.        WAIT (HOLD)            :Melanjutkan eksekusi pada saat persyaratan dipenuhi.
10.    NO OPERATION       :Tidak ada operasi yang dilakukan.

o   CONTROL SYSTEM : Hanya dapat dieksekusi ketika prosesor berada dalam keadaan khusus tertentu atau sedang mengeksekusi suatu program yang berada dalam area khusus, biasanya digunakan dalam sistem operasi.
contoh dari control system adalah: membaca atau mengubah register control.


   Teknik Pengalamatan

          Mode pengalamatan merujuk pada bagaimana pemrogram mengalamati suatu lokasi memori. Setiap mode pengalamatan memberikan fleksibilitas khusus yang sangat penting. Mode pengalamatan ini meliputi immediate addressing, direct addressing, dan indirect addressing.
Immediate Addressing
Mode pengalamatan immediate addressing sangat umum dipakai karena harga yang akan disimpan dalam memori langsung mengikuti kode operasi dalam memori. Dengan kata lain, tidak diperlukan pengambilan harga dari alamat lain untuk disimpan. Contohnya: MOV A,#20h. Dalam instruksi tersebut, akumulator akan diisi dengan harga yang langsung mengikutinya, dalam hal ini 20h. Mode ini sangatlah cepat karena harga yang dipakai langsung tersedia.
Direct Addressing
Dalam mode pengalamatan direct addressing, harga yang akan dipakai diambil langsung dalam alamat memori lain. Contohnya: MOV A,30h. Dalam instruksi ini akan dibaca data dari RAM internal dengan alamat 30h dan kemudian disimpan dalam akumulator. Mode pengalamatan ini cukup cepat, meskipun harga yang didapat tidak langsung seperti immediate, namun cukup cepat karena disimpan dalam RAM internal. Demikian pula akan lebih mudah menggunakan mode ini daripada mode immediate karena harga yang didapat bisa dari lokasi memori yang mungkin variabel.
Indirect Addressing

Mode pengalamatan indirect addressing sangat berguna karena dapat memberikan fleksibilitas tinggi dalam mengalamati suatu harga. Mode ini pula satu-satunya cara untuk mengakses 128 byte lebih dari RAM internal pada keluarga 8052. Contoh: MOV A,@R0. Dalam instruksi tersebut, 89C51 akan mengambil harga yang berada pada alamat memori yang ditunjukkan oleh isi dari R0 dan kemudian mengisikannya ke akumulator.


NOMER 2.


Penyelesaian proses pengolahan data didalam prosesor dari X = (A+BxC) / (D-ExF) adalah :
penjelasan mengenai sistem-sistem yang dipakai:


  • sistem 3 Alamat : Mempunyai bentuk umum seperti : [OPCODE][AH],[AO1],[AO2]. Terdiri dari satu alamt hasil, dan dua alamat operand, misal SUB Y,A,B Yang mempunyai arti dalam bentuk algoritmik : Y := A – B
  • sistem 2 Alamat : Mempunyai bentuk umum : [OPCODE][AH],[AO]. Terdiri dari satu alamat hasil merangkap operand, satu alamat operand, missal : SUB Y,B yang mempunyai arti dalam algoritmik : Y:= Y – B
  • sistem 1 Alamat : Mempunyai bentuk umum : [OPCODE][AO]. Terdiri dari satu alamat operand, hasil disimpan di accumulator, missal : SUB B yang mempunyai arti dalam algoritmik : AC:= AC – B


  • sistem 0 Alamat : Mempunyai bentuk umum : [OPCODE]. Terdiri dari semua alamat operand implicit, disimpan dalam bentuk stack. Operasi yang biasanya membutuhkan 2 operand, akan mengambil isi stack paling atas dan dibawahnya


·      Penyelesaian menggunakan sistem                          ·      Penyelesaiaan menggunakan system
3 Alamat                                                                    2 Alamat
MPY X,B,C                                                              MOV X,B
ADD X,X,A                                                              MPY X,C
MPY X,B,C                                                              ADD X,A
ADD X,X,A                                                              MOV Y,E
MPY Y,E,F                                                               MPY Y,F
SUB Y,D,Y                                                               SUB D,Y
DIV X,X,Y                                                                DIV X,Y
5 operator / operasi                                                    7 operator / operasi



Penyelesaian proses pengolahan data didalam prosesor dari X = (A+BxC) / (D-ExF) adalah :



·      Penyelesaian menggunakan sistem                 ·      Penyelesaian menggunakan system
1 Alamat                                                           0 Alamat 
LOAD E                                                           PUSH A
MPY F                                                             PUSH B
STOR X                                                           PUSH C
LOAD D                                                          MPY
SUB X                                                             ADD
STOR X                                                          PUSH D
LOAD B                                                          PUSH E
MPY C                                                            PUSH F
ADD A                                                            MPY
DIV X                                                              SUB
STOR X                                                           DIV
11 Operator / operasi                                       POP X
                                                                        12 Operator / operasi

Senin, 23 Desember 2013

Tugas 2 Organisasi dan Arsitektur Komputer

1.      PENGERTIAN BUS DAN SISTEM BUS
           
Bus merupakan lintasan komunikasi yang menghubungkan dua atau lebih perangkat komputer. Karakteristik penting sebuah bus adalah bahwa bus merupakan media transmisi yang dapat digunakan bersama. Sejumlah perangkat yang terhubung ke bus dan suatu sinyal yang ditransmisikan oleh salah satu perangkat ini dapat ditermia oleh salah satu perangkat yang terhubung ke bus. Bila dua buah perangkat melakukan transmisi dalam waktu yang bersamaan, maka sinyal-sinyalnya akan bertumpang tindih dan menjadi rusak. Dengan demikain, hanya sebuah perangkat saja yang akan berhasil melakukan transimi pada suatu saat tertentu.
            Umumnya sebuah bus terdiri dari sejumlah lintasan komunikasi atau saluran. Masing-masing saluran dapat mentransmisikan sinyal yang menunjukkan biner 1 dan biner 0. Serangkaian digit biner dapat ditransmisikan melalui saluran tunggal. Dengan mengumpulkan beberapa saluran dari sebuah bus, dapat digunakan mentransmisikan digit biner secra bersamaan (paralel). Misalnya sebuah satuan data 8 bit dapat ditransmisikan melalui bus delapan saluran.
            Sistem komputer terdiri dari sejumlah bus yang berlainan yang menyediakan jalan antara dua buah komponen pada bermacam-macam tingkatan hirarki sisterm komputer. Sebuah bus yang menghubungkan komponen-komponen utama komputer (CPU, memori, input/output) disebut bus sistem. Struktur interkoneksi komputer yang umum didasarkan pada penggunaan satu bus sistem atau lebih.



1.1     STRUKTUR BUS
            Sebuah bus sistem terdiri dari 50 hingga 100 saluran yang terpisah. Masing-masing saluran ditandai dengan arti dan fungsi khusus. Walaupun terdapat sejumlah rancangan bus yang berlainan, fungsi saluran bus dapat diklasifikasikan menjadi tiga kelompok, yaitu saluran data, saluran alamat, dan saluran kontrol. Selain itu, terdapat pula saluran distribusi daya yang memberikan kebutuhan daya bagi modul yang terhubung.
A. Saluran Data
            Saluran data memberikan lintasan bagi perpindahan data antara dua modul sistem. Saluran ini secara kolektif disebut bus data. Umumnya bus data terdiri dari 8, 16, 32 saluran, jumlah saluran diakitakan denang lebar bus data. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit, maka jumlah saluran menentukan jumlah bit yang dapat dipindahkan pada suatu saat. Lebar bus data merupakan faktor penting dalam menentukan kinerja sistem secara keseluruhan. Misalnya, bila bus data lebarnya 8 bit, dan setiap instruksi panjangnya 16 bit, maka CPU harus dua kali mengakses modul memori dalam setiap siklus instruksinya.

B. Saluran Alamat
            Saluran alamat digunakan untuk menandakan sumber atau tujuan data pada bus data. Misalnya, bila CPU akan membaca sebuah word data dari memori, maka CPU akan menaruh alamat word yang dimaksud pada saluran alamat. Lebar bus alamat akan menentukan kapasitas memori maksimum sistem. Selain itu, umumnya saluran alamat juga dipakai untuk mengalamati port-port input/outoput. Biasanya, bit-bit berorde lebih tinggi dipakai untuk memilih lokasi memori atau port I/O pada modul.
C. Saluran Kontrol
            Saluran kontrol digunakan untuk mengntrol akses ke saluran alamat dan penggunaan data dan saluran alamat. Karena data dan saluran alamat dipakai bersama oleh seluruh komponen, maka harus ada alat untuk mengontrol penggunaannya. Sinyal-sinyal kontrol melakukan transmisi baik perintah maupun informasi pewaktuan diantara modul-modul sistem. Sinyal-sinyal pewaktuan menunjukkan validitas data dan informasi alamat. Sinyal-sinyal perintah mespesifikasikan operasi-operasi yang akan dibentuk. Umumnya saluran kontrol meliputi : memory write, memory read, I/O write, I/O read, transfer ACK, bus request, bus grant, interrupt request, interrupt ACK, clock, reset.

1.2     JENIS BUS

            Saluran bus dapat dipisahkan menjadi dua tipe umum, yaitu dedicated dan multiplexed. Suatu saluran bus didicated secara permanen diberi sebuah fungsi atau subset fisik komponen komponen komputer.

            Sebagai contoh dedikasi fungsi adalah penggunaan alamat dedicated terpisah dan saluran data, yang merupakan suatu hal yang umum bagi bus. Namun, hal ini bukanlah hal yang penting. Misalnya, alamat dan informasi data dapat ditransmisikan melalui sejumlah salurah yang sama dengan menggunakan saluran address valid control. Pada awal pemindahan data, alamat ditempatkan pada bus dan address valid control diaktifkan. Pada saat ini, setiap modul memilki periode waktu tertentu untuk menyalin alamat dan menentukan apakah alamat tersebut merupakan modul beralamat. Kemudian alamat dihapus dari bus dan koneksi bus yang sama digunakan untuk transfer data pembacaan atau penulisan berikutnya. Metode penggunaan saluran yang sama untuk berbagai keperluan ini dikenal sebagai time multiplexing.
            Keuntungan time multiplexing adalah memerlukan saluran yang lebih sedikit, yang menghemat ruang dan biaya. Kerugiannya adalah diperlukannya rangkaian yang lebih kompleks di dalam setiap modul. Terdapat juga penurunan kinerja yang cukup besar karena event-event tertentu yang menggunakan saluran secara bersama-sama tidak dapat berfungsi secara paralel.
            Dedikasi fisik berkaitan dengan penggunaan multiple bus, yang masing-masing bus itu terhubung dengan hanya sebuah subset modul. Contoh yang umum adalah penggunaan bus I/O untuk menginterkoneksi seluruh modul I/O, kemudian bus ini dihubungkan dengan bus utama melalui sejenis modul adapter I/O. keuntungan yang utama dari dedikasi fisik adalah throughput yang tinggi, harena hanya terjadi kemacetan lalu lintas data yang kecil. Kerugiannya adalah meningkatnya ukuran dan biaya sistem.

2.      CARA KERJA ALU DIDALAM KOMPUTER
 2.1    OPERASI PADA ALU
Operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. ALU melakukan operasi aritmatika yang lainnya seperti  pengurangan, dan pembagian dilakukan dengan dasar penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi aritmatika ini disebut adder. ALU melakukan operasi aritmatika dengan dasar pertambahan, sedang operasi aritmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi arithmatika.


2.2.    TUGAS DAN FUNGSI ALU
Tugas dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika (logical operation) meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu :
 a. sama dengan (=)
 b. tidak sama dengan (<>)
 c. kurang dari (<)
 d. kurang atau sama dengan dari (<=)
 e. lebih besar dari (>)
 f. lebih besar atau sama dengan dari (>=)
            Arithmatic Logical Unit (ALU) Juga Bertugas membentuk fungsi – fungsi pengolahan data komputer. ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi – instruksi bahasa mesin yang diberikan padanya. ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing – masing memiliki spesifikasi dan tugas tersendiri. Fungsi-fungsi yang didefinisikan pada ALU adalah Add (penjumlahan), Addu (penjumlahan tidak bertanda), Sub (pengurangan), Subu (pengurangan tidak bertanda), and, or, xor, sll (shift left logical), srl (shift right logical), sra (shift right arithmetic), dan lain-lain.
Arithmetic Logical Unit (ALU) merupakan unit penalaran secara logic. ALU ini merupakan Sirkuit CPU berkecepatan tinggi yang bertugas menghitung dan membandingkan. Angka-angka dikirim dari memori ke ALU untuk dikalkulasi dan kemudian dikirim kembali ke memori. Jika CPU diasumsikan sebagai otaknya komputer, maka ada suatu alat lain di dalam CPU tersebut yang kenal dengan nama Arithmetic Logical Unit (ALU), ALU inilah yang berfikir untuk menjalankan perintah yang diberikan kepada CPU tersebut.
ALU sendiri merupakan suatu kesatuan alat yang terdiri dari berbagai komponen perangkat elektronika termasuk di dalamnya sekelompok transistor, yang dikenal dengan nama logic gate, dimana logic gate ini berfungsi untuk melaksanakan perintah dasar matematika dan operasi logika. Kumpulan susunan dari logic gate inilah yang dapat melakukan perintah perhitungan matematika yang lebih komplit seperti perintah “add” untuk menambahkan bilangan, atau “devide” atau pembagian dari suatu bilangan. Selain perintah matematika yang lebih komplit, kumpulan dari logic gate ini juga mampu untuk melaksanakan perintah yang berhubungan dengan logika, seperti hasil perbandingan dua buah bilangan.
Instruksi yang dapat dilaksanakan oleh ALU disebut dengan instruction set. Perintah yang ada pada masing-masing CPU belum tentu sama, terutama CPU yang dibuat oleh pembuat yang berbeda, katakanlah misalnya perintah yang dilaksanakan oleh CPU buatan Intel belum tentu sama dengan CPU yang dibuat oleh Sun atau perusahaan pembuat mikroprosesor lainnya. Jika perintah yang dijalankan oleh suatu CPU dengan CPU lainnya adalah sama, maka pada level inilah suatu sistem dikatakan compatible. Sehingga sebuah program atau perangkat lunak atau software yang dibuat berdasarkan perintah yang ada pada Intel tidak akan bisa dijalankan untuk semua jenis prosesor,kecuali untuk prosesor yang compatible dengannya.
Seperti halnya dalam bahasa yang digunakan oleh manusia, instruction set ini juga memiliki aturan bahasa yang bisa saja berbeda satu dengan lainnya. Bandingkanlah beda struktur bahasa Inggris dengan Indonesia, atau dengan bahasa lainnya, begitu juga dengan instruction set yang ada pada mesin, tergantung dimana lingkungan instruction set itu digunakan.

2.3     STRUKTUR DAN CARA KERJA PADA ALU
            ALU akan bekerja setelah mendapat perintah dari Control Unit yang terletak pada processor. Contorl Unit akan memberi perintah sesuai dengan komando yang tertulis(terdapat) pada register. Jika isi register memberi perintah untuk melakukan proses penjumlahan, maka PC akan menyuruh ALU untuk melakukan proses penjumlahan. Selain perintah, register pun berisikan operand-operand. Setelah proses ALU selesai, hasil yang terbentuk adalah sebuah register yang berisi hasil atau suatuperintah lainnya. Selain register, ALU pun mengeluarkan suatu flag yang berfungsi untuk memberi tahu kepada kita tentang kondisi suatu processor seperti apakah processor mengalami overflow atau tidak.
            ALU (Arithmethic and Control Unit) adalah bagian dari CPU yang bertanggung jawab dalam proses komputasi dan proses logika. Semua komponen pada CPU bekerja untuk memberikan asupan kepada ALU sehingga bisa dikatakan bahwa ALU adalah inti dari sebuah CPU. Perhitungan pada ALU adalah bentuk bilangan integer yang direpresentasikan dengan bilangan biner. Namun, untuk saat ini, ALU dapat mengerjakan bilangan floating point atau bilangan berkoma, tentu saja dipresentasikan dengan bentuk bilangan biner. ALU mendapatkan data (operand, operator, dan instruksi) yang akan disimpan dalam register. Kemudian data tersebut diolah dengan aturan dan sistem tertentu berdasarkan perintah control unit. Setelah proses ALU dikerjakan, output akan disimpan dalam register yang dapat berupa sebuah data atau sebuah instruksi. Selain itu, bentuk output yang dihasilkan oleh ALU berupa flag signal. Flag signal ini adalah penanda status dari sebuah CPU. Bilangan Ineger Bilangan integer (bulat) tidak dikena oleh komputer dengan basis 10. Agar komputer mengenal bilangan integer, maka para ahli komputer mengkonversi basis 10 menjadi basis 2. Seperti kita ketahui, bahwa bilangan berbasis 2 hanya terdiri atas 1 dan 0. Angka 1 dan 0 melambangkan bahwa 1 menyatakan adanya arus listrik dan 0 tidak ada arus listrik. Namun, untuk bilangan negatif, computer tidak mengenal simbol (-). Komputer hanya mengenal simbol 1 dan 0. Untuk mengenali bilangan negatif, maka digunakan suatu metode yang disebut dengan Sign Magnitude Representation. Metode ini menggunakan simbol 1 pada bagian paling kiri (most significant) bit. Jika terdapat angka 18 = (00010010)b, maka -18 adalah (10010010)b. Akan tetapi, penggunaan sign-magnitude memiliki 2 kelemahan. Yang pertama adalah terdaptnya -0 pada sign magnitude[0=(00000000)b; -0=(10000000)b]. Seperti kita ketahui, angka 0 tidak memiliki nilai negatif sehingga secara logika, sign-magnitude tidak dapat melakukan perhitungan aritmatika secara matematis. Yang kedua adalah, tidak adanya alat atau software satupun yang dapat mendeteksi suatu bit bernilai satu atau nol karena sangat sulit untuk membuat alat seperti itu. Oleh karena itu, penggunaan sign magnitude pada bilangan negatif tidak digunakan, akan tetapi diganti dengan metode 2′s complement. Metode 2′s complement adalah metode yang digunakan untuk merepresentasikan bilangan negatif pada komputer. Cara yang digunakan adalah dengan nilai terbesar dari biner dikurangin dengan nilai yang ingin dicari negatifnya. Contohnya ketika ingin mencari nilai -18, maka lakukan cara berikut:
      1. ubah angka 18 menjadi biner (00010010)b
      2.  karena biner tersebut terdiri dari 8 bit, maka nilai maksimumnya adalah 11111111
      3.  kurangkan nilai maksimum dengan biner 18 -> 11111111 – 00010010 = 11101101
                 4. kemudian, dengna sentuhan terakhir, kita tambahkan satu -> 11101101 + 00000001 = 11101110

Dengan metode 2′s complement, kedua masalah pada sign magnitude dapat diselesaikan dan komputer dapat menjalankan. Namun, pada 2′s complement, nilai -128 pada biner 8 bit tidak ditemukan karena akan terjadi irelevansi.

2.4     RINGKASAN
            Arithmetic And Logic Unit adalah salah satu bagian dalam dari sebuah mikroprosesor yang berfungsi untuk melakukan operasi hitungan aritmatika dan logika. ALU bekerja sama dengan memori, dimana hasil dari perhitungan di dalam ALU di simpan ke dalam memori. Perhitungan dalam ALU menggunakan kode biner, yang merepresentasikan instruksi yang akan dieksekusi (opcode) dan data yang diolah (operand). ALU biasanya menggunakan sistem bilangan biner (two’s complement). ALU mendapat data dari register. Kemudian data tersebut diproses dan hasilnya akan disimpan dalam register tersendiri yaitu ALU. ALU melakukan operasi arithmatika dengan dasar pertambahan, sedang operasi arithmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi arithmatika ini disebut adder. tugas utama dari ALU (Arithmetic And Logic Unit) adalah melakukan semua perhitungan aritmatika atau matematika yang terjadi sesuai dengan instruksi program.