Selasa, 28 Desember 2010

bagian memori

Memori fisik merupakan istilah generik yang merujuk pada media penyimpanan data sementara pada komputer. Setiap program dan data yang sedang diproses oleh prosesor akan disimpan di dalam memori fisik. Data yang disimpan dalam memori fisik bersifat sementara, karena data yang disimpan di dalamnya akan tersimpan selama komputer tersebut masih dialiri daya (dengan kata lain, komputer itu masih hidup). Ketika komputer itu direset atau dimatikan, data yang disimpan dalam memori fisik akan hilang. Oleh karena itulah, sebelum mematikan komputer, semua data yang belum disimpan ke dalam media penyimpanan permanen (umumnya bersifat media penyimpanan permanen berbasis disk, semacam hard disk atau floppy disk), sehingga data tersebut dapat dibuka kembali pada lain waktu.

Memori fisik umumnya diimplementasikan dalam bentuk Random Access Memory (RAM), yang bersifat dinamis (DRAM). Mengapa disebut Random Access, adalah karena akses terhadap lokasi-lokasi di dalamnya dapat dilakukan secara acak (random), bukan secara berurutan (sekuensial). Meskipun demikian, kata random access dalam RAM ini sering menjadi salah kaprah. Sebagai contoh, memori yang hanya dapat dibaca (ROM), juga dapat diakses secara random, tetapi ia dibedakan dengan RAM karena ROM dapat menyimpan data tanpa kebutuhan daya dan tidak dapat ditulisi sewaktu-waktu. Selain itu, hard disk yang juga merupakan salah satu media penyimpanan juga dapat diakses secara random, tapi ia tidak digolongkan ke dalam Random Access Memory.

Penggunaan Memory Komponen utama dalam sistem komputer adalah Arithmetic Logic Unit (ALU), Control Circuitry, Storage Space dan piranti Input/Output. Jika tanpa memory, maka komputer hanya berfungsi sebagai digital signal processing devices, contohnya kalkulator atau media player. Kemampuan memory untuk menyimpan data, instruksi dan informasi-lah yang membuat komputer dapat disebut sebagai general-purpose komputer. Komputer merupakan piranti digital, maka informasi disajikan dengan sistem bilangan binary. Teks, angka, gambar, sudio dan video dikonversikan menjadi sekumpulan bilangan binary (binary digit atau disingkat bit). Sekumpulan bilangan binary dikenal dengan istilah BYTE, dimana 1 byte = 8 bits. Semakin besar ukuran memory-nya maka semakin banyak pula informasi yang dapat disimpan di dalam komputer (storage devices). Berikut ini beberapa gambar yang bisa mewakili bagaimana cara informasi disimpan dalam memory dan bagaimana data ditransfer dari satu bagian ke bagian lainnya.

referensi :

www.wikipedia.com

MEMORI COMPUTER

MEMORI COMPUTER

I. PENGERTIAN
Memori merupakan bagian dari komputer yang berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Memori biasanya disebut juga dengan istilah : computer storage, computer memory atau memory, merupakan piranti komputer yang digunakan sebagai media penyimpan data dan informasi saat menggunakan komputer. Memory merupakan bagian yang penting dalam komputer modern dan letaknya di dalam CPU (Central Processing Unit).
Sebagian besar komputer memiliki hirarki memori yang terdiri atas tiga level, yaitu:
• physical Register di CPU, berada di level teratas. Informasi yang berada di register dapat diakses dalam satu clock cycle CPU.
• Primary Memory (executable memory), berada di level tengah. Contohnya, RAM. Primary Memory diukur dengan satu byte dalam satu waktu, secara relatif dapat diakses dengan cepat, dan bersifat volatile (informasi bisa hilang ketika komputer dimatikan). CPU mengakses memori ini dengan instruksi single load dan store dalam beberapa clock cycle.
• Secondary Memory, berada di level bawah. Contohnya, disk atau tape. Secondary Memory diukur sebagai kumpulan dari bytes (block of bytes), waktu aksesnya lambat, dan bersifat non-volatile (informasi tetap tersimpan ketika komputer dimatikan). Memori ini diterapkan di storage device, jadi akses meliputi aksi oleh driver dan device.
Gambar 1.1. Gambar Hirarki Memori
Komputer yang lebih canggih memiliki level yang lebih banyak pada sistem hirarki memorinya, yaitu cache memory dan bentuk lain dari secondary memory seperti rotating magnetic memory, optical memory, dan sequntially access memory. Akan tetapi, masing-masing level ini hanya sebuah penyempurnaan salah satu dari tiga level dasar yang telah dijelaskan sebelumnya.
Bagian dari sistem operasi yang mengatur hirarki memori disebut dengan memory manager. Di era multiprogramming ini, memory manager digunakan untuk mencegah satu proses dari penulisan dan pembacaan oleh proses lain yang dilokasikan di primary memory, mengatur swapping antara memori utama dan disk ketika memori utama terlalu kecil untuk memegang semua proses.

Tujuan dari manajemen ini adalah untuk:
• Meningkatkan utilitas CPU
• Data dan instruksi dapat diakses dengan cepat oleh CPU
• Efisiensi dalam pemakaian memori yang terbatas
• Transfer dari/ke memori utama ke/dari CPU dapat lebih efisien
II. Penggunaan Memory
Komponen utama dalam sistem komputer adalah Arithmetic Logic Unit (ALU), Control Circuitry, Storage Space dan piranti Input/Output. Jika tanpa memory, maka komputer hanya berfungsi sebagai digital signal processing devices, contohnya kalkulator atau media player. Kemampuan memory untuk menyimpan data, instruksi dan informasi-lah yang membuat komputer dapat disebut sebagai general-purpose komputer.Komputer merupakan piranti digital, maka informasi disajikan dengan sistem bilangan binary. Teks, angka, gambar, sudio dan video dikonversikan menjadi sekumpulan bilangan binary (binary digit atau disingkat bit). Sekumpulan bilangan binary dikenal dengan istilah BYTE, dimana 1 byte = 8 bits. Semakin besar ukuran memory-nya maka semakin banyak pula informasi yang dapat disimpan di dalam komputer (storage devices).Berikut ini beberapa gambar yang bisa mewakili bagaimana cara informasi disimpan dalam memory dan bagaimana data ditransfer dari satu bagian ke bagian lainnya.
Gambar ini saya ambil dari buku Computers For Beginners USBORNE COMPUTER GUIDES. Jadi kalo kita menekan tombol B, maka huruf B itu dikonversikan menjadi bilangan binary 01000010.Gambar ini juga dari buku yang sama, jadi informasi yang diterima komputer ditransfer dari satu bagian ke bagian lain, misalnya dari Arithmetic Logic unit ke RAM, melalui bus atau electronic pathways yang ada di motherboard.

III. JENIS MEMORI (MEDIA PENYIMPANAN)
Memori merupakan media penyimpanan data pada komputer, yang mana media penyimpanan data dalam computer dibagi menjadi 2 jenis yaitu :
A. MEMORI INTERNAL
Memori jenis ini dapat diakses secara langsung oleh prosesor. Memori internal memiliki fungsi sebagai pengingat. Dalam hal ini yang disimpan di dalam memori utama dapat berupa data atau program. Secara lebih tinci, fungsi dari memori utama adalah :
Menyimpan data yang berasal dari peranti masukan sampai data dikirim ke ALU (Arithmetic and Logic Unit) untuk diproses
• Menyimpan daya hasil pemrosesan ALU senelum dikirimkan ke peranti keluaran
• Menampung program/instruksi yang berasal dari peranti masukan atau dari peranti pengingat sekunder
Memori biasa terbagi dibedakan menjadi dua macam: ROM dan Ram. Selain itu, terdapat pula memori yang disebut cache memory.
a. ROM
ROM (Read-Only-Memory a.k.a firmware) adalah jenis memori yang isinya tidak hilang ketika tidak mendapat aliran listrik dan pada awalnya isinya hanya bisa dibaca. ROM pada komputer disediakan oleh vendor komputer dan berisi program atau data. Di dalam PC, ROM biasa disebut BIOS (Basic Input/Output System) atau ROM-BIOS. Instruksi dalam BIOS inilah yang akan dijalankan oleh mikroprosesor ketka komputer mulai dihidupkan. Umumnya proses yang terkandung dalam BIOS secara berurutan adalah sebagai berikut:
o Memeriksa isi CMOS.
CMOS (Compmentary Meta-Oxyde Semiconductor) adalah jenis cip yang memerlukan daya listrik dari baterai. Cip ini berisi memori 64-byte yang isinya dapat diganti. Pada CMOS inilah berbagai pengaturan dasar komputer dilakukan, misalnya peranti yang digunakan untuk memuat sistem operasi dan termasuk pula tanggal dan jam sistem.
o Memuat penanganan interupsi (interupt handlers) dan pengendali peranti (device driver).
Penanganan interupsi adalah program kecil yang menjadi penerjemah antara perangkat keras dan sistem operasi. Sebagai contoh , jika pemakai menekan tombol keyboard maka isyarat ini dikirimkan melalui penaganan interupsi keyboard.
Pengendali peranti adalah program yang bertindak sebagai pemberi identitas bagi perangkat keras tertentu (misalnya scanner) sehingga bisa dikenali oleh sistem operasi.
o Menginisialisasi register dan manajemen daya listrik
o Melakukan pengujian perangkat keras (POST atau the power-on self-test) untuk memastikan bahwa semua perangkat keras dalam keadaan baik
o Menampilkan pengaturan-pengaturan pada sistem
o Menentukan peranti yang akan digunakan untuk menjalankan program (ex. : hard disk)
o Mengambil isi boot sector. Boot sector juga merupakan sebuah program kecil. Oleh BIOS program ini dimuat ke RAM dan kemudian mikroprosesor akan mengeksekusi perintah-erintah yang sudah berada dalam RAM tersebut.
Melalui prosedur di atas inilah, kemudian sistem operasi (windows, linux, solaris, dll) dimuat.
Selain ROM, terdapat pula cip yang disebut PROM, EPROM dan EEPROM.
PROM (Progammable Read-Only-Memory)
Jika isi ROM ditentukan oleh vendor, PROM dijual dalam keadaan kosong dan kemudian dapat diisi dengan program oleh pemakai. Setelah diisi dengan program, isi PROM tak bisa dihapus.
EPROM (Erasable Programmable Read-Only-Memory)
Berbeda dengan PROM, isi EPROM dapat dihapus setelah diprogram. Penghapusan dilakukan dengan menggunakan sinar ultraviolet.
EEPROM (Electrically Erasable Programmable Read-Only0Memory)
EEPROM dapat menyimpan data secara permanen, tetapi isinya masih bisa dihapus secara elektris melalui program. Salah satu jenis EEPROM adalah Flash Memory. Flash Memory biasa digunakan pada kamera digital, konsol video game, dan cip BIOS.
b. RAM
RAM (Random-Access Memory) adalah jenis memori yang isinya dapat diganti-ganti selama komputer sihidupkan dan bersifat volatile. Selain itu, RAM mempunyai sifat yakni dapat menyimpan dan mengambil data dengan sangat cepat.
Tipe RAM pada PC bermacam; antara lain DRAM, SDRAM, SRAM, RDRAM, dan EDO RAM.
DRAM (Dynamic RAM) adalah jenis RAM yang secara berkala harus disegarkan oleh CPU agar data yang terkandung di dalamnya tidak hilang.
EDO RAM (Extended Data Out RAM) adalah jenis memori yang digunakan pada sistem yang menggunakan Pentium. Cocok untuk yang memiliki bus denagan kecepatan sampai 66 MHz.
SDRAM (Sychronous Dynamic RAM) adalah jenis RAM yang merupakan kelanjutan dari DRAM namun telah disnkronisasi oleh clock sistem dan memiliki kecepatan lebih tinggi daripada DRAM. Cocok untuk sistem dengan bus yang memiliki kecepatan sampai 100 MHz.
SRAM (Static RAM) adalah jenis memori yang tidak memerlukan penyegaran oleh CPU agar data yang terdapat di dalamnya tetap tersimpan dengan baik. RAM jenis ini memiliki kecepatan lebih tinggi daripada DRAM.
RDRAM (Rambus Dynamic RAM) adalah jenis memori yang lebih cepat dan lebih mahal daripada SDRAM. Memori ini biasa digunakan pada sistem yang menggunakan Pentium 4.
Jenis RAM yang terdapat di pasaran :
1. SIMM (Single in-line memory module) – Mempunyai kapasitas 30 atau 72 pin. Memori SIMM 30 pin untuk kegunaan PC zaman 80286 hingga 80486 dan beroperasi pada 16 bit. Memory 72 pin banyak digunakan untuk PC berasaskan Pentium dan beroperasi pada 32 bit. Kecepatan dirujuk mengikuti istilah ns (nano second) seperti 80ns, 70ns, 60ns dan sebagainya. Semakin kecil nilainya maka kecepatan lebih tinggi. DRAM (dynamic RAM) dan EDO RAM (extended data-out RAM) menggunakan SIMM. DRAM menyimpan bit didalam suatu sel penyimpanan (storage sell) sebagai suatu nilai elektrik (electrical charge) yang harus di-refesh beratus-ratus kali setiap saat untuk menetapkan (retain) data. EDO RAM sejenis DRAM lebih cepat, EDO memakan waktu dalam output data, dimana ia memakan waktu di antara CPU dan RAM. Memori jenis ini tidak lagi digunakan pada komputer akhir-akhir ini.
SIMM 30 PIN SIMM 72 PIN
2. DIMM (dual in-line memory module) – Berkapasitas 168 pin, kedua belah modul memori ini aktif, setiap permukaan adalah 84 pin. Ini berbeda daripada SIMM yang hanya berfungsi pada sebelah modul saja. Mensuport 64 bit penghantaran data. SDRAM (synchronous DRAM) menggunakan DIMM. Merupakan penganti dari DRAM, FPM (fast page memory) dan EDO. SDRAM pengatur (synchronizes) memori supaya sama dengan CPU clock untuk pemindahan data yang lebih cepat. Terdapat dalam dua kecepatan yaitu 100MHz (PC100) dan 133MHz (PC133). DIMM 168 PIN
3. DDR SDRAM (double-data-rate SDRAM) – Ciri-ciri DDR SDRAM sama dengan SDRAM, tetapi pemindahan data (data transfer) mendekati kecepatan sistem jam (system clock) dan ini secara teori meningktkan kecepatan SDRAM. Dahulu digunakan sebagai memori untuk card terpisah tetapi pada saat ini pabrik komputer membuatnya pada modul memori untuk motherboard sebagai satu jalan alternatif untuk pengganti SDRAM yang mempunyai 184 pin dan terdapat dalam tiga kecpatan yaitu 266MHz, 333MHz dan 400MHz. DIMM 184PIN
4. DRDRAM (direct Rambus DRAM) – Dulu dikenali sebagai RDRAM. Adalah sejenis SDRAM yang dibuat oleh Rambus. DRDRAM digunakan untuk CPU dari Intel yang berkecepatan tinggi. Pemindahan data sama seperti DDR SDRAM tetapi mempunyai dua saluran data untuk meningkatkan kemampuan. Juga dikenali sebagai PC800 yang kerkelajuan 400MHz. Beroperasi dalam bentuk 16 bit bukan 64 bit. Pada saat ini terdapat DRDRAM berkecepatan 1066MHz yang dikenal dengan RIMM (Rambus inline memory module). DRDRAM model RIMM 4200 32-bit menghantar 4.2gb setiap saat pada kecepatan 1066MHZ.
c. CACHE MEMORY
Memori berkapasitas terbatas, memori ini berkecepatan tinggi dan lebih mahal dibandingkan memory utama. Berada diantara memori utama dan register pemroses, berfungsi agar pemroses tidak langsung mengacu kepada memori utama tetapi di cache memory yang kecepatan aksesnya yang lebih tinggi, metode menggunakan cache memory ini akan meningkatkan kinerja sistem.
Cache memory adalah tipe RAM tercepat yang ada, dan digunakan oleh CPU, hard drive, dan beberapa komponen lainnya. Seperti halnya RAM, lebih banyak cache memory adalah lebih baik, akan tetapi biasanya cache pada CPU dan hard drive tidak dapat diupgrade menjadi lebih banyak. Contoh yang dapat dilihat misalnya adalah pada CPU Pentium II terdapat 512 KiloByte cache, dan pada hard drive IBM 9LZX SCSI terdapat 4 MegaBytes cache. Seperti halnya RAM, pada umumnya data akan dilewatkan dulu pada cache memory sebelum menuju komponen yang akan menggunakannya (misalnya CPU). Selain itu cache memory menyimpan pula sementara data untuk akses cepat. Kecepatan cache memory juga menjadi unsur yang penting. Sebagai contoh, CPU Pentium II memilki cache sebesar 12 k, dan CPU Celeron memiliki cache sebesar 128 k, akan tetapi cache pada Pentium II berjalan pada 1/2 kali kecepatan CPU, sementara cache pada Celeron berjalan dengan kecepatan sama dengan kecepatan CPU. Hal ini merupakan tradeoff yang membuat kecepatan Celeron dalam hal-hal tertentu kadang-kadang malah bisa mengalahkan Pentium II.
B. MEMORI EKSTERNAL
Merupakan memori tambahan yang berfungsi untuk menyimpan data atau program.Contoh: Hardisk, Floppy Disk dllHubungan antara Chace Memori, Memori Utama dan Memori eksternal dapat di lihat pada gambar berikut :
Konsep dasar memori eksternal adalah :
• Menyimpan data bersifat tetap (non volatile), baik pada saat komputer aktif atau tidak.
Memori eksternal biasa disebut juga memori eksternal yaitu perangkat keras untuk melakukan operasi penulisan, pembacaan dan penyimpanan data, di luar memori utama.
Memori eksternal mempunyai dua tujuan utama yaitu sebagai penyimpan permanen untuk membantu fungsi RAM dan yang untuk mendapatkan memori murah yang berkapasitas tinggi bagi penggunaan jangka panjang.
BERBAGAI JENIS MEMORY EKSTERNAL
1. Berdasarkan Jenis Akses Data
Berdasarkan jenis aksesnya memori eksternal dikelompokkan menjadi dua jenis yaitu :
a. DASD (Direct Access Storage Device) di mana ia mempunyai akses langsung terhadap data.
Contoh :
ü Magnetik (floppy disk, hard disk).
ü Removeable hard disk (Zip disk, Flash disk).
ü Optical Disk.
b. SASD (Sequential Access Storage Device) : Akses data secara tidak langsung (berurutan), seperti pita magnetik.

