• Tidak ada hasil yang ditemukan

Algoritma dan Pemrograman Parallel VI. O

N/A
N/A
Protected

Academic year: 2018

Membagikan "Algoritma dan Pemrograman Parallel VI. O"

Copied!
4
0
0

Teks penuh

(1)

Algoritma dan Pemrograman Parallel by Dr. Asep Juarna

vi-1

VI. OPERASI MATRIKS (Part 1)

Oleh Dr. Asep Juarna

1.

Transposisi Matriks (

Matrix Transpose

)

Diberikan matriks A berukuran m × n (yaitu m baris dan n kolom) berikut:

Transposisi matriks A, dinotasikan dengan AT, adalah pertukaran posisi elemen-elemen matriks sedemikian rupa sehingga setiap elemen yang menempati baris ke-i kolom ke-j

di A (yaitu ai,j) menjadi menempati baris ke-j kolom ke-i di AT (yaitu aTj,i = ai,j).

Dengan kata lain, setiap baris di A menjadi kolom di AT. Jelaslah elemen-elemen matriks ai,i tidak bertransposisi sehinggasusunan elemen-elemen matriks AT adalah:

AT=

Contoh: Berikut ini adalah dua buah matriks A dan B dengan masing-masing transposisinya.

Algoritma transposisi matriks berikut dirancang untuk matriks bujur sangkar (square matrix) n × n, yaitu matriks dengan jumlah baris sama dengan jumlah kolom.

1.1.

Algoritma Sekuensial

Algoritma sekuensial transposisi matriks adalah sangat sederhana, yaitu:

procedure seq_transpose (A)

(2)

Algoritma dan Pemrograman Parallel by Dr. Asep Juarna

vi-2

procedure swap (x, y) (1) tempx

(2) x y

(3) ytemp

Pada procedure seq_transpose, banyaknya iterasi pada loop (2) bergantung pada nilai i

yang diberikan pada loop (1); banyaknya iterasi akibat kedua loop tersebut adalah: 0 + 1 + 2 + 3 + ... + (n - 1) = (n - 1) × n/2 = (n2 - n)/2

Sementara itu running time procedure swap adalah konstan. Dengan demikian running timeprocedure seq_transpose adalah O(n2); nilai running time ini optimal.

1.2.

Algoritma Paralel

1.2.1. IN (Interconnection Network) Perfect Shuffle

Dalam algoritma ini, n = 2q dengan q ∈ {1, 2, 3, ...}. IN Perfect Shuffle yang akan digunakan terdiri dari n2 prosesor, yaitu: P0, P1, P2, ..., P22q1 (ingat, karena ada n

2

prosesor, n = 2q, indeks prosesor pertama adalah 0, yaitu P0, maka indeks prosesor

terakhir, atau ke-n2, adalah n2 -1 atau 22q - 1, yaitu

1 22q

P ), yaitu sebanyak elemen

matriks yang akan dicari transpose-nya, dengan n = 2q, q ∈ {1, 2, 3, ...}. Elemen ai,j

dari matriks A dipegang oleh prosesor Pk, dengan k = 2q(i - 1) + (j - 1).

Contoh: Untuk q = 2, maka n = 22 = 4, dengan demikian matriks A berukuran 4 × 4, dan prosesor IN Perfect Shuffle adalah P0, P1, P2, ..., P15. Elemen matriks a23 dipegang

oleh prosesor Pk dengan k = 22(2 - 1) + (3 - 1) = 6 yaitu P6, elemen matriks a32

dipegang oleh prosesor Pk dengan k = 22(3 - 1) + (2 - 1) = 9 yaitu P9, elemen a44

dipegang oleh prosesor Pk dengan k = 22(4 - 1) + (4 - 1) = 15 yaitu P15.

Untuk melihat koneksi antar prosesor, indeks-indeks prosesor dinyatakan dalam biner. Untuk q = 2 kita mempunya prosesor-prosesor beserta indeknya sebagai berikut: P0000,

P0001, P0010, P0011, ..., P1111. Prosesor Pk terhubung ke prosesor Pm, dengan k dan m

