Kebersamaan itu indah...

Kebersamaan itu indah...
Bajul mati, 23 April 2013

PENERAPAN INDUKSI MATEMATIK



1.    PENERAPAN INDUKSI MATEMATIKA DALAM ATM MULTI PECAHAN UANG
a.        Konsep ATM Secara Umum di Indonesia
ATM, pada umumnya, hanya memiliki satu jenis nominal uang. Logikanya ialah sebuah ATM hanya memiliki satu cartridge uang, yang hanya dapat diisi oleh sebuah nominal (entah itu Rp 20.000,-, Rp 50.000,-, maupun Rp 100.000,-). Nah, pengolahan berapa jumlah uang yang dikeluarkan tidak secara langsung dihitung dari jumlah nominal uang yang ditarik, tapi dikonversikan dahulu, pecahan uang yang tersedia pada cartridge harus dikeluarkan sebanyak berapa lembar agar uang yang ingin ditarik pelanggan tercukupi4. Misal pelanggan ingin menarik uang sebanyak Rp 200.000,-. Maka ada tiga kemungkinan :
-          Jika ATM tersebut berisi uang pecahan Rp 20.000,-, maka cartridge penyimpan uang akan diperintahkan menghitung dan mengeluarkan sebanyak 10 lembar.
-          Jika ATM tersebut berisi uang pecahan Rp 50.000,-, maka cartridge penyimpanan uang akan diperintahkan menghitung dan mengeluarkan sebanyak 4 lembar.
-          Jika ATM tersebut berisi uang pecahan Rp 100.000,-, maka cartridge penyimpanan uang akan diperintahkan untuk menghitung dan mengeluarkan uang sebanyak 2 lembar.
Terdapat beberapa kelemahan dalam ATM yang memiliki sistem seperti ini, antara lain : Pelanggan ingin menarik uang yang tidak genap (misal ingin menarik uang sebesar Rp 70.000,- ).
Pada kenyataannya, masalah ini memang sudah ditanggulangi dengan mengeluarkan pernyataan “Mesin ini hanya mengeluarkan uang dalam pecahan kelipatan Rp 20.000,- (atau Rp 50.000,- atau Rp 100.000,-). Masyarakat juga telah memaklumi keadaan ini. Namun, apakah tidak jauh lebih mudah jika dapat dilakukan penarikan tunai dengan nominal yang tidak genap seperti itu? Apa sebenarnya keistimewaan cara berpikir ATM Multi Pecahan Uang?
b.      Penerapan Induksi Matematika dalam  ATM Multi Nominal
Penerapan Induksi Matematik dalam ATM Multi Nominal yakni dengan penggunaan Prinsip Induksi yang Dirampatkan (prinsip pertama) pada proses penghitungan uang yang akan dikeluarkan dari cartrige penyimpanan uang.
Ada beberapa ketentuan dalam pengambilan uang pada ATM Multi Nominal ini. Ketentuan tersebut antara lain :
-          jumlah minimal penarikan
-           jumlah kelipatan penarikan dari jumlah minimalnya
-          pecahan uang berapa yang ada di ATM tersebut
Jadi, bagaimana cara perhitungannya?
Ambil sebuah contoh, dalam satu ATM terdapat pecahan uang Rp 20.000,- dan Rp 50.000,-. Berapakah jumlah kelipatan penarikan dengan jumlah minimal yang dapat diambil pelanggan melalui ATM tersebut adalah Rp 40.000,-?
Penyelesaian :
1.      tunjukkan bahwa f(n0) benar (berlaku)
Basis induksi : Untuk mengeluarkan uang dengan jumlah Rp 40.000,- dapat digunakan 2 lembar uang Rp 20.000,-. f(n0) jelas benar (berlaku) !!
2.      Jika f(n) benar (berlaku) maka tunjukkan f(n+k) juga benar (berlaku) untuk semua bilangan bulat n ≥ n0. (k ialah kelipatan pengambilan uang di ATM)
Langkah induksi :  Jika f(n) benar, yaitu untuk mengeluarkan uang dengan jumlah Rp 40.000 dapat digunakan e lembar uang Rp 20.000,- (hipotesis induksi). Kita harus menunjukkan bahwa f(n+k) juga benar, yaitu untuk mengeluarkan uang sebesar n+k juga dapat menggunakan pecahan uang Rp 20.000,- dan/atau Rp 50.000,-.


Ada dua kemungkinan yang perlu diperiksa:
a.       Kemungkinan pertama, misalkan tidak ada uang pecahan Rp 50.000,- yang dikeluarkan, maka uang yang dikeluarkan senilai Rp n,- menggunakan pecahan Rp 20.000,- semuanya. Karena n ≥ Rp 40.000,-, setidaknya harus digunakan dua lembar pecahan Rp 20.000,-. Dengan mengganti dua lembar uang Rp 20.000,- dengan selembar uang Rp 50.000, akan menjadikan uang yang dikeluarkan ATM sebesar Rp n+k,- dengan k senilai Rp 10.000,-.
b.      Kemungkinan kedua, misalkan ATM mengeluarkan uang senilai Rp n,- dengan sedikitnya satu lembar pecahan Rp 50.000,-. Dengan mengganti satu lembar pecahan Rp 50.000,- dengan tiga lembar uang pecahan Rp 20.000,- akan menjadikan uang yang dikeluarkan ATM sebesar Rp n+k,- dengan k senilai Rp 10.000,-
Dari penjelasan di atas,, dapat diketahui bahwa nilai k (kelipatan) uang yang dapat diambil dari ATM tersebut, dengan minimal jumlah pengambilan sebesar Rp 40.000,-, ialah sebesar Rp 10.000,-.