2. Berdasarkan Karakteristik Bahan
Berdasarkan karakteristik bahan pembuatannya, memori eksternal digolongkan menjadi beberapa kelompok sebagai berikut:
a. Punched Card atau kartu berlubang
Merupakan kartu kecil berisi lubang-lubang yang menggambarkan berbagai instruksi atau data. Kartu ini dibaca melalui puch card reader yang sudah tidak digunakan lagi sejak tahun 1979.
b. Magnetic Disk
Magnetic Disk merupakan disk yang terbuat dari bahan yang bersifat magnetik, Contoh : floppy dan harddisk.
c. Optical Disk
Optical disk terbuat dari bahan-bahan optik, seperti dari resin (polycarbonate) dan dilapisi permukaan yang sangat reflektif seperti alumunium. Contoh : CD dan DVD
d. Magnetic Tape
Sedangkan magnetik tape, terbuat dari bahan yang bersifat magnetik tetapi berbentuk pita, seperti halnya pita kaset tape recorder.

IV. PENUTUP
Demikianlah sedikit artikel mengenai memory komputer, yang mana tugas ini dibuat sebagai pengganti UTS (ujian tengah semester), bila ada kealahan dalam pembuatan artikel ini mohon maaf yang sebesar-besarnya.
Saya pribadi juga mengucapkan banyak trimakasih kepada ibu DEWI selaku dosen mata kuliah PDE (pengantar dasar elektronik), yang selama ini telah memberikan bimbingannya kepada saya sehingga saya bisa sedikit menambah wawasan saya tentang dunia tehnologi komputer, semoga apa yang ibu dewi berikan selama ini belas oleh Allah dengan balasan yang lebih dari ini.amien


V. SUMBER ARTIKEL
http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/.
http://tugaspti08.wordpress.com/2008/11/01/memori-internal/

EVOLUSI KEMAMPUAN MEMORI

EVOLUSI KEMAMPUAN MEMORI


Untuk itulah, seiring dengan perkembangan kemampuan prosessor, kemampuan memori juga berkembang. Berikut merupakan perkembangan jenis memori beserta sedikit penjelasan singkatnya.
R A M
RAM yang merupakan singkatan dari Random Access Memory ditemukan oleh Robert Dennard dan diproduksi secara besar - besaran oleh Intel pada tahun 1968, jauh sebelum PC ditemukan oleh IBM pada tahun 1981. Dari sini lah perkembangan RAM bermula. Pada awal diciptakannya, RAM membutuhkan tegangan 5.0 volt untuk dapat berjalan pada frekuensi 4,77MHz, dengan waktu akses memori (access time) sekitar 200ns (1ns = 10-9 detik).
D R A M
Pada tahun 1970, IBM menciptakan sebuah memori yang dinamakan DRAM. DRAM sendiri merupakan singkatan dari Dynamic Random Access Memory. Dinamakan Dynamic karena jenis memori ini pada setiap interval waktu tertentu, selalu memperbarui keabsahan informasi atau isinya. DRAM mempunyai frekuensi kerja yang bervariasi, yaitu antara 4,77MHz hingga 40MHz.
FP RAM
Fast Page Mode DRAM atau disingkat dengan FPM DRAM ditemukan sekitar tahun 1987. Sejak pertama kali diluncurkan, memori jenis ini langsung mendominasi pemasaran memori, dan orang sering kali menyebut memori jenis ini "DRAM" saja, tanpa menyebut nama FPM. Memori jenis ini bekerja layaknya sebuah indeks atau daftar isi. Arti Page itu sendiri merupakan bagian dari memori yang terdapat pada sebuah row address. Ketika sistem membutuhkan isi suatu alamat memori, FPM tinggal mengambil informasi mengenainya berdasarkan indeks yang telah dimiliki. FPM memungkinkan transfer data yang lebih cepat pada baris (row) yang sama dari jenis memori sebelumnya. FPM bekerja pada rentang frekuensi 16MHz hingga 66MHz dengan access time sekitar 50ns. Selain itu FPM mampu mengolah transfer data (bandwidth) sebesar 188,71 Mega Bytes (MB) per detiknya.

Memori FPM ini mulai banyak digunakan pada sistem berbasis Intel 286, 386 serta sedikit 486.
EDO RAM
Pada tahun 1995, diciptakanlah memori jenis Extended Data Output Dynamic Random Access Memory (EDO DRAM) yang merupakan penyempurnaan dari FPM. Memori EDO dapat mempersingkat read cycle-nya sehingga dapat meningkatkan kinerjanya sekitar 20 persen. EDO mempunyai access time yang cukup bervariasi, yaitu sekitar 70ns hingga 50ns dan bekerja pada frekuensi 33MHz hingga 75MHz. Walaupun EDO merupakan penyempurnaan dari FPM, namun keduanya tidak dapat dipasang secara bersamaan, karena adanya perbedaan kemampuan.

Memori EDO DRAM banyak digunakan pada sistem berbasis Intel 486 dan kompatibelnya serta Pentium generasi awal.
SDRAM PC66
Pada peralihan tahun 1996 - 1997, Kingston menciptakan sebuah modul memori dimana dapat bekerja pada kecepatan (frekuensi) bus yang sama / sinkron dengan frekuensi yang bekerja pada prosessor. Itulah sebabnya mengapa Kingston menamakan memori jenis ini sebagai Synchronous Dynamic Random Access Memory (SDRAM). SDRAM ini kemudian lebih dikenal sebagai PC66 karena bekerja pada frekuensi bus 66MHz. Berbeda dengan jenis memori sebelumnya yang membutuhkan tegangan kerja yang lumayan tinggi, SDRAM hanya membutuhkan tegangan sebesar 3,3 volt dan mempunyai access time sebesar 10ns.

Dengan kemampuannya yang terbaik saat itu dan telah diproduksi secara masal, bukan hanya oleh Kingston saja, maka dengan cepat memori PC66 ini menjadi standar memori saat itu. Sistem berbasis prosessor Soket 7 seperti Intel Pentium klasik (P75 - P266MMX) maupun kompatibelnya dari AMD, WinChip, IDT, dan sebagainya dapat bekerja sangat cepat dengan menggunakan memori PC66 ini. Bahkan Intel Celeron II generasi awal pun masih menggunakan sistem memori SDRAM PC66.
SDRAM PC100
Selang kurun waktu setahun setelah PC66 diproduksi dan digunakan secara masal, Intel membuat standar baru jenis memori yang merupakan pengembangan dari memori PC66. Standar baru ini diciptakan oleh Intel untuk mengimbangi sistem chipset i440BX dengan sistem Slot 1 yang juga diciptakan Intel. Chipset ini didesain untuk dapat bekerja pada frekuensi bus sebesar 100MHz. Chipset ini sekaligus dikembangkan oleh Intel untuk dipasangkan dengan prosessor terbaru Intel Pentium II yang bekerja pada bus 100MHz. Karena bus sistem bekerja pada frekuensi 100MHz sementara Intel tetap menginginkan untuk menggunakan sistem memori SDRAM, maka dikembangkanlah memori SDRAM yang dapat bekerja pada frekuensi bus 100MHz. Seperti pendahulunya PC66, memori SDRAM ini kemudian dikenal dengan sebutan PC100.

Dengan menggunakan tegangan kerja sebesar 3,3 volt, memori PC100 mempunyai access time sebesar 8ns, lebih singkat dari PC66. Selain itu memori PC100 mampu mengalirkan data sebesar 800MB per detiknya.

Hampir sama dengan pendahulunya, memori PC100 telah membawa perubahan dalam sistem komputer. Tidak hanya prosessor berbasis Slot 1 saja yang menggunakan memori PC100, sistem berbasis Soket 7 pun diperbarui untuk dapat menggunakan memori PC100. Maka muncullah apa yang disebut dengan sistem Super Soket 7. Contoh prosessor yang menggunakan soket Super7 adalah AMD K6-2, Intel Pentium II generasi akhir, dan Intel Pentium II generasi awal dan Intel Celeron II generasi awal.
DR DRAM
Pada tahun 1999, Rambus menciptakan sebuah sistem memori dengan arsitektur baru dan revolusioner, berbeda sama sekali dengan arsitektur memori SDRAM.Oleh Rambus, memori ini dinamakan Direct Rambus Dynamic Random Access Memory. Dengan hanya menggunakan tegangan sebesar 2,5 volt, RDRAM yang bekerja pada sistem bus 800MHz melalui sistem bus yang disebut dengan Direct Rambus Channel, mampu mengalirkan data sebesar 1,6GB per detiknya! (1GB = 1000MHz). Sayangnya kecanggihan DRDRAM tidak dapat dimanfaatkan oleh sistem chipset dan prosessor pada kala itu sehingga memori ini kurang mendapat dukungan dari berbagai pihak. Satu lagi yang membuat memori ini kurang diminati adalah karena harganya yang sangat mahal.
RDRAM PC800
Masih dalam tahun yang sama, Rambus juga mengembangkan sebuah jenis memori lainnya dengan kemampuan yang sama dengan DRDRAM. Perbedaannya hanya terletak pada tegangan kerja yang dibutuhkan. Jika DRDRAM membutuhkan tegangan sebesar 2,5 volt, maka RDRAM PC800 bekerja pada tegangan 3,3 volt. Nasib memori RDRAM ini hampir sama dengan DRDRAM, kurang diminati, jika tidak dimanfaatkan oleh Intel.

