• Tidak ada hasil yang ditemukan

Prosedur Komputasi Bertingkat Metris Unt

N/A
N/A
Protected

Academic year: 2018

Membagikan "Prosedur Komputasi Bertingkat Metris Unt"

Copied!
5
0
0

Teks penuh

(1)

Prosedur Komputasi Bertingkat Metris Untuk Pemrograman

Perkalian Pada Sistem Mikroprosesor

Stephanus Ivan Goenawan

1

, dan Ferry Rippun

2

1,2

UNIKA AtmaJaya Jakarta,

steph.goenawan@atmajaya.ac.id, ferry.rippun@atmajaya.ac.id,

Abstrak — Pemanfaatan metode komputasi bertingkat (nested computation) Metris pada bidang pemrograman aritmetika khususnya perkalian masih sangat baru. Dalam metode komputasi bertingkat Metris ini akan diperkenalkan suatu fungsi baru yaitu fungsi pagar Metris. Basis bilangan yang bekerja pada perhitungan menggunakan Metris ini tidak hanya bilangan desimal namun juga dapat bilangan biner, oktadesimal maupun hexadesimal. Sehingga nantinya dalam penelitian selanjutnya dapat dimanfaatkan sebagai metode pemrograman pada sistem mikroprosesor.

Kata kunci — Metris, nested computation, notasi pagar.

I. LATAR BELAKANG

Saat ini proses perhitungan perkalian, secara umum, masih menggunakan konsep konvensional. Konsep konvensional dalam perhitungan perkalian yang dimaksud adalah proses perhitungannya dilakukan secara bertahap dan disusun vertikal. Misalnya proses hitung bilangan puluhan dengan puluhan adalah angka satuan pada bilangan pertama dikalikan dengan satuan dan puluhan pada bilangan kedua. Selanjutnya dijumlahkan dengan perkalian angka puluhan pada bilangan pertama dengan angka satuan dan puluhan pada bilangna kedua. Bila dicermati maka hasil akhir yang diperoleh harus melalui proses perhitungan bertahap serta diselesaikan secara serial.

Tentu saja, proses perhitungan konvensional tersebut juga mempengaruhi cara pembuatan algoritma dalam membuat program perhitungan pada alat hitung termasuk pada komputer. Salah satu faktor yang terpenting dalam pembuatan program hitung adalah kecepatan dalam melakukan eksekusinya. Aplikasi untuk perhitungan perkalian sangat berguna pada perhitungan komputasi seperti deret taylor untuk menghasilkan fungsi-fungsi lain dalam matematika, seperti fungsi sinus, cosinus, logaritma dll.

Dengan telah ditemukannya proses perhitungan perkalian yang baru dengan menggunakan metode horisontal (Metris), maka proses perhitungan perkalian mampu lebih efektif karena adanya notasi pagar metris dibandingkan menggunakan konsep perkalian vertikal. Kal ini dikarenakan dengan menggunakan notasi pagar metris ini nilai tempat suatu angka yang semestinya mampu dikelompokkan dengan tepat sehingga perhitungan perkalian menjadi lebih efektif. Selain itu proses perhitungannya dengan menggunakan notasi pagar metris juga mampu membagi perhitungan bilangan dalam nilai tempat (satuan, puluhan, ratusan dll) yang berbeda secara signifikan, sehingga perhitungan dalam tiap nilai tempat

yang berbeda tersebut dapat dilakukan secara serentak. Oleh karena itu proses perhitungan perkalian dengan menggunakan metris nantinya dapat dilakukan secara paralel (parallel multiplication) menggunakan beberapa mikro-prosesor secara bersamaan.

II. Metode Horisontal (METRIS)

METODE HORISONTAL, yang disingkat sebagai

METRIS mempunyai cara yang unik dalam proses

perhitungan aritmatika dasar seperti penjumlahan, pengurangan, perkalian dan pembagian. Metode Horisontal merupakan metode perhitungan di mana proses penyelesaian dilakukan secara mendatar (horisontal) dari arah kanan menuju ke kiri.

A. Notasi Pagar

Notasi adalah representasi dari ide, konsep atau abstraksi yang lain sehingga mempunyai arti (meaning) yang akurat. Matematika memerlukan keakuratan (preciseness) sehingga selalu menggunakan notasi dalam mengembangkan suatu ide atau konsep baru. Dengan notasi yang jelas, kita dapat membangun proses pembuktian formal dengan mudah.

