Anda di halaman 1dari 4

TUGAS ARSITEKTUR DAN ORGANISASI KOMPUTER I

CONTOH SWAPPING, PARTITIONING, DAN PAGGING

Disusun Oleh : Nama NIM : Revi Aulia Yudhistira : 123100035

Dosen : Hidayatulah Himawan S.T., M.T.

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI UPN VETERAN YOGYAKARTA 2012

Contoh Swapping
Asumsikan sebuah multiprogramming environment dengan penjadwalan CPU Round-Robin. Ketika waktu kuantum habis, pengatur memori akan menukar proses yang telah selesai dan memasukkan proses yang lain ke dalam memori yang sudah bebas. Di saat yang bersamaan, penjadwal CPU akan mengalokasikan waktu untuk proses lain di dalam memori. Ketika waktu kuantum setiap proses sudah habis, proses tersebut akan ditukar dengan proses lain. Untuk kondisi ideal, penukaran proses dapat dilakukan dengan cepat sehingga proses akan selalu berada dalam memori dan siap dieksekusi saat penjadwal CPU hendak menjadwal CPU. Hal ini berkaitan dengan CPU utilization. Swapping dapat juga terdapat dalam penjadwalan berbasis prioritas (priority scheduling). Jika proses dengan prioritas lebih tinggi tiba dan meminta layanan, manajer memori dapat menukar keluar memori proses-proses yang prioritasnya rendah sehingga proses-proses yang prioritasnya lebih tinggi tersebut dapat dieksekusi. Setelah proses-proses yang memiliki prioritas lebih tinggi tersebut selesai dieksekusi, proses-proses dengan prioritas rendah dapat ditukar kembali ke dalam memori dan dilanjutkan eksekusinya. Cara ini disebut juga dengan metoda roll in, roll out.

Contoh partitioning
Manfaat lain dari partitioning adalah tiap-tiap segment (partisi atau subpartisi) bisa ditaruh ditablespace yang berbeda, sehingga kita mendapat manfaat dari spreading (menyebar)tablespace, yaitu penyebaran I/O dan mengurangi resiko loss data karena tablespace corrupt.Ada 3 metode utama partisi, dan ada 2 macam composite (gabungan): 1. Range partitioning 2. List partitioning 3. Hash partitioning 4. Composite range-list partitioning 5. Composite range-hash partitioningMisalkan saya punya tabel penjualan yang punya kolom no_invoice, tgl_jual, dan area

CREATE TABLE penjualan ( no_invoice NUMBER, tgl_jual DATE, area varchar2(10));

Range Partition Pada range partition, data dikelompokkan berdasarkan range (rentang) nilai yang kitatentukan. Range partition ini cocok digunakan pada kolom yang nilainya terdistribusi secaramerata. Contoh yang paling sering adalah kolom tanggal.Berikut ini contoh membuat table PENJUALAN dengan partisi range pada kolom tgl_jual(untuk menegaskan bahwa ini adalah contoh range partition, tabel saya beri namaPENJUALAN_RANGE):

CREATE TABLE penjualan_range ( no_invoice NUMBER, tgl_jual DATE NOT NULL, area varchar2(10)) PARTITION BY RANGE (tgl_jual) ( PARTITION jual_kw1 VALUES LESS THAN (TO_DATE('01-APR-2008','DD-MON-YYYY')) TABLESPACE users,PARTITION jual_kw2 VALUES LESS THAN (TO_DATE('01-JUL-2008','DD-MON-YYYY')) TABLESPACE users,PARTITION jual_kw3 VALUES LESS THAN (TO_DATE('01-OCT-2008','DD-MON-YYYY')) TABLESPACE users,PARTITION jual_kw4 VALUES LESS THAN (TO_DATE('01-JAN-2009','DD-MON-YYYY')) TABLESPACE users );

Dalam contoh di atas, spesifikasi tablespace ada pada tiap segment (partisi). Yang seperti ini(spesifikasi tablespace pada tiap segment) biasanya dilakukan kalau tiap segment

(partisi)ditempatkan pada tablespace yang berbeda. Karena keterbatasan tablespace, dalam contoh inisaya taruh dalam satu tablespace yang sama, yaitu tablespace USERS.

Contoh Pagging
Sebagai contoh, kita memiliki 22 record daftar mahasiswa, kemudian ingin kita tampilkan dengan dibagi menjadi beberapa halaman dengan maksimum 5 record per halaman.

Nah, pertama kita cari dulu jumlah halaman yang akan terbentuk : Jumlah Halaman = Total Record / Maksimum Record tiap halaman

Jumlah Halaman = 22 / 5 = 4.4 Halaman

Ibarat kan saja halaman itu halaman pada buku novel ukuran kertas A4,dimana ada sisa sedikit cerita yang tidak muat lagi untuk ditampilkan di halaman terakhir, mau tak mau kertas musti

ditambah satu lagi guna menempatkan sisa cerita yang ada (walaupun hanya menggunakan separo dari ukuran kertas saja. Maka dari itu setiap perhitungan Jumlah Halaman kita akan bulatkan ke atas. Jumlah Halaman = 22 / 5 = 4.4 = 5 Halaman

Untuk pengambilan data dari database (mysql), kita ambil dari record pertama dengan kelipatan 5 untuk halaman selanjutnya. Coba perhatikan tabel di atas, : untuk halaman 1, kita hanya mengambil data dari record ke-0 hingga ke record ke-4, untuk halaman 2, kita hanya mengambil data dari record ke-5 hingga ke record ke-9, dst (record pertama dalam mysql dimulai dari angka 0) .

Jadi rumus untuk mendapatkan start record adalah : (no halaman saat ini - 1) * maximum record per halaman

Sebagai Start Start Start Start

contoh record record record record

untuk untuk untuk untuk untuk

kasus

diatas (dengan 1 2 3 4 : : : :

maximum (1 (2 (3 (4 -

record 1) 1) 1) 1)

per * * * *

halaman = 5 5 5 5 = = = =

5)

: 0 5 10 15

halaman halaman halaman halaman

Start record untuk halaman 5 : (5 - 1) * 5 = 20

Anda mungkin juga menyukai