Intel yang telah berhasil menciptakan sebuah prosessor berkecepatan sangat tinggi membutuhkan sebuah sistem memori yang mampu mengimbanginya dan bekerja sama dengan baik. Memori jenis SDRAM sudah tidak sepadan lagi. Intel membutuhkan yang lebih dari itu. Dengan dipasangkannya Intel Pentium4, nama RDRAM melambung tinggi, dan semakin lama harganya semakin turun.


SDRAM PC133
Selain dikembangkannya memori RDRAM PC800 pada tahun 1999, memori SDRAM belumlah ditinggalkan begitu saja, bahkan oleh Viking, malah semakin ditingkatkan kemampuannya. Sesuai dengan namanya, memori SDRAM PC133 ini bekerja pada bus berfrekuensi 133MHz dengan access time sebesar 7,5ns dan mampu mengalirkan data sebesar 1,06GB per detiknya. Walaupun PC133 dikembangkan untuk bekerja pada frekuensi bus 133MHz, namun memori ini juga mampu berjalan pada frekuensi bus 100MHz walaupun tidak sebaik kemampuan yang dimiliki oleh PC100 pada frekuensi tersebut.


SDRAM PC150
Perkembangan memori SDRAM semakin menjadi - jadi setelah Mushkin, pada tahun 2000 berhasil mengembangkan chip memori yang mampu bekerja pada frekuensi bus 150MHz, walaupun sebenarnya belum ada standar resmi mengenai frekunsi bus sistem atau chipset sebesar ini. Masih dengan tegangan kerja sebesar 3,3 volt, memori PC150 mempunyai access time sebesar 7ns dan mampu mengalirkan data sebesar 1,28GB per detiknya.

Memori ini sengaja diciptakan untuk keperluan overclocker, namun pengguna aplikasi game dan grafis 3 dimensi, desktop publishing, serta komputer server dapat mengambil keuntungan dengan adanya memori PC150.
DDR SDRAM
Masih di tahun 2000, Crucial berhasil mengembangkan kemampuan memori SDRAM menjadi dua kali lipat. Jika pada SDRAM biasa hanya mampu menjalankan instruksi sekali setiap satu clock cycle frekuensi bus, maka DDR SDRAM mampu menjalankan dua instruksi dalam waktu yang sama. Teknik yang digunakan adalah dengan menggunakan secara penuh satu gelombang frekuensi. Jika pada SDRAM biasa hanya melakukan instruksi pada gelombang positif saja, maka DDR SDRAM menjalankan instruksi baik pada gelombang positif maupun gelombang negatif. Oleh karena dari itu memori ini dinamakan DDR SDRAM yang merupakan kependekan dari Double Data Rate Synchronous Dynamic Random Access Memory.

Dengan memori DDR SDRAM, sistem bus dengan frekuensi sebesar 100 - 133 MHz akan bekerja secara efektif pada frekuensi 200 - 266 MHz. DDR SDRAM pertama kali digunakan pada kartu grafis AGP berkecepatan ultra. Sedangkan penggunaan pada prosessor, AMD ThunderBird lah yang pertama kali memanfaatkannya.
EVOLUSI MODUL
Selain mengalami perkembangan pada sisi kemampuan, teknik pengolahan modul memori juga dikembangkan. Dari yang sederhana yaitu SIMM sampai RIMM. Berikut penjelasan singkatnya.
S I M M
Kependekan dari Single In-Line Memory Module, artinya modul atau chip memori ditempelkan pada salah satu sisi sirkuit PCB. Memori jenis ini hanya mempunyai jumlah kaki (pin) sebanyak 30 dan 72 buah.

SIMM 30 pin berupa FPM DRAM, banyak digunakan pada sistem berbasis prosessor 386 generasi akhir dan 486 generasi awal. SIM 30 pin berkapasitas 1MB, 4MB dan 16MB.

Sedangkan SIMM 70 pin dapat berupa FPM DRAM maupun EDO DRAM yang digunakan bersama prosessor 486 generasi akhir dan Pentium. SIMM 70 pin diproduksi pada kapasitas 4MB, 8MB, 16MB, 32MB, 64MB dan 128MB.
D I M M
Kependekan dari Dual In-Line Memory Module, artinya modul atau chip memori ditempelkan pada kedua sisi PCB, saling berbalikan. Memori DIMM diproduksi dalam 2 bentuk yang berbeda, yaitu dengan jumlah kaki 168 dan 184.

DIMM 168 pin dapat berupa Fast-Page, EDO dan ECC SDRAM, dengan kapasitas mulai dari 8MB, 16MB, 32MB, 64MB dan 128MB. Sementara DIM 184 pin berupa DDR SDRAM.
SODIMM
Kependekan dari Small outline Dual In-Line Memory Module. Memori ini pada dasarnya sama dengan DIMM, namun berbeda dalam penggunaannya. Jika DIMM digunakan pada PC, maka SO DIMM digunakan pada laptop / notebook.

SODIMM diproduksi dalam dua jenis,jenis pertama mempunyai jumlah kakai sebanyak 72, dan satunya berjumlah 144 buah
RIMM / SORIMM
RIMM dan SORIMM merupakan jenis memori yang dibuat oleh Rambus. RIMM pada dasarnya sama dengan DIMM dan SORIMM mirip dengan SODIMM.

Karena menggunakan teknologi dari Rambus yang terkenal mengutamakan kecepata, memori ini jadi cepat panas sehingga pihak Rambus perlu menambahkan aluminium untuk membantu melepas panas yang dihasilkan oleh memori ini.


KESIMPULAN
Jika dicermati, perkembangan memori mengarah pada peningkatan kemampuan memori dalam mengalirkan data baik dari dan ke prosessor maupun perangkat lain. Baik itu peningkatan access time maupun lebar bandwidth memori.

Selain itu, peningkatan kapasitas memori juga berkembang. Jika dulu, dengan sistem 8088, memori 1MB dalam satu keping memori sudah sangat mencukupi, kini bahkan Visipro membuat kapasitas memori sebesar 512MB dalam satu kepingnya!

Yang tidak kalah berkembang adalah adanya kecenderungan penurunan tegangan kerja yang dibutuhkan oleh memori untuk bekerja secara optimal.
TANGGAPAN
Pemilihan terhadap jenis memori yang akan digunakan sangatlah penting mengingat memori merupakan komponen utama pada PC. Pemilihan ini hendaklah disesuaikan dengan prosessor yang digunakan, seri chipset motherboard, dan kebutuhan penggunaan.

Memori RDRAM buatan Rambus saat ini memang yang terbaik. Namun memori ini hanya dapat bekerja pada chipset motherboard berbasis Pentium4 saja, yang tentunya untuk ukuran saat ini, harganya masih terasa sangat mahal. Memang baru - baru ini Intel telah membuat chipset baru dimana memungkinkan Pentium4 bekerja dengan memori SDRAM. Hal ini memang dapat menekan harga secara signifikan, namun dari segi performa akan sangat berbeda sekali.

Alternatif yang lebih bijak adalah dengan menggunakan memori DDR SDRAM. Saat ini harga memori DDR SDRAM hanya terpaut sedikit dengan SDRAM. Untuk prosessor, DDR SDRAM lebih baik dipasangkan dengan AMD ThunderBird. Harga prosessor ini lebih murah dari Pentium III, namun mempunyai kemampuan yang setara, bahkan mungkin malah mengungguli Pentium4.
REFERENSI
• Kingston Technology, The Ultimate Memory Guide, www.kingston.com
• Arnold, Eric A. , Memory Types, http://home.cfl.rr.com/bjp/eric/

SISTEM MEMORI

ARSITEKTUR SISTEM MEMORI

I. TEKNOLOGI DAN BIAYA SISTEM MEMORI
Ada 2 teknologi yang mendominasi industri memori sentral dan memori utama, yaitu :

a. Memori Magnetic Core (tahun 1960)
Sel penyimpanan yang ada dalam memori inti dibuat dari elemen besi yang berbentuk donat yang disebut magnetic core (inti magnetis) atau hanya disebut core saja.
Para pembuat(pabrikan) yang membuat core ini menyusun core plane bersama dengan sirkuit lain yang diperlukan, menjadi memori banks(bank memori).

b. Memori Solid State
Komputer yang pertama diproduksi untuk tujuan komersil adaalah UNIVAC dimana :
• CPU nya menggunakan teknologi vacuum tube (tabung hampa udara) dan menjalankan aritmatika decimal.
• Memori utamanya 1000 word (setiap word besarnya 60 bit dan menyimpan 12 karakter 5 bit)

II. ORGANISASI MEMORI
• Salah satunya adalah menggunakan Inteleaving dimana tujuannya adalah untuk meningkatkan kecepatan pengaksesan system penyimpanan yang besar.
• Sistem penyimpanan yang besar terdiri atas beberapa bank memori independent yang diakses oleh CPU dan peralatan I/O melalui pengontrolan port memori
Contoh : Cross bar switch

Sistem penyimpanan menggunakan Interleave High Order
• Setiap bank (penyimpanan) berisi blok alamat yang berurutan.
• Setiap peralatan, termasuk CPU, menggunakan bank memori yang berbeda untuk program dan datanya, maka semua bank dapat mentransfer data secara serentak.

