Rabu, 26 Desember 2012

Perencanaan Proyek Perangkat Lunak


PERENCANAAN PROYEK PERANGKAT LUNAK

Proses manajemen proyek perangkat lunak dimulai dengan kegiatan project planning (perencanaan proyek). Yang pertama dari aktifitas ini adalah estimation (perkiraan). Estimasi membawa resiko yang inheren (dari diri sendiri) dan resiko inilah yang membawa ketidakpastian. Yang mempengaruhi estimasi :
        - Project complexity (kompleksitas proyek)
        - Project size (ukuran proyek)
        - Struktural uncertainty (ketidakpastian struktural)

Tujuan Perencanaan Proyek Perangkat Lunak :
menyediakan sebuah kerangka kerja yang memungkinkan manajer membuat estimasi yang dapat dipertanggungjawabkan terhadap sumber daya, biaya dan jadwal pada awal proyek yang dibatasi oleh waktu.

Aktifitas Perencanaan Proyek PL
        1. Menentukan ruang lingkup PL
        2. Mengestimasi sumber daya yang dibutuhkan

RUANG LINGKUP PL

Ruang lingkup PL menggambarkan : fungsi, kinerja, batasan, interface dan reliabilitas.
Fungsi yang digambarkan dlm statemen  ruang lingkup dievaluasi untuk memberikan awalan yang lebih detail pada saat dimulai estimasi. Kinerja melingkupi pemrosesan  dan kebutuhan waktu respon. Batasan mengidentifikasi batas yang ditempatkan pada PL oleh perangkat keras eksternal, memori atau sistem lain.
       


Informasi yang dibutuhkan (awal pertemuan antara pelanggan dan pengembang)
* Pertanyaan berfokus pada pelanggan, tujuan keseluruhan serta keuntungan.   
        - Siapa di belakang permintaan kerja ini?
        - Siapa yang akan memakai solusi ini?
        - Apakah keuntungan ekonomi dari solusi yang sukses?
        - Adakah sumber daya lain bagi solusi ini?

* Pertanyaan yang memungkinkan analis memahami masalah lebih baik dan pelanggan menyuarakan persepsi tentang sebuah solusi.
-      Bagaimana Anda (pelanggan) menandai output yg baik yg akan dihasilkan  oleh sebuah solusi yg baik?
-      Masalah apa yang dituju  solusi ini?
-      Dapatkah anda menggambarkan lingkungan dimana solusi akan dipakai?
-      Adakah batasan atau isu kinerja khusus yg akan mempengaruhi 

PL berinteraksi dengan elemen sistem berbasis komputer. Konsep sebuah interface diinterpretasi untuk menentukan:
1.    Hardware yg mengeksekusi PL dan device yg dikontrol secara tidak langsung oleh PL
2.   Software yg sudah ada dan harus dihubungkan dengan PL yg baru
3.   Manusia yg menggunakan PL melalui keyboard atau perangkat I/O lain
4.   Prosedur

SUMBER DAYA
1. Manusia
2. Perangkat Lunak
    Kategori yg diusulkan BEUNATAN
                - Komponen Off-the-self
        - Komponen Full-Experience
                - Komponen Partial-Experience
        - Komponen Baru
   3. Lingkungan (Software Engineering Environment - SEE), menggabungkan PL dan Perangkat Keras.

Estimasi biaya dan usaha dapat dilakukan dengan cara :
1.    Menunda estimasi sampai akhir proyek.
2.   Berdasarkan estimasi pada proyek yg mirip sebelumnya.
3.   Menggunakan 'teknik dekomposisi' yg relatif sederhana u/ estimasi biaya dan usaha proyek.
4.   Menggunakan satu atau lebih model empiris bagi estimasi usaha dan biaya PL.

Akurasi estimasi proyek PL didasarkan pada :
1.    Tingkat dimana perencana telah dengan tepat mengestimasi ukuran produk yg akan dibuat.
2.   Kemampuan mengestimasi ukuran ke dalam kerja manusia, waktu kalender, dan dolar.
3.   Tingkat dimana rencana proyek mencerminkan kemampuan tim PL.
4.   Stabilitas syarat produk serta lingkungan yg mendukung usaha pengembangan PL.

Putnam dan Myers mengusulkan 4 masalah penentuan ukuran :
-      Fuzzy-logic sizing (logika kabur)
Perencana harus mengidentifikasi tipe aplikasi, membuat besarannya dalam skala kuantitatif kemudian dibandingkan dengan rentang orisinil.
-      Function point sizing
Perencana mengembangkan estimasi berdasarkan karakteristik domain informasi.
-      Standard component sizing
 PL dibangun dari sejumlah 'komponen standar' yg umum (subsistem, modul, laporan, program interaktif).
-      Change sizing
Digunakan jika PL yang ada harus dimodifikasi dengan banyak cara sebagai bagian dari proyek.




Data baris kode (LOC) dan titik fungsi (FP) pada estimasi proyek digunakan sbg :
1.    variabel estimasi yg dipakai untuk mengukur masing-masing elemen PL.
2.   metrik baseline yg dikumpulkan dari proyek yg lalu dan dipakai dengan variabel estimasi untuk mengembangakan proyeksi kerja dan biaya.

TCP Packet


      TCP Packet
Transmission Control Protocol (TCP) adalah suatu protokol yang berada di lapisan transpor (baik itu dalam tujuh lapis model referensi OSI atau model DARPA) yang berorientasi sambungan (connection-oriented) dan dapat diandalkan (reliable).

Karakteristik dari TCP:
§  Berorientasi sambungan (connection-oriented): Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination).
§  Full-duplex: Untuk setiap host TCP, koneksi yang terjadi antara dua host terdiri atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan menggunakan teknologi lapisan yang lebih rendah yang mendukung full-duplex, maka data pun dapat secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP sequence number) dari data yang ditransmisikan dan sebuah acknowledgment dari data yang masuk.
§  Dapat diandalkan (reliable): Data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket positive acknowledgment dari penerima. Jika tidak ada paket Acknowledgment dari penerima, maka segmen TCP (protocol data unit dalam protokol TCP) akan ditransmisikan ulang. Pada pihak penerima, segmen-segmen duplikat akan diabaikan dan segmen-segmen yang datang tidak sesuai dengan urutannya akan diletakkan di belakang untuk mengurutkan segmen-segmen TCP. Untuk menjamin integritas setiap segmen TCP, TCP mengimplementasikan penghitungan TCP Checksum.
§  Byte stream: TCP melihat data yang dikirimkan dan diterima melalui dua jalur masuk dan jalur keluar TCP sebagai sebuah byte stream yang berdekatan (kontigu). Nomor urut TCP dan nomor acknowlegment dalam setiap header TCP didefinisikan juga dalam bentuk byte. Meski demikian, TCP tidak mengetahui batasan pesan-pesan di dalam byte stream TCP tersebut. Untuk melakukannya, hal ini diserahkan kepada protokol lapisan aplikasi (dalam DARPA Reference Model), yang harus menerjemahkan byte stream TCP ke dalam "bahasa" yang ia pahami.
§  Memiliki layanan flow control: Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat "macet" jaringan internetwork IP, TCP mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima untuk memperoleh data yang tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima.
§  Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
§  Mengirimkan paket secara "one-to-one": hal ini karena memang TCP harus membuat sebuah sirkuit logis antara dua buah protokol lapisan aplikasi agar saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data secara one-to-many.
TCP umumnya digunakan ketika protokol lapisan aplikasi membutuhkan layanan transfer data yang bersifat andal, yang layanan tersebut tidak dimiliki oleh protokol lapisan aplikasi tersebut. Contoh dari protokol yang menggunakan TCP adalah HTTP dan FTP.

Minggu, 02 Desember 2012

tips bermain warnet geratis



Bermain Warnet Gratis

Loe Pada Mao Maen Warnet Gratisan?

Yuk Maen Warnet Gratis , Gratisan Maen Di warnet Yok Boy, Tapi Gimana Caranye? Pusing Gw ni Gak Punya Duit! Warnet Gratis Dimana Ya?

PUSING LOE KAN?? Ni Deh Gw Kasi Caranya, dapet dari nyari nyari juga ni:

Heey semuanyaaa! Berjumpa lagi dengan sayaa di tips dan trik! Hahahaaa… Di trik dan tips kali ini aku mau ngejelasin trik tips mengakali warnet dengan menggunakan ZHider! Di sini kita bakalan mencoba berinternet ria di warnet secara murah meriah!! Caranya gampaang! Kalian cuman perlu download Zhider di sini. Untuk selanjutnyaa, aku bakal ngejelasin dulu tentang sistem billing di warnet.


Kalian pasti pernah khan ke warnet?? Naah, klo pernah pasti kalian bakal muncul halaman login di komputer yg kalian pake di warnet. Itu sebetulnya saat muncul layar login, komputer dah bisa dipake buat browsing. Cuman keganggu ajah sama layar login yg mengharuskan kita untuk mengisi layar login tersebut sehingga kitapun kudu bayar. Nah, dengan menggunakan ZHider, kita bisa menyembunyikan layar login dengan mudaah! Caranya bener2 sederhanaa!

Berikut ini langkahnyaaa:

1. Pastikan warnet yg kamu pilih masih banyak bilik/kamar yg kosong. Soalnya klo rame ntar operator curiga kenapa masih ada bilik yg kosong?
2. Baiknya sih kamu pilih bilik yg paling jauh dari operator warnet biar gak ketauan bilik kamu kosong atau ngga.
3. Nyalakan komputer di depan kamu klo masih dalam keadaan mati.
4. Klo ada login screen, kamu login ajah kaya biasa.
5. Jalanin ZHider yg udah kamu download
di sini, klo bisa dari rumah dimasukin ajah ke flashdisc atau disket biar gak usah download di warnet.
6. Klo ZHider dah dibukaa, langsung ajah logout.
7. Ntar pasti muncul login screen, kamu pencet CTRL+ALT+Z
8. Dan login screennya menghilaang! Kamu bisa browsing sepuas-puasnya sampai matiiii! MERDEKAAAAA!!!!!!!
9. Klo dah puas, kamu pencet CTRL+ALT+X untuk menampilkan kembali login screen yg udah kita sembunyikan tadi.
10. Login seperti biasaa, kamu browsing2 dulu beberapa menit sampai penunjuk waktunya di atas 5 menit. Tujuannya biar operator warnet gak curiga.
11. Logout, pasang muka babyface seolah-olah tanpa dosa, dan bayar tarif!
12. DONNNNEEEEEEEEE!!!!! OYEAAAAAHH!!

Ini khusus untuk warnet yg punya operator yg gak kenal kamu, atau operatornya sering tidur, atau operator yg bisanya cuman nerima pembayaran ajaa (baca: TOLOL).

Dan berikut ini beberapa hotkeys yg ada di ZHider. Untuk lebih lengkapnya baca ajah readmenya:
CTRL+ALT+Z Menyembunyikan jendela aktif
CTRL+ALT+X Menampilkan kembali semua jendela yang disembunyikan
CTRL+ALT+L Menampilkan dialog zhider
CTRL+ALT+M Menampilkan kembali semua jendela yang disembunyikan, dan juga menutup zhider.

Aku kasih tips dan trik bukan berarti aku mau kalian internetan gratis di warnet sembarangan. Ini cuman buat kalian yg depresi, stres, sampai2 pengen bunuh diri karena saking pengennya online tapi dompet tipis. Lagian aku juga cuman pengen share ajah kok! Gak ada maksud apa2! Hehehehe…

Nah, Okeh! Selamat Mencobaaa…! Saya gak nanggung klo kalian ketauan!

~ G O O D L U C K !~

Aplikasi billing sederhana dengan visual basic 6.0

langsung saja ini scirpnya :
Dim Start1 As Date, Stop1 As Date
Dim Harga As Integer, Biaya As Integer
Function DateDiffX(dStart As Date, dEnd As Date, Optional bDetailed As Boolean) As Variant
    Dim TotalDays
    Dim Years, Months, Days, hours, minutes, seconds

    If bDetailed Then
        TotalDays = dEnd - dStart
        hours = Hour(dEnd - dStart)
        minutes = Minute(dEnd - dStart)
        seconds = Second(dEnd - dStart)
       
        If hours < 10 Then
            hours = "0" & hours
        ElseIf hours > 9 Then
            hours = hours
        End If
        If minutes < 10 Then
            minutes = "0" & minutes
        ElseIf minutes > 9 Then
            minutes = minutes
        End If
        If seconds < 10 Then
            seconds = "0" & seconds
        ElseIf seconds > 9 Then
            seconds = seconds
        End If
        DateDiffX = hours & ":" & minutes & ":" & seconds
        Exit Function
    End If
  
End Function

Private Sub Command1_Click()
If Command1.Caption = "Mulai" Then
    Command1.Caption = "Stop"
    Timer1.Enabled = True
    lblMulai = ": " & Format(Time, "hh:mm:ss")
ElseIf Command1.Caption = "Stop" Then
    Command1.Caption = "Mulai"
    Timer1.Enabled = False
    lblSkrg = ": " & Format(Time, "hh:mm:ss")
End If
End Sub

Private Sub Command2_Click()
Unload Me
End Sub

Private Sub Form_Load()
Start1 = Format(Time, "hh:mm:ss")
Harga = 10
End Sub

Private Sub Timer1_Timer()
Stop1 = Format(Time, "hh:mm:ss")
lblSkrg = ": " & Format(Time, "hh:mm:ss")
lblDurasi = ": " & DateDiffX(Start1, Stop1, True)
Timer1.Tag = Biaya + Harga
lblBiaya = ": Rp. " & Timer1.Tag
Biaya = Timer1.Tag
End Sub

Kamis, 29 November 2012

Judul saya isi laman
google-site-verification: googlef2d4f88f4b4406e6.html

ISU DISAIN SISTEM PAGING




1.  Model Working Set
Ø  Dalam bentuk paging murni, proses dimulai dengan memori kosong, dan page-page dimasukkan ke dalamnya setelah diminta. Cara ini disebut demand paging.
Ø  Locality of reference: Kecenderungan proses untuk memakai satu set page yang sama selama beberapa saat.
Ø  Satu set page tersebut di atas membentuk working set. Dalam hal ini, yang diusahakan oleh sistem operasi adalah agar working set berada utuh di memori pada saat eksekusinya.
Ø  Jika ukuran memori terlalu kecil untuk working set, akan seringkali terjadi page fault. Hal ini disebut thrashing.
Ø  Banyak sistem paging yang mengusahakan agar working set sudah ada di memori sebelum proses dimulai. Pendekatan ini disebut model working set. Tujuannya adalah untuk memperkecil jumlah terjadinya page fault (page yang diminta tidak ada di memori).
Ø  Memasukkan page ke memori sebelum proses dimulai juga disebut prepaging.
Ø  Untuk pertama kali menentukan working set, dipakai sistem aging untuk mengetahui berapa kali jumlah pemakaian setiap page.

2. Alokasi Global dan Lokal
o    Pada sistem timesharing, isi memori bisa seperti pada Gambar a.
o    Misalkan diminta page A6. Jika dikeluarkan A5 untuk memberi tempat ke A6, berarti dilakukan alokasi lokal. Bila yang dikeluarkan adalah B3, dilakukan alokasi global.
o    Algoritma lokal berhubungan dengan pemberian jumlah frame yang sama untuk setiap proses, sementara algoritma global secara dinamis mengalokasikan frame untuk proses yang berjalan.

Age



A0
10
A0

A0
A1
7
A1

A1
A2
5
A2

A2
A3
4
A3

A3
A4
6
A4

A4
A5
3
A5 -> A6

A5
B0
9
B0

B0
B1
4
B1

B1
B2
6
B2

B2
B3
2
B3

B3 -> A6
B4
5
B4

B4
B5
6
B5

B5
B6
12
B6

B6
C1
3
C1

C1
C2
5
C2

C2
C3
6
C3

C3
                            (a)                                     (b)                                   (c)
Penggantian page global vs. lokal. (a) Konfigurasi awal.
(b) Penggantian page lokal. (c) Penggantian page global.
3.  Ukuran Page
o    Ukuran page merupakan salah satu parameter yang ditentukan oleh perancang sistem operasi.
o    Penentuan ukuran page yang optimum harus menyeimbangkan beberapa faktor.
o    Rata-rata, page terakhir hanya akan terisi setengah (fragmentasi internal), berarti page sebaiknya kecil. Tetapi page yang kecil akan menghasilkan tabel page yang panjang.
Ø  s (byte)        =     ukuran proses rata-rata
Ø  p (byte)        =     ukuran page
Ø  e (byte)        =     ukuran setiap page entry
Ø  s/p              =     perkiraan jumlah page yang dibutuhkan per-proses
Ø  se/p (byte)   =     ruang untuk tabel page
Ø  p/2              =     memori yang terbuang karena fragmentasi
Ø  overhead     =     memori yang terpakai untuk tabel page dan fragmen internal.
overhead = se/p + p/2
Ø  Ukuran tabel page besar jika ukuran page kecil. Fragmen internal besar jika ukuranb page besar. Optimum harus ada di antaranya. Dengan mengambil penurunan pertama terhadap p dan menyemakan dengan nol:            -se/p2 + ½ = 0
Ø  Dari persamaan ini, ukuran page optimum adalah: p = Ö(2se)
Ø  Sebagian besar komputer komersial menggunakan ukuran page antara 512 byte – 8K.

4.         Isu Implementasi
Ø  Instruction backup
Instruksi yang menyebabkan referensi ke page yang belum ada di memori (menyebabkan page fault) harus diulang ketika page tersebut telah tersedia. Beberapa sistem operasi meng-copy setiap instruksi sebelum dilaksanakan sehingga hal ini tidakmakan waktu terlalu lama.
Ø  Locking pages in memory
Pada saat satu proses menjalani tahap I/O, proses lain bisa dijalankan. Yang mungkin terjadi ialah page proses I/O tersebut digantikan oleh proses yang kedua ini (jika dipakai alokasi global). Jalan keluarnya ialah dengan me-lock page-page proses I/O.
Ø  Shared pages
Dua atau lebih proses bisa memakai bersama page-page yang berasal dari editor yang mereka pakai. Penutupan salah satu proses ini tanpa disengaja bisa mengosongkan juga page yang dipakai bersama tersebut. Diperlukan suatu struktur data khusus untuk memantau page-page yang dipakai bersama ini.
Ø  Backing Store
Pada disk, disediakan area untuk menampung page yang dikeluarkan dari memori (paged out) yang disebut swap area. Setiap proses memiliki swap area di disk. Swap area ada yang statis ada juga yang dinamis.
Ø  Paging Daemon
Untuk meyakinkan tersedianya frame bebas yang cukup banyak, banyak sistem paging yang menggunakan proses background yang disebut paging daemon. Jika jumlah frame bebas terlalu sedikit, paging daemon akan mengosongkan beberapa page setelah menulisnya ke disk jika pernah dimodifikasi.
Ø  Penanganan Page Fault

Urutan langkah-langkah penanganan adalah sebagai berikut:
1.       Hardware melakukan trap ke kernel, program counter di-save ke stack. Pada banyak mesin, beberapa informasi tentang status instruksi saat itu di-save di register-register khusus CPU.
2.       Rutin kode assembly dimulai untuk men-save register-register umum dan informasi lain yang bisa berubah, agar sistem operasi tidak merusaknya. Rutin ini memanggil sistem operasi sebagai suatu prosedur.
3.       Sistem operasi menemukan bahwa terjadi page fault, dan mencoba menemukan page virtual mana yang diperlukan. Seringkali salah satu register hardware berisi informasi ini. Jika tidak, sistem operasi harus menarik program counter, mengambil instruksi, dan melakukan parsing pada software untuk mengetahui apa yang dilakukan sebelum terjadi fault.
4.       Begitu alamat virtual yang menyebabkan fault diketahui, sistem operasi memeriksa apakah alamat ini valid dan proteksinya konsisten dengan akses. Jika tidak, proses dikirimi sinyal atau ditutup. Jika alamat valid dan tidak ada pelanggaran proteksi, sistem berusaha untuk mendapatkan frame page dari daftar frame bebas. Jika tidak ada frame yang bebas, dijalankan algoritma penggantian page untuk mencari yang bisa ditukar.
5.       Jika frame page yang dipilih telah dimodifikasi, page dijadwalkan untuk ditransfer ke disk, dan terjadi pertukaran proses, menghentikan sementara proses yang fault dan membiarkan yang lainnya berjalan hingga transfer disk selesai. Frame ditandai terpakai untuk mencegah dipakai untuk tujuan lain.
6.       Begitu frame page bersih (apakah langsung atau setelah disave ke disk), sistem operasi menelusuri alamat disk di mana page diperlukan, dan menjadwalkan operasi disk untuk memasukkannya. Sementara page dimasukkan, proses yang mengalami fault dihentikan sejenak dan yang lainnya dijalankan, jika ada.
7.       Ketika disk interrrupt menandai bahwa page telah ada, tabel page di-update untuk menunjukkan posisinya, dan frame ditandai berada dalam status normal.
8.       Instruksi yang menyebabkan fault di-back-up ke status mulainya dan program counter di-reset untuk menunjuk ke instruksi tersebut.
9.       Proses yang fault tersebut dijadwalkan, dan sistem operasi kembali ke rutin bahasa assembly yang memanggilnya.
10.     Rutin ini mengembalikan register dan informasi lainnya ke keadaan semula , dan kembali ke user untuk melanjutkan eksekusi, seakan-akan tidak ada fault yang terjadi.


SEGMENTASI

Compiler bisa memiliki beberapa tabel dengan alamat virtual yang terpisah, misalnya terdiri dari tabel-tabel untuk:
1.      Source text,
2.      Tabel simbol,
3.      Tabel untuk semua konstanta integer dan floating point,
4.      Parse tree, berisi analisis sintaksis program, dan
5.      Stack yang digunakan untuk pemanggilan prosedur.

Tabel 1 s/d 4 bisa bertambah pada saat kompilasi berjalan, sehingga dengan sistem paging yang berukuran tetap, batas satu page bisa terlampaui.

Dengan alasan ini dipakai bagian-bagian dengan alamat yang relatif independen, yang disebut segmen. Setiap segmen mempunyai ukuran yang berbeda dengan yang lain. Panjang segmen juga bisa berubah selama eksekusi.

Program harus menyediakan alamat yang terdiri dari dua bagian:
-        nomer segmen
-        alamat di dalam segmen

Segmentasi juga memberikan fasilitas pemakaian bersama prosedur atau data antar beberapa proses. Contoh umumnya adalah shared library.



Segmen

Segmen

Segmen

Segmen

Segmen

0

1

2

3

4
0

0

0
Konstanta
0

0











4K

4K



4K

4K




Source



Parse

Call



text



tree

stack
8K

8K



8K

8K


Tabel









simbol








12K

12K



12K

12K





















16K





16K























20K









Memori yang tersegmentasi memungkinkan setiap tabel bertambah atau berkurang.

Pertimbangan
Paging
Segmentasi
Apakah programmer harus menyadari bahwa teknik ini sedang digunakan?
Tidak
Ya
Berapa banyak ruang alamat linier yang ada?
1
Banyak
Dapatkah ruang alamat total melebihi ukuran memori fisik?
Ya
Ya
Apakah tabel yang ukurannya berubah-ubah dapat diakomodasi?
Tidak
Ya
Dapatkan prosedur dan data dibedakan dan diproteksi secara terpisah?
Tidak
Ya
Adakah fasilitas pemakaian bersama prosedur antar user?
Tidak
Ya
Mengapa teknik ini diciptakan?
Untuk mendapatkan ruang alamat linier yang besar tanpa harus membeli memori fisik tambahan
Untuk memungkinkan program dan data dibagi menjadi ruang alamat yang secara logik independen dan untuk membantu pemakaian bersama dan proteksi
Perbandingan paging dan segmentasi.

Checkerboarding: Timbulnya blok-blok memori yang kosong (hole) pada saat isi segmen dikeluarkan. Hal ini diatasi dengan pemampatan (compaction).

Segmentasi dengan Paging : Setiap segmen dapat dianggap sebagai satu virtual memori, dan masing-masing dibagi menjadi page-page.

Salah satu mesin yang memakai cara ini adalah MULTICS. Setiap program MULTICS memiliki satu tabel segmen, dengan satu descriptor per segmen. Segmen descriptor berisi keterangan apakah segmen yang bersangkutan ada di memori atau tidak.


Segmen descriptor

Tabel page untuk segmen 0
36 bit

Page 0 entry


Descriptor segmen 0

Page 1 entry

Pointer-
Descriptor segmen 1

Page 2 entry

pointer
Descriptor segmen 2

Page 3 entry

ke page
Descriptor segmen 3




Descriptor segmen 4




Descriptor segmen 5

Tabel page untuk segmen 1
Descriptor segmen 6

Page 0 entry


Descriptor segmen 7

Page 1 entry




Page 2 entry




Page 3 entry




Page 4 entry




Page 5 entry