Sabtu, 30 Juni 2012

Peran Perbankan dalam Pengembangan Usaha Mikro Kecil dan Menengah(UMKM)


PENDAHULUAN
Membangun ekonomi Indonesia tidak bisa dilepaskan dari peranan Pemerintah, lembaga-lembaga di sektor keuangan dan pelaku-pelaku usaha. Pemerintah sebagai pembuat dan pengatur kebijakan diharapkan dapat memberikan iklim yang kondusif bagi dunia usaha, sehingga lembaga keuangan baik perbankan maupun bukan perbankan serta pelaku usaha di lapangan mampu memanfaatkan kebijakan dan melaksanakan kegiatan usaha dengan lancar, yang pada akhirnya dapat mendorong percepatan pembangunan ekonomi. 



UMKM dalam perekonomian nasional memiliki peran yang penting dan strategis. Kondisi tersebut dapat dilihat dari berbagai data empiris yang mendukung bahwa eksistensi UMKM cukup dominan dalam perekonomian Indonesia, 
yaitu: 
a. Pertama,
 jumlah industri yang besar dan terdapat dalam setiap sektor ekonomi. Pada tahun 2005 tercatat jumlah MKM adalah  44,69 unit atau 99,9% dari jumlah total unit usaha
b. Kedua,
 potensinya yang besar dalam penyerapan tenaga kerja. Setiap unit investasi pada sektor UMKM dapat menciptakan lebih banyak kesempatan kerja bila dibandingkan dengan investasi yang sama pada usaha besar. Sektor UMKM menyerap 77,68 juta tenaga kerja atau 96,77%  dari total angkatan kerja yang bekerja. 
c. Ketiga,
kontribusi UMKM dalam pembentukan PDB cukup signifikan yakni sebesar 54,22% dari total PDB. 



Kategori Permasalahan UMKM:
1. Permasalahan yang bersifat klasik dan mendasar pada UMKM (basic problems), antara lain berupa permasalahan modal, bentuk badan hukum yang umumnya non formal, SDM, pengembangan produk dan
akses pemasaran;
2. Permasalahan lanjutan (advanced problems), antara lain pengenalan dan penetrasi pasar ekspor yang belum optimal, kurangnya pemahaman terhadap  desain produk yang sesuai dengan karakter pasar,
permasalahan hukum yangmenyangkut hak paten, prosedur kontrak penjualan serta peraturan yang berlaku di negara tujuan ekspor; 
3. Permasalahan antara (intermediate problems), yaitu permasalahan dari instansi terkait untuk menyelesaikan masalah dasar agar mampu menghadapi persoalan lanjutan secara lebih baik. Permasalahan tersebut
antara lain dalam hal manajemen keuangan, agunan dan keterbatasan dalam kewirausahaan.




KEBIJAKAN BANK INDONESIA DALAM PEMBERDAYAAN UMKM

Dengan diberlakukannya UU Nomor 23 Tahun 1999 tentang  Bank Indonesia sebagaimana telah diubah dengan UU Nomor 3 Tahun 2004, kebijakan  Bank Indonesia dalam membantu pengembangan UMKM mengalami  perubahan paradigma yang cukup mendasar karena BI tidak dapat lagi memberikan bantuan keuangan atau Kredit Likuiditas  Bank Indonesia (KLBI) sehingga peranan Bank Indonesia dalam pengembangan UMKM berubah menjadi tidak langsung. Pendekatan yang digunakan kepada UMKM bergeser dari development role  menjadi  promotional role.



Dari sisi demand, kebijakan Bank Indonesia lebih difokuskan pada penguatan lembaga pendamping UMKM melalui peningkatan capacity building dalam bentuk pelatihan dan kegiatan penelitian yang menunjang pemberian kredit kepada UMKM. Beberapa upaya yang dilakukan antara lain: 
a. pelatihan-pelatihan kepada lembaga pendamping UMKM, dalam rangka meningkatkan kemampuan kredit UMKM. Pada periode Januari-Juni 2007,  Bank Indonesia telah memberikan pelatihan kepada 819 orang pendamping UMKM atau konsultan keuangan mitra bank (KKMB) dengan jumlah kredit yang berhasil dihubungkan dengan bank mencapai lebih dari Rp. 155 miliar untuk 2.582 UMKM; 
b. Pendirian Pusat Pengembangan Pendamping UKM (P3UKM), sebagai pilot project di Bandung. P3UKM antara lain bertugas melakukan pelatihan dan akreditasi pendamping UKM. Pada bulan Juli 2007 lembaga sejenis telah  didirikan di Kalimantan Selatan dan pada bulan September ini lembaga sejenis direncanakan juga didirikan di Sulawesi Selatan; 



c. Pengembangan Sistem Informasi Terpadu Pengembangan Usaha Kecil (SIPUK) sebagai sarana untuk lebih menyebarluaskan secara cepat hasil-hasil penelitian dan berbagai informasi lainnya. SIPUK terdiri dari Sistem Informasi Baseline Economic Survey (SIB), Sistem Informasi Agroindustri Berorientasi Ekspor (SIABE), Sistem Informasi Pola Pembiayaan/  lending model Usaha Kecil (SILMUK), Sistem  Penunjang Keputusan Untuk Investasi (SPKUI); dan Sistem Informasi Prosedur Memperoleh Kredit (SIPMK). IPUK ini dapat diakses melalui website Bank Indonesia di www.bi.go.id.
d. Berbagai penelitian  dalam rangka memberikan informasi untuk mendukung pengembangan UMKM. Kegiatan penelitian terutama diarahkan untuk mendukung penetapan arah dan kebijakan Bank Indonesia dalam rangka pemberian bantuan teknis dan juga dalam rangka penyediaan informasi yang berguna dalam rangka pengembangan UMKM.



PENUTUP
Peranan Bank Indonesia dalam pengembangan UMKM mengalami perubahan paradigma, namun bukan berarti kebijakan dan strategi untuk mendukung UMKM menjadi berkurang tetapi disesuaikan dengan perundang-undangan baru yang berlaku. Untuk itulah, kebijakan Bank Indonesia dalam pengembangan dan pemberdayaan  UMKM adalah dalam rangka mendorong peningkatan fungsi intermediasi perbankan serta untuk mendukung sistem perbankan yang sehat, sehingga dapat mendukung pertumbuhan ekonomi nasional.



Kamis, 21 Juni 2012

Swapping, Partitioning, dan Paging