Agar Metode Horisontal atau METRIS dapat dikembangkan konsepnya dengan akurat[3], maka diperkenalkan Notasi Pagar, disimbolkan menggunakan notasi ”|” untuk merepresentasikan Konsep Asosiasi Posisi.

B. ATURAN NOTASI PAGAR

1. Notasi pagar Metris |,||,... : ”kotak” yang berisi tepat 1,2,... angka, bila lebih sisanya dipindah ke “kotak” sebelah kiri dan dijumlahkan.

Contoh:

3|45 = 3+4|5 = 7|5 = 75

52||1324 = 52+13||24 = 65||24 = 674

2. Notasi pagar Metris |,||,... : ”kotak” yang berisi tepat 1,2,... angka, bila kurang tambahkan nol dalam “kotak” tersebut tanpa mengubah nilai.

Contoh: 52||4 = 52||04 = 5204

C. Perkalian Metris Dua Digit

Metode Horisontal menyelesaikan operasi aritmatika adalah dengan menggunakan PORTAL (Pola Horisontal), kemudian menerapkan ATURAN NOTASI PAGAR untuk mendapatkan hasil perhitungannya.

PORTAL (Pola Horisontal) untuk Perkalian Dua Digit adalah sebagai berikut [1]:

d b c b d a c a cd

ab  

|

  

|

(2)

a. Tahap1: Terapkan Pola Horisontal untuk Perkalian Dua

b.Tahap 2: Gunakan aturan notasi pagar untuk mendapatkan hasil akhirnya. Bandingkan dengan cara perkalian Konvensional/Vertikal yang telah dipelajari sejak sekolah dasar.

D. Perkalian Metris Tiga Digit atau Lebih

Untuk menghitung perkalian Tiga Digit atau Lebih, dapat digunakan pendekatan perhitungan bertingkat dengan Portal Perkalian untuk Dua Digit. Hal ini berarti proses perhitungan untuk perkalian dua digit dapat dimanfaatkan lagi untuk menghitung soal-soal perkalian tiga digit atau lebih. Oleh karena itu, cara ini disebut pendekatan perhitungan perkalian bertingkat Metris (The Metris Nested Computation).

E. KOMPUTASI BERTINGKAT METRIS

Untuk menghitung perkalian 3×3 variabel atau Lebih, dapat digunakan pendekatan perhitungan bertingkat (nested computation) dengan Portal Perkalian untuk 2×2 variabel. Hal ini berarti proses perhitungan untuk perkalian dua digit dapat dimanfaatkan lagi untuk menghitung soal-soal perkalian tiga digit atau lebih.

Contoh Perhitungan: 1. Perkalian 671 × 546 hasil di atas sebagai berikut:

366366 digunakan Portal Perkalian Dua Digit lagi. Alternatif lain perhitungan dapat dilihat pada contoh selanjutnya.

2. Perkalian 671 ×546 Penyelesaian: memanfaatkan hasil di atas sebagai berikut:

366366

Portal Perkalian Dua Digit dapat digunakan karena bilangan 71 dan 46 dianggap sebagai satu kesatuan. Hati-hati dalam penulisan Notasi Pagarnya, di sini harus dituliskan ganda sebab angka puluhan yang berada di kanan Notasi Pagar. Selanjutnya untuk menghitung 71 × 46, 6 × 46 dan 71 × 5, dapat digunakan Portal Perkalian Dua Digit lagi. Oleh karena itu, cara ini disebut pendekatan perhitungan bertingkat (nested computation).

Perhitungan Nested Computation dengan mengunakan notasi pagar Metris ternyata tidak hanya untuk operasi bilangan desimal saja. Operasi perkalian Metris dengan menggunakan bilangan Biner, Oktadesimal atau Hexadesimal ternyata juga dapat dikerjakan dengan benar menggunakan Nested Computation.

Contoh perhitungan menggunakan bilangan Biner: 1.101×111=(1||01) × (1||11) = 1×1||1×11+01×1||01×11

= 1||11+01||11 = 1||100||11 = 1+1||00||11 = 10||00||11 = 100011

Contoh perhitungan menggunakan bilangan Oktadesimal: 1. 2 × 56 = 2×5|2×6 = 12|14 = 12+1|4 = 134 = 2×3||2×56+47×3||47×56 = 6||134+165||3402 = 6||321||3402 = 6+3||21+34||02 = 11||55||02 = 115502 Contoh perhitungan menggunakan bilangan Hexadesimal:

1. B5 × 92 = 673A 2. B5 × 5F = 432B 3. 7A × 92 = 4594 4. 7A × 5F = 2D46

5. B57A × 925F = (B5||7A) × (92||5F) = B5×92||B5×5F+7A×92||7A×5F = 673A||432B+4594||2D46 = 673A||88BF||2D46 = 673A||88BF+2D||46 = 673A||88EC||46 = 673A+88||EC||46

(3)

F. MIKROPROSESOR 8088(16 BIT)&MIKROKONTROLER AT89S52(8 BIT)

Mikroprosesor 8088 memiliki register 16 bit yang dapat digunakan sebagai penampung proses aritmatika dan logika. Karena register yang dimiliki adalah register 16 bit, maka perhitungan perkalian yang disediakan oleh mikroprosesor ini adalah perkalian maksimal 16 bit × 16 bit dengan perintah MUL[5].

Pada Microcontroller AT89S52 register –register yang dimiliki memiliki ukuran 8 bit (1 byte). Perintah yang digunakan untuk melakukan perhitungan perkalian adalah: MUL AB. Perintah ini dieksekusi sebanyak 4

×

cycle machine. Hasil perhitungan tersimpan di register A dan register B yang mana register A akan menyimpan nilai 8bit teratas dan register B akan menyimpan nilai 8 bit terbawah.

Untuk melakukan perhitungan dengan angka yang memiliki lebar data lebih besar maka diperlukan sub rutin khusus yang dibuat berdasarkan metode komputasi tertentu, termasuk nested computation METRIS ini. Oleh karena itu agar lebih mudah dipahami dalam pemrograman maka perlu didefinisikan fungsi pagar Metris.

III. METODOLOGI PENELITIAN

Penelitian dilakukan dengan tahapan merancang metode nested computation Metris dengan pengembangan fungsi pagar Metris. Selanjutnya algoritma fungsi pagar nested computation diimplementasikan pada mikrokontroler AT89S52 secara simulasi menggunakan program Franklin Software Proview 32. Parameter yang diteliti disini adalah kecepatan proses serta ukuran program kode mesin (ekstension *.hex). Hasil program juga dicoba dibandingkan dengan program perkalian yang ada yaitu program dari Loughborough University (Some Useful Maths Subroutines for the 8x51 Microcontroller series). Selain itu program Metris ini dibandingkan pula dengan program perkalian yang disediakan pada program C8051 Proview 32 untuk tipe data integer (16 bit).

IV IMPLEMENTASI DAN PENGUJIAN

A. FUNGSI PAGAR METRIS UNTUK NESTED COMPUTATION

Definisi Fungsi Pagar vPw(r;s), vPw(r) atau vPw(;s) dalam pemrograman Metris untuk nested computation.

r adalah bilangan hexadesimal hasil perkalian antar bilangan

hexadesimal.

;s adalah bilangan yang menunjukkan alamat memori. v adalah variabel bilangan yang berfungsi sebagai nilai

pengambilan posisi bilangan hasil perkalian mulai dari posisi digit tertentu, contohnya posisi digit ke 0, 8 atau 16.

w adalah variabel bilangan yang berfungsi sebagai nilai

kapasitas memori dalam bit untuk penyimpanan hasil perkalian, contohnya kapasitas memori 8, 16 atau 32 bit. Hubungan matematis antar fungsi pagar:

wPw = 0Pw × 10w (10w dalam bilangan Hexadesimal) 0Pw = w/2Pw/2 + 0Pw/2.

Misalnya:

8P8 = 0P8 × 108 dan 0P16 = 8P8 + 0P8 atau 16P16 = 0P16 × 1016 dan 0P32 = 16P16 + 0P16.

Hubungan simbol qm,n dengan fungsi pagar vPw(r;s) adalah

qm,n = vPw(r;s) = ;s (artinya menunjuk ke alamat s), dimana n,m merupakan bilangan bulat positip.