adalah representasi biner, jika m diperoleh dengan menggeser satu posisi ke kiri secara

siklus (cyclic left shifting). Dengan aturan ini P0000 = P0 terhubung ke dirinya sendiri,

P0001 = P1 terhubung ke P0010 = P2, P0010 = P2 terhubung ke P0100 = P4, P0100 = P4

terhubung ke P1000 = P8, dan P1000 = P4 terhubung ke P0001 = P8. Lihat Gambar 6.1.

a11 a12 a13 a14 a21 a22 a23 a24 a31

P0 P1 P2 P3 P4 P5 P6 P7 P8

a32 a33 a34 a41 a41 a43 a44

P9 P10 P11 P12 P13 P14 P15

(3)

Algoritma dan Pemrograman Parallel by Dr. Asep Juarna

vi-3

Dengan n = 2q, setelah q pergeseran siklus bit-bit indeks prosesor, elemen aij dari

matriks A yang semula dipegang prosesor Pk, dengan k = 2q(i - 1) + (j - 1), sekarang

dipegang oleh Pr, dengan r = 2q(j - 1) + (i - 1), yaitu prosesor yang semula memegang

elemen aji dari matriks A.

Contoh: Kembali, misalkan q = 2; IN Perfect Shuffle terkait seperti gambar di atas. Pada gambar tersebut mula-mula P1 = P0001 memegang elemen a12. Pada pergeseran

pertama elemen a12 ini berpindah ke P2 = P0010. Pada pergeseran kedua elemen a12 ini

akhirnya berpindah ke P4 = P0100, yaitu prosesor yang semula memegang a21. Di lain

pihak, pada pergeseran pertama elemen a21 yang mula-mula dipegang oleh prosesor P4

= P0100 berpindah ke P8 = P1000, dan pada pergeseran kedua elemen a21 ini akhirnya

berpindah ke P1 = P0001 yang mula-mula memegang a12. Perhatikan bahwa setelah 2

pergeseran ini P0 dan P15 sama sekali tidak memindahkan elemen matriks yang

dipegangnya sedangkan elemen yang dipegang P5 dan P10 kembali kepada keadaan

semula setelah dua pergeseran ini, seperti terlihat pada Gambar 6.1.

Dengan demikian, procedure transpose matriks A menggunakan IN Perfect Shuffle

adalah sebagai berikut:

procedure par_shuffle_transpose (A)

(1) for i = 1 toqdo

(2) for k = 1 to 22q- 2 do in parallel {'-2' karena P0 dan P22q tidak diikutsertakan}

(3.1) r← 2kmod(22q−1)

(3.2) Pk mengirimkan elemen yang dipegangnya ke Pr

(4) end for

(5) end for

Langkah (3.1) dan (3.2) memerlukan waktu konstan, sedangkan iterasi (1) terdiri dari q

langkah atau log n langkah mengingat n = 2q. Dengan demikian running time

procedure par_shuffle_transpose di atas adalah t(n) = O(log n). Jumlah prosesor yang digunakan adalah p(n) = n2 sehingga cost procedure ini adalah c(n) = O(n2 log n) yang

tidak optimal karena running time procedure sekuensial adalah lebih kecil, yaitu

O(n2).

Latihan:

(Kerjakan dan kirim hasilnya ke ajuarna@staff.gunadarma.ac.id)

1. Periksa Gambar 6.1 dan tunjukkan dalam tabel bahwa memang benar prosesor Pk

terhubung ke prosesor Pm, dengan k dan m adalah representasi biner, jika m

diperoleh dengan menggeser satu posisi ke kiri secara siklus (cyclic left shifting).

2. Tabel di samping menyatakan elemen matriks A yang dipegang oleh masing-masing dari 16 prosesor IN perfect shuffle

pada kondisi, q = 1, dan q = 2. Lengkapi tabel tersebut berdasarkan Gambar 6.1. Periksa, apakah kondisi akhir (q = 2), jika dibandingkan dengan kondisi awal, memperlihatkan peristiwa transpose matriks?