Swaping
Sebuah proses, sebagaimana telah diterangkan di atas, harus berada di memori sebelum dieksekusi. Proses swapping menukarkan sebuah proses keluar dari memori untuk sementara waktu ke sebuah penyimpanan sementara dengan sebuah proses lain yang sedang membutuhkan sejumlah alokasi memori untuk dieksekusi. Tempat penyimpanan sementara ini biasanya berupa sebuah fast disk dengan kapasitas yang dapat menampung semua salinan dari semua gambaran memori serta menyediakan akses langsung ke gambaran tersebut. Jika eksekusi proses yang dikeluarkan tadi akan dilanjutkan beberapa saat kemudian, maka ia akan dibawa kembali ke memori dari tempat penyimpanan sementara tadi. Bagaimana sistem mengetahui proses mana saja yang akan dieksekusi? Hal ini dapat dilakukan dengan ready queueReady queue berisikan semua proses yang terletak baik di penyimpanan sementara maupun memori yang siap untuk dieksekusi. Ketika penjadwal CPU akan mengeksekusi sebuah proses, ia lalu memeriksa apakah proses bersangkutan sudah ada di memori ataukah masih berada dalam penyimpanan sementara. Jika proses tersebut belum berada di memori maka proses swapping akan dilakukan seperti yang telah dijelaskan di atas.
Gambar 2.1. Proses Swapping

Sebuah contoh untuk menggambarkan teknik swapping ini adalah sebagai berikut: Algoritma Round-Robin yang digunakan pada multiprogramming environment menggunakan waktu kuantum (satuan waktu CPU) dalam pengeksekusian proses-prosesnya. Ketika waktu kuantum berakhir, memory manager akan mengeluarkan (swap out) proses yang telah selesai menjalani waktu kuantumnya pada suatu saat serta memasukkan (swap in) proses lain ke dalam memori yang telah bebas tersebut. Pada saat yang bersamaan penjadwal CPU akan mengalokasikan waktu untuk proses lain dalam memori. Hal yang menjadi perhatian adalah, waktu kuantum harus cukup lama sehingga waktu penggunaan CPU dapat lebih optimal jika dibandingkan dengan proses penukaran yang terjadi antara memori dan disk.
Teknik swapping roll out, roll in menggunakan algoritma berbasis prioritas dimana ketika proses dengan prioritas lebih tinggi tiba maka memory manager akan mengeluarkan proses dengan prioritas yang lebih rendah serta me-load proses dengan prioritas yang lebih tinggi tersebut. Saat proses dengan prioritas yang lebih tinggi telah selesai dieksekusi maka proses yang memiliki prioritas lebih rendah dapat dimasukkan kembali ke dalam memori dan kembali dieksekusi.
Sebagian besar waktu swapping adalah waktu transfer. Sebagai contoh kita lihat ilustrasi berikut ini: sebuah proses pengguna memiliki ukuran 5 MB, sedangkan tempat penyimpanan sementara yang berupa harddiskmemiliki kecepatan transfer data sebesar 20 MB per detiknya. Maka waktu yang dibutuhkan untuk mentransfer proses sebesar 5 MB tersebut dari atau ke dalam memori adalah sebesar 5000 KB / 20000 KBps = 250 ms
Perhitungan di atas belum termasuk waktu latensi, sehingga jika kita asumsikan waktu latensi sebesar 2 ms maka waktu swap adalah sebesar 252 ms. Oleh karena terdapat dua kejadian dimana satu adalah proses pengeluaran sebuah proses dan satu lagi adalah proses pemasukan proses ke dalam memori, maka total waktu swap menjadi 252 + 252 = 504 ms.
Agar teknik swapping dapat lebih efisien, sebaiknya proses-proses yang di- swap hanyalah proses-proses yang benar-benar dibutuhkan sehingga dapat mengurangi waktu swap. Oleh karena itulah, sistem harus selalu mengetahui perubahan apapun yang terjadi pada pemenuhan kebutuhan terhadap memori. Disinilah sebuah proses memerlukan fungsi system call, yaitu untuk memberitahukan sistem operasi kapan ia meminta memori dan kapan membebaskan ruang memori tersebut.
Jika kita hendak melakukan swap, ada beberapa hal yang harus diperhatikan. Kita harus menghindari menukar proses dengan M/K yang ditunda (asumsinya operasi M/K tersebut juga sedang mengantri di antrian karena peralatan M/Knya sedang sibuk). Contohnya seperti ini, jika proses P1dikeluarkan dari memori dan kita hendak memasukkan proses P2, maka operasi M/K yang juga berada di antrian akan mengambil jatah ruang memori yang dibebaskan P1 tersebut. Masalah ini dapat diatasi jika kita tidak melakukan swap dengan operasi M/K yang ditunda. Selain itu, pengeksekusian operasi M/K hendaknya dilakukan pada buffer sistem operasi.
Tiap sistem operasi memiliki versi masing-masing pada teknik swapping yang digunakannya. Sebagai contoh pada UNIX, swapping pada dasarnya tidak diaktifkan, namun akan dimulai jika banyak proses yang membutuhkan alokasi memori yang banyak. Swapping akan dinonaktifkan kembali jika jumlah proses yang dimasukkan berkurang. Pada sistem operasi Microsoft Windows 3.1, jika sebuah proses baru dimasukkan dan ternyata tidak ada cukup ruang di memori untuk menampungnya, proses yang lebih dulu ada di memori akan dipindahkan ke disk. Sistem operasi ini pada dasarnya tidak menerapkan teknik swapping secara penuh, hal ini disebabkan pengguna lebih berperan dalam menentukan proses mana yang akan ditukar daripada penjadwal CPU. Dengan ketentuan seperti ini proses-proses yang telah dikeluarkan tidak akan kembali lagi ke memori hingga pengguna memilih proses tersebut untuk dijalankan.

Partitioning

Memori harus di diatur agar penempatan proses-proses tersebut dapat tersusun dengan baik. Hal tersebut berkaitan dengan banyaknya jumlah proses yang berada di memori pada suatu saat/waktu. Cara yang paling mudah adalah dengan membagi memori ke dalam beberapa partisi dengan ukuran yang tetap. Cara ini memungkinkan pembagian yang tidak sama rata. Tiap partisi dapat terdiri dari hanya satu buah proses. Sehingga derajat multiprogramming-nya dibatasi oleh jumlah partisi tersebut.
Gambar 2.3 mengilustrasikan multiprogramming dengan partisi memori yang tetap.
Gambar 2.3. Proses Partisi Memori Tetap
Proses Partisi Memori Tetap