Sistem penyimpanan menggunakan Interleave Low Order
• Alamat yang berurutan berada dalam bank yang terpisah, sehingga setiap peralatan perlu mengakses semua bank selagi menjalankan programnya atau mentransfer data.
Contohnya : suatu siklus memori lebih lama daripada waktu siklus CPU.
• Apabila word yang berurutan berada dalam bank yang berbeda, maka system penyimpanan bila dilengkapi dengan putaran yang cocok dapat melengkapi akses memori yang berurutan, dengan kata lain setelah CPU meminta untuk mengakses word pertama yang disimpan dalam salah satu bank, maka ia dapat bergerak ke bank kedua dan mengawali akses word kedua sementara penyimpanan tetap mendapatkan kembali word pertama sementara penyimpanan tetap mendapatkan kembali word pertama.Pada CPU kembali ke bank pertama, system penyimpanan diharapkan telah menyelesaikan mengakses word pertama dan telah siap mengakses lagi.
• Banyak komputer berkinerja tinggi menggunakan Inteleave Low Order
III. JENIS MEMORI
a. Memory Read Only (ROM)
• Peralatan memori yang dapat dibaca namun tidak dapat ditulis oleh CPU
Contoh : Switch Mekanis (computer menggunakannya untuk menyimpan konstansta yang digunakan untuk menentukan konfigurasi system(jumlah memori utama).
• PROM (Programming Read Only Memory) adalah ROM yang diprogram oleh pabrik pembuatnya dan kita tidak bisa mengubah isinya.
• EPROM (Erasable PROM) adalah ROM yang dapat dihapus dengan menggunakan sinar ultraviolet dan kemudian deprogram kembali.
• EAROM(Electrically Alterable ROM) ROM yang dapat deprogram oleh computer dengan menggunakan operasi arus tinggi (high current) khusus, digunakan untuk menyimpan informasi yang jarang sekali berubah, contohnya : informasi konfigurasi.

b. Memory Read / Write
Memori Read/Write dapat diklasifikasikan menurut sifat pengoperasiannya adalah :

1. Sifat Fisik

 Statis lawan Dinamis

Static RAM (SRAM)
• Untuk setiap word apabila telah ditulis tidak perlu lagi dialamatkan atau dimanipulasi untuk menyimpan nilainya.
• Tidak perlu penyegaran
• Dibentuk dari flip-flop yang nmeggunakan arus kecil untuk memelihara logikanya.
• Digunakan untuk register CPU dan peralatan penyimpanan berkecepatan tinggi.
• Merupakan sirkuit memori semikonduktor yang cepat dan mahal.

Dynamic RAM (DRAM)
• Dibentuk dari kapasitor (peralatan yang digunakan untuk menyimpan muatan listrik) dan transistor
• Menggunakan sirkuit pembangkit
• Waktu siklusnya 2 kali access time (waktu access baca) yaitu waktu yang dibutuhkan untuk memanggil kembali data dari peralatan.
• Perlu penyegaran


 Volatil lawan Non-Volatil

Memori Volatile
Membutuhkan sumber daya yang terus menerus untuk menyimpan nilainya. Contoh : RAM Static dan Dynamic


Memori Non Volatile
Tidak membutuhkan sumber daya yang terus menerus untuk menyimpan nilainya.
Contoh : ROM


 Read Destruktif lawan Read Non-Destruktif

Memori Read Destruktif
• Apabila dalam proses membaca word memori tersebut juga menghancurkan nilainnya.
• Mempunyai 2 fase operasi yaitu read cycle dan restore cycle
• Selama akses baca system penyimpan pertama kali akan membaca word dan selama akses tulis system penyimpanan pertama kali akan membaca word, yang mengakibatkan waku akses baca akan lebih pendek daripada waktu tulis.
Contoh : DRAM

Memori Read Non-Destruktif
• Dalam proses membaca word, memori tersebut tidak dapat dihancurkan.
• Contohnya : SRAM dan ROM

 Removable lawan Permanen

Memori Removable
• Memori yang elemen aktifnya dapat dikeluarkan dari hardware system.
• Contoh : disket.

Memori Non Removable
• Memori yang elemen aktifnya tidak dapat dikeluarkan dari hardware system.
• Contoh : RAM dan hard disk

2. Organisasi Logis
• Teralamatkan (addressed)
Memori yang menggunakan alamat untuk menentukan sel yang dibaca dan ditulis.
• Asosiatif
Memori yang menggunakan isi dari bagian word untuk menentukan sel yang dibaca atau ditulis
• Akses Urut
Memori yang menggunakan piya magnetis untuk mengakses data secara urut.

3. Memori Archival
• Memori non volatile yang dapat menyimpan banyak data dengan biaya yang sangat sedikit dan dalam jangka waktu yang lama.Contoh : Tape(Pita), Disk dan Disk Optis
• Disk Optis menyimpan data dengan mengubah secara internal sifat reflektif dari bidang kecil yang ada pada disk dan membaca data dengan cara mendeteksi secara visual yang telah diubah.
• WORM Memori (Word Once Read Many Times) ideal untuk menyimpan archival, karena bila sekali telah ditulis ia secara fungsional menjadi ROM.

IV. SISTEM MEMORI UTAMA
• Tahun 1960-an para programmer system mengembangkan system pengoperasian multiprogramming, yang memanfaatkan atau menggunakan memori utama yang sangat besar.
• Komputer yang hanya mempunyai satu system memori utama dikatakan mempunyai one-level strorage system(system penyimpanan tingkat satu)
• Komputer yang mempunyai memori virtual menggunakan multilevel storage system (system penyimpanan bertingkat)
• Penyimpanan multilevel mempunyai memori sentral(internal) yaitu memori utama dan register CPU sebagai primary memory dan peralatan penyimpanan eksternal seperti hardisk dan disket sebagai secondary memory memori sekunder.

V. RELOKASI PROGRAM DAN PROTEKSI MEMORI
• Multiprogramming adalah cara yang tepat untuk meningkatkan kegunaan CPU dengan cara memungkinkan beberapa tugas berada dalam memori pada waktu yang bersamaan.
• Berhasilnya multiprogramming ditentukan antara lain oleh :
o Relokasi Program
- Dengan cara menmpatkan program dimana saja dalam memori
- Initial Program Relocation (Relokasi Program Awal) adalah proses merelokasi program tempat system pengoperasian pertama kali.
- Dynamic Program Relocation (Relokasi Program Dinamis) adalah system pengoperasian dapat memindahkan program dari suatu tempat ke tempat yang lain dalam memori utama setelah program dijalankan.
o Proteksi Program
- Mencegah suatu program mengakses memori yang telah diberikan oleh system pengoperasian ke program yang lain.
- Contoh relokasi program dan proteksi adalah IBM System/360 dan CDC 6600
- IBM System/360
 Menggunakan Register Base untuk merelokasi program
 Menggunakan relokasi program awal
 Menggunakan key-controlled memory protection untuk proteksi memori.
- CDC 6600
 Mempunyai register khusus yaitu Relocation Address (RA/Register Alamat Relokasi) untuk merelokasi program.
 Menggunakan relokasi program awal





VI. MEMORI CACHE
• Buffer berkecepatan tinggi yang digunakan untuk menyimpan data yang diakses pada saat itu dan data yang berdekatan dalam memori utama.
• Memori akses random (RAM) berkecepatan tinggi yang ditempatkan diantara system memori dan pemakaiannya untuk mengurangi waktu akses efektif dari system memori.
• Dengan memasukan memori chace antara peralatan cepat dan system memori yang lebih lambat, perancangan ini dapat memberikan system memori yang cepat.
• Kegunaan Memori Cache adalah :
 Program cenderung menjalankan instruksi yang berurutan, menyebabkan instruksi tersebut berada didekat lokasi memori.
 Program biasanya mempunyai simpul untuk tempat menjalankan kelompok instruksi secara berulang-ulang.
 Compiler menyimpan array dalam blok lokasi memori yang bersebelahan.
 Compiler biasanya menempatkan item data yang tidak berhubungan didalam segmen data.
• Cache terdiri dari sejumlah cache entries(entry cache) dan setiap entri cache terdiri dari 2 yaitu
o Memori Cache
 merupakan SRAM berkecepatan tinggi
 data yang disimpan merupakan kopi dari data memori utama yang terpilih pada saat itu atau data yang baru disimpan yang belum berada didalam memori.
o Address Tag (Tag Alamat)
 Menunjukan alamat fisik data yang ada dalam memori utama dan beberapa informasi valid

• Cara kerja Cache adalah :
o Ketika CPU mengakses memori maka system penyimpanan akan mengirim alamat fisik ke cache
o Membandingkan alamat fisik tersebut dengan semua tag alamat untuk mengetahui apakah ia menyimpan kopi dari sebuah data.
o Cache HIT adalah situasi yang terjadi ketika peralatan meminta akses memori ke word yang telah ada didalam memori cache tersebut secara cepat megembalikan item data yang diminta.
o Cache MISS adalah situasi yang terjadi ketika peralatan meminta akses ke data yang tidak berada dalam cache, cache akan menjemput item tersebut dari memori, dimana hal ini mebutuhkan waktu yang lebih lama dari cache hit.
o Jika cache tidak menyimpan data, maka akan terjadi cache miss dan cache akan menyampaikan alamat ke system memori utama untuk membaca.
o Jika data yang dating dari memori utama, maka CPU atau cache akan menyimpan kopinya dengan diberi tag alamat yang tepat.



• Ada 2 sebab mengapa cache bekerja dengan baik :
 Cache beroperasi secara paralel dengan CPU
- Word tambahan yang dimuatkan setelah terjadi cache miss tidak akan mengganggu kinerja CPU.
 Prinsip Lokalitas Referensi
- CPU akan meminta data baru
• Setiap cache mempunyai dua sub system yaitu :
 Tag Subsystem
- Menyimpan alamat dan menentukan apakah ada kesesesuaian data yang diminta.
 Memory subsistem
- Menyimpan dan mengantarkan data.

• Memori Cache menggunakan teknik pemetaan yang berbeda untuk memetakan alamat memori ke dalam alamat lokalnya, yaitu :
 Cache Asosiatif
- Disebut juga Fully Associative Cache.
- Menyimpan tagnya di dalam memori asosiatif atau memori yang ekuivalen secara fungsional
- Cache dapat menempatkan sembarang jalur refill selama akses memori
- Membandingkan alamat yang ada dengan semua alamat yang disimpan
 Direct Mapped Cache (Cache yang dipetakan langsung)
- Membagi memory utama menjadi K kolom dengan N refill line per kolomnya
 Set Cache Asosiatif
- Mengkombinasikan organisasi asosiatif dan direct (langsung)
- Mengorganisir memori utama dan memorinya sendiri menjadi kolom jalur refil N
 Sector Mapped Cache (Cache yang dipetakan sector)
- Merupakan modifikasi dari cache asosiatif
- Jalur refill memori utama dan cache dikelompokan menjadi sector yang disebut row(baris)

VI. MEMORI VIRTUAL
• Ada 2 teknik yang digunakan memori virtual utnuk memetakan alamat efektif kedalam alamat fisik yaitu :

 Paging
- Adalah teknik yang berorientasi hardware untuk mengelola memori fisik
- Menggunakan paging agar program besar dapat berjalan pada komputer yang mempunyai fisik kecil.
- Hardware memori virtual membagi alamat logis menjadi 2 yaitu virtual page number dan word offset.
- Membagi alamat logis dan memori menjadi page yang berukuran tertentu.

 Segmentasi
- Adalah teknik yang berorientasi pada struktur logis dari suatu program.
- Membagi alamat logis dan memori menjadi page yang ukuran berubah-ubah.
- Segmen yang berisi kode prosedur disebut kode segmen dan yang berisi data disebut data segmen

Perbedaan Paging dengan Segmentasi adalah :
 Paging berorientasi pada hardware dan segmentasi pada struktur logis dari suatu program.
 Segmen cenderung jauh lebih besar dari paging.
 Segmen mempunyai jangkauan ukuran page dan page hanya mempunyai satu ukuran tertentu untuk suatu system tertentu.
 Dalam segmentasi seluruh program tidak perlu dibuat sebagai modul tunggal untuk diisikan ke dalam memori sebagai sebuah unit
 Dalam segmentasi, alamat logis mempunyai 2 bagian, yaitu segement number dan byte offset.

VII. MASALAH DESIGN MEMORI
• Kecepatan Memori lawan kecepatan CPU :
 Awal tahun 1960 – 1980, kecepatan memori dan CPU meningkat, namun rasio keseluruhan antara keduanya relatif.
 Pada era ini kecepatan memori biasanya kurang lebih 10 kali lebih lambat dari kecepatan CPU.
 CDC:6600, 7600, CRAY 1 dan CRAY X-MP untuk super komputer waktu akses memorinya 10 sampai 14 waktu siklus CPU.
 VAX 11/780, 8600 dan 8700 untuk mini computer waktu akses memorinya 4 sampai 7 kali siklus CPU
 Pertengahan tahun 1980, kecepatan CPU jauh lebih meningkat hingga 50 kali kecepatan memori, contoh CRAY
 Keuntungan dari perubahan ini adalah :
 Memori besar umumnya memerlukan hardware khusus untuk mendeteksi dan mengoreksi kesalahan, yang menambah waktu akses memori efektif.
 CPU yang paling cepat merupakan pipelined.

• Ruang Alamat Memori :
 Semakin besar ruang alamat memori yang disediakan maka akan semakin baik namun harus diperhatikan pula bahwa dalam perubahan tersebut tidak harus merubah secara keseluruhan dan mendasar daripada arsitektur yang telah dibangun.





• Keseimbangan antara kecepatan dan biaya :
 Sifat dari Teknologi Memori
- Harga unitnya turun dengan sangat cepat, sedangkan kecepatannya secara perlahan meningkat.
- Adanya berbagai kecepatan dan biaya dalam peralatan memori
 Ada tiga penggunaan teknologi RAM dalam system computer untuk memanfaatkan variasi ini adalah :
- Peralatan lambat, murah untuk memori utama
- Peralatan cepat untuk cache
- Peralatan sangat cepat, mahal untuk register
• Memori dalam system computer dapat dibagi menjadi tiga kelompok, yaitu :
1. Internal Processor Memory
2. Main Memory (Primary Memory)
3. Secondary Memory (Auxiliary/Backing Memory)
• Karakteristik Memori :
 Access Time
 Access Modes
 Alterability
 Permanence of Storage
 Cycle Time and Data Transfer Rate
 Physical Characteristics
• Metode Akses :
 Random Access Memory
Lokasi memori dapat dicapai secara acak dan waktu akses tidak bergantung pada lokasi yang sedang diakses
 Serial Access Memory
Mekanisme akses digunakan bersama-sama oleh seluruh lokasi


referensi :

syakur.staff.gunadarma.ac.id

PENTIUM DAN SEJARAHNYA

PENTIUM DAN SEJARAHNYA


Pentium adalah generasi kelima dari arsitektur prosesor mikro x86 buatan Intel Corporation, yang desainnya dibuat oleh Vinod Dham. Pentium merupakan penerus dari jajaran prosesor 486, dan mulai dijual ke pasaran pertama kali pada tanggal 22 Maret 1993. Nama asli (kode) Pentium adalah 80586 atau i586, untuk mengikuti penamaan generasi sebelumnya.
Pentium merupakan prosesor pertama dari Intel yang menggunakan arsitektur superskalar, sehingga walaupun Pentium merupakan prosesor yang bersifatCISC, Pentium dapat bekerja seperti layaknya prosesor RISC, meskipun pada saat itu belum ada aplikasi yang mampu mengutilisasinya.
Intel beberapa kali melakukan revisi prosesor Pentium miliknya, yakni dikarenakan ada kesalahan dalam operasi pembagian terhadap bilangan floating pointyang tenar dengan sebutan Floating Point Division Bug. Selain karena kesalahan tersebut, Intel juga pernah merevisi Pentium karena ada masalah pada panas dan penurunan tegangan, serta pengubahan proses manufaktur prosesor.

PRNTIUM 2

Prosesor Intel Pentium II ialah prosesor penerus Pentium Pro, yang dilengkapi dengan teknologi MMX yang diluncurkan pertama kali pada Mei 1997. Sebelum diberi nama Pentium II, prosesor ini dikenal dengan codename Klamath.Pentium II sebenarnya sama seperti Pentium Pro, dan prosesor generasi keenam dari keluarga P6 lainnya , akan tetapi desainnya yang sedikit ke arah radikal membuatnya menjadi pembeda. Dengan menggunakan teknologi 350 nanometer (0.35 mikron) dan 250 nanometer (0.25 mikron) dan dilengkapi dengan instruksi MMX, prosesor ini menjadi prosesor untuk mainstream setelah Pentium MMX, setelah Pentium Pro mengalami kegagalan pada kelas desktop dan hanya bisa dipakai untuk server.
Desain dudukan prosesornya dinamakan SECC (Single Edge Contact Cartridge), atau Slot-1. Cache Level-1 sebesar 32 KB terintegrasi pada die, akan tetapi cache Level-2 dimasukkan ke dalam cartridge, sehingga menyebabkan kecepatan L2 tidaklah seperti kecepatan prosesor, melainkan setengahnya. Kontak dengan motherboard pun beda. Dengan fisik seperti card adapter, Pentium II ini dibentuk, berbeda dengan kebanyakan CPU yang beredar waktu itu yang masih menggunakan ZIF socket-7. Inti prosesor Pentium II Klamath yang berjalan pada kecepatan 233 Mhz hingga 333 MHz dibuat dengan teknologi 0.35 mikron (350 nanometer). Akan tetapi inti prosesor Pentium II Deschutes, yang berlari pada kecepatan 333 Mhz hingga 450 Mhz menggunakan teknologi proses 0.25 mikron. Semua inti Pentium II didasarkan pada teknologi yang sama seperti Pentium Pro, dengan semua keungggulannya (kecuali L2 cache), dan terintegrasikannya instruksi MMX yang telah diperbaiki. Dengan semua keunggulan itu, chip pun menjadi semakin kecil, sehinga frekuensi semakin tinggi dan daya yang dibutuhkan pun menjadi lebih rendah, dan yang paling penting harganya yang lebih murah dibandingkan dengan Pentium Pro. Intel hanya merilis Pentium II untuk pasar desktop saja, mengingat mereka juga membuat prosesor yang dibangun dengan teknologi yang sama dengan Pentium II yang dikhususkan untuk workstation dan server dengan nama Pentium II Xeon. Karenanya, pada Pentium II, tidak terdapat fitur multiprosesor, seperti halnya Pentium Pro.

Prosesor ini adalah prosesor 32-bit. Meski ia memiliki address-bus sebesar 36-bit yang mampu mengalamati hingga 64 Gigabyte, limitasi pada arsitektur 32-bit menyebabkan prosesor ini hanya mampu mengalamati hingga 4 Gigabyte saja. Pengecualian terjadi pada sistem multiprosesor, yang dikonfigurasikan dalam mode NUMA (Non-Uniform Memory Access) di mana setiap prosesor memiliki jalur memorinya sendiri-sendiri. Dengan menggabungkan beberapa prosesor Pentium II (Xeon tentunya), batas 4 Gigabyte arsitektur 32-bit pun dapat dilewati.

Generasi ketiga dari prosesor Pentium adalah Pentium MMX (yang memiliki nama kode P55C) yang dirilis pada tahun 1997. Intel memasukkan tambahan 57 instruksi MMX baru ke dalam prosesor, tanpa melakukan perombakan terhadap desain. karena modul MMX hanya ditambahkan begitu saja ke dalam rancangan Pentium tanpa rancang ulang, Intel terpaksa membuat unit MMX dan FPU melakukan sharing, dalam arti saat FPU aktif MMX non-aktif, dan sebaliknya. Sehingga Pentium MMX dalam mode MMX tidak kompatibel dengan Pentium. Prosesor ini tersedia dalam frekuensi kecepatan/bus 166MHz/66MHz, 200MHz/66MHz, dan 233/66MHz. Selain ditujukan untuk prosesor desktop, prosesor ini juga tersedia untuk prosesor mobile, yang bekerja pada frekuensi 266MHz/66MHz. Ukuran Cache pun ditingkatkan pada prosesor ini: Pentium MMX memiliki 16 KB Data cache yang bersifat write-back (yang pada versi Pentium sebelumnya hanya terdapat 8 KB). Chip prosesor Pentium MMX diproduksi dengan menggunakan teknik manufaktur Bipolar CMOS 350 nanometer, dan tegangan yang digunakannya adalah 2.8 Volt. Prosesor untuk komputer portabel (yang dibangun dengan teknologi 250 nanometer) yang begitu membutuhkan penghematan daya bahkan hanya membutuhkan 1.8 Volt.
Intel mengganti dudukan prosesor ke socket baru, Socket-7 321-pin, yang memiliki fitur pengatur voltase secara otomatis (Automatic Voltage Regulator Module). Untuk menggunakan prosesor ini, akhirnya pengguna dipaksa lagi untuk mengganti motherboard-nya.

INTEL CELERON

Celeron adalah keluarga mikroprosesor buatan Intel Corporation dengan arsitektur Pentium II, tetapi dengan sedikit pengurangan memori cache demi mempertahankan faktor ekonomis. Memori cache L2 Celeron hanya berukuran 128 KB, sementara Pentium II memiliki memori cache L2 sebesar 512 KB. Celeron dapat dipasang pada papan induk yang mempunyai slot 1 maupun soket PGA 370.
Jenis dari Intel Celeron sebagai berikut :
* Covington (generasi awal)
* Mendocino
* Coppermine (128)
* Tualatin (Tualeron)
* Celeron M
* Banias (512)
* Dothan (1024)
* Shelton (Banias)
* Yonah (1024)
* Celeron NetBurst
* Willamette (128)
* Northwood (128)
* Prescott (256, Celeron D)
* Prescott-V (Celeron D)
* Cedar Mill (512, Celeron D)
Pentium MMX
Generasi ketiga dari prosesor Pentium adalah Pentium MMX (yang memiliki nama kode P55C) yang dirilis pada tahun 1997. Intel memasukkan tambahan 57 instruksi MMX baru ke dalam prosesor, tanpa melakukan perombakan terhadap desain. karena modul MMX hanya ditambahkan begitu saja ke dalam rancangan Pentium tanpa rancang ulang, Intel terpaksa membuat unit MMX dan FPU melakukan sharing, dalam arti saat FPU aktif MMX non-aktif, dan sebaliknya. Sehingga Pentium MMX dalam mode MMX tidak kompatibel dengan Pentium. Prosesor ini tersedia dalam frekuensi kecepatan/bus 166MHz/66MHz, 200MHz/66MHz, dan 233/66MHz. Selain ditujukan untuk prosesor desktop, prosesor ini juga tersedia untuk prosesor mobile, yang bekerja pada frekuensi 266MHz/66MHz. Ukuran Cache pun ditingkatkan pada prosesor ini: Pentium MMX memiliki 16 KB Data cache yang bersifat write-back (yang pada versi Pentium sebelumnya hanya terdapat 8 KB). Chip prosesor Pentium MMX diproduksi dengan menggunakan teknik manufaktur Bipolar CMOS 350 nanometer, dan tegangan yang digunakannya adalah 2.8 Volt. Prosesor untuk komputer portabel (yang dibangun dengan teknologi 250 nanometer) yang begitu membutuhkan penghematan daya bahkan hanya membutuhkan 1.8 Volt.
Intel mengganti dudukan prosesor ke socket baru, Socket-7 321-pin, yang memiliki fitur pengatur voltase secara otomatis (Automatic Voltage Regulator Module). Untuk menggunakan prosesor ini, akhirnya pengguna dipaksa lagi untuk mengganti motherboard-nya.


Referensi :
1. ORGANISASI DAN ARSITEKTUR KOMPUTER, Eviana Puspaningrum, Universitas Negeri Malang

Jumat, 29 Oktober 2010

sistem input-output

Nama : Angga Surahman Sudibya
NPM : 10407113
Mata kuliah : Organisasi & arsitektur komputer


Sistem Input – Output (I/O)




1. Pengantar
Sistem komputer (computer system), terdiri dari perangkat keras (hardware) dan perangkat lunak (software). Perangkat keras dan perangkat lunak harus bekerja bersama-sama membentuk suatu sistem, yaitu sistem komputer. Perangkat keras (H/W), sebagai sub sistem komputer juga mempunyai komponen, yaitu :
1. Komponen alat masukan (input device)
2. Komponen alat pemroses (processing device)
3. komponen alat keluaran (output device)
4. Komponen alat simpanan luar (storage)

2. Alat masukan (Input Device)
Alat masukan (input device), adalah alat yang digunakan untuk menerima masukan yangg dapat berupa masukan data ataupun masukan program. Beberapa alat masukan mempunyai fungsi ganda, yaitu, sebagai alat masukan dan sekaligus sebagai alat keluaran (ouput) untuk menampilkan hasil. Alat I/O demikian disebut terminal
Alat masukan dapat digolongkan ke dalam beberapa golongan yaitu :
1. Keyboard
Merupakan alat input yang paling umum dan banyak digunakan. Beberapa alat input yang menggunakan keyboard untuk memasukkan input adalah :
• Visual display terminal (VDT) disebut juga dengan nama Visual display unit terdiri dari keyboard dan visual display (tampilan display)
• Financial transaction terminal, digunakan untuk transaksi yang berhubungan dengan keuangan. Salah satu aplikasinya yaitu untuk Electronic Fund Transfer (EFT) dengan menggunakan ATM
• Point of sale terminal (POS), biasanya digunakan di swalayan.
POS terminal merupakan perkembangan dari cash register yang dapat dihubungkan dengan komputer untuk tujuan pengendalian persediaan (inventory control) dan penjadwalan pemesanan kembali barang yang akan dipesan. Alat tambahan pada POS Terminal meliputi OCR Tag Reader atau Bar code reader

2. Pointing device. Yang termasuk dalam peralatan pointing device adalah:
• mouse
• touch screen, layar monitor yang akan mengaktifkan program bila layarnya disentuh dengan tangan
• Light Pen, merupakan menyentuh layar monitor dengan pena. Posisi sentuhan di layar akan lebih tepat dan teliti
• Digitizer Graphic Tablet, digunakan untuk membuat grafik atau gambar dengan cara menghubungkan dua buah titik di graphic tablet dengan alat yang menyerupai pen

3. Scanner. Alat masukan scanner dapat berupa :
• magnetic Ink character recognition (MICR), alat pembaca pengenal karakter tinta magnetik, banyak digunakan di bank-bank amerika untuk transaksi cek. Dibutuhkan tinta magnetik yg khusus supaya bisa dibaca oleh alatnya
• Reader.
• Optical Data reader, dapat berupa Optical Character Recognition (OCR) Reader, OCR Tag Reader (banyak dipergunakan di toko-toko serba ada untuk membaca label data barang yang dijual yang dicetak dengan bentuk (font) karakter OCR), Bar Code Reader, Optical Mark Recognition (OMR) Reader (banyak digunakan untuk penilaian test (test scoring). Jawaban dari tes yang diberikan dijawab di kertas mark sense form (dengan pensil 2B). OMR juga banyak digunakan untuk membaca hasil dari daftar pertanyaan (Questionarries), registrasi mahasiswa dsb)

4. Sensor, Merupakan alat yang mampu secara langsung menangkap data kejadian fisik. Data analog dikumpulkan oleh alat sensor dan dimasukan ke pengubah AD/DC yang selanjutnya diproses oleh komputer. Kamera Digital merupakan salah satu sensor yang dipakai untuk menangkap objek yg selanjutnya diproses dengan komputer. Camera Recorder (Camcorder) merupakan sensor untuk menangkap objek yang bergerak

5. Voice recognizer, Biasa disebut Speech Recognizer yaitu alat untuk membuat komputer mengerti omongan manusia.

3. Alat Keluaran (Output Device)
Ouput yang dihasilkan dari pengolahan data dapat digolongkan ke dalam 3 bentuk tulisan (huruf, kata, angka, karakter dan simbol- simbol khusus), image (grafik atau gambar) maupun suara (musik atau omongan)
Alat keluaran juga dapat berbentuk
• Hard copy device
Merupakan alat keluaran yg digunakan untuk mencetak tulisan, grafik atau gambar pada media pencetak. Alat hard copy device yang umum dipergunakan adalah printer. Jenis-jenis printer meliputi dot matrix, inkjet printer dan laser. Selain itu juga dikenal Plotter, alat cetak yang mempunyai kemampuan mencetak grafik atau gambar dengan baik, biasanya menggunakan pen plotter
• Soft Copy Device
Merupakan alat yg digunakan untuk menampilkan tulisan, image dan suara pada media soft (lunak) yg berupa sinyal elektronik. Contoh soft copy device adalah video display (monitor), flat panel display (Liquid Crystal Dispaly), dan speaker.
• Alat Simpanan Luar
Main memory di dalam alat pemroses merupakan simpanan yg kapasitasnya tidak begitu besar dan umumnya bersifat Volatile (Volatile : informasi yg dikandungnya akan hilang bila aliran listrik terputus).
Selain itu terdapat juga Direct Access Storage Device (DASD) (Merupakan alat penyimpan pengaksesan langsung), contohnya floppy disk, harddisk, dan removable disk.

4. Jenis-jenis Perangkat I/O
Secara umum, terdapat beberapa jenis perangkat I/O, seperti perangkat penyimpanan (disk, tape), perangkat transmisi (network card, modem), dan perangkat antarmuka dengan pengguna (screen, keyboard, mouse). Perangkat tersebut dikendalikan oleh instruksi I/O. Alamat-alamat yang dimiliki oleh perangkat akan digunakan oleh direct I/O instruction dan memory-mapped I/O. Beberapa konsep yang umum digunakan ialah port, bus (daisy chain/shared direct access), dan pengendali (host adapter). Port ialah koneksi yang digunakan oleh perangkat untuk berkomunikasi dengan mesin. Bus ialah koneksi yang menghubungkan beberapa perangkat menggunakan kabel-kabel. Pengendali ialah alat-alat elektronik yang berfungsi untuk mengoperasikan port, bus, dan perangkat.
Langkah yang ditentukan untuk perangkat ialah command-ready, busy, dan error. Host mengeset command-ready ketika perintah telah siap untuk dieksekusi oleh pengendali. Pengendali mengeset busy ketika sedang mengerjakan sesuatu, dan men-clear busy ketika telah siap untuk menerima perintah selanjutnya. Error diset ketika terjadi kesalahan.


5. Klasifikasi Umum Perangkat I/O
Pendapat orang-orang mengenai I/O berbeda-beda. Seorang insinyur mungkin akan memandang perangkat keras I/O sebagai kumpulan chip-chip, kabel-kabel, catu daya, dan komponen fisik lainnya yang membangun perangkat keras ini. Seorang programmer akan memandangnya sebagai antarmuka yang disediakan oleh perangkat lunak atau perintah yang diterima perangkat keras, fungsi yang dikerjakannya, dan error yang ditimbulkan.
Perangkat I/O dapat dibagi secara umum menjadi dua kategori, yaitu: perangkat blok (block devices), dan perangkat karakter (character devices). Perangkat blok menyimpan informasi dalam sebuah blok yang ukurannya tertentu, dan memiliki alamat masing-masing. Umumnya blok berukuran antara 512 bytes sampai 32.768 bytes. Keuntungan dari perangkat blok ini ialah mampu membaca atau menulis setiap blok secara independen. Disk merupakan contoh perangkat blok yang paling banyak digunakan.
Tipe lain perangkat I/O ialah perangkat karakter. Perangkat karakter mengirim atau menerima sebarisan karakter, tanpa menghiraukan struktur blok. Tipe ini tidak memiliki alamat, dan tidak memiliki kemampuan mencari (seek). Printer dan antarmuka jaringan merupakan contoh perangkat jenis ini. Pembagian ini tidaklah sempurna. Beberapa perangkat tidak memenuhi kriteria tersebut. Contohnya: clock yang tidak memiliki alamat dan juga tidak mengirim dan menerima barisan karakter. Yang ia lakukan hanya menimbulkan interupsi dalam jangka waktu tertentu.

Referensi :
1. http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/2004/51/produk/c7/c71.sgml
2. http://ikc.depsos.go.id/umum/ibam/ibam-os-html/x6554.html

I/O system

Nama : Angga Surahman Sudibya
NPM : 10407113
Mata kuliah : Organisasi & arsitektur komputer


Kernel I/O Subsystem

Kernel menyediakan banyak service yang berhubungan dengan I/O. Pada bagian ini, kita akan mendeskripsikan beberapa service yang disediakan oleh kernel I/O subsystem, dan kita akan membahas bagaimana caranya membuat infrastruktur hardware dan device-driver. Service yang akan kita bahas adalah I/O scheduling, buffering, caching, spooling, reservasi device, error handling.

I/O Scheduling

Untuk menjadualkan sebuah set permintaan I/O, kita harus menetukan urutan yang bagus untuk mengeksekusi permintaan tersebut. Scheduling dapat meningkatkan kemampuan sistem secara keseluruhan, dapat membagi device secara rata di antara proses-proses, dan dapat mengurangi waktu tunggu rata-rata untuk menyelesaikan I/O. Ini adalah contoh sederhana untuk menggambarkan definisi di atas. Jika sebuah arm disk terletak di dekat permulaan disk, dan ada tiga aplikasi yang memblokir panggilan untuk membaca untuk disk tersebut. Aplikasi 1 meminta sebuah blok dekat akhir disk, aplikasi 2 meminta blok yang dekat dengan awal, dan aplikasi 3 meminta bagian tengah dari disk. Sistem operasi dapat mengurangi jarak yang harus ditempuh oleh arm disk dengan melayani aplikasi tersebut dengan urutan 2, 3, 1. Pengaturan urutan pekerjaan kembali dengan cara ini merupakan inti dari I/O scheduling. Sistem operasi mengembangkan implementasi scheduling dengan menetapkan antrian permintaan untuk tiap device. Ketika sebuah aplikasi meminta sebuah blocking sistem I/O, permintaan tersebut dimasukkan ke dalam antrian untuk device tersebut. Scheduler I/O mengatur urutan antrian untuk meningkatkan efisiensi dari sistem dan waktu respon rata-rata yang harus dialami oleh aplikasi. Sistem operasi juga mencoba untuk bertindak secara adil, seperti tidak ada aplikasi yang menerima service yang buruk, atau dapat seperti memberi prioritas service untuk permintaan penting yang ditunda. Contohnya, pemintaan dari subsistem mungkin akan mendapatkan prioritas lebih tinggi daripada permintaan dari aplikasi. Beberapa algoritma scheduling untuk disk I/O akan dijelaskan ada bagian Disk Scheduling.
Satu cara untuk meningkatkan efisiensi I/O subsistem dari sebuah komputer adalah dengan mengatur operasi I/O. Cara lain adalah dengan menggunakan tempat penyimpanan pada memori utama atau pada disk, melalui teknik yang disebut buffering, caching, dan spooling.
Buffering
Buffer adalah area memori yang menyimpan data ketika mereka sedang dipindahkan antara dua device atau antara device dan aplikasi. Buffering dilakukan untuk tiga buah alasan. Alasan pertama adalah untuk men-cope dengan kesalahan yang terjadi karena perbedaan kecepatan antara produsen dengan konsumen dari sebuah stream data. Sebagai contoh, sebuah file sedang diterima melalui modem dan ditujukan ke media penyimpanan di hard disk. Kecepatan modem tersebut kira-kira hanyalah 1/1000 daripada hard disk. Jadi buffer dibuat di dalam memori utama untuk mengumpulkan jumlah byte yang diterima dari modem. Ketika keseluruhan data di buffer sudah sampai, buffer tersebut dapat ditulis ke disk dengan operasi tunggal. Karena penulisan disk tidak terjadi dengan instan dan modem masih memerlukan tempat untuk menyimpan data yang berdatangan, maka dipakai 2 buah buffer. Setelah modem memenuhi buffer pertama, akan terjadi request untuk menulis di disk. Modem kemudian mulai memenuhi buffer kedua sementara buffer pertama dipakai untuk penulisan ke disk. Pada saat modem sudah memenuhi buffer kedua, penulisan ke disk dari buffer pertama seharusnya sudah selesai, jadi modem akan berganti kembali memenuhi buffer pertama dan buffer kedua dipakai untuk menulis. Metode double buffering ini membuat pasangan ganda antara produsen dan konsumen sekaligus mengurangi kebutuhan waktu di antara mereka.
Alasan kedua dari buffering adalah untuk menyesuaikan device-device yang mempunyai perbedaan dalam ukuran transfer data. Hal ini sangat umum terjadi pada jaringan komputer, dimana buffer dipakai secara luas untuk fragmentasi dan pengaturan kembali pesan-pesan yang diterima. Pada bagian pengirim, sebuah pesan yang besar akan dipecah ke paket-paket kecil. Paket-paket tersebut dikirim melalui jaringan, dan penerima akan meletakkan mereka di dalam buffer untuk disusun kembali.
Alasan ketiga untuk buffering adalah untuk mendukung copy semantics untuk aplikasi I/O. Sebuah contoh akan menjelaskan apa arti dari copy semantics. Jika ada sebuah aplikasi yang mempunyai buffer data yang ingin dituliskan ke disk. Aplikasi tersebut akan memanggil sistem penulisan, menyediakan pointer ke buffer, dan sebuah integer untuk menunjukkan ukuran bytes yang ingin ditulis. Setelah pemanggilan tersebut, apakah yang akan terjadi jika aplikasi tersebut merubah isi dari buffer, dengan copy semantics, keutuhan data yang ingin ditulis sama dengan data waktu aplikasi ini memanggil sistem untuk menulis, tidak tergantung dengan perubahan yang terjadi pada buffer. Sebuah cara sederhana untuk sistem operasi untuk menjamin copy semantics adalah membiarkan sistem penulisan untuk mengkopi data aplikasi ke dalam buffer kernel sebelum mengembalikan kontrol kepada aplikasi. Jadi penulisan ke disk dilakukan pada buffer kernel, sehingga perubahan yang terjadi pada buffer aplikasi tidak akan membawa dampak apa-apa. Mengcopy data antara buffer kernel data aplikasi merupakan sesuatu yang umum pada sistem operasi, kecuali overhead yang terjadi karena operasi ini karena clean semantics. Kita dapat memperoleh efek yang sama yang lebih efisien dengan memanfaatkan virtual-memori mapping dan proteksi copy-on-wire dengan pintar.
Caching
Sebuah cache adalah daerah memori yang cepat yang berisikan data kopian. Akses ke sebuah kopian yang di-cached lebih efisien daripada akses ke data asli. Sebagai contoh, instruksi-instruksi dari proses yang sedang dijalankan disimpan ke dalam disk, dan ter-cached di dalam memori physical, dan kemudian dicopy lagi ke dalam cache secondary and primary dari CPU. Perbedaan antara sebuah buffer dan ache adalah buffer dapat menyimpan satu-satunya informasi datanya sedangkan sebuah cache secara definisi hanya menyimpan sebuah data dari sebuah tempat untuk dapat diakses lebih cepat.

Caching dan buffering adalah dua fungsi yang berbeda, tetapi terkadang sebuah daerah memori dapat digunakan untuk keduanya. sebagai contoh, untuk menghemat copy semantics dan membuat scheduling I/O menjadi efisien, sistem operasi menggunakan buffer pada memori utama untuk menyimpan data. Buffer ini juga digunakan sebagai cache, untuk meningkatkan efisiensi I/O untuk file yang digunakan secara bersama-sama oleh beberapa aplikasi, atau yang sedang dibaca dan ditulis secara berulang-ulang. Ketika kernel menerima sebuah permintaan file I/O, kernel tersebut mengakses buffer cacheuntuk melihat apakah daerah memori tersebut sudah tersedia dalam memori utama. Jika iya, sebuah physical disk I/O dapat dihindari atau tidak dipakai. penulisan disk juga terakumulasi ke dalam buffer cache selama beberapa detik, jadi transfer yang besar akan dikumpulkan untuk mengefisiensikan schedule penulisan. Cara ini akan menunda penulisan untuk meningkatkan efisiensi I/O akan dibahas pada bagian Remote File Access.
Spooling dan Reservasi Device
Sebuah spool adalah sebuah buffer yang menyimpan output untuk sebuah device, seperti printer, yang tidak dapat menerima interleaved data streams. Walau pun printer hanya dapat melayani satu pekerjaan pada waktu yang sama, beberapa aplikasi dapat meminta printer untuk mencetak, tanpa harus mendapatkan hasil output mereka tercetak secara bercampur. Sistem operasi akan menyelesaikan masalah ini dengan meng-intercept semua output kepada printer. Tiap output aplikasi sudah di-spooled ke disk file yang berbeda. Ketika sebuah aplikasi selesai mengeprint, sistem spooling akan melanjutkan ke antrian berikutnya. Di dalam beberapa sistem operasi, spooling ditangani oleh sebuah sistem proses daemon. Pada sistem operasi yang lain, sistem ini ditangani oleh in-kernel thread. Pada kedua kasus, sistem operasi menyediakan interfacekontrol yang membuat users and system administrator dapat menampilkan antrian tersebut, untuk mengenyahkan antrian-antrian yang tidak diinginkan sebelum mulai di-print.
Untuk beberapa device, seperti drive tapedan printer tidak dapat me-multiplex permintaan I/O dari beberapa aplikasi. Spooling merupakan salah satu cara untuk mengatasi masalah ini. Cara lain adalah dengan membagi koordinasi untuk multiple concurrent ini. Beberapa sistem operasi menyediakan dukungan untuk akses device secara eksklusif, dengan mengalokasikan proses ke device idledan membuang device yang sudah tidak diperlukan lagi. Sistem operasi lainnya memaksakan limit suatu file untuk menangani device ini. Banyak sistem operasi menyediakan fungsi yang membuat proses untuk menangani koordinat exclusive akses diantara mereka sendiri.
Error Handling
Sebuah sistem operasi yang menggunakan protected memory dapat menjaga banyak kemungkinan error akibat hardware mau pun aplikasi. Devices dan transfer I/O dapat gagal dalam banyak cara, bisa karena alasan transient, seperti overloaded pada network, mau pun alasan permanen yang seperti kerusakan yang terjadi pada disk controller. Sistem operasi seringkali dapat mengkompensasikan untuk kesalahan transient. Seperti, sebuah kesalahan baca pada disk akan mengakibatkan pembacaan ulang kembali dan sebuah kesalahan pengiriman pada network akan mengakibatkan pengiriman ulang apabila protokolnya diketahui. Akan tetapi untuk kesalahan permanent, sistem operasi pada umumnya tidak akan bisa mengembalikan situasi seperti semula.
Sebuah ketentuan umum, yaitu sebuah sistem I/O akan mengembalikan satu bit informasi tentang status panggilan tersebut, yang akan menandakan apakah proses tersebut berhasil atau gagal. Sistem operasi pada UNIX menggunakan integer tambahan yang dinamakan errno untuk mengembalikan kode kesalahan sekitar 1 dari 100 nilai yang mengindikasikan sebab dari kesalahan tersebut. Akan tetapi, beberapa perangkat keras dapat menyediakan informasi kesalahan yang detail, walau pun banyak sistem operasi yang tidak mendukung fasilitas ini.

Kernel Data Structure

Kernel membutuhkan informasi state tentang penggunakan komponen I/O. Kernel menggunakan banyak struktur yang mirip untuk melacak koneksi jaringan, komunikasi karakter-device, dan aktivitas I/O lainnya.
UNIX menyediakan akses sistem file untuk beberapa entiti, seperti file user, raw devices, dan alamat tempat proses. Walau pun tiap entiti ini didukung sebuah operasi baca, semantics-nya berbeda untuk tiap entiti. Seperti untuk membaca file user, kernel perlu memeriksa buffer cache sebelum memutuskan apakah akan melaksanakan I/O disk. Untuk membaca sebuah raw disk, kernel perlu untuk memastikan bahwa ukuran permintaan adalah kelipatan dari ukuran sektor disk, dan masih terdapat di dalam batas sektor. Untuk memproses citra, cukup perlu untuk mengkopi data ke dalam memori. UNIX mengkapsulasikan perbedaan-perbedaan ini di dalam struktur yang uniform dengan menggunakan teknik object oriented.
Beberapa sistem operasi bahkan menggunakan metode object oriented secara lebih extensif. Sebagai contoh, Windows NT menggunakan implementasi message-passing untuk I/O. Sebuah permintaan I/O akan dikonversikan ke sebuah pesan yang dikirim melalui kernel kepada I/O manager dan kemudian ke device driver, yang masing-masing bisa mengubah isi pesan. Untuk output, isi message adalah data yang akan ditulis. Untuk input, message berisikan buffer untuk menerima data. Pendekatan message-passing ini dapat menambah overhead, dengan perbandingan dengan teknik prosedural yang men-share struktur data, tetapi akan mensederhanakan struktur dan design dari sistem I/O tersebut dan menambah fleksibilitas.
Kesimpulannya, subsistem I/O mengkoordinasi kumpulan-kumpulan service yang banyak sekali, yang tersedia dari aplikasi mau pun bagian lain dari kernel.

Subsistem I/O mengawasi:
1. Manajemen nama untuk file dan device.
2. Kontrol akses untuk file dan device.
3. Kontrol operasi, contoh: model yang tidak dapat dikenali.
4. Alokasi tempat sistem file.
5. Alokasi device.
6. Buffering, caching, spooling.
7. I/O scheduling
8. Mengawasi status device, error handling, dan kesalahan dalam recovery.
9. Konfigurasi dan utilisasi driver device.

I/O system

Nama : Angga Surahman Sudibya
NPM : 10407113
Mata kuliah : Organisasi & arsitektur komputer


Kernel I/O Subsystem

Kernel menyediakan banyak service yang berhubungan dengan I/O. Pada bagian ini, kita akan mendeskripsikan beberapa service yang disediakan oleh kernel I/O subsystem, dan kita akan membahas bagaimana caranya membuat infrastruktur hardware dan device-driver. Service yang akan kita bahas adalah I/O scheduling, buffering, caching, spooling, reservasi device, error handling.

I/O Scheduling

Untuk menjadualkan sebuah set permintaan I/O, kita harus menetukan urutan yang bagus untuk mengeksekusi permintaan tersebut. Scheduling dapat meningkatkan kemampuan sistem secara keseluruhan, dapat membagi device secara rata di antara proses-proses, dan dapat mengurangi waktu tunggu rata-rata untuk menyelesaikan I/O. Ini adalah contoh sederhana untuk menggambarkan definisi di atas. Jika sebuah arm disk terletak di dekat permulaan disk, dan ada tiga aplikasi yang memblokir panggilan untuk membaca untuk disk tersebut. Aplikasi 1 meminta sebuah blok dekat akhir disk, aplikasi 2 meminta blok yang dekat dengan awal, dan aplikasi 3 meminta bagian tengah dari disk. Sistem operasi dapat mengurangi jarak yang harus ditempuh oleh arm disk dengan melayani aplikasi tersebut dengan urutan 2, 3, 1. Pengaturan urutan pekerjaan kembali dengan cara ini merupakan inti dari I/O scheduling. Sistem operasi mengembangkan implementasi scheduling dengan menetapkan antrian permintaan untuk tiap device. Ketika sebuah aplikasi meminta sebuah blocking sistem I/O, permintaan tersebut dimasukkan ke dalam antrian untuk device tersebut. Scheduler I/O mengatur urutan antrian untuk meningkatkan efisiensi dari sistem dan waktu respon rata-rata yang harus dialami oleh aplikasi. Sistem operasi juga mencoba untuk bertindak secara adil, seperti tidak ada aplikasi yang menerima service yang buruk, atau dapat seperti memberi prioritas service untuk permintaan penting yang ditunda. Contohnya, pemintaan dari subsistem mungkin akan mendapatkan prioritas lebih tinggi daripada permintaan dari aplikasi. Beberapa algoritma scheduling untuk disk I/O akan dijelaskan ada bagian Disk Scheduling.
Satu cara untuk meningkatkan efisiensi I/O subsistem dari sebuah komputer adalah dengan mengatur operasi I/O. Cara lain adalah dengan menggunakan tempat penyimpanan pada memori utama atau pada disk, melalui teknik yang disebut buffering, caching, dan spooling.
Buffering
Buffer adalah area memori yang menyimpan data ketika mereka sedang dipindahkan antara dua device atau antara device dan aplikasi. Buffering dilakukan untuk tiga buah alasan. Alasan pertama adalah untuk men-cope dengan kesalahan yang terjadi karena perbedaan kecepatan antara produsen dengan konsumen dari sebuah stream data. Sebagai contoh, sebuah file sedang diterima melalui modem dan ditujukan ke media penyimpanan di hard disk. Kecepatan modem tersebut kira-kira hanyalah 1/1000 daripada hard disk. Jadi buffer dibuat di dalam memori utama untuk mengumpulkan jumlah byte yang diterima dari modem. Ketika keseluruhan data di buffer sudah sampai, buffer tersebut dapat ditulis ke disk dengan operasi tunggal. Karena penulisan disk tidak terjadi dengan instan dan modem masih memerlukan tempat untuk menyimpan data yang berdatangan, maka dipakai 2 buah buffer. Setelah modem memenuhi buffer pertama, akan terjadi request untuk menulis di disk. Modem kemudian mulai memenuhi buffer kedua sementara buffer pertama dipakai untuk penulisan ke disk. Pada saat modem sudah memenuhi buffer kedua, penulisan ke disk dari buffer pertama seharusnya sudah selesai, jadi modem akan berganti kembali memenuhi buffer pertama dan buffer kedua dipakai untuk menulis. Metode double buffering ini membuat pasangan ganda antara produsen dan konsumen sekaligus mengurangi kebutuhan waktu di antara mereka.
Alasan kedua dari buffering adalah untuk menyesuaikan device-device yang mempunyai perbedaan dalam ukuran transfer data. Hal ini sangat umum terjadi pada jaringan komputer, dimana buffer dipakai secara luas untuk fragmentasi dan pengaturan kembali pesan-pesan yang diterima. Pada bagian pengirim, sebuah pesan yang besar akan dipecah ke paket-paket kecil. Paket-paket tersebut dikirim melalui jaringan, dan penerima akan meletakkan mereka di dalam buffer untuk disusun kembali.
Alasan ketiga untuk buffering adalah untuk mendukung copy semantics untuk aplikasi I/O. Sebuah contoh akan menjelaskan apa arti dari copy semantics. Jika ada sebuah aplikasi yang mempunyai buffer data yang ingin dituliskan ke disk. Aplikasi tersebut akan memanggil sistem penulisan, menyediakan pointer ke buffer, dan sebuah integer untuk menunjukkan ukuran bytes yang ingin ditulis. Setelah pemanggilan tersebut, apakah yang akan terjadi jika aplikasi tersebut merubah isi dari buffer, dengan copy semantics, keutuhan data yang ingin ditulis sama dengan data waktu aplikasi ini memanggil sistem untuk menulis, tidak tergantung dengan perubahan yang terjadi pada buffer. Sebuah cara sederhana untuk sistem operasi untuk menjamin copy semantics adalah membiarkan sistem penulisan untuk mengkopi data aplikasi ke dalam buffer kernel sebelum mengembalikan kontrol kepada aplikasi. Jadi penulisan ke disk dilakukan pada buffer kernel, sehingga perubahan yang terjadi pada buffer aplikasi tidak akan membawa dampak apa-apa. Mengcopy data antara buffer kernel data aplikasi merupakan sesuatu yang umum pada sistem operasi, kecuali overhead yang terjadi karena operasi ini karena clean semantics. Kita dapat memperoleh efek yang sama yang lebih efisien dengan memanfaatkan virtual-memori mapping dan proteksi copy-on-wire dengan pintar.
Caching
Sebuah cache adalah daerah memori yang cepat yang berisikan data kopian. Akses ke sebuah kopian yang di-cached lebih efisien daripada akses ke data asli. Sebagai contoh, instruksi-instruksi dari proses yang sedang dijalankan disimpan ke dalam disk, dan ter-cached di dalam memori physical, dan kemudian dicopy lagi ke dalam cache secondary and primary dari CPU. Perbedaan antara sebuah buffer dan ache adalah buffer dapat menyimpan satu-satunya informasi datanya sedangkan sebuah cache secara definisi hanya menyimpan sebuah data dari sebuah tempat untuk dapat diakses lebih cepat.

Caching dan buffering adalah dua fungsi yang berbeda, tetapi terkadang sebuah daerah memori dapat digunakan untuk keduanya. sebagai contoh, untuk menghemat copy semantics dan membuat scheduling I/O menjadi efisien, sistem operasi menggunakan buffer pada memori utama untuk menyimpan data. Buffer ini juga digunakan sebagai cache, untuk meningkatkan efisiensi I/O untuk file yang digunakan secara bersama-sama oleh beberapa aplikasi, atau yang sedang dibaca dan ditulis secara berulang-ulang. Ketika kernel menerima sebuah permintaan file I/O, kernel tersebut mengakses buffer cacheuntuk melihat apakah daerah memori tersebut sudah tersedia dalam memori utama. Jika iya, sebuah physical disk I/O dapat dihindari atau tidak dipakai. penulisan disk juga terakumulasi ke dalam buffer cache selama beberapa detik, jadi transfer yang besar akan dikumpulkan untuk mengefisiensikan schedule penulisan. Cara ini akan menunda penulisan untuk meningkatkan efisiensi I/O akan dibahas pada bagian Remote File Access.
Spooling dan Reservasi Device
Sebuah spool adalah sebuah buffer yang menyimpan output untuk sebuah device, seperti printer, yang tidak dapat menerima interleaved data streams. Walau pun printer hanya dapat melayani satu pekerjaan pada waktu yang sama, beberapa aplikasi dapat meminta printer untuk mencetak, tanpa harus mendapatkan hasil output mereka tercetak secara bercampur. Sistem operasi akan menyelesaikan masalah ini dengan meng-intercept semua output kepada printer. Tiap output aplikasi sudah di-spooled ke disk file yang berbeda. Ketika sebuah aplikasi selesai mengeprint, sistem spooling akan melanjutkan ke antrian berikutnya. Di dalam beberapa sistem operasi, spooling ditangani oleh sebuah sistem proses daemon. Pada sistem operasi yang lain, sistem ini ditangani oleh in-kernel thread. Pada kedua kasus, sistem operasi menyediakan interfacekontrol yang membuat users and system administrator dapat menampilkan antrian tersebut, untuk mengenyahkan antrian-antrian yang tidak diinginkan sebelum mulai di-print.
Untuk beberapa device, seperti drive tapedan printer tidak dapat me-multiplex permintaan I/O dari beberapa aplikasi. Spooling merupakan salah satu cara untuk mengatasi masalah ini. Cara lain adalah dengan membagi koordinasi untuk multiple concurrent ini. Beberapa sistem operasi menyediakan dukungan untuk akses device secara eksklusif, dengan mengalokasikan proses ke device idledan membuang device yang sudah tidak diperlukan lagi. Sistem operasi lainnya memaksakan limit suatu file untuk menangani device ini. Banyak sistem operasi menyediakan fungsi yang membuat proses untuk menangani koordinat exclusive akses diantara mereka sendiri.
Error Handling
Sebuah sistem operasi yang menggunakan protected memory dapat menjaga banyak kemungkinan error akibat hardware mau pun aplikasi. Devices dan transfer I/O dapat gagal dalam banyak cara, bisa karena alasan transient, seperti overloaded pada network, mau pun alasan permanen yang seperti kerusakan yang terjadi pada disk controller. Sistem operasi seringkali dapat mengkompensasikan untuk kesalahan transient. Seperti, sebuah kesalahan baca pada disk akan mengakibatkan pembacaan ulang kembali dan sebuah kesalahan pengiriman pada network akan mengakibatkan pengiriman ulang apabila protokolnya diketahui. Akan tetapi untuk kesalahan permanent, sistem operasi pada umumnya tidak akan bisa mengembalikan situasi seperti semula.
Sebuah ketentuan umum, yaitu sebuah sistem I/O akan mengembalikan satu bit informasi tentang status panggilan tersebut, yang akan menandakan apakah proses tersebut berhasil atau gagal. Sistem operasi pada UNIX menggunakan integer tambahan yang dinamakan errno untuk mengembalikan kode kesalahan sekitar 1 dari 100 nilai yang mengindikasikan sebab dari kesalahan tersebut. Akan tetapi, beberapa perangkat keras dapat menyediakan informasi kesalahan yang detail, walau pun banyak sistem operasi yang tidak mendukung fasilitas ini.

Kernel Data Structure

Kernel membutuhkan informasi state tentang penggunakan komponen I/O. Kernel menggunakan banyak struktur yang mirip untuk melacak koneksi jaringan, komunikasi karakter-device, dan aktivitas I/O lainnya.
UNIX menyediakan akses sistem file untuk beberapa entiti, seperti file user, raw devices, dan alamat tempat proses. Walau pun tiap entiti ini didukung sebuah operasi baca, semantics-nya berbeda untuk tiap entiti. Seperti untuk membaca file user, kernel perlu memeriksa buffer cache sebelum memutuskan apakah akan melaksanakan I/O disk. Untuk membaca sebuah raw disk, kernel perlu untuk memastikan bahwa ukuran permintaan adalah kelipatan dari ukuran sektor disk, dan masih terdapat di dalam batas sektor. Untuk memproses citra, cukup perlu untuk mengkopi data ke dalam memori. UNIX mengkapsulasikan perbedaan-perbedaan ini di dalam struktur yang uniform dengan menggunakan teknik object oriented.
Beberapa sistem operasi bahkan menggunakan metode object oriented secara lebih extensif. Sebagai contoh, Windows NT menggunakan implementasi message-passing untuk I/O. Sebuah permintaan I/O akan dikonversikan ke sebuah pesan yang dikirim melalui kernel kepada I/O manager dan kemudian ke device driver, yang masing-masing bisa mengubah isi pesan. Untuk output, isi message adalah data yang akan ditulis. Untuk input, message berisikan buffer untuk menerima data. Pendekatan message-passing ini dapat menambah overhead, dengan perbandingan dengan teknik prosedural yang men-share struktur data, tetapi akan mensederhanakan struktur dan design dari sistem I/O tersebut dan menambah fleksibilitas.
Kesimpulannya, subsistem I/O mengkoordinasi kumpulan-kumpulan service yang banyak sekali, yang tersedia dari aplikasi mau pun bagian lain dari kernel.

Subsistem I/O mengawasi:
1. Manajemen nama untuk file dan device.
2. Kontrol akses untuk file dan device.
3. Kontrol operasi, contoh: model yang tidak dapat dikenali.
4. Alokasi tempat sistem file.
5. Alokasi device.
6. Buffering, caching, spooling.
7. I/O scheduling
8. Mengawasi status device, error handling, dan kesalahan dalam recovery.
9. Konfigurasi dan utilisasi driver device.

Kamis, 30 September 2010

HFC (Hybrid Fiber Coax)

HFC
Hybrid Fiber Coax

HFC merupakan teknik jaringan akses yang menggabungkan media transmisi Serat Optik dan Kabel koaksial. Jaringan HFC dalam perkembangannya dapat dimanfaatkan untuk tiga layanan, yaitu layanan analog (analog services), layanan digital (digital services) dan layanan data (data services). HFC muncul karena kebutuhan dari teknologi untuk mendeliver service-service baru terutama yang menggunakan service interaktif broadband multimedia. Perkembangan HFC sendiri dimulai dari operator cable TV yang mulai merger dengan operator telekomunikasi. Dengan memanfaatkan infrastruktur yang ada untuk menngirim service-service baru

Keuntungan Teknologi HFC :

• Bandwidth transmisi yang besar ( < 1 GHz)
• Redundancy, untuk meningkatkan Availability jaringan
• Transmisi dua arah menggunakan return path
• Monitoring jaringan
• Dapat memberikan layanan multimedia modern seperti Video on Demand (VoD).


Perangkat utama Jaringan HFC :

1. Headend
2. Distribution Hub
3. Fiber Node
4. Terminal.



source :

universitas Gunadarma

Struktur Data

Struktur Data


Obyektif :
 Mengetahui maksud struktur data dan menjelaskan penggunaannya dalam pemrograman
 Mengetahui operasi yang terkait dengan struktur data dan metode pemrograman paling umum yang terkait dengan struktur tersebut.
 Mengetahui metode dan notasi yang digunakan untuk menspesifikasi apa-apa yang perlu dikerjakan oleh program dan bagaimana program ini melakukan pekerjaan tersebut.


Jenis/Tipe Data (Data Type) :
 Terdiri dari
– Set nilai data
– Set operasi yang bisa diterapkan pada nilai tersebut
Klasifikasi Jenis Data :
 Simple Data Type (Jenis Data Sederhana)
– Item data individual
 Data Structures / data aggregates (struktur data)
– Kombinasi dari item data individual
– Membentuk item data lain


Jenis Data Sederhana :
 Numerik, terdiri dari :
– Numerik integer (bilangan bulat)
– Numerik real (bilangan riil)
 Karakter, terdiri dari :
– Alfabet : a .. z, A .. Z
– Angka : 0 .. 9
– Simbol khusus : + ? ‘ ! [ ] { } … dll
 Boolean (logika), terdiri dari :
– True
– False


Identifikasi :
 Dalam bahasa pemrograman, item data diidentifikasi menurut namanya, bukan menurut alamat lokasinya dalam memori
 Identifier akan merupakan konstanta jika ia selalu dikaitkan dengan nilai data yang sama
 Identifier akan merupakan variabel jika nilai datanya yang terkait bisa berubah
 Literal, nilai data yang tertera dalam program namun bukan sebagai identifier
Deklarasi Data :

 Jenis data konstanta dan variabel harus didefinisikan dalam program sehingga :
– operasi yang tepat dapat dijalankan pada nilai data dan
– Jumlah ruang penyimpanan yang tepat bisa ditentukan
 Statement untuk mendefinisikan jenis data disebut declarative statement
 Beberapa bahasa pemrograman memiliki sintaks pendeklarasian yang berbeda
 Beberapa contoh program (pendeklarasian data) yang akan diberikan ditulis dalam pseudo-code


Contoh :
Constants
pi = 3.141592654
Variables
i, qty : integer
harga_satuan, harga_beli : real
status : boolean
nama : character(25)


Struktur Data

 Kelompok item data yang terorganisasi yang dianggap sebagai suatu unit
 Disebut juga sebagai jenis data kompleks (complex data type) atau data aggregates
 Beberapa struktur data :
– Array (larik)
– String
– Record
– List (daftar)
– Tree

PEMROGRAMAN

Nama : Angga Surahman Sudibya
Npm : 10407113
Kelas : 4ib01
Mata Kuliah : Organisasi & Arsitektur Komputer


Definisi Program/Pemrograman
• Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program)
• Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan. (Menurut P. Insap Santosa)
• Instruksi (statement) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan yang mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan.
Bahasa Pemrograman
• Adalah alat untuk membuat program
• Contoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll.
• Perbedaan: cara memberikan instruksi
• Persamaan: bertujuan menghasilkan output yang sama
Paradigma Pemrograman
• Pemrograman Prosedural
– Berdasarkan urutan-urutan, sekuensial
– Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan.
– Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.
• Pemrograman Fungsional
– Berdasarkan teori fungsi matematika
– Fungsi merupakan dasar utama program.
• Pemrograman Terstruktur
– Secara berurutan dan terstrukrtur.
– Program dapat dibagai-bagi menjadi prosedur dan fungsi.
– Contoh: PASCAL dan C
• Pemrograman Modular
– Pemrograman ini membentuk banyak modul.
– Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri
– Sebuah program dapat merupakan kumpulan modul-modul.
– Contoh: MODULA-2 atau ADA
• Pemrograman Berorientasi Obyek
– Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasi
– Contoh: C++, Object Pascal, dan Java.
• Pemrograman Berorientasi Fungsi
– Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini.
– Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.
• Pemrograman Deklaratif
– Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.
– Contoh: PROLOG