Elemen yang dipegang Awal q = 1 q = 2

P0 a11 a11 a11

P1 a12 a31 a21

P2 a13

M

(4)

Algoritma dan Pemrograman Parallel by Dr. Asep Juarna

vi-4

1.2.2. SIMD-EREW

Pada awalnya seluruh elemen matriks A berukuran n × n tersimpan di dalam shared memory bersama dengan informasi posisi baris dan kolomnya (indeks) (i, j). Tugas

setiap prosesor SIMD-EREW adalah menukarkan elemen matriks berindeks (i, j) dengan elemen matriks berindeks (j, i). Selanjutnya adalah fakta bahwa dalam transposisi matriks A semua elemen matriks A berindeks (i, i) tidak mengalami transposisi. Dengan tugas dan fakta ini maka jumlah prosesor SIMD-EREW yang diperlukan adalah p(n) = (n2 - n)/2. Untuk n = 3, proses transposisi ini diperlihatkan pada Gambar 6.2. Dalam gambar tersebut prosesor-prosesor P21, P32, dan P31

berturut-turut bertugas menukarkan elemen-elemen matriks a21 dengan a12, a32 dengan a23, dan

a31 dengan a13.

P21

a11 a12 a13

a21 a22 a23

a31 a32 a33

P32

P31

Gambar 6.2. Transposisi matriks A berukuran 3 × 3 dengan 3 prosesor.

Dengan demikian, procedure transpose matriks A menggunakan SIMD-EREW adalah sebagai berikut:

procedure par_SIMD-EREW_transpose (A)

(1) for i = 2 tondo in parralel

(2) for j = 1 toi - 1 do in parallel

(3) ai,jaj,i

(4) end for

(5) end for

Running time procedure swap (yaitu ai,jaj,i) adalah konstan sehingga running time procedure par_SIMD-EREW transpose adalah konstan, atau t(n) = O(1), sehingga

cost procedure ini adalah c(n) = p(n t(n) = O(n2) yang berarti procedure

Gambar

Tabel di samping menyatakan elemen
Gambar 6.2. Transposisi matriks A berukuran 3 × 3 dengan 3 prosesor.

Referensi

Dokumen terkait

Alasan para pemilik online store juga memerlukan layanan peminjaman kredit usaha sama saja dengan para pebisnis UMKM nyata, yaitu untuk meningkatkan dan memperkuat modal

3) BNPB perlu menjaga program dan kegiatan yang mendukung Prioritas Nasional tahun 2017 untuk tidak berubah, dengan harapan dapat tercapainya Prioritas Nasional yang berkaitan dengan

Pekerjaan tertentu tersebut adalah sebagaimana diatur pada Pasal 59 ayat (1) Undang- undang Nomor 13 Tahun 2003 tentang Ketenagakerjaan yang berbunyi : perjanjian

PENGARUH STRATEGI PEMBELAJARAN KONFLIK KOGNITIF TERHAD AP KEMAMPUAN PEMAHAMAN RELASIONAL D AN KOMUNIKASI MATEMATIS SERTA SELF-REGULATION..

Tujuan dari penelitian ini adalah untuk mengetahui perbandingan hasil uji metode regresi logistik dengan analisis diskriminan dalam meneliti faktor-faktor yang memengaruhi

Sebagai istilah umum, fotografi berarti proses atau metode untuk menghasilkan gambar atau foto dari suatu obyek dengan merekam pantulan cahaya yang mengenai obyek tersebut pada

sepanjang hari, hanya akan menghambat kebebasan anak untuk belajar. Masa ini adalah periode kehidupan di mana otak anak bagaikan pintu yang terbuka untuk semua

PENGARUH LEVERAGE, PROFITABILITAS, DAN TIPE INDUSTRI TERHADAP PENGUNGKAPAN MODAL INTELEKTUAL PADA PERUSAHAAN MANUFAKTUR : HIGH DAN LOW PROFILE YANG.. TERDAFTAR DI BURSA EFEK