Ketika sebuah proses datang, ia akan diletakkan ke dalam input queue (antrian proses pada disk yang menunggu dibawa ke memori untuk dieksekusi) sesuai dengan ukuran terkecil partisi yang mampu menampungnya. Kerugian dari mengurutkan proses ke dalam antrian yang berbeda berdasarkan ukurannya muncul ketika partisi yang besar akan menjadi kosong karena tidak ada proses dengan ukuran sesuai yang diletakkan di partisi tersebut. Namun di lain sisi, antrian untuk partisi dengan ukuran kecil sangat padat karena banyaknya proses dengan ukuran yang sesuai. Cara alternatif yang dapat dilakukan adalah dengan membuat sebuah antrian tunggal seperti terlihat pada gambar diatas. Ketika sebuah partisi bebas, proses dengan ukuran sesuai partisi tersebut yang terletak di depan antrian dapat dimasukkan lalu dieksekusi. Namun metode ini memiliki kelemahan, yaitu bagaimana jika proses yang memasuki partisi yang cukup besar ternyata ukurannya jauh lebih kecil dari partisi itu sendiri? Masalah ini dapat diatasi dengan mencari proses terbesar ke dalam seluruh antrian yang dapat ditampung oleh sebuah partisi pada saat itu. Namun algoritma ini mendiskriminasikan proses yang kecil karena proses yang diambil adalah proses terbesar yang dapat dimuat ke dalam partisi yang sedang bebas saat itu.
Dalam partisi tetap ini, sistem operasi menggunakan sebuah tabel untuk mengindikasikan bagian memori mana yang kosong dan mana yang terisi. Pada awalnya semua partisi kosong dan dianggap sebagai sebuah blok besar yang tersedia (hole). Ketika sebuah proses datang dan membutuhkan memori, ia akan dicarikan lubang yang cukup besar yang mampu menampungnya. Setelah menemukannya, memori yang dialokasikan untuknya hanyalah sebesar memori yang dibutuhkannya sehingga menyisakan tempat untuk memenuhi kebutuhan proses lain. Sistem operasi mencatat kebutuhan memori masing-masing proses yang berada dalam antrian serta jumlah memori yang masih tersedia untuk menentukan proses mana yang harus dimasukkan. Sistem akan memiliki sebuah daftar yang berisi ukuran blok yang masih tersedia serta antrian masukan proses. Sistem operasi dapat mengurutkan antrian input tersebut berdasarkan algoritma penjadwalan. Memori dialokasikan pada proses yang ukurannya sesuai hingga akhirnya kebutuhan memori untuk proses berikutnya tidak dapat dipenuhi karena tidak ada lagi blok yang cukup untuknya. Sistem operasi akan menunggu hingga blok yang cukup besar untuk menampung proses tersebut tersedia atau sistem operasi dapat juga melewati proses tersebut dan mencari jikalau ada proses dengan kebutuhan memori yang dapat ditampung oleh blok memori yang tersedia. Pada kenyatannya, partisi tetap kurang mengoptimalkan memori sebagai sumber daya yang penting karena seringkali terjadi, partisi yang cukup besar dialokasikan untuk proses dengan ukuran yang lebih kecil sehingga sisa dari partisi tersebut tidak digunakan.
Pada alokasi penyimpanan dinamis, kumpulan lubang-lubang (ruang memori kosong) dalam berbagai ukuran tersebar di seluruh memori sepanjang waktu. Apabila ada proses yang datang, sistem operasi akan mencari lubang yang cukup besar untuk menampung memori tersebut. Apabila lubang yang tersedia terlalu besar, maka ia akan dipecah menjadi 2. Satu bagian digunakan untuk menampung proses tersebut sedangkan bagian lain akan digunakan untuk bersiap-siap menampung proses lain. Setelah proses tersebut selesai menggunakan alokasi memorinya, ia akan melepaskan ruang memori tersebut dan mengembalikannya sebagai lubang-lubang kembali. Apabila ada 2 lubang yang berdekatan, keduanya akan bergabung untuk membentuk lubang yang lebih besar. Pada saat itu, sistem harus memeriksa apakah ada proses dalam antrian yang dapat dimasukkan ke dalam ruang memori yang baru terbentuk tersebut. Isu utama dari alokasi penyimpanan dinamis adalah bagaimana memenuhi permintaan proses berukuran n dengan kumpulan lubang-lubang yang tersedia. Ada beberapa solusi untuk masalah ini:
  1. First Fit.  Memory manager akan mencari sepanjang daftar yang berisi besarnya ukuran memori yang dibutuhkan oleh proses dalam antrian beserta ukuran memori yang tersedia pada saat itu. Setelah menemukan lubang yang cukup besar (ruang memori dengan ukuran lebih besar dari ukuran yang dibutuhkan oleh proses bersangkutan), lubang itu lalu dipecah menjadi 2 bagian. Satu bagian untuk proses tersebut dan bagian lain digunakan untuk memori yang tak terpakai, kecuali tentu saja jika memang ukuran ruang memori tersebut sama besar dengan yang dibutuhkan oleh proses. First fit ini merupakan algoritma yang bekerja dengan cepat karena proses pencariannya dilakukan sesedikit mungkin
  2. Next Fit.  Algoritma ini hampir sama persis dengan first fit, kecuali next fit meneruskan proses pencarian terhadap lubang yang cukup besar untuk sebuah proses mulai dari lubang sebelumnya yang telah sesuai dengan proses sebelumnya. Pendek kata, algoritma ini tidak memulai pencarian dari awal. Gambar di bawah ini mengilustrasikan sebuah contoh yang membedakan antara first fit dan next fit. Jika blok berukuran 2 dibutuhkan maka first fit akan memilih lubang pada alamat 5, namun next fit akan memilih lubang pada 18.
    Gambar 2.4. Bagian Memori dengan 5 Proses dan 3 Lubang
    Bagian Memori dengan 5 Proses dan 3 Lubang

  3. Best Fit.  Best fit mencari dari keseluruhan daftar (kecuali jika daftar tersebut telah terurut berdasarkan ukuran), dan memilih lubang terkecil yang cukup untuk menampung proses yang bersangkutan. Daripada harus memecah sebuah lubang besar, yang mungkin saja dapat lebih bermanfaat nantinya, best fit mencari lubang dengan ukuran yang hampir sama dengan yang dibutuhkan oleh proses. Strategi ini menghasilkan sisa lubang terkecil. Kekurangan best fit jika dibandingkan dengan first fit adalah lebih lambat karena harus mencari ke seluruh tabel tiap kali dipanggil. Berdasarkan gambar diatas jika blok berukuran 2 dibutuhkan maka berdasarkan best fit akan memilih lubang pada alamat 18 yaitu lubang terkecil yang cukup menampung permintaan proses tersebut.
  4. Worst Fit.  Worst fit akan mencari lubang terbesar. Sebagaimana best fit kita harus mencari dari keseluruhan daftar kecuali jika daftar tersebut telah terurut berdasarkan ukuran. Strategi ini menghasilkan sisa lubang terbesar. Berdasarkan gambar diatas jika blok berukuran 2 dibutuhkan maka berdasarkan worst fit akan memilih lubang pada alamat 28 yaitu lubang terbesar yang cukup menampung permintaan proses tersebut.
    Paging
    Sistem Paging Adalah sistem manajemen pada sistem operasi dalam mengatur program yang sedang berjalan. Program yang berjalan harus dimuat di memori utama. Kendala yang terjadi apabila suatu program lebih besar dibandingkan dengan memori utama yang tersedia.
    Untuk mengatasi hal tersebut Sistem Paging mempunyai 2 solusi, yaitu:
    ·         Konsep OverlayDimana program yang dijalankan dipecah menjadi beberapa bagian yang dapat dimuat memori (overlay).
    ·         Konsep Memori Maya (virtual Memory)Adalah kemampuan mengalamati ruang memori melebihi memori utama yang tersedia. Konsep ini pertama kali dikemukakan Fotheringham pada tahun 1961 untuk sistem komputer Atlas di Universitas Manchester, Inggris.


    Pengertian
    Paging adalah suatu metode yang mengizinkan alamat logika proses untuk dipetakan ke alamat fisik memori yang tidak berurutan, yaitu sebagai solusi dari masalah fragmentasi ekstern. Metode dasar dari paging adalah dengan memecah memori fisik menjadi blok-blok yang berukuran tertentu (frame) dan memecah memori logika menjadi blok-blok yang berukuran sama (page).
    Paging merupakan teknik menampilkan data dengan cara membaginya ke beberapa halaman. Teknik ini diberikan untuk mengurangi scrolling window apabila data yang disajikan terlalu banyak, sehingga akan menimbulkan kejemuan orang yang melihat dan juga akan menghasilkan page load time yang besar karena ukuran filenya besar (apabila data disajikan dalam satu halaman saja).


    v  Kekurangan dan Kelebihan Sistem Paging
    Sistem paging mempunyai keunggulan dan kelemahan masing-masing. Sistem paging transparan bagi pemrograman, mengeleminasi fragmentasi eksternal, penggunaan memori utama yang efisisen.Karena ptongan-potongan yang dipindahkan masuk dan keluar memori utama berukuran sama, maka dimungkinkan mengembangkan algoritma manajemen memori yang memanfaatkan kelakuan program.


     Segmentasi Secara Murni
    Segmen – segmen dapat berukuran berbeda dan dinamis. Pengacuan pengacuan memori berbentuk (nomor segmen, offset).Alamat maya adalah offset di segmen. Tiap proses mempunyai tabel segmen. Ketika proses Running, alamat awal tabel dimuatkan ke register dasar. Nomor segmen digunakan untuk mencari deskriptor segmen di tabel segmenyang menyediakan alamatfisik awal segmen, panjangnya dan bit – bit proteksi. Alamat fisik dihitung dengan menambahkan alamat dasar segmen ke alamat maya.


    Teknik Kombinasi
    Sistem paging mempunyai keunggulan dan kelemahan masing-masing. Sistem paging transparan bagi pemrograman, mengeleminasi fragmentasi eksternal, penggunaan memori utama yang efisisen. Karena ptongan-potongan yang dipindahkan masuk dan keluar memori utama berukuran sama, maka dimungkinkan mengembangkan algoritma manajemen memori yang memanfaatkan kelakuan program.Segmentasi tampak oleh pemrograman sehingga pemrograman harus memperhatikan. Segmentasi berkemampuan menangani pertumbuhan sturktur data, modularitas serta mendukung pemakaian bersama dan proteksi.


    Metode Dasar
    Sistem paging mempunyai keunggulan dan kelemahan masing-masing. Sistem paging transparan bagi pemrograman, mengeleminasi fragmentasi eksternal, penggunaan memori utama yang efisisen. Karena ptongan-potongan yang dipindahkan masuk dan keluar memori utama berukuran sama, maka dimungkinkan mengembangkan algoritma manajemen memori yang memanfaatkan kelakuan program.Segmentasi tampak oleh pemrograman sehingga pemrograman harus memperhatikan. Segmentasi berkemampuan menangani pertumbuhan sturktur data, modularitas serta mendukung pemakaian bersama dan proteksi.Contoh Translasi Alamat Pada Sistem Paging


    v  Tabel Halaman Bertingkat
    Hierarchical paging atau pemberian halaman secara bertingkat merupakan sebuah metode pemberian halaman dengan cara membagi sebuah page table menjadi beberapa page table yang berukuran lebih kecil. Metode ini merupakan solusi dari permasalahan alokasi page table berukuran sangat besar pada main memory yang umumnya dihadapi pada sistem komputer modern yang memiliki ruang alamat logika yang besar sekali (mencapai 2 pangkat 32 sampai 2 pangkat 64).
    Translasi Alamat pada Two-Level Paging

    v  Tabel Halaman Dengan HashMetode ini umumnya digunakan untuk menangani masalah ruang alamat logika yang besarnya mencapai 64 bit karena struktur page table pada metode ini bisa menghemat ruang memori dalam jumlah yang cukup besar.
    Hashed page table menggunakan tabel hash sebagai page table-nya dengan ukuran yang terbatas untuk menghemat ruang memori dan sebuah hash function untuk mengalokasikan alamat virtual pada page table tersebut.Setiap entri/blok pada page table berisi linked list yang menghubungkan elemen-elemen yang di- hash ke lokasi yang sama. page table berisi linked list yang menghubungkan elemen-elemen yang di- hash ke lokasi yang sama.

    PROTEKSIProteksi memori dapat diterapkan pada sistem paging dengan meletakkan bit proteksi pada setiap frame. Bit proteksi umumnya disimpan pada page table. Sebuah bit proteksi dapat mendefinisikan apakah page bersifat read-only atau read-write. Untuk memberikan proteksi yang lebih baik, dapat pula ditambahkan bit lainnya, misalnya untuk sifat execute-only.                       . Manajemen Memory Sistem PagingWalaupun sistem partisi dinamis sudah dapat menyelesaikan masalah menjemen memory banyak hal tetapi masih mempunyai keterbatasan acses sebatas address memory yang ada secara phisik. Kalau kita punya memory 32 MB maka address maksimum yang dapat di akses sebesar 32 MB itu saja. Agar kemampuan akses ke memory lebih luas maka dibentuklah memory maya (virtual memory). 