2.        PENERAPAN INDUKSI MATEMATIKA DALAM PEMROGRAMAN
Dalam ilmu komputer, orang berusaha untuk membuat program yang benar. Program yang benar berarti akan menghasilkan keluaran yang benar yang sesuai dengan data masukan yang diberikan. Dan program akan menampilkan pesan kesalahan apabila pemakai memasukkan data yang tipenya tidak sesuai. Salah satu bentuk yang banyak digunakan dalam program adalah bentuk kalang (loop).
Struktur kalang adalah sebagai berikut :
[kondisi sebelum kalang]
While S
[perintah-perintah dalam tubuh kalang. Semua perintah tidak boleh melompat keluar kalang]
End While
[kondisi setelah kalang]
Kalang WHILE akan dieksekusi terus menerus selama syarat kondisi S bernilai benar. Sekali kondisi S bernilai salah, eksekusi pada kalang dihentikan.
Suatu kalang dikatakan benar terhadap kondisi sebelum dan setelah kalang bila dan hanya bila setiap kali variabel-variabel tersebut akan memenuhi kondisi setelah kalang. Kebenaran kalang dapat dibuktikan dengan Teorema Kalang Invarian sebagai berikut :

Teorema Kalang Invarian
Misal : diberikan kalang WHILE dengan syarat kondisi S, kondisi sebelum dan sesudah kalang. Dan predikat I(n) yang disebut kalang invarian
Apabila keempat syarat di bawah ini benar, maka kalang benar terhadap kondisi sebelum dan sesudahnya.
1.      Basis
Kondisi sebelum kalang berarti bahwa I(0) benar sebelum iterasi pertama dalam kalang.
2.      Induksi
Jika syarat kondisi S dan kalang invarian I(k) benar untuk suatu bilangan bulat k0 sebelum iterasi kalang, maka I(k + 1) juga benar setelah iterasi kalang.
3.      Kondisi Penghentian
Setelah sejumlah iterasi kalang yang berhingga, maka syarat kondisi S menjadi salah.
4.      Kebenaran Kondisi setelah Kalang
Jika untuk suatu bilangan bulat tak negatif N, syarat kondisi S salah dan I(N) benar, maka harga variabel akan sama dengan yang ditentukan dalam kondisi akhir kalang.
Contoh 1 :
Perkalian m (bilangan bulat tak negatif) dengan x didefinisikan sebagai berikut :
Program untuk menghitung m.x sebagai berikut :
[kondisi sebelum kalang :
m := bilangan bulat tak negatif
x := bilangan riil
i := 0
kali := 0
]
While  (im)
            kali := kali + x
            i := i + 1
End While
[kondisi setelah kalang
            kali := m * x
]

Misalkan kalang invarian I(n) adalah “i = m dan kali = m.x
Gunakan kalang invarian tersebut untuk membuktikan bahwa kalang WHILE benar terhadap kondisi sebelum dansetelah kalang.

Penyelesaian :
  1. Basis
Akan dibuktikan I (0) benar sebelum iterasi kalang yang pertama.
I (0) : “i = 0 dan kali = 0.x = 0”
Kondisi sebelum kalang : i = 0 dan kali = 0
Karena I (0) sama dengan kondisi sebelum kalang, maka basis benar.
  1. Induksi
Akan dibuktikan bahwa jika syarat kondisi S (dalam hal ini im) dan I (k) benar sebelum iterasi kalang (k0), maka I (k + 1) benar setelah iterasi kalang.
I (k + 1) berarti : “i = k + 1 dan kali = (k + 1).x
Misal k adalah bilangan bulat tak negatif sedemikian hingga S dan I (k) benar sebelum iterasi kalang.
Di awal kalang, im, i = k dan kali = k.x
Karena im, maka kalang dieksekusi dan statemen – statemen di dalam kalang dieksekusi. Didapat :
(kali)baru = (kali)lama + x = k.x + x = (k + 1).x
(i)baru = (i)lama + 1 = k + 1
Sehingga setelah eksekusi kalang, I(k + 1) benar.
  1. Kondisi Penghentian
Akan dibuktikan bahwa setelah sejumlah iterasi kalang (berhingga), maka kondisi S menjadi salah sehingga iterasi berhenti.
Setelah kalang diiterasi sebanyak m kali, maka i = m dan kali = m.x
Pada keadaan ini, syarat kondisi S salah sehingga iterasi berhenti.

  1. Kebenaran kondisi setelah kalang
Akan dibuktikan :
Jika untuk suatu bilangan bulat tak negatif N, syarat kondisi S salah dan I(N) benar, maka harga variabel akan sama dengan kondisi yang ditentukan dalam kondisi akhir kalang.
Dalam algoritma di atas, syarat S menjadi salah setelah i = m.
 Kondisi I(N) benar berarti : “i = N dan kali = N.x
Karena kedua kondisi tersebut dipenuhi (S salah dan I(N) benar), maka
m = i =N dan kali = N.x = m.x
Hal tersebut sama dengan kondisi setelah kalang yang ditentukan dalam algoritma.