Rabu, 26 Mei 2010

BINARY SEARCH

Nama : angga surahman sudibya
NPM : 10407113
Kelas : 3 Ib01 B
Mata Kuliah : Algoritma dan pemrograman

BINARY SEARCH

Metoda Pencarian Biner ( Binary Search) hanya bisa diterapkan jika data array sudah teruru. pengurutan Array bisa menggunakan jenis sorting descending atau asscending. Kelebihan dari Searching dengan metode Binary Sort adalah Untuk Pencarian data yang jumlahnya banyak, waktu pencarian relatif cepat. selain itu beban komputasi juga lebih kecil karena pencarian dilakukan dari depan, belakang, dan tengah. namun ada pula kekurangannya, yaitu data harus disorting dahulu dan Algoritma lebih rumit, tidak baik untuk data berangkai.

Algoritma dari Binary Sort

Proses yang terjadi pada pencarian dengan metode ini adalah sebagai berikut :
1.Membaca Array data
2.Apabila Array belum terurut maka array diurutkan terlebih dahulu.
3.Menentukan data yang akan dicari
4.Menentukan elemen tengah dari array
5.Jika nilai elemen tengah sama dengan data yang dicari, maka pencarian berhenti.
6.Jika elemen tengah tidak sama dengan data yang dicari maka :
a.Jika nilai elemen tengah > data yang dicari maka pencarian dilakukan pada setengah array pertama.
b.Jika nilai elemen tengah lebih kecil dari pada data yang dicari maka pencarian dilakukan pada setengah array berikutnya.