Senin, 18 Juni 2012

Aljabar Boolean


Aljabar Boolean
·         Misalkan terdapat
-          Dua operator biner: + dan ×
-          Sebuah operator uner: ’.
-          B : himpunan yang didefinisikan pada opeartor +, ×, dan ’
-          0 dan 1 adalah dua elemen yang berbeda dari B.

Tupel

                        (B, +, ×, ’)
disebut aljabar Boolean jika untuk setiap a, b, c ÃŽ B berlaku aksioma-aksioma atau postulat Huntington berikut:

1. Closure:                   (i)  a + b ÃŽ B   
                                    (ii) a × b ÃŽ B     

2. Identitas:     (i)  a + 0 = a
                                    (ii) a × 1 = a
                                   
3. Komutatif:  (i)  a + b = b + a
                                                (ii)  a × b = b . a

4. Distributif:  (i)   a × (b + c) = (a × b) + (a × c)
                                                (ii)  a + (b × c) = (a + b) × (a + c)
                                   
5. Komplemen[1]:          (i)  a + a’ = 1
                                                (ii)  a × a’ = 0




  • Untuk mempunyai sebuah aljabar Boolean, harus diperlihatkan:
1.      Elemen-elemen himpunan B,
2.      Kaidah operasi untuk operator biner dan operator uner,
3.      Memenuhi postulat Huntington.