Contoh 2 :
Akan dihitung hasil kali dua buah bilangan bulat positip, atau nilai nol c dan d, dengan tanpa melalui operasi perkalian langsung. Berikut ini potongan algoritma pemrograman untuk menghitung hasil kali dua bilangan bulat tersebut, dengan cara menjumlahkan d sebanyak c kali yang hasilnya c.d sbb :
i ← 0
J ← 0
while i ≠ c do                                  (1)
J ← J + d
i ← i+ 1
endwhile
( i = c, J = c.d )

Buktikan bahwa setiap kali eksekusi mencapai awal kalang while-do 1), ditemukan J = i.d.
Bukti :
Algoritma untuk enumerasi nilai i dan j untuk setiap kali eksekusi mencapai awal kalang while - do tersebut dapat diilustrasikan sbb :

Tabel eksekusi while – do
Setiap kali (n) eksekusi mencapai awal loop
Nilai i
Nilai j
Loop ke 1
0
0
2
1
1.d
3
2
2.d
4
3
3.d
Dst
Dst
Dst
c + 1
c
c.d

dari tabel tersebut tampak bahwa setiap kali eksekusi algoritma mencapai awal kalang while-do, nilai j = 1.d. Untuk mengetahui kebenaranya dapat digunakan induksi matematik. Misal p(n) merupakan pernyataan bahwa setiap kali yaitu n eksekusi algoritma mencapai awal kalang while – do, nilai i dan j pada eksekusi ke n dinyatakan in dan jn.
a.        Langkah 1
untuk n = 1, pernyataan p(1) benar karena pada saat n = 1 eksekusi mencapai awal kalang while – do i = 0 dan j = 0, serta nilai jn= in .d = 0 adalah benar.
b.      Langkah Induksi
misal pernyataan p(n) benar, dengan asumsi bahwa jn = in .d saat eksekusi mencapai awal kalang while – do. Akan ditunjukkan bahwa p(n+1) benar yaitu saat eksekusi mencapai awal kalang while – do yang ke (n+1) yang berarti jn+1 = in+1.d juga benar. Dari tabel dapat dilihat bahwa nilai i yang baru bertambah sebesar 1 dari nilai i yang lama dan j yang baru bertambah sebesar d dari nilai j yang lama sehingga in+1 = in + 1

dan jn+1 =  jn + d, dari hipotesa induksi jn= in .d maka
       jn+1 =  (in.d) + d
               =  (in + 1 ).d
               =  in+1 .d
maka terbukti bahwa setiap kali eksekusi algoritma mencapai awal kalang while –  do nilai j= i.d.1.    

CISC DAN RISC


CISC (Complex  Instruction  Set  Computer)

1.      Pengertian
CISC Complex Instruction Set Computing. Rangkaian instruksi built-in pada processor yang terdiri dari perintah-perintah yang kompleks. Instruksi-instruksi yang tersedia memudahkan para programmer untuk mengembangkan aplikasi untuk plattform CISC. Di lain pihak, banyaknya instruksi dalam CISC dapat mengurangi kecepatannya. CISC merupakan kebalikan dari RISC, biasanya digunakan pada keluarga processor untuk PC (Intel, AMD, Cyrix).
Complex Instruction Set Computing disingkat CISC (baca : “sisk”) merupakan rangkaian instruksi built-in pada processor yang terdiri dari perintah-perintah yang kompleks. Instruksi-instruksi yang tersedia bertujuan untuk memudahkan para programmer untuk mengembangkan aplikasi untuk plattform CISC.
Pada arsitektur CISC seperti Intel x86, yang diperkenalkan pada tahun 1978, bisa terdapat ratusan instruksi program - perintah-perintah sederhana yang menyuruh sistem menambah angka, menyimpan nilai, dan menampilkan hasilnya. Bila semua instruksi panjangnya sama, instruksi sederhana akan memboroskan memori. Instruksi sederhana membutuhkan ruang penyimpanan 8 bit, sementara instruksi yang paling kompleks mengkonsumsi sebanyak 120 bit. Sehingga hal tersebut akan mengurangi kecepatannya.

2.      Karakteristik

a.       Sarat informasi memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat
b.      Dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi rumit) Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan

3.      Ciri-ciri

a.       Jumlah instruksi banyak
b.      Banyak terdapat perintah bahasa mesin
c.       Instruksi lebih kompleks

4.      Contoh processor CISC
Contoh-contoh prosesor CISC adalah System/360, VAX, PDP-11, varian Motorola 68000 , dan CPU AMD dan Intel x86.
5.      Kelebihan dan kekurangan CISC
-          Keunggulan dari CISC
Filosofi arsitektur CISC adalah memindahkan kerumitan software ke dalam hardware. Teknologi pembuatan IC saat ini memungkinkan untuk menamam ribuan bahkan jutaan transistor di dalam satu dice. Bermacam-macam instruksi yang mendekati bahasa pemrogram tingkat tinggi dapat dibuat dengan tujuan untuk memudahkan programmer membuat programnya. Beberapa prosesor CISC umumnya memiliki microcode berupa firmware internal di dalam chip-nya yang berguna untuk menterjemahkan instruksi makro. Mekanisme ini bisa memperlambat eksekusi instruksi, namun efektif untuk membuat instruksi-instruksi yang kompleks. Untuk aplikasi-aplikasi tertentu yang membutuhkan singlechip komputer, prosesor CISC bisa menjadi pilihan.
CISC dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi rumit) Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan.Dengan intruksi yang komplek prosesor CISC merupakan pendekatan dominan karena menghemat memori dibandingkan RISC.
instruksi kompleks seperti CISC mempermudah dalam pembuatan program. Set instruksi yang lengkap diharapkan akan semakin membuat pengguna mikroprosesor leluasa menulis program dalam bahasa assembler yang mendekati bahasa pemrograman level tinggi.
-          Kelemahan dari CISC :
Konsep ini menyulitkan dalam penyusunan compiler bahasa pemrograman tingkat tinggi. Dalam CISC banyak terdapat perintah bahasa mesin.