Persamaan Perkalian (16 × 16) bit menggunakan fungsi pagar Metris, dengan asumsi tiap satu alamat mempunyai kapasitas 8 bit. Misal bila alamat memori menunjuk pada alamat 0-3 atau 0 |8 1 |8 2 |8 3 maka artinya bila tiap kotak berkapasitas 8 bit maka total memori mempunyai kapasitas 4 × 8 = 32 bit. Persamaan nested computation yang menggunakan fungsi pagar Metris tsb adalah:

0P32 (ab×cd;0-3) = 0P8(;0) |8 0P8(;1) |8 0P8(;2) |8 0P8(;3) Hasil perkalian yang tersimpan pada alamat 3:

0P8(;3) = 0P8[q1,0=0P16(b×d;F0-F1) ;3] Hasil perkalian yang tersimpan pada alamat 2:

0P8(;2) = 0P8[q2,0=8P8(q1,0)+0P8(q1,1=0P16(b×c;F2-F3)) +0P8(q1,2=0P16(a×d;F4-F5)) ;2] Hasil perkalian yang tersimpan pada alamat 1:

0P8(;1) = 0P8[q3,0=8P8(q2,0)+8P8(q1,1)+8P8(q1,2)+ 0P8(q2,1=0P16(a×c;F6-F7)) ;1] Hasil perkalian yang tersimpan pada alamat 0:

0P8(;0) = 0P8 [8P8(q3,0)+8P8(q2,1) ;0]

Di bawah ini akan diberikan contoh proses perhitungan perkalian bilangan Hexadesimal menggunakan nested computation dengan fungsi pagar Metris yang bekerja dari arah kiri menuju ke kanan. Contoh perkalian (16 × 16) bit: B57A × 925F = (B5||7A) × (92||5F)

0P32 (ab×cd;0-3) = 0P32 ((B5||7A) × (92||5F)) Maka: a=B5, b=7A, c=92, dan d=5F Hasil perkalian yang tersimpan di alamat 3:

0P8(;3) = 0P8[q1,0=0P16(b×d;F0-F1) ;3] = 0P8[q1,0=0P16(7A×5F;F0-F1) ;3] = 0P8 [q1,0=2D46 ;3] = 46

Hasil perkalian yang tersimpan di alamat 2: 0P8(;2) = 0P8[q2,0= 8P8(q1,0)+0P8(q1,1=0P16

(b×c;F2-F3))+0P8(q1,2=0P16(a×d;F4-F5)) ;2] = 0P8[q2,0= 8P8(2D46)+0P8(q1,1=0P16(7A×92))

+0P8(q1,2=0P16(B5×5F)) ;2]

= 0P8[q2,0= 2D+0P8(q1,1=4594)+0P8(q1,2=432B) ;2] = 0P8[q2,0= 2D+94+2B ;2] = 0P8 [q2,0=EC ;2] = EC Hasil perkalian yang tersimpan di alamat 1:

0P8(;1) = 0P8[q3,0= 8P8(q2,0)+8P8(q1,1)+8P8(q1,2)+ 0P8(q2,1=0P16(a×c;F6-F7)) ;1]

= 0P8[q3,0 = 8P8(EC)+8P8(4594)+8P8(432B) +0P8(q2,1=0P16(B5×92)) ;1]

= 0P8 [q3,0= 0+45+43+0P8(q2,1=673A) ;1] = 0P8 [q3,0= 0+45+43+3A ;1] = 0P8 [q3,0=C2 ;1] = C2

Hasil perkalian yang tersimpan di alamat 0: 0P8(;0) = 0P8 [8P8(q3,0)+8P8(q2,1) ;0]

(4)

Sehingga:

0P32 (ab×cd;0-3) = 0P8(0) |8 0P8(1) |8 0P8(2) |8 0P8(3) Hasil akhir perkalian:

0P32 ((B5||7A)×(92||5F);0-3) = 67 |8 C2 |8 EC |8 46 = 67C2EC46

B. IMPLEMENTASI PADA MIKROKONTROLLER

Implementasi Nested Computation Metris telah diimplementasikan pada mikrokontroler AT89S52 dengan flowchart seperti diperlihatkan pada gambar 1.

Start Subrutin MulMetris16x16

AB à R0R1 CD à R2R3

BxD à WbWa

WaàR0

AxD àYbYa

BxC àXbXa

Ya+Xa+WbàR1+ Carry1

Yb+Xb+Za+Carry1 àR2+Carry2 AxD à ZbZa

Zb+Carry2 à R3

End Subrutin MulMetris16x16

Gambar 1. Flowchart MulMetris 16x16