Minggu, 13 Mei 2012


Komponen Pendukung Sebuah Sistem Informasi
1.  Managemen proses
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan managemen proses seperti:
1.      Membuat dan menghapus proses pengguna dan sistem proses.
2.      Menunda atau melanjutkan proses.
3.      Menyediakan mekanisme untuk proses sinkronisasi.
4.      Menyediakan mekanisme untuk proses komunikasi.
5.      Menyediakan mekanisme untuk penanganan deadlock.
2. Masukan/Keluaran
Komponen Sistem Operasi untuk sistem Masukan/Keluaran:
1.       Penyangga: menampung sementara data dari/ke perangkat Masukan/Keluaran.
2.      Spooling: melakukan penjadualan pemakaian Masukan/Keluaran sistem supaya lebih efisien (antrian dsb.).
3.      Menyediakan driver: untuk dapat melakukan operasi rinci untuk perangkat keras masukan/keluaran tertentu.
3. Managemen Memori
Sistem operasi bertanggungjawab atas aktivitas-aktivitas yang berkaitan dengan managemen memori seperti:
1.      Menjaga track dari memori yang sedang digunakan dan siapa yang menggunakannya.
2.      Memilih program yang akan di-load ke memori.
4. Sistem Berkas
Sistem operasi bertanggung-jawab dalam aktivitas yang berhubungan dengan managemen berkas:
1.      Pembuatan dan penghapusan berkas.
2.      Pembuatan dan penghapusan direktori.
3.      Mendukung manipulasi berkas dan direktori.
4.      Memetakan berkas ke secondary-storage.
5.      Mem-back-up berkas ke media penyimpanan yang permanen (non-volatile).
5. Penyimpanan Sekunder
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan managemen disk seperti:
1.      Free-space management.
2.      Alokasi penyimpanan.
3.      Penjadualan disk.
6.  Sistem Proteksi
Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi harus:
1.      Membedakan antara penggunaan yang sudah diberi izin dan yang belum.
2.      Menspesifikasi kontrol untuk dibebankan/diberi tugas.
3.      Menyediakan alat untuk pemberlakuan sistem.
7.  Jaringan
Sistem terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori, atau clock. Setiap prosesor mempunyai memori dan clock tersendiri. Prosesor-prosesor tersebut terhubung melalui jaringan komunikasi. Sistem terdistribusi menyediakan akses pengguna ke bermacam sumber-daya sistem. Akses tersebut menyebabkan peningkatan kecepatan komputasi dan meningkatkan kemampuan penyediaan data.
8. Command-Interpreter System
Sistem Operasi menunggu instruksi dari pengguna (command driven). Program yang membaca instruksi dan mengartikan control statements umumnya disebut: control-card interpreter, command-line interpreter dan terkadang dikenal sebagai shell.

Tingkatan layer pada sebuah sistem komputer

a.Physical Device Layer Merupakan komponen elektrik dan elektronik yang sangat penting

b.Digital Logic Layer Elemen pada tingkatan ini dapat menyimpan,memanipulasi, dan mentransmisi data dalam bentuk represeotasi biner sederhana.

c.Micro programmed Laye Menginterprestasikan instruksi bahasa mesin dari layer mesin dan secaa langsung menyebabkan elemen logika digital menjalankan operasi yang dikehendaki. Maka sebenarnya ia adalah prosesor inner yang sangat mendasar dan dikendalikan oleh instruksi program kontrol primitifnya sendiri yang disangga dalam ROM innernya sendiri. Instruksi program ini disebut mikrokode dan program kontrolnya disebut mikroprogram.

d.Machine  Layer Tingkatan yang paling bawah dimana program dapat dituliskan dan memang hanya instruksi bahasa mesin yang dapat diinterprestasikan secara langsung oleh hardware.

e.Operating System Layer Mengontrol cara yang dilakukan oleh semua software dalam menggunakan hardwareyang mendasari (underlying) dan juga menyembunyikan kompleksitas hardware darisoftware lain dengan cara memberikan fasilitasnya sendiri yang memungkinkan software menggunakan hardware tersebut secara lebih mudah.

f. Higher Order Software Layer Mencakup semua program dalam bahasa selain bahasa mesin yang memerlukan penerjemahan ke dalam kode mesin sebelum mereka dapat dijalankan. Ketika diterjemahkan program seperti itu akan mengandalkan pada fasilitas sistem operasi yang mendasari maupun instruksi-instruksi mesin mereka sendiri.

g. Applications LayerBahasa komputer seperti yang dilihat oleh end-user.

Layanan Sistem Operasi
Layanan sistem operasi dirancang untuk membuat pemrograman menjadi lebih mudah.
1. Pembuatan Program
Sistim operasi menyediakan berbagai fasilitas yang membantu programer dalam membuat program seperti editor. Walaupun bukan bagian dari sistim operasi, tapi layanan ini diakses melalui sistim operasi.