ILUSTRASI BINARY SEARCH

Misalkan saya mempunyai data sebagai berikut : 3,1,4,7,25,12,40,78,90,65. Maka data tersebut akan dicek, ternyata setelah dicek datanya belum terurut, maka dengan menggunakan metoda sorting yang sudah ada, maka kita bisa mengurut data tersebut, menjadi : 1,3,4,7,12,25,40,65,78,90
Setelah data tersebut diurutkan maka fungsi binary sort baru mulai bekerja mencari data. berikut cara dari Binary sort mencari data tersebut. misalnya data yang dicari adalah 65. maka pencariannya dijelaskan pada tabel berikut ini :










Pada data range diberi warna Hijau. Pencarian dimulai dari tengah,Kiri dan kanan. rumus untuk Posisi tengahnya adalah ( Posisi Akhir + Posisi Awal )/2. jadi Nilai tengah pada langkah pertama yaitu adalah 12 (berwarna merah) dan nilai targetnya adalah 65 (kuning). Karena nilai data yang dicari > dari data yang ditengah, maka pencarian menjadi dikanan dari nilai tengah. Setelah itu, Maka nilai 12 menjadi awal pencarian, selanjutnya dicari kembali nilai tengah pada range nilai 12 ke kanan sampai pada array dengan nilai 90. ternyata nilai tengahnya adalah 40. kemudian array dari nilai 40 dibandingkan dengan target, ternyata lebih besar, maka pencarian kembali mengarah ke kanan nilai tengah. Array dengan nilai 40 menjadi titik awal pencarian sekarang. dan sekarang nilai tengah nya adalah 65. maka dibandingkan dengan target ternyata sama, maka data sudah Ditemukan.