Reduced Instruction Set computers ( RISC)
PENGERTIAN RISC
RISC (Reduce Instruction Set Computer) atau komputasi set instruksi yang disederhanakan merupakan sebuah arsitektur komputer atau arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana. Arsitektur ini digunakan pada komputer dengan kinerja tinggi, seperti komputer vector. Desain ini juga diimplementasikan pada prosesor komputer lain, seperti pada beberapa mikroprosesor intel 960, Itanium(IA64) dari Intel Coorporation. Selain itu RISC juga umum dipakai pada Advanced RISC Machine(ARM) dan StrongARM.
PERKEMBANGAN RISC
Ide dasar prosesor RISC sebenarnya bisa dilacak dari apa yang disarankan oleh Von Neumann pada tahun 1946. Von Neumann menyarankan agar rangkaian elektronik untuk konsep logika diimplementasikan hanya bila memang diperlukan untuk melengkapi sistem agar berfungsi atau karena frekuensi penggunaannya cukup tinggi (Heudin, 1992 : 18). Jadi ide tentang RISC, yang pada dasarnya adalah untuk menyederhanakan realisasi perangkat keras prosesor dengan melimpahkan sebagian besar tugas kepada perangkat lunaknya, telah ada pada komputer elektronik pertama. Seperti halnya prosesor RISC, komputer elektronik pertama merupakan komputer eksekusi-langsung yang memiliki instruksi sederhana dan mudah didekode.
Hal yang sama dipercayai juga oleh Seymour Cray, spesialis pembuat superkomputer. Pada tahun 1975, berdasarkan kajian yang dilakukannya, Seymour Cray menyimpulkan bahwa penggunaan register sebagai tempat manipulasi data menyebabkan rancangan instruksi menjadi sangat sederhana. Ketika itu perancang prosesor lain lebih banyak membuat instruksi-instruksi yang merujuk ke memori daripada ke register seperti rancangan Seymour Cray. Sampai akhir tahun 1980-an komputer-komputer rancangan Seymour Cray, dalam bentuk superkomputer seri Cray, merupakan komputer-komputer dengan kinerja sangat tinggi. Pada tahun 1975, kelompok peneliti di IBM di bawah pimpinan George Radin, memulai merancang komputer berdasar konsep John Cocke. Berdasarkan saran John Cocke, setelah meneliti frekuensi pemanfaatan instruksi hasil kompilasi suatu program, untuk memperoleh prosesor berkinerja tinggi tidak perlu diimplementasikan instruksi kompleks ke dalam prosesor bila instruksi tersebut dapat dibuat dari instruksi-instruksi sederhana yang telah dimilikinya.
Prosesor RISC Berkeley
Kelompok David Patterson dari Universitas California memulai proyek RISC pada tahun 1980 dengan tujuan menghindari kecenderungan perancangan prosesor yang perangkat instruksinya semakin kompleks sehingga memerlukan perancangan rangkaian kontrol yang semakin rumit dari waktu ke waktu. Hipotesis yang diajukan adalah bahwa implementasi instruksi yang kompleks ke dalam perangkat instruksi prosesor justru berdampak negatif pemakaian instruksi tersebut dalam kebanyakan program hasil komplikasi (Heudin, 1992 : 22). Apalagi, instruksi kompleks itu pada dasarnya dapat disusun dari instruksi-instruksi sederhana yang telah dimiliki.
Rancangan prosesor RISC-1 ditujukan untuk mendukung bahasa C, yang dipilih karena popularitasnya dan banyaknya pengguna. Realisasi rancangan diselesaikan oleh kelompok Patterson dalam waktu 6 bulan. Fabrikasi dilakukan oleh MOVIS dan XEROX dengan menggunakan teknologi silikon NMOS (N-channel Metal-oxide Semiconductor) 2 mikron. Hasilnya adalah sebuah chip rangkaian terpadu dengan 44.500 buah transistor (Heudin, 1992 : 230). Chip RISC-1 selesai dibuat pada musim panas dengan kecepatan eksekusi 2 mikrosekon per instruksi (pada frekuensi detak 1,5 MHz), 4 kali lebih lambat dari kecepatan yang ditargetkan. Tidak tercapainya target itu disebabkan terjadinya sedikit kesalahan perancangan, meskipun kemudian dapat diatasi dengan memodifikasi rancangan assemblernya. Berdasarkan hasil evaluasi, meskipun hanya bekerja pada frekuensi detak 1,5 MHz dan mengandung kesalahan perancangan, RISC-1 terbukti mampu mengeksekusi program bahasa C lebih cepat dari beberapa prosesor CISC, yakni MC68000, Z8002, VAX-11/780, dan PDP-11/70. Hampir bersamaan dengan proses fabrikasi RISC-1, tim Berkeley lain mulai bekerja untuk merancang RISC-2. Chip yang dihasilkan tidak lagi mengandung kesalahan sehingga mencapai kecepatan operasi yang ditargetkan, 330 nanosekon tiap instruksi (Heudin, 1992 : 27-28).
RISC-2 hanya memerlukan luas chip 25% dari yang dibutuhkan RISC-1 dengan 75% lebih banyak register. Meskipun perangkat instruksi yang ditanamkan sama dengan perangkat instruksi yang dimiliki RISC-1, tetapi di antara keduanya terdapat perbedaan mikroarsitektur perangkat kerasnya. RISC-2 memiliki 138 buah register yang disusun sebagai 8 jendela register, dibandingkan dengan 78 buah register yang disusun sebagai 6 jendela register. Selain itu, juga terdapat perbedaan dalam hal organisasi alur-pipa (pipeline) . RISC-1 memiliki alur-pipa dua tingkat sederhana dengan penjeputan (fetch) dan eksekusi instruksi yang dibuat tumpang-tindih, sedangkan RISC-2 memiliki 3 buah alur-pipa yang masing-masing untuk penjemputan instruksi, pembacaan operan dan eksekusinya, dan penulisan kembali hasilnya ke dalam register. Sukses kedua proyek memacu tim Berkeley untuk mengerjakan proyek SOAR (Smalltalk on RISC) yang dimulai pada tahun 1983.