2. Eksekusi Program
Sistem harus bisa me-load program ke memori, dan menjalankan program tersebut. Program harus bisa menghentikan pengeksekusiannya baik secara normal maupun tidak (ada error).
3. Operasi Masukan/Keluaran
Program yang sedang dijalankan kadang kala membutuhkan Masukan/Keluaran. Untuk efisiensi dan keamanan, pengguna biasanya tidak bisa mengatur peranti Masukan/Keluaran secara langsung, untuk itulah sistem operasi harus menyediakan mekanisme dalam melakukan operasi Masukan/Keluaran.
4. Manipulasi Sistem Berkas
Program harus membaca dan menulis berkas, dan kadang kala juga harus membuat dan menghapus berkas.
5. Komunikasi
Kadang kala sebuah proses memerlukan informasi dari proses yang lain. Ada dua cara umum dimana komunikasi dapat dilakukan. Komunikasi dapat terjadi antara proses dalam satu komputer, atau antara proses yang berada dalam komputer yang berbeda, tetapi dihubungkan oleh jaringan komputer. Komunikasi dapat dilakukan dengan share-memory atau messagepassing, dimana sejumlah informasi dipindahkan antara proses oleh sistem operasi.
6. Deteksi Error
Sistem operasi harus selalu waspada terhadap kemungkinan error. Error dapat terjadi di CPU dan memori perangkat keras, Masukan/Keluaran, dan di dalam program yang dijalankan pengguna. Untuk setiap jenis error sistem operasi harus bisa mengambil langkah yang tepat untuk mempertahankan jalannya proses komputasi. Misalnya dengan menghentikan jalannya program, mencoba kembali melakukan operasi yang dijalankan, atau melaporkan kesalahan yang terjadi agar pengguna dapat mengambil langkah selanjutnya.
Berikut ini adalah Beberapa Tipe Sistem Operasi yang saya ketahui :
-Real-time Operating System
adalah sebuah sistem operasi multitasking yang bertujuan untuk menjalankan aplikasi waktu nyata. sistem operasi real-time sering menggunakan algoritma penjadwalan khusus sehingga mereka dapat mencapai sifat deterministik perilaku. Adapun tujuan utama dari sistem operasi real-time respon yang cepat dan diprediksi ke acara. Mereka juga memiliki-event driven atau desain time-sharing. Sebuah sistem switch-event antara tugas-tugas berdasarkan prioritas mereka sementara sistem operasi time-sharing beralih pekerjaan berdasarkan interupsi jam.
-Multi-user dan Single-user Sistem Operasi
Sistem operasi jenis ini memungkinkan beberapa pengguna untuk mengakses sistem komputer secara bersamaan. Sistem Time-sharing dapat diklasifikasikan sebagai sistem multi-user karena mereka memungkinkan akses beberapa pengguna ke komputer melalui berbagi waktu. sistem operasi Single-user, sebagai lawan dari sistem operasi multi-user, dapat digunakan oleh satu pengguna pada satu waktu. Bisa punya beberapa account pada sistem operasi Windows tidak membuat sistem multi-user. Sebaliknya, hanya administrator jaringan adalah pengguna yang sebenarnya.
Tapi untuk sebuah sistem operasi mirip Unix, adalah mungkin bagi dua pengguna untuk login pada satu waktu dan ini kemampuan OS membuatnya menjadi sistem operasi multi-user.
-Multi-tasking dan tasking Sistem Operasi-Single
Ketika sebuah program  tunggal yang diijinkan untuk dijalankan  pada satu waktu, sistem ini dikelompokkan dalam sebuah sistem tunggal-tasking, sedangkan dalam kasus sistem operasi memungkinkan pelaksanaan tugas pada satu waktu, diklasifikasikan sebagai sistem operasi multi-tasking. Multi-tasking dapat dari dua jenis yaitu, pre-emptive atau koperasi. Dalam pre-emptive multitasking, sistem operasi irisan waktu CPU dan mendedikasikan satu slot untuk masing-masing program. Unix-seperti sistem operasi seperti Solaris dan dukungan Linux pre-emptive multitasking. Koperasi multitasking dicapai dengan mengandalkan setiap proses untuk memberi waktu untuk proses lain dengan cara yang ditetapkan. MS Windows sebelum Windows 95 digunakan untuk mendukung multitasking kooperatif.
-Distributed Sistem Operasi
Sistem operasi yang mengelola sekelompok komputer independen dan membuat mereka tampaknya satu komputer dikenal sebagai sistem operasi terdistribusi. Pengembangan jaringan komputer yang dapat dihubungkan dan saling berkomunikasi, memunculkan komputasi terdistribusi. perhitungan terdistribusi dilakukan pada lebih dari satu mesin. Ketika komputer dalam kerja kelompok dalam kerja sama, mereka membuat sistem terdistribusi.
-Embedded System
sistem operasi ini dirancang untuk digunakan dalam sistem komputer embedded yang dikenal sebagai sistem operasi tertanam. Mereka dirancang untuk beroperasi pada mesin kecil seperti PDA dengan otonomi kurang. Mereka mampu beroperasi dengan jumlah terbatas sumber daya. Mereka sangat kompak dan sangat efisien dengan desain. Windows CE, FreeBSD dan Minix 3 adalah beberapa contoh sistem operasi tertanam.
Pengertian Dari
Pengertian Time Sharing System
adalah suatu teknik penggunaan online system oleh beberapa pemakai secara bergantian menurut waktu yang diperlukan pemakai. Disebabkan waktu perkembangan proses CPU semakin cepat, sedangkan alat Input/Output tidak dapat mengimbangi kecepatan dari CPU, maka kecepatan dari CPU dapat digunakan secara efisien dengan melayani beberapa alat I/O secara bergantian. Proses TSS mulai nampak perpaduan teknologi komputer dan teknologi telekomunikasi yang pada awalnya berkembang sendiri- sendiri. Pada sistem TSS beberapa terminal terhubung secara seri ke sebuah host computer.
Time Sharing System