C. HASIL PENGUJIAN

Pengujian dilakukan simulasi menggunakan program Proview32 dari Franklin Software. Program ini dapat menampilkan kecepatan dari hasil simulasi.

Untuk subrutin MulMetris 16x16 bit diselesaikan dalam waktu 68-70 µs, seperti diperlihatkan pada Gambar 2.

Gambar 2. Hasil Pengujian Perkalian Metris (16x16) bit. Perkalian menggunakan subrutin perkalian UMUL16 dari Loughborough University menghasilkan kecepatan 74 µs. Sedangkan untuk program C8051 menghasilkan kecepatan 139µs seperti diperlihatkan pada Gambar 3.

(5)

sama-sama memiliki efisiensi program yang baik dibandingkan jika menggunakan program perkalian C8051 yang membutuhkan memori program sebesar 185 byte.

UCAPAN TERIMA KASIH

Ucapan terima kasih diberikan untuk Lembaga Penelitian dan Pengabdian Kepada Masyarakat Universitas Katolik Indonesia Atma Jaya yang telah mendanai penelitian ini sehingga penelitian dapat berjalan dengan baik.

V. KESIMPULAN

1. Program MulMetris dan Program pembanding sama-sama memiliki efisiensi program yang baik dari sisi kecepatan maupun kapasitas memori program dibandingkan jika menggunakan program perkalian C 8051.

2. Metode untuk penyelesaian perkalian bilangan yang besar dapat dilakukan secara bertingkat menggunakan nested computation Metris.

3. Fungsi pagar Metris mampu mempermudah perancangan program perkalian untuk bilangan-bilangan yang lebih besar dengan menggunakan nested computation Metris yang akan diteliti lebih lanjut.

DAFTAR PUSTAKA

[1] Goenawan St. Ivan, Alexander A.S., “Metris: Perkalian Ajaib,”

Kawan Pustaka 2007.

[2] Goenawan St. Ivan, “Metris:Mencetak Einstein”, Metris Pustaka 2008.

[3] Goenawan St. Ivan, “Metris: Berhitung Super Cepat”, Media

Pusindo 2012.

[4] Goenawan, St. Ivan. Maret 2000. Metode Horisontal (Metris), Metris. Vol.1. Jakarta, Unika Atma Jaya.

[5] Mazidi. M.A, Mazidi. J.G., “The 80x86 IBM PC Compatible Computers Vol I&II – Assembly Language Design and

Interfacing”, Prentice Hall International. 1993

[6] Predko. M., “Programming and Customizing The 8051

Microcontroller”, Mc Graw Hill, 1999

Gambar

Gambar 2. Hasil Pengujian Perkalian Metris (16x16) bit.

Referensi

Dokumen terkait

Penelitian ini memiliki manfaat yaitu untuk memberikan informasi empirik dari parameter proses (variasi jumlah batu bara) yang optimal untuk proses pembriketan

Hasil penelitian menunjukkan bahwa hubungan antara konsumen dengan pelaku usaha atau kedua belah akan menimbulkan hak dan kewajiban pihak yang diatur dalam Undang- undang

Mengingat infeksi yang terjadi biasanya dilakukan oleh bermacam-macam jenis cacing baik pada abomasum, usus dan organ lain, maka pengaruhnya berupa kombinasi

Balai Riset dan Standardisasi Industri Samarinda sebagai unit pelayanan publik telah menindaklanjuti Undang Undang Nomor 25 tahun 2000 dengan menerbitkan Surat Keputusan

Bentuk evaluasi untuk mengetahui keberhasilan pembelajaran yang tepat untuk materi ini adalah Tes Obyektif dan Subyektif dengan teknik Lisan/Tulis. Tes ini akan dipakai untuk

- Pasien tidak dapat melakukan kegiatan yang dilatih sesuai kemampuan yang dimiliki.. Melatih kegiatan selanjutnya yang dipilih sesuai dengan kemampuan

Meskipun tahapan telah dilalui, namun temuan penelitian menunjukkan bahwa Inovasi SIM perpanjangan melalui SIM BOOKING di Satlantas Polres Kudus mengalami keluasan cakupan

Pada kondisi pH asam, kuantitas aldehid yang terbentuk pada sampel air dari unit filtrasi jika dibandingkan dengan sebelum dilakukannya proses ozonisasi akan mengalami