Prosesor RISC Stanford
Sementara proyek RISC-1 dan RISC-2 dilakukan kelompok Patterson di Universitas California, pada tahun 1981 itu juga John Hennessy dari Universitas Stanford mengerjakan proyek MIPS (Microprocessor without Interlocked Pipeline Stages) . Pengalaman riset tentang optimasi kompilator digabungkan dengan teknologi perangkat keras RISC merupakan kunci utama proyek MIPS ini. Tujuan utamanya adalah menghasilkan chip mikroprosesor serbaguna 32-bit yang dirancang untuk mengeksekusi secara efisien kode-kode hasil kompilasi (Heudin, 1992: 34). Perangkat instruksi prosesor MIPS terdiri atas 31 buah instruksi yang dibagi menjadi 4 kelompok, yakni kelompok instruksi isi dan simpan, kelompok instruksi operasi aritmetika dan logika, kelompok instruksi pengontrol, dan kelompok instruksi lain-lain. MIPS menggunakan lima tingkat alur-pipa tanpa perangkat keras saling-kunci antar alur-pipa tersebut, sehingga kode yang dieksekusi harus benar-benar bebas dari konflik antar alur-pipa.
Direalisasi dengan teknologi NMOS 2 mikron, prosesor MIPS yang memiliki 24.000 transistor ini memiliki kemampuan mengeksekusi satu instruksi setiap 500 nanodetik. Karena menggunakan lima tingkat alur-pipa bagian kontrol prosesor MIPS ini menyita luas chip dua kali lipat dibanding dengan bagian kontrol pada prosesor RISC. MIPS memiliki 16 register dibandingkan dengan 138 buah register pada RISC-2. Hal ini bukan masalah penting karena MIPS memang dirancang untuk mebebankan kerumitan perangkat keras ke dalam perangkat lunak sehingga menghasilkan perangkat keras yang jauh lebih sederhana dan lebih efisien. Perangkat keras yang sederhana akan mempersingkat waktu perancangan, implementasi, dan perbaikan bila terjadi kesalahan. Sukses perancangan MIPS dilanjutkan oleh tim Stanford dengan merancang mikroprosesor yang lebih canggih, yakni MIPS-X. Perancangan dilakukan oleh tim riset MIPS sebelumnya ditambah 6 orang mahasiswa, dan dimulai pada musim panas tahun 1984. Rancangan MIPS-X banyak diperbaruhi oleh MIPS dan RISC-2 dengan beberapa perbedaan utama :
·      Semua instruksi MIPS-X merupakan operasi tunggal dan dieksekusi dalam satu siklus detak
·      Semua instruksi MIPS-X memiliki format tetap dengan panjang instruksi 32-bit
·      MIPS-X dilengkapi pendukung koprosesor yang efisien dan sederhana
·      MIPS-X dilengkapi pendukung untuk digunakan sebagai prosesor dasar dalam sistem multiprosesor memori-bersama (shared memory)
·      MIPS-X dilengkapi chace instruksi dalam-chip yang cukup besar (2 kilobyte)
·      MIPS-X difabrikasi dengan teknologi CMOS 2 mikron.
Perkembangan menarik terjadi pada tahun 1993 ketika aliansi tiga perusahaan terkemuka, IBM, Apple, dan Motorola memperkenalkan produk baru mereka yakni PowerPC 601, suatu mikroprosesor RISC 64-bit yang dirancang untuk stasiun kerja (workstation) atau komputer personal (Thompson, 1993 : 56-74). Menarik, karena kemunculan PowerPC 601 dimaksudkan untuk memberikan alternatif bagi dominasi prosesor CISC keluarga-86 Intel dalam komputer rumahan. Popularitas prosesor keluarga-86 didukung oleh harganya yang murah dan banyaknya program aplikasi yang dapat dijalankan dengan prosesor ini. Untuk itu, prosesor PowerPC dijual dengan harga yang cukup bersaing dibandingkan dengan pentium, yakni prosesor buatan Intel mutakhir saat itu (Thompson, 1993 : 64). Perkembangan teknologi emulasi yang memungkinkan prosesor RISC menjalankan sistem operasi yang sama dengan prosesor CISC keluarga-86 diperkirakan akan membuat prosesor RISC, terutama PowerPC 601, banyak digunakan di dalam komputer-komputer personal (Halfhill, 1994 : 119-130).
Beberapa prosesor implementasi dari arsiteketur RISC adalah AMD29000, MIPS R2000, SPARC, MC 88000, HP PA, IBM RT/TC, IBM RS/6000, intel i860, Motorola 88000 (keluarga Motorola), PowerPC G5.
SIFAT-SIFAT RISC
1.      Semua atau setidak-tidaknya sebagian besar (80%) instruksi harus dieksekusi dalam satu siklus clock.
2.      Semua instruksi harus memiliki satu ukuran standar, yaitu sama dengan ukuran kata dasar (basic word length).
3.      Jumlah jenis instuksinya harus kecil, tidak melebihi 128
4.      Jumlah format isntruksinya harus kecil, tidak melebihi kira-kira 4
5.      Jumlah addressing mode harus kecil, tidak melebihi kira-kira 4
6.      Akses ke memori hanya dilakukan dengan instruksi load dan store.
7.      Semua operasi, kekcuali operasi load dan store merupakan operasi register ke register di dalam CPU.
8.      Memiliki hardwired control unit.
9.      Memiliki relatif banyak register serbaguna internal CPU.
KARAKTERISTIK RISC
Arsitektur RISC memiliki beberapa karakteristik diantaranya :
1.      Siklus mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya kedalam register, dengan demikian instruksi mesin RISC tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC. Dengan menggunakan instruksi sederhana atau instruksi satu siklus hanya dibutuhkan satu mikrokode atau tidak sama sekali, instruksi mesin dapat dihardwired. Instruksi seperti itu akan dieksekusi lebih cepat dibanding yang sejenis pada yang lain karena tidak perlu mengakses penyimapanan kontrol mikroprogram saat eksekusi instruksi berlangsung.
2.      Operasi berbentuk dari register-ke register yang hanya terdiri dari operasi load dan store yang mengakses memori . Fitur rancangan ini menyederhanakan set instruksi sehingga menyederhanakan pula unit control. Keuntungan lainnya memungkinkan optimasi pemakaian register sehingga operand yang sering diakses akan tetap ada di penyimpan berkecepatan tinggi. Penekanan pada operasi register ke register merupakan hal yang unik bagi perancangan RISC.
3.      Penggunaan mode pengalamatan sederhana, hampir sama dengan instruksi menggunakan pengalamatan register,. Beberapa mode tambahan seperti pergeseran dan pe-relatif dapat dimasukkan selain itu banyak mode kompleks dapat disintesis pada perangkat lunak dibanding yang sederhana, selain dapat menyederhanakan sel instruksi dan unit kontrol.
4.      Penggunaan format-format instruksi sederhana, panjang instruksinya tetap dan disesuaikan dengan panjang word. Fitur ini memiliki beberapa kelebihan karena dengan menggunakan field yang tetap pendekodean opcode dan pengaksesan operand register dapat dilakukan secara bersama-sama
RISC perlu memperhatikan karakteristik eksekusi instruksi. Adapun aspek-aspek komputasinya adalah :
1.      Operasi-operasi yang dilakukan ,
2.      Operand-operand yang digunakan,
3.      Pengurutan eksekusi,.
1.       Operasi
Beberapa penelitian telah menganalisis tingkah laku program HLL (High Level Language). Assignment Statement sangat menonjol yang menyatakan bahwa perpindahan sederhana merupakan satu hal yang penting. Hasil penelitian ini merupakan hal yang penting bagi perancang set instruksi mesin yang mengindikasikan jenis instruksi mana yang sering terjadi karena harus didukung optimal.
2.       Operand
Penelitian Paterson telah memperhatikan [PATT82a] frekuensi dinamik terjadinya kelas-kelas variabel. Hasil yang konsisten diantara program pascal dan C menunjukkan mayoritas referensi menunjuk ke variable scalar. Penelitian ini telah menguji tingkah laku dinamik program HLL yang tidak tergantung pada arsitektur tertentu. Penelitian [LUND77] menguji instruksi DEC-10 dan secara dinamik menemukan setiap instruksi rata-rata mereferensi 0,5 operand dalam memori dan rata-rata mereferensi 1,4 register. Tentu saja angka ini tergantung pada arsitektur dan kompiler namun sudah cukup menjelaskan frekuensi pengaksesan operand sehingga menyatakan pentingnya sebuah arsitektur.
3.      Procedure Calls
Dalam HLL procedure call dan return merupakan aspek penting karena merupakan operasi yang membutuhkan banyak waktu dalam program yang dikompalasi sehingga banyak berguna untuk memperhatikan cara implementasi opperasi ini secara efisien. Adapun aspeknya yang penting adalah jumlah parameter dan variabel yang berkaitan dengan prosedur dan kedalaman pensarangan (nesting).
PROSESSOR YANG MENGGUNAKAN SISTEM RISC
PowerPC dibangun dengan arsitektur RISC
Proyek mini komputer 801 di IBM pada tahun 1975 mengawali banyak konsep arsitektur yang digunakan dalam sistem RISC. 801 bersama dengan prosessor RISC I Berkeley, meluncurkan gerakan RISC, namun 801 hanya merupakan prototipe yang ditujukan untuk mengenalkan konsep disain. Keberhasilan memperkenalkan 801 menyebabkan IBM membangun produk workstation RISC komersial yaitu PC RT pada tahun 1986, dengan mengadaptasi konsep arsitektural 801 kedalam kinerja yang sebanding atau yang lebih baik. IBM RISC System/6000 merupakan mesin RISC superscalar1 yang dipasarkan sebagai workstation berunjuk kerja tinggi, tidak lama kemudian IBM mengkaitkan mesin ini sebagai arsitektur POWER. IBM kemudian menjalin kerjasama dengan Motorola, pembuat mikroprosessor seri 6800, dan Apple, yang menggunakan keping Motorola dalam komputer Macintoshnya dan hasilnya adalah seri mesin yang mengimplementasikan arsitektur PowerPC yang diturunkan dari arsitektur POWER dan merupakan sistem RISC superscalar.
Sejauh ini diperkenalkan empat anggota kelompok PowerPC yaitu
1.        601,merupakan mesin 32-bit yang ditujukan untuk membawa arsitektur PowerPC kepasar secepat mungkin.
2.        603, merupakan mesin 32-bit yang ditujukan bagi low-end desktop dan komputer portable dengan implementasi yang lebih efesien.
3.        604, merupakan mesin 32-bit yang ditujukan bagi low-end server dan desktop, dengan menggunakan teknik rancangan superscalar lanjutan guna mendapatkan kinerja yang lebih baik.
4.        620, ditujukan bagi high-end server, sekaligus merupakan kelompok PowerPC pertama yang mengimplementasikan arsitektur 64 bit penuh, termasuk regiater 64-bit dan lintasan data.
PowerPC sendiri adalah jenis prosesor yang bi-endian, yang mendukung baik mode big-endian maupun litlle-endian. Arsitektur bi-endian memungkinkan pembuat perangkat lunak untuk memilih mode yang mana saja ketika harus memindahkan sistem operasi dan aplikasi dari suatu mesin ke mesin lainnya. Byte, halfword, word, doubleword merupakan jenis data umum. Prosesor mengiterpretasikan isi item data tertentu tergantung pada instruksi.
·           Unsigned Halfword : seperti diatas namun dengan kuantitas 16-bit.
·           Signed Halfword : digunakan untuk operasi aritmatika, dimuatkan kedalam memori dengan sign-extending pada sebelah kiri keukuran penuh register (yaitu, bit tanda disalinkan keposisi-posisi yang kosong).
·           Unsigned Word : digunakan untuk operasi logika dan berfungsi sebagai pointer lokal.
·           Signed Word : digunakan untuk operasi aritmatika.
·           Unsigned Doubleword : digunakan sebagai pointer alamat.
·           Byte String : panjangnya mulai 0 hingga 128 byte.
Selain itu PowerPC mendukung data floating poing presisi tunggal dan presisi ganda yang ditetapkan pada IEEE 754.
KELEBIHAN DAN KEKURANGAN TEKNOLOGI RISC
Teknologi RISC relatif masih baru oleh karena itu tidak ada perdebatan dalam menggunakan RISC ataupun CISC, karena tekhnologi terus berkembang dan arsitektur berada dalam sebuah spektrum, bukannya berada dalam dua kategori yang jelas maka penilaian yang tegas akan sangat kecil kemungkinan untuk terjadi.
Kelebihan
1.    Berkaitan dengan penyederhanaan kompiler, dimana tugas pembuat kompiler untuk menghasilkan rangkaian instruksi mesin bagi semua pernyataan HLL. Instruksi mesin yang kompleks seringkali sulit digunakan karena kompiler harus menemukan kasus-kasus yang sesuai dengan konsepnya. Pekerjaan mengoptimalkan kode yang dihasilkan untuk meminimalkan ukuran kode, mengurangi hitungan eksekusi instruksi, dan meningkatkan pipelining jauh lebih mudah apabila menggunakan RISC dibanding menggunakan CISC.
2.    Arsitektur RISC yang mendasari PowerPC memiliki kecenderungan lebih menekankan pada referensi register dibanding referensi memori, dan referensi register memerlukan bit yang lebih sedikit sehingga memiliki akses eksekusi instruksi lebih cepat.
3.    Kecenderungan operasi register ke register akan lebih menyederhanakan set instruksi dan menyederhanakan unit kontrol serta pengoptimasian register akan menyebabkan operand-operand yang sering diakses akan tetap berada dipenyimpan berkecepatan tinggi.
4.    Penggunaan mode pengalamatan dan format instruksi yang lebih sederhana.
Kekurangan
            Kelemahan utama dari RISC ialah jumalh instruksi yang sedikit. Hal ini mengakibatkan untuk melakukan suatu tugas akan dibutuhkan instruksi yang lebih banyak bila dibandingkan CISC. Hasilnya ialah jumlah ukuran program akan lebih besar bila dibandingkan CISC. Penggunaan memori akan semakin meningkat dan lalu lintas instruksi antara CPU dan memori akan meningkat pula.