Christopher Strachy pada tahun 1959 telah memberikan ide mengenai pembagian waktu yang dilakukan oleh CPU. Baru pada tahun 1961, pertama kali sistem yang benar-benar berbentuk time sharing system dilakukan di MIT (Massachusetts Institute of Technology) dan diberi nama CTSS (Compatible Time Sharing System) yang bisa melayani sebanyak 8 pemakai dengan menggunakan omputer IBM 7090. Pada TSS tiap-tiap User dilayani oleh komputer dengan bergiliran dalam waktu yang sangat cepat. Sehingga tiap pemakai komputer tidak merasa bahwa komputer melayani beberapa pemakai sekaligus secara bergiliran.
Priority Scheduling
Priority Scheduling merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki prioritas tertinggi. Setiap proses memiliki prioritasnya masing-masing.
Prioritas suatu proses dapat ditentukan melalui beberapa karakteristik antara lain:
Time limit.
Memory requirement.
Akses file.
Perbandingan antara burst M/K dengan CPU burst.
Tingkat kepentingan proses.
Priority scheduling juga dapat dijalankan secara preemptive maupun non-preemptive. Pada preemptive, jika ada suatu proses yang baru datang memiliki prioritas yang lebih tinggi daripada proses yang sedang dijalankan, maka proses yang sedang berjalan tersebut dihentikan, lalu CPU dialihkan untuk proses yang baru datang tersebut. Sementara itu, pada non-preemptive, proses yang baru datang tidak dapat menganggu proses yang sedang berjalan, tetapi hanya diletakkan di depan queue.
Kelemahan pada priority scheduling adalah dapat terjadinya indefinite blocking( starvation). Suatu proses dengan prioritas yang rendah memiliki kemungkinan untuk tidak dieksekusi jika terdapat proses lain yang memiliki prioritas lebih tinggi darinya.
Solusi dari permasalahan ini adalah aging, yaitu meningkatkan prioritas dari setiap proses yang menunggu dalam queue secara bertahap.
Contoh: Setiap 10 menit, prioritas dari masing-masing proses yang menunggu dalam queue dinaikkan satu tingkat. Maka, suatu proses yang memiliki prioritas 127, setidaknya dalam 21 jam 20 menit, proses tersebut akan memiliki prioritas 0, yaitu prioritas yang tertinggi (semakin kecil angka menunjukkan bahwa prioritasnya semakin tinggi).
Swap
Sebuah proses, sebagaimana telah diterangkan di atas, harus berada di memori sebelum dieksekusi. Proses swapping menukarkan sebuah proses keluar dari memori untuk sementara waktu ke sebuah penyimpanan sementara dengan sebuah proses lain yang sedang membutuhkan sejumlah alokasi memori untuk dieksekusi. Tempat penyimpanan sementara ini biasanya berupa sebuah fast disk dengan kapasitas yang dapat menampung semua salinan dari semua gambaran memori serta menyediakan akses langsung ke gambaran tersebut. Jika eksekusi proses yang dikeluarkan tadi akan dilanjutkan beberapa saat kemudian, maka ia akan dibawa kembali ke memori dari tempat penyimpanan sementara tadi. Bagaimana sistem mengetahui proses mana saja yang akan dieksekusi? Hal ini dapat dilakukan dengan ready queue. Ready queue berisikan semua proses yang terletak baik di penyimpanan sementara maupun memori yang siap untuk dieksekusi. Ketika penjadwal CPU akan mengeksekusi sebuah proses, ia lalu memeriksa apakah proses bersangkutan sudah ada di memori ataukah masih berada dalam penyimpanan sementara. Jika proses tersebut belum berada di memori maka proses swapping akan dilakukan seperti yang telah dijelaskan di atas.
Gambar 2.1. Proses Swapping

 
Sebuah contoh untuk menggambarkan teknik swapping ini adalah sebagai berikut: Algoritma Round-Robin yang digunakan pada multiprogramming environment menggunakan waktu kuantum (satuan waktu CPU) dalam pengeksekusian proses-prosesnya. Ketika waktu kuantum berakhir, memory manager akan mengeluarkan (swap out) proses yang telah selesai menjalani waktu kuantumnya pada suatu saat serta memasukkan (swap in) proses lain ke dalam memori yang telah bebas tersebut. Pada saat yang bersamaan penjadwal CPU akan mengalokasikan waktu untuk proses lain dalam memori. Hal yang menjadi perhatian adalah, waktu kuantum harus cukup lama sehingga waktu penggunaan CPU dapat lebih optimal jika dibandingkan dengan proses penukaran yang terjadi antara memori dan disk.
Teknik swapping roll out, roll in menggunakan algoritma berbasis prioritas dimana ketika proses dengan prioritas lebih tinggi tiba maka memory manager akan mengeluarkan proses dengan prioritas yang lebih rendah serta me-load proses dengan prioritas yang lebih tinggi tersebut. Saat proses dengan prioritas yang lebih tinggi telah selesai dieksekusi maka proses yang memiliki prioritas lebih rendah dapat dimasukkan kembali ke dalam memori dan kembali dieksekusi.
Sebagian besar waktu swapping adalah waktu transfer. Sebagai contoh kita lihat ilustrasi berikut ini: sebuah proses pengguna memiliki ukuran 5 MB, sedangkan tempat penyimpanan sementara yang berupa harddisk memiliki kecepatan transfer data sebesar 20 MB per detiknya. Maka waktu yang dibutuhkan untuk mentransfer proses sebesar 5 MB tersebut dari atau ke dalam memori adalah sebesar 5000 KB / 20000 KBps = 250 ms
Perhitungan di atas belum termasuk waktu latensi, sehingga jika kita asumsikan waktu latensi sebesar 2 ms maka waktu swap adalah sebesar 252 ms. Oleh karena terdapat dua kejadian dimana satu adalah proses pengeluaran sebuah proses dan satu lagi adalah proses pemasukan proses ke dalam memori, maka total waktu swap menjadi 252 + 252 = 504 ms.
Agar teknik swapping dapat lebih efisien, sebaiknya proses-proses yang di- swap hanyalah proses-proses yang benar-benar dibutuhkan sehingga dapat mengurangi waktu swap. Oleh karena itulah, sistem harus selalu mengetahui perubahan apapun yang terjadi pada pemenuhan kebutuhan terhadap memori. Disinilah sebuah proses memerlukan fungsi system call, yaitu untuk memberitahukan sistem operasi kapan ia meminta memori dan kapan membebaskan ruang memori tersebut.
Jika kita hendak melakukan swap, ada beberapa hal yang harus diperhatikan. Kita harus menghindari menukar proses dengan M/K yang ditunda (asumsinya operasi M/K tersebut juga sedang mengantri di antrian karena peralatan M/Knya sedang sibuk). Contohnya seperti ini, jika proses P1dikeluarkan dari memori dan kita hendak memasukkan proses P2, maka operasi M/K yang juga berada di antrian akan mengambil jatah ruang memori yang dibebaskan P1 tersebut.
Masalah ini dapat diatasi jika kita tidak melakukan swap dengan operasi M/K yang ditunda. Selain itu, pengeksekusian operasi M/K hendaknya dilakukan pada buffer sistem operasi.
Tiap sistem operasi memiliki versi masing-masing pada teknik swapping yang digunakannya. Sebagai contoh pada UNIX, swapping pada dasarnya tidak diaktifkan, namun akan dimulai jika banyak proses yang membutuhkan alokasi memori yang banyak. Swapping akan dinonaktifkan kembali jika jumlah proses yang dimasukkan berkurang. Pada sistem operasi Microsoft Windows 3.1, jika sebuah proses baru dimasukkan dan ternyata tidak ada cukup ruang di memori untuk menampungnya, proses yang lebih dulu ada di memori akan dipindahkan ke disk. Sistem operasi ini pada dasarnya tidak menerapkan teknik swapping secara penuh, hal ini disebabkan pengguna lebih berperan dalam menentukan proses mana yang akan ditukar daripada penjadwal CPU. Dengan ketentuan seperti ini proses-proses yang telah dikeluarkan tidak akan kembali lagi ke memori hingga pengguna memilih proses tersebut untuk dijalankan.
Sistem partisi dan partisi boot
Partisi boot adalah partisi disk yang berisi boot sector dan file seperti NTLDR yang dibutuhkan untuk boot Windows XP dan sebelumnya. ( Windows Vista dan Windows Server 2008 menggunakan boot loader lebih baru yang disebut bootmgr yang menggantikan NTLDR dan dikonfigurasi menggunakan Bcdedit.exe).
Partisi sistem adalah partisi disk yang berisi Windows Sistem operasi file dan file dukungan, tetapi tidak semua file bertanggung jawab untuk booting .
Partisi sistem bisa berbeda dari partisi boot, meskipun mereka sering pada partisi yang sama (drive C :). Windows setup menempatkan partisi sistem awal berdasarkan motherboard BIOS setting. BitLocker membutuhkan partisi, sistem terpisah tidak terenkripsi untuk booting .
Para master boot record terletak pada 0 sektor fisik, sebelum tabel partisi , dan karena itu tidak terdapat di dalam partisi yang logis atau jilid.
Meskipun Microsoft terminologi itu istimewa, adalah mungkin untuk menandai partisi boot sebagai aktif dan boot ke dalamnya, apakah partisi adalah partisi primary, dan file yang dibutuhkan seperti NTLDR dan boot.ini untuk Windows XP atau lebih Windows NT platform ada di atasnya. Dalam skenario dual-boot partisi sistem dapat diformat dengan FAT16 file system dan berisi MS DOS sistem operasi dan Recovery Console . Para DOS boot sector dari partisi ini disimpan dalam BOOTSECT.DOS file (atau serupa), dan digunakan sebagai masukan dalam file boot.ini NTLDR. Sektor boot baru partisi ini mencari dan mulai NTLDR, sedangkan gambar dari boot sector DOS mencari dan mulai DOS. Perhatikan bahwa sektor boot DOS mencari file yang berbeda tergantung pada produsen peralatan asli seperti IBM untuk PC DOS atau Microsoft untuk MS DOS .
Secara umum, skema booting yang lebih baru mendukung skema yang lebih tua, ini adalah alasan mengapa Microsoft sistem operasi biasanya dipasang di urutan kronologis (yang terlama pertama OS, OS terbaru terakhir), dan mengapa upaya untuk "memperbaiki" sektor-sektor penting dengan alat yang dirancang untuk sistem operasi yang lebih tua bisa menyebabkan kerusakan untuk sistem operasi yang lebih baru.
Baru Windows Vista proses startup mendukung fitur yang sama dan tambahan; sektor boot mencari boot manager baru, bukan NTLDR. Alat fixmbr Lama menginstal boot sector NTLDR akan menghancurkan sektor boot baru, dan karena itu Windows versi lebih baru biasanya menggunakan sistem partisi terpisah. Tata letak direkomendasikan terdiri dari partisi pemulihan tersembunyi utama diikuti oleh utama NTFS partisi sistem (ditandai sebagai aktif untuk boot), dan sebuah partisi boot terpisah (di Microsoft terminologi), yang kedua bisa berupa partisi primary atau disk logis dalam partisi extended mount sebagai drive C: . Layout lebih rumit dengan partisi OEM, atau layout sederhana dengan sistem = partisi boot, yang mungkin.


Selasa, 10 April 2012

Memory Internal dan Memory Eksternal


Memori Internal
Memori internal adalah memori yang menyimpan program dan data yang sedang dikerjakan oleh CPU komputer. Dalam sebuah komputer, yang digunakan sebagai CPU adalah satu atau beberapa mikroprosessor. Kalau komputer menjalankan suatu program, memori internal akan terus-menerus berhubungan dengan CPU. Karena itu, memori yang digunakan sebagai memori internal harus cukup cepat agar mampu mengimbangi kecepatan CPU. Memori komputer yang digunakan sebagai memori internal dewasa ini biasanya memori semikonduktor, dan terdiri atas sejumlah besar sel memori yang disusun sebagai suatu array di atas satu chip.
Dalam sebuah komputer atau mikrokomputer terdapat dua jenis memori internal, yakni ROM (Read Only Memory) dan RAM (Random Access Memory).
ROM (Read Only Memory)
Sesuai dengan namanya, ROM adalah memori yang hanya dapat dibaca. Meskipun demikian, dalam perkembangannya, istilah memori hanya baca tidak lagi sesuai saat ini dengan hadirnya MPROM, PROM, EPROM, EPROM, EAPROM, dan Flash PEROM.
RAM(Random Access Memory)
RAM-adalah jenis memori yang memiliki waktu akses sama untuk setiap alamat memori. Kebanyakan memori semikonduktor (termasuk ROM) dan memori magnetic core, sebelum ada memori semikonduktor, yang banyak digunakan sebagai memori utama komputer adalah RAM.

 Memory Eksternal
Pengertiannya sebagai berikut :    - Bersifat eksternal terhadap sistem komputer dan tentu saja berada di luar CPU,
    - Diperlukan untuk menyimpan data atau instruksi secara permanen.
    - Tidak diperlukan di dalam proses eksekusi sehingga tidak dapat diakses secara langsung oleh
     prosesor (CPU). Untuk akses memori eksternal ini oleh CPU harus melalui pengontrol/modul I/O.
    - Memori eksternal sering juga disebut sebagai memori sekunder.
    - Memori ini terdiri atas perangkat storage peripheral seperti : disk, pita magnetik, dll.

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 :
1. Magnetik (floppy disk, hard disk).
2. Removeable hard disk (Zip disk, Flash disk).
3. 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
 

Cache Memory


Cache memory adalah memori berbasis SRAM berukuran kecil dan 
berkecepatan tinggi yang dikendalikan secara otomatis oleh 
hardware.
Fungsi Cache Memory
--> Mempercepat Akses data pada komputer
--> Meringankan kerja prosessor
--> Menjembatani perbedaan kecepatan antara cpu dan memory utama.
--> Mempercepat kinerja memory
Letak Cache MemorY 
  1. Terdapat di dalam Processor (on chip )
Cache internal diletakkan dalam prosesor sehingga tidak memerlukan bus eksternal, maka waktu aksesnya akan sangat cepat sekali
  2. Terdapat diluar Processor(off chip)
Berada pada MotherBoard, memori jenis ini kecepatan aksesnya sangat cepat, meskipun tidak secepat chache memori jenis pertama

Jenis Cache Memory
1.   L1 cache L1 Cache adalah Sejumlah kecil SRAM memori yang digunakan sebagai cacheyang terintegrasi menyatu pada prosesor. 
-     Berguna untuk menyimpan secarasementara instruksi dan data, dan memastikan bahwa prosesor memiliki supply data yangstabil untuk diproses sementara memori mengambil dan menyimpan data baru.
-     L1 cache (Level 1 cache) disebut pula dengan istilah primary cache, first cache, atau level one cache.
-     transfer data dari L1 cache ke prosesor terjadi paling cepat Kecepatannya mendekati kecepatan register

2.  L2 cache Arti istilah L2 Cache adalah Sejumlah kecil SRAM memori yang berada di motherboard dekat dengan posisi dudukan prosesor.
- Berguna untuk menyimpansementara instruksi dan data, dan memastikan bahwa prosesor memiliki supply data yangstabil untuk diproses sementara memori mengambil dan menyimpan data baru  - (Level 2 cache) secondary cache, second level cache, atau level two cache.
- L2 cache memiliki ukuran lbih besar dibandingkan L1 namun kecepatan transfernya sedikit lebih lama dari L1cache.
3. L3 cache  
       L3 cache jarang sekali ada, hanya ada di komputer tertentu.
      -  Berguna ketika terdapat cache yang hilang ”missing” pada cache L1&L2
      - L3 cache memiliki ukuran lbih besar dibandingkan L1 dan L2 namun kecepatan transfernya lebih lama dari L1cache dan L2 Cache.