Referensi : http://dharmaatmaja.wordpress.com/tag/binary-search/

Algoritma Devide and Conquer

Nama : angga surahman sudibya
NPM : 10407113
Kelas : 3 Ib01 B
Mata Kuliah : Algoritma dan pemrograman


Algoritma Devide and Conquer

Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.
1.Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.

Divide and Conquer dulunya adalah strategi militer yang dikenal dengan nama divide ut imperes. Sekarang strategi tersebut menjadi strategi fundamental di dalam ilmu komputer dengan nama Divide and Conquer .
Definisi :
1.Divide: membagi masalah menjadi beberapa upa-masalah yang memiliki kemiripan dengan masalah semula namun berukuran lebih kecil (idealnya berukuran hampir sama),
2.Conquer: memecahkan (menyelesaikan) masing-masing upa-masalah (secara rekursif),
Obyek permasalahan yang dibagi :
masukan (input) atau instances yang berukuran n seperti:
- tabel (larik),
- matriks,
- eksponen,
- dll, bergantung pada masalahnya.
Tiap-tiap upa-masalah mempunyai karakteristik yang sama (the same type) dengan karakteristik masalah asal, sehingga metode Divide and Conquer lebih natural diungkapkan dalam skema rekursif.




2.Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.
3.Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.


Pembuat program bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang dapat dikelola.
Penyelesaian masalah dengan komputer berhadapan dengan 4 hal, yaitu :
1. Pemahaman keterhubungan elemen-elemen data yang relevan terhadap solusi secara menyeluruh.
2. Pengambilan keputusan mengenai operasi-operasi yang dilakukan terhadap elemen-elemen data.
3. Perancangan representasi elemen-elemen data di memori sehingga memenuhi kriteria berikut:
a. Memenuhi keterhubungan logik antara elemen-elemen data.
b. Operasi-operasi terhadap elemen-elemen data dapat dilakukan secara mudah dan efisien.
4. Pengambilan keputusan mengenai mengenai bahasa pemrograman terbaik untuk menerjemahkan solusi persoalan menjadi program.

Strategi Divide dan Conquer
Strategi Divide dan Conquer memecah masalah menjadi submasalah-submasalah independen yang lebih kecil sehingga solusi submasalah-submasalah dapat diperoleh secara mudah, solusi submasalah-submasalah digabung menjadi solusi seluruh masalah.
Skema umum algoritma divide dan conquer:
Procedure DNC ( i,j : integer )
Var K : integer ;
If SMALL (i,j) then SOLVE (i,j)
Else begin
K : = DIVIDE (i,j)
COMBINE (DNC(i,k),DNC(k+1,j))
End if

Keterangan:
1. SMALL adalah fungsi yang mengirim BOOLEAN, menentukan apakah ukuran telah cukup kecil sehingga solusi dapat diperoleh. Ukuran dinyatakan sebagai telah berukuran kecil bergantung masalah.
2. DIVIDE adalah fungsi membagi menjadi 2 bagian pada posisi K. Biasanya bagian berukuran sama.
3. COMBINE adalah fungsi menggabungkan solusi X dan Y submasalah. Solusi diperoleh dengan memanggil prosedur rekursif DNC.
Jika ukuran kedua submasalah sama, waktu komputasi DNC dideskripsikan hubungan rekuren berikut :
T(n) = g (n), n kecil
2 T (n/2) + f (n), selainnya
dimana :
• T(n) adalah waktu untuk DNC dengan n masukan,
• g(n) adalah waktu komputasi jawaban secara langsung untuk masukan kecil dan
• f(n) adalah waktu COMBINE.
Untuk algoritma divide dan conquer yang menghasilkan submasalah-submasalah dengan tipe masalah yang sama dengan masalah awal, sangat alami untuk mendeskripsikan algoritma secara rekursi. Kemudian untuk meningkatkan efisiensi dilakukan penerjemahan menjadi bentuk iterasi.
Pemakaian teknik Divide dan Conquer banyak digunakan dalam menyelesaikan berbagai macam persoalan, antara lain :
1. Searching
2. Sorting

Sumber:
1. http://mita.staff.gunadarma.ac.id/Downloads/files/14268/Divide%26Conquer.doc (21 Mei 2010)
2. : http://chelseafansclub.multiply.com/journal
http://www.informatika.org/~rinaldi/Stmik/Algoritma %20Divide%20and%20Conquer.ppt