Prosesor RISC, yang berkembang dari riset akademis telah menjadi prosesor komersial yang terbukti mampu beroperasi lebih cepat dengan penggunaan luas chip yang efisien. Kemajuan mutakhir yang ditunjukkan oleh mikroprosesor PowerPC 601 dan teknologi emulasi yang antara lain dikembangkan oleh IBM memungkinkan bergesernya dominasi chip-chip keluarga-86 dan kompatibelnya. Program yang dihasilkan dalam bahasa simbolik akan lebih panjang (instruksinya lebih banyak).
1.      Program berukuran lebih besar sehingga membutuhkan memori yang lebih banyak, ini tentunya kurang menghemat sumber daya.
2.      Program yang berukuran lebih besar akan menyebabkan
-          Menurunnya kinerja, yaitu instruksi yang lebih banyak artinya akan lebih banyak byte-byte instruksi yang harus diambil.
-          Pada lingkungan paging akan menyebabkan kemungkinan terjadinya page fault lebih besar

Fase perkembangan prosesor CISC dan RISC
Sebelum proses RISC didesain untuk pertama kalinya, banyak arsitek komputer mencoba menjembatani celah semantik”, yaitu bagaimana cara untuk membuat set-set instruksi untuk mempermudah pemrograman level tinggi dengan menyediakan instruksi “level tinggi” seperti pemanggilan procedure, proses pengulangan dan mode-mode pengalamatan kompleks sehingga struktur data dan akses array dapat dikombinasikan dengan sebuah instruksi. Karakteristik CISC yg “sarat informasi” ini memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat.
Memang setelah itu banyak desain yang memberikan hasil yang lebih baik dengan biaya yang lebih rendah, dan juga mengakibatkan pemrograman level tinggi menjadi lebih sederhana, tetapi pada kenyataannya tidaklah selalu demikian. Contohnya, arsitektur kompleks yang didesain dengan kurang baik (yang menggunakan kode-kode mikro untuk mengakses fungsi-fungsi hardware), akan berada pada situasi di mana akan lebih mudah untuk meningkatkan performansi dengan tidak menggunakan instruksi yang kompleks (seperti instruksi pemanggilan procedure), tetapi dengan menggunakan urutan instruksi yang sederhana.
Satu alasan mengenai hal ini adalah karena set-set instruksi level-tinggi, yang sering disandikan (untuk kode-kode yang kompleks), akan menjadi cukup sulit untuk diterjemahkan kembali dan dijalankan secara efektif dengan jumlah transistor yang terbatas. Oleh karena itu arsitektur -arsitektur ini memerlukan penanganan yang lebih terfokus pada desain prosesor. Pada saat itu di mana jumlah transistor cukup terbatas, mengakibatkan semakin sempitnya peluang ditemukannya cara-cara alternatif untuk optimisasi perkembangan prosesor. Oleh karena itulah, pemikiran untuk menggunakan desain RISC muncul pada pertengahan tahun 1970 (Pusat Penelitian Watson IBM 801 – IBMs)
Perbedaan CISC dan RISC
Rancangan RISC dapat memperoleh keuntungan dengan mengambil sejumlah feature CISC dan Rancangan CISC dapat memperoleh keuntungan dengan mengambil sejumlah feature RISC. Hasilnya adalah bahwa sejumlah rancangan RISC yang terbaru, yang dikenal sebagai PowerPC, tidak lagi “murni” RISC dan rancangan CISC yang terbaru, yang dikenal sebagai Pentium, memiliki beberapa karakteristik RISC.
RISC
CISC
Penekanan pada perangkat lunak
Penekanan pada perangkat keras
Single-clock,hanya sejumlah kecil instruksi
Termasuk instruksi kompleks multi-clock
Register toRegister :”LOAD”&”STORE” adalah instruksi2 terpisah
Memori ke Memori:”LOAD”&”STORE” saling bekerjasama
Ukuran kode besar(kecepatan relatif tinggi)
Ukurang kode kecil,kecepatan rendah
Transistor banyak dipakai untuk register memori
Transistor digunakan untuk menyimpan instruksi2 kompleks

DAFTAR PUSTAKA



Juma , LaOde Abdul. Arsitektur Reduced Instruction Set Computers (RISC).online. (http://iskandar-zulkarnaen1.tripod.com/risc.pdf).di akses tanggal  16 Pebruari 2012

Aditya, Rifqi. 2011. Perkembangan teknologi Mikroprosesor CISC dan RISC.online.(http://blog.ub.ac.id/rifqiaditya/2011/02/25/perkembangan-teknologi-mikroprosesor-cisc-dan-risc/).diakses tanggal 16 pebruari 2012

 

Wijaya ,Fredy Ferdyan Oktarizky. 2009. CISC (Complex Instruction-Set Computer). Online.( http://fredyferdyan.blogspot.com/2009/08/cisc-complex-instruction-set-computer.html). Diakses pada tanggal 16 Pebruari 2012

 

 Silalahi, Novia Frederica. 2011. Perkembangan Mikroprosesor dengan Teknologi RISC/CISC  .online . (http://noviafredericasilalahi.blogspot.com-/2011/02/perkembanganmikroprosesor-dengan.html). Diakses tanggal 16 Pebruari 2012

Jatnika, hendriyana. 2011. Perbedaan Arsitektur RISC dengan CISC . online.(http://technohitech.blogspot.com/2011/05/perbedaan-arsitektur-riscdengan -cisc.html). Diakses pada tanggal 16 Pebruari 2012

Enun,Adam.2009.RISC CISC & Superscalar. Online. (http://adamenun.-blogspot.com/2009/06/riscciscsuperscalar.html).Diakses  pada tanggal 16 Pebruari 2012