Tuesday, December 28, 2010

Metode iteratif Sistem Persamaan Linear (SPL)

METODE Iterasi untuk Menyelesaikan SPL
Ada 2 Metode yang akan kita bahas :
  1. Metode iterasi jacoby
  2. Metode iterasi Gauss-Seidel

1. Metode Iterasi Jacoby
Tinjau kembali sistem persamaan linear
a11 x1 + a12
x2 + … + a1n xn    = b1
a21 x1 + a22 x2 + … + a2n
xn    = b2
.
.
.
am1 x1 + an2
x2 + … + amn xn     = cm
Dengan syarat akk
¹ 0, k = 1, 2, 3,..., n, maka persamaan iterasinya dapat ditulis sebagai :

  











  

dengan k = 0,1,2,3,....



Rumus umumnya :

xi(k)=, k = 0,1,2,...,



2. Metode Iterasi Gauss-Seidel

    Kecepatan konvergen pada iterasi jacoby dapat dipercepat bila setiap harga xi yang baru dihasilkan segera dipakai pada persamaan berikutnya untukmenentukan harga xi+1 yang lainnya.



Secara umum :

    xi(k)=, k = 0,1,2,...,

Interpolasi Lagrange

Interpolasi Lagrange
    Dalam mengemukakan interpolasi lagrange terlebih dahulu akan dikemukakan teorema berikut yang dalam hal ini pembuktiannya tidak disertakan di dalam tulisan ini.

Teorema 6.2.1

Terdapat satu dan hanya satu polinom derajat yang £
n yang melalui semua pasangan titik
Terdapat beberapa kasus yang muncul dari teorema ini.
  1. Kasus Linear
Ada dua titik (x0, y0) dan (x1, y1), melalui kedua titik ini dapat dibuat suatu bentuk polinom dengan derajat satu, yaitu P1(x).
P1(x) º
y = y0 + y1                
Maka diperoleh
P1(x) = y0 + y1                            (6.2.1)
Untuk x = x0 maka P1(x0) = 1 y0 + 0 y1 = y0
Untuk x = x1 maka P1(x1) = 0 y0 + 1 y1 = y1

 
b. Kasus Kuadrat
Untuk kasus kuadrat harus ada tiga titik yang dilewati, yaitu (x0, y0), (x1, y1), dan (x2, y2). Bentuk polinom sebagai berikut.
P2(x) = y0 + y1 + y2        (4.2.2)
Notasikan :
l0(x) =                             (6.2.2a)
l1(x) =                             (4.2.2.b)
l2(x) =                             (6.2.2c)
Dan akan diperoleh
l0(xj) = 1 , j = 0
        0 , j
¹ 1, 2
l1(xj) = 1 , j = 1
    0 , j
¹ 0, 2
l2(xj) = 1 , j = 2
0 , j ¹ 0, 1
atau secara umum diperoleh
li(xj) = 1 , j = i               
    0 , j ¹ i
sehingga bentuk polinom di atas menjadi
P2(x) =                                     (4.2.3)
Polinom P2(x) ini akan melalui ketiga titik di atas.

 
  1. Kasus Kubik
Untuk kasus kubik harus ada tiga titik yang dilewati, yaitu (x0,y0), (x1, y1), (x2, y2), dan (x3, y3). Bentuk Polinom sebagai berikut.
P3(x) = y0 + y1 +


y2 + y3         (4.2.4)

dan dapat dinyatakan dalam bentuk

P3(x) =                             (6.2.5)

Dengan bentuk umum dari li (x) adalah

li(x) =                             (6.2.6)



d. Kasus Secara Umum

    Untuk n + 1 titik data akan diperoleh bentuk polinom sebagai berikut.

Pn(x) =                         (6.2.7)   

6.3 Polinom Interpolasi Beda Terbagi Newton

    Adakalanya kita membutuhkan beberapa polinomial untuk mengaproksimasi, yaitu P1(x), P2(x), … , Pn(x), kemudian kita memilih salah satu yang paling tepat dan akurat. Jika di dalam polinomial Lagrange tidak ada hubuingan yang rekursive antara PN-1(x) dan Pn(x), tetapi di dalam polinomial Newton mempunyai pendekatan rekursive. Bentuknya adalah sebagai berikut.
P1(x) = a0 + a1(x – x0)                            (6.3.1)
P2(x) = a0 + a1(x – x0) + a2(x – x0) (x – x1)                (6.3.2)
P3(x) = a0 + a1(x – x0) + a2(x – x0) (x – x1) + a3(x – x0) (x – x1)(x – x2)    (6.3.3)

PN(x) = a0 + a1(x – x0) + a2(x – x0) (x – x1) + a3(x – x0) (x – x1)(x – x2)+ a4(x – x0) (x – x1)(x – x2)(xx3) + … + aN(xx0) (xx1)(xx2)(x x3) …(xxN – 1)
    (6.3.4)
Dalam hal ini PN(x) diperoleh dari PN-1(x) dengan menggunakan hubungan yang rekursive, yaitu
PN(x) = P N-1(x) + aN(x – x0) (x – x1)(x – x2)(x – x3) …(x – xN – 1)        (6.3.5)
Polinomial (6.3.4) disebut polinomial Newton dengan N buah titik pusat, yaitu x0, x1, x2, … , xN-1. Sehingga PN(x) akan merupakan suatu polinomial dengan derajat yang lebih kecila daripada 1.
Beda Terbagi (Divided Difference)
Dari titik-titik data (x0, f(x0)), (x1, f(x1)), …, (xN, f(xN)) didefinisikan hal-hal berikut.
Beda terbagi pertama:
    f[x0, x1] =
    f[x1,x0] = = = f[x0, x1]            (6.3.6)
Beda terbagi kedua :
    f[x0,x1,x2] =                     (6.3.7)
dapat dibuktikan bahwa f[x0,x1,x2] = f[x1, x0,x2]
Beda terbagi ketiga
    f[x0,x1,x2,x3] =                 (6.3.8)

 
Secara Umum :
f[x0,x1,x2,…, xn] =             (6.3.9)

 
Tabel beda terbagi

 
xk    f(xk)        f[ , ]            f[ ,, ]             f[ ,,, ]
x0    f(x0)
x1    f(x1)        f[x0, x1]   
x2    f(x2)        f[x1, x2]        f[x0, x1, x2]
x3    f(x3)        f[x2, x3]        f[x1, x2, x3]        f[x0, x1, x2, x3]
x4    f(x4)        f[x3, x4]        f[x2, x3, x4]        f[x1, x2, x3, x4]
.
.
.Kasus linear
P1(x) = b0 + b1(x – x0)
Melalui (x0, f(x0)) Þ
f(x0) = b0 + b1(x0 – x0)
                \
b0 = f(x0)
Melalui (x1, f(x1)) Þ f(x1) = b0 + b1(x1 – x0)
             = f(x0 ) + b1(x1 – x0)
            b1 = = f[x0, x1]
Jadi,     P1(x) = f(x0 ) + f[x0, x1](x1 – x0)                        (6.3.10)
Kasus kuadrat :
P2(x) = a0 + a1(x – x0) + a2(x – x0) (x – x1)                (6.3.11)
P2(x) = P1(x) + a2(x – x0) (x – x1)                    (6.3.12)
Melalui (x2, f(x2 ))
f(x2) = P1(x2) + a2(x2 – x0) (x2 – x1)                    (6.3.13)

 
    = f(x0 ) + f[x0, x1](x2x0) + a2(x2 – x0) (x2 – x1)                    b2     =
         =
          = f [x0, x1,x3]
    P2(x)    = P1(x) + f[x0, x1, x2](x – x0) (x – x1)                (6.3.14)
Analog untuk kasus kubik :
P3(x) = P2(x) + f(x0, x1, x2, x3](x – x0)(x – x1)(x – x2)                (6.3.15)
...
Pn(x) = Pn-1(x) + f[x0, x1, … , xn](x – x0)(x – x1) … (x – xn-1)            (6.3.16)
Pn(x) = f(x0) + ; dengan bi = f[x0, x1, … , xi]             (6.3.17)
Polinom Beda Terbagi Newton
    Pada polinom beda terbagi Newton, jarak antara titik data adalah sama. Misalkan titik-titik x0 < x1 < x2 < … < xN, maka x1 – x0 = x2 – x1 = … = xN – xN-1 = h. Jika nilai fungsi untuk x = xi adalah f(xi), notasikan f(xi) = fi, maka beda terbagi Newton untuk berbagai kasus adalah sebagai berikut.
f[x0, x1]         =                     (6.4.1)
f[x0, x1, x2]         =             (6.4.2)
f[x0, x1, x2, x3]    =
            =
=            

Quiz Kewirausahaan :P

  1. Seorang wirausaha harus mengetahui hal-hal yang berhubungan dengan ruang lingkup manajemen keuangan, yaitu:
    1. Pentingnya system administrasi keuangan, pembukuan, dan pencatatatan keuangan (akuntasi manajemen)
    2. Membuat laporan keuangan dan analisis laporan keuntungan tentang eadaan, posisi, dan kinerja keuangan perusahaan (posisi keuangan)
    3. Membuat perencanaan pengendalian dan pengawasan anggaran
    4. Analisis investasi keuangan yang akan direncanakan dan dilakukan oleh perusahaan
    5. Cash flow management
    6. Peubahan keuangan global.
  2. Syarat-syarat pengajuan kredit:
    1. Perusahaan mempunyai izin resmi (SITU, SIUP, NPWP, TDP, KTP, KK) dan pas photo 4x6
    2. Usaha sudah berjalan minimal 2 tahun dan sudah memberi keuntungan
    3. Bentuk hokum bisa PT, CV, Firma, Koprasi, atau individu
    4. Mengajukan proposal
    5. Harus memiliki agunan
  3. Yang dimaksud:
    1. Likuiditas: kemampuan badan usaha untuk membayar hutang-hutangnya yang telah jatuh tempo
    2. Solvabilitas: merupakan kemampuan badan usaha untuk membayar semua utangnya. Solvabilitas adalah perbandingan antara nilai penjualan semua aktiva dengan semua hutang.
    3. Profitabilitas: kemampuan badan usaha untuk memperoleh laba dengan modal yang tersedia selama periode tertentu.
  4. Pelanggan ingin membeli barang dan uang yang akan dia bayar tahun yang akan datang Rp.10.000.000,- dengan tingkat deposito 20%. Berapa present value? Rugi/untung jika ada cash disc 15% sebagai pembanding??
    Jawab:

    X1= Rp.10.000.000,-     N = 1    r = 20%










    Diskon yang diberikan sebesar 15%, jadi harga penjualan bersih:

    Harga jual netto     = harga jual – diskon

        = Rp.10.000.000 – (Rp.10.000.000 x 15%)
       = Rp.8.500.000
    Present Value lebih kecil dari nilai juak dengan cash discount, jadi penjual lebih memilih menjual secara cash discount disbanding menerima uang di tahun yang akan dating dengan nilai uang sekarang (present value) karena lebih menguntungkan, begitu pula sebaliknya.
  5. Faktor-faktor penyusun proposal usaha:
    1. Tujuan harus realistis : tujuan yang ingin dicapai harus spesifik
    2. Fleksibel/luwes : penyusunan proposal memungkinkan adanya alternative strategi
    3. Batasan waktu : Tujuan jangka pendek harus dibuat berkesinambungan dan harus mencantumkan evauasi waktu atas kemajuan yang dicapai
    4. Komitmen : penyusunan proposal untuk selanjutnya pendiri usaha perlu mendapat dukungan dari berbagai pihak yang terlibat.
  6. Bagan peran pemimpin dan manager dalam mewujudkan visi dan misi
  7. Sikap mental penjual sebaiknya
    1. JUJUR DALAM INFORMASI
    2. PENGETAHUN YANG BAIK
    3. TAHU KEBUTUHAN KONSUMEN
    4. PRIBADI MENARIK (SELALU GEMBIRA,LURUS HATI DAN DISIPLIN, BIJAKSANA,SOPAN SANTUN, PERIANG, MUDAH BERGAUL, PENUH INISIATIF, TIDAK PUTUS ASA, KETAJAMAN DAYA INGAT, PENUH PERHATIAN).
    Perilaku pembeli:

    1. Perilaku Pembeli yang komplek
    2. Perilaku Pembeli yang mencari keragaman
    3. Perilaku Pembeli yang mengurangi kebiasaan / ketidak-efisienan
    4. Perilaku Pembeli yang berdasarkan kebiasaan
  8. Waralaba (franchising) : dalah hak-hak untuk menjual suatu produk atau jasa maupun layanan. Sedangkan menurut Asosiasi Franchise Indonesia, yang dimaksud dengan Waralaba ialah: Suatu sistem pendistribusian barang atau jasa kepada pelanggan akhir, dimana pemilik merek (franchisor) memberikan hak kepada individu atau perusahaan untuk melaksanakan bisnis dengan merek, nama, sistem, prosedur dan cara-cara yang telah ditetapkan sebelumnya dalam jangka waktu tertentu meliputi area tertentu.
  9. Apa yg harus dilakukan untuk memuaskan pelanggan
  10. Promosi : adalah upaya untuk memberitahukan atau menawarkan produk atau jasa pada dengan tujuan menarik calon konsumen untuk membeli atau mengkonsumsinya. Dengan adanya promosi produsen atau distributor mengharapkan kenaikannya angka penjualan.
  11. CARA MENGHADAPI PEMBELI:
    1. MENCIPTAKAN SUASANA MENYENANGKAN (SIKAP, TINDAK-TANDUK, BAHASA, CARA BERBICARA, CARA BERPAKAIAN)
    2. MENGADAKAN PENDEKATAN DENGAN SALAM, MENUNGGU SEJENAK,

Monday, December 27, 2010

Sistem 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 Overlay : Dimana program yang dijalankan dipecah menjadi beberapa bagian yang dapat dimuat memori (overlay). Overlay yang belum diperlukan pada saat program berjalan (tidak sedang di eksekusi) disimpan di disk, dimana nantinya overlay tersebut akan dimuat ke memori begitu diperlukan dalam eksekusinya.
  • Konsep Memori Maya (virtual Memory) : 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.


Gagasan Memori Maya adalah ukuran gabungan program, data dan stack melampaui jumlah memori fisik yang tersedia. Sistem operasi menyimpan bagian-bagian proses yang sedang digunakan di memori utama dan sisanya di disk. Begitu bagian di disk diperlukan maka bagian memori yang tidak diperlukan disingkirkan dan diganti bagian disk yang diperlukan.



  • Alamat maya: alamat yang dihasilkan dengan perhitungan menggunakan index register, base register, segment register, dsb. Alamat maya ini lah yang diacu proses yang running.
  • Alamat nyata : alamat yg tersedia di memori utama fisik.
  • Page: unit terkecil virtual address space. Ruang alamat maya proses merupakan kelipatan page yang berukuran sama.
  • Page frame / frame: unit terkecil memori fisik
  • Page fault: exception untuk permintaan alokasi 'page' ke memori.
  • Memory management unit (MMU) : chip/ kumpulan chip yg memetakan alamat maya ke alamat fisik. Berfungsi sebagai pemetaan memori maya ke memori fisik; bila alamat memori yang diminta tidak tersedia di memori fisik, MMU menerbitkan exception page fault yang melewatkan ke system operasi untuk menanganninya.






Taken from:

KONKURENSI

Konkurensi merupakan landasan unum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama. Pada proses-proses konkuren yang berinteraks mempunyai beberapa masalah yang harus diselesaikan:

1. Mutual Exclusion

2. Sinkronisasi

3. Deadlock

4. Startvation



A. Prinsip-prinsip Konkurensi

Konkurensi meliputi hal-hal sbb:

- Alokasi wkatu pemroses untuk proses-proses

- Pemakaian bersama dan persaingan untuk mendapatkan sumber daya

- Komunikasi antarproses

- Sinkronisasi aktivitas banyak proses.

Konkurensi dapat muncul pada tiga konteks berbeda, antara lain:

- Banyak aplikasi (multiple application)

- Aplikasi terstruktur

- Struktur sistem operasi



B. Kesulitan-kesulitan yang ditimbulkan konkurensi

Konsep: kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi. Beragam kemungkinan yang terjadi tidak dapat diprediksi, seperti:

1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain:

- Aktivitas proses-proses lain

- Cara sistem operasi menangani interupsi

- Kebijaksanaan penjadwalan yang dilakukan oleh sistem operasi.

2. Beberapa kesulitan yang dapat muncul, di antaranya adalah:

- Pemakaian bersama sumber daya globla

- Pengelolaan alokasi sumber daya agar optimal

- Pencarian kesalahan pemrograman.

3. Proses-proses konkuren mengharuskn beberapa hal yang harus ditangani, antara lain:

- Sistem operasi harus mengetahui proses-proses yang aktif

- Sistem operasi harus mengalokasikan dan mendealokasikan beragam sumber daya untuk tiap proses aktif. Sumber daya yang harus dikelola, antara lain:

i. Waktu pemroses.

ii. Memori

iii. Berkas-berkas

iv. Perangkat I/O

- Sistem operasi harus memproteksi data dan sumber daya fisik masingmasing proses dari gangguan proses-proses lain.
- Hasil-hasil proses harus independen terhadap kecepatan relatif prosesproses lain dimana eksekusi dilakukan.


Mutual Exclusion
Mutual exclusion adalah jaminan hanya satu proses yang mengakses sumber daya pada satu interval waktu tertentu.
Sering terjadi pada peralatan pencetakan (printer). Daemon printer adalah proses yang melakukan penjadwalan dan pengendalian pencetakan berkas-berkas di printer. Ruang disk ini disebut direktori spooler. Direktori spooler membagi disk menjadi sejumlah slot. Slot-slot diisi berkas yang akan dicetak. Terdapat variabel in yang menunjuk slot bebas pada ruang disk yang akan dipakai untuk menyimpan berkas yang ingin dijadwalkan untuk dicetak. Bagian program yang sedang mengakses memory atau sumber daya yang dipakai bersama disebut critical section. Jika proses pada critical section memblokir proses-proses lain dalam antrian, maka akan terjadi startvation dan deadlock.
Kesuksesan proses-proses konkurensi memerlukan pendefinisian critical section dan memaksakan mutual exclusion di antara proses-proses konkuren yang sedang berjalan. Pemaksaan mutual exclusion merupakan landasan pemrosesan konkuren. Fasilitas atau kemampuan menyediakan dukungan mutual exclusion harus memenuhi kriteria sbb:
- Mutual exclusion harus dijamin, bahwa tidak ada proses lain, kecuali dirinya sendiri. Di sini terjadi proses tunggal.
- Proses yang berada di noncritical section, dilarang mem-blocked prosesproses lain yang ingin masuk critical section. Hal ini bisa terjadi startvation.
- Harus dijamin bhwa proses yang ingin masuk critical section tidak menunggu selama waktu yang tak terhingga. Ini bisa mengakibatkan masalah deadlock dan antrian proses bertambah panjang.
- Ketika tidak ada proses pada critical section, maka proses yang ingin masuk critical section harus ijinkan masuk tanpa waktu tunda.
- Tidak ada asumsi mengenai kecepatan relatif proses atau jumlah yang ada.
- Proses hanya tinggal pada critical section selama satu waktu yang berhingga.
Beberapa metode yang diusulkan untuk menjamin Mutual Exclusion, antara lain:
Metode Variable Lock
Metode ini sederhana ketika proses masuk critical section lebih dahulu memeriksa variable lock.
v. Jika variable lock bernilai 0, proses men-set variable lockny menjadi 1 kemudian masuk ke dalam critical section.

vi. Jika variable lock bernilai 1, maka proses menunggu sampai nilai variable lock nya menjadi 0.

Metode ini tidak menjamin proses tidak masuk critical section yang telah dimasuki proses lain.

- Metode bergantian secara ketat

Metode ini mengasumsikan dapat mengalir masuk critical section secara bergantian terus-menerus. Metode ini melakukan refleksi terhadap variabel yang berfungsi untuk memenuhi critical section.



Deadlock

Deadlock adalah suatu kondisi dimana dua proses atau lebih tidak dapat meneruskan eksekusinya oleh pemroses. Pada umumnya deadlock terjadi karena proses mengalami startvation, yaitu suatu job yang sedang dieksekusi dan eksekusi job tersebut tidak ada hentinya, tidak diketahui kapan berhentinya proses tersebut atau bahkan job yang antri bisa dikatakan mempunyai status mati, padahal proses-proses lain sedang menunggu sumber daya proses.

a. Resource

Sistem operasi di sini berperan sebagai pengatur berbagai tipe resource yang berlainan, krena pada dasarnya proses-proses maupun job-job tersebut ingin

mengakses resource yang sama. Shareable resource misalnya printer, tape drive.

b. Karakteristik Deadlock

Kondisi yang dapat menimbulkan terjadinya deadlock:

1. Mutual exclusion. Apabila proses telah menggunakan suatu resource, mka tidak boleh ada proses lain yang menggunakan resource tsb. Hanya satu proses yang dapat menggunakan sebuah resource pada satu waktu.

2. Hold & Wait. Pada suatu proses sedang mengakses suatu resource, proses tsb dapat meminta ijin untuk mengakses resource lain yang dipakai oleh proses lain.

3. No Preemption. Jika suatu proses meminta ijin untuk mengakses resource, sementara resource tersebut tidak tersedia, maka permintaan ijin tidak dapat

dibatalkan.

4. Circular Wait Condition. Jika proses P0 sedang mengakses Resource R1 dan minta ijin untuk mengakses resource R1 dan minta ijin untuk mengakses resource R2, dan pada saat yang bersamaan P1 sedang mengakses resource R2 dan mint ijin untuk mengakses R1.



Metode Mengendalikan Deadlock

1. Menggunakan suatu protokol untuk meyakinkan bahwa sistem tidak akan pernah mengalami deadlock.

2. Mengijinkan sistem mengalami deadlock, namun kemudian harus segera dapat memperbaikinya.

3. Mengabiakan semua masalah dan menganggap deadlock tidak akan pernah terjadi lagi di dalam sistem.



Pencegahan Deadlock

1. Mutual exclusion. Harus tetap menjaga resource-resource yang bersifat nonshareable.

Yaitu, proses menahan sebuah resource, proses lain yang meminta resource tsb harus menunggu sampai proses melepaskannya. Jika terjadi pada perangkat I/O dan berkas, maka sulit untuk menghindari mutual exclusion pada sumber daya non shareable.

2. Hold & Wait. Apabila suatu proses minta ijin untuk mengakses suatu resource, maka proses tersebut tidak boleh membawa resource yang lainnya. Sebleum proses meminta resource, maka harus melepas semua resource yang dibawa.

3. Non Preemption. Jika suatu proses minta ijin mengakses resource, sementara resource tersebut tidak dapat dipenuhi secepatnya, maka proses tersebut harus membebaskan semua resourcenya terlebih dahulu.

4. Circular Wait. Memberi nomor pada setiap resource yang ada, dan setiap resource hanya boleh mengakses resource2 secara berurutan.

5. Untuk menghindari deadlock ikuti prinsip preemptive.



Penghindaran Deadlock

  1. State Selamat
  2. State Tak Selamat (unsafe state)
Taken from: http://blog.uad.ac.id/mas_woko/files/2009/11/so-pertemuan4.pdf

Tugas Sistem Operasi


    • Manajemen memori: suatu kegiatan untuk mengelola memori computer, proses ini menyediakan cara mengalokasikan memori untuk proses atas permintaan mereka, membebaskan untuk digunakan kembali jika tidak diperlukan. Salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian.
    • Tujuan dan sasaran manajemen memori adalah untuk memproses dan fasilitas masukan atau keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai upaya agar program atau proses tidak dibatasi kapasitas memori fisik di system computer
    • Fungsi manajemen memori
      • Mengelola informasi memori yang dipakai dan tidak dipakai.
      • Mengalokasikan memori ke proses yang memerlukan.
      • Mendealokasikan memori dari proses yang telah selesai.
      • Mengelola swapping antara memori utama dan disk.
  • Klasifikasi menejemen memori
    Manajemen memori nyata
    • System khusus untuk pemakaian tunggal
    • Sistem Multiprogramming
      • Pemartisian statis : dapat di relokasi; ditempatkan secara absolute
      • Pemartisian dinamis
    Manajemen memori maya: kemampuan mengalamati ruang memori melebihi memori utama yg tersedia.
    • System paging
    • System segmentasi
    • Kombinasi paging dan segmentasi
  • Perbedaan Segmentasi dan Paging
    • Segmentasi melibatkan programer (programer perlu tahu teknik yang digunakan), sedangkan denganpaging, programer tidak perlu tahu teknik yang digunakan.
    • Pada segmentasi kompilasi dilakukan secara terpisah sedangkan pada paging, kompilasinya tidakterpisah.
    • Pada segmentasi proteksinya terpisah sedangkan pada paging proteksinya tidak terpisah.
    • Pada segmentasi ada shared code sedangkan pada paging tidak ada shared code.
    • Pada segmentasi terdapat banyak ruang alamat linier sedangkan pada paging hanya terdapat saturuang alamat linier.
    • Pada segmentasi prosedur dan data dapat dibedakan dan diproteksi terpisah sedangkan pada paging prosedur dan data tidak dapat dibedakan dan diproteksi terpisah.
    • Pada segmentasi pengubahan ukuran tabel dapat dilakukan dengan mudah sedangkan pada Paging pengubahan ukuran tabel tidak dapat dilakukan dengan mudah.
    • Segmentasi digunakan untuk mengizinkan program dan data dapat dipecahkan jadi ruang alamat mandiri dan juga untuk mendukung sharing dan proteksi sedangkan paging digunakan untuk mendapatkan ruang alamat linier yang besar tanpa perlu membeli memori fisik lebih.
  • Multi programming dengan pemartisian statisan statis adalah memori dibagi sejumlah partisi tetap, pada partisi tersebut proses-proses ditempatkan.
  • Strategi Penempatan Program Ke Partisi : Satu Antrian Tunggal Untuk Semua Partisi
    Keuntungan : Lebih fleksibel serta implementasi dan operasi lebih minimal karena hanya mengelola satu antrian.

    Kelemahan : Proses dapat ditempatkan di partisi yang banyak diboroskan, yaitu proses kecil ditempatkan di partisi sangat besar.
  • Satu Antrian Untuk Tiap Partisi (banyak antrian Untuk Seluruh Partisi)
    Keuntungan : Meminimalkan pemborosan memori
    Kelemahan : Dapat terjadi antrian panjang di suatu partisi sementara antrian partisi - partisi lain kosong
  • Multiprogramming dengan Pemartisisan Dinamis
    Kelebihan: Jumlah , lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis.
    Kelemahan:
    • Dapat terjadi lubang-lubang kecil memori di antara partisi-partisi yang dipakai.
    • merumitkan alokasi dan dealokasi memori
    Solusi: Lubang-lubang kecil di antara blok-blok memori yang digunakan dapat diatasi dengan pemadatan memori yaitu menggabungkan semua lubang kecil menjadi satu lubang besar dengan memindahkan semua proses agar saling berdekatan.
  • Strategi Alokasi Memori
    • First fit algorithm : memory manager men-scan list untuk menemukan hole yg cukup untuk menampung proses yg baru. Proses akan menempati hole pertama yg ditemuinya yg cukup untuk dirinya.
    • Next fit algorithm : sama dengan first fit, tetapi pencarian hole dimulai dari hole ditemuinya dari scan sebelumnya.
    • Best fit algorithm : dicari hole yang akan menghasilkan sisa paling sedikit setelah dimasuki proses.
    • Worst fit algorithm : kebalikan dari best fit.
    • Quick fit algorithm : mengelompokkan hole-hole dan membuat listnya sendiri. Misalnya, ada list untuk hole 4K, satu list untuk 8K, dst.
  • Sistem Buddy Memori di susun dalm senari blok-blok bebas berukuran 1,2,4,8,16 byte dst, sampai kapasitas memori.
  • Sistem manajemen file dapat disebut juga tumpukan record. Kumpulan record data yang memiliki sifat umum yang sama atau untuk menyatakan kumpulan objek-objek sejenis dengan struktur data yang sama. Kumpulan perangkat lunak / procedure / routine yang disediakan untuk melayani pennggunaan file bagi user.
  • Fungsi manajemen file:
    • Menciptakan atau menghapus suatu file atau menambah file
    • Mengurutkan suatu file dalam sebuah direktori
    • Pemakaian bersama untuk satu atau beberapa file
    • Back up, recovery file, keamanan file yang menjamin file tidak rusak
    • Mengacu file dengan nema simbolik
  • Sifat file data
    • Ukuran harus sangat besar
    • Persistence: tidak akan hilang saat catu daya diputuskan
    • Share abilitas: dipakai bersama oleh berbagai program applikasi
  • Sasaran system manajemen
    • Menyediakan layanan manajemen data bagi user atau program aplikasi
  1. Retrieve all (dapat mengakses seluruh data/file data)
  2. Retrieve one (dapat memilih sebuah record tertentu)
    *Pointer data: sequensial; random
  3. Retrieve next
  4. Retrieve previous
  5. Insert data (depan, tengah, belakang)
  6. Delete data
  7. Edit data
  • Menjamin validitas pada suatu file
  • Optimasi kinerja:
    • User : waktu tanggap / respon time
    • System : banyak data dapat diakses dalam satuan waktu
  • Menyediakan dukungan perangkat I/O

     

Sunday, December 26, 2010

MANAJEMEN MEMORI

Bagian operating sistem yang mengatur memori disebut dengan memory manager. Pemakaian memori (manajemen memori dan organisasi) perlu dilakukan karena hal tersebut sangat mempengaruhi kinerja komputer, sehingga memiliki fungsi dan tugas penting dan kompleks yaitu berkaitan dengan :

  1. Memori utama sebagai sumber daya yang harus dialokasikasikan dan dipakai bersama di antara sejumlah proses yang aktif, sehingga dapat memanfaatkan pemroses dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses.
  2. Upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer.


Manajemen memori

Sistem manajemen memori dapat dibagi kedalam dua kelas, yaitu : pemindahan proses (back and forth) diantara memori utama dengan disk selama eksekusi (swapping and paging) dan tidak ada pemindahan proses. Mempunyai beberapa fungsi, antara lain :

  1. Mengelola informasi memori yang dipakai dan tidak dipakai.
  2. Mengalokasikan memori ke proses yang memerlukan.
  3. Mendealokasikan memori dari proses yang telah selesai.
  4. Mengelola swapping antara memori utama dan disk.


Manajenen memori pada sistem multiprogramming

Untuk sistem komputer yang berukuran besar (bukan small computers), membutuhkan pengaturan memori, karena dalam multiprogramming akan melibatkan banyak pemakai secara simultan sehingga di memori akan terdapat lebih dari satu proses bersamaan. Oleh karena itu dibutuhkan sistem operasi yang mampu mendukung dua kebutuhan tersebut, meskipun hal tersebut saling bertentangan, yaitu :

  1. Pemisahan ruang-ruang alamat.
  2. Pemakaian bersama memori.
Manajer memori harus memaksakan isolasi ruang-ruang alamat tiap proses agar mencegah proses aktif atau proses yang ingin berlaku jahat mengakses dan merusak ruang alamat proses lain. Manajer memori di lingkungan multiprogramming sekalipun melakukan dua hal, yaitu :

  1. Proteksi memori dengan isolasi ruang-ruang alamat secara disjoint.
  2. Pemakaian bersama memori.
Memungkinkan proses-proses bekerja sama mengakses daerah memori bersama. Ketika konsep multiprogramming digunakan, pemakaian CPU dapat ditingkatkan. Sebuah model untuk mengamati pemakaian CPU secara probabilistic :

CPU utilization = 1 - p n

Dengan :

  • N menunjukkan banyaknya proses pada suatu saat, sehingga kemungkinan bahwa semua n proses akan menunggu menggunakan I/O (masalah CPU menganggur) adalah sebesar p n. Fungsi dari n disebut sebagai degree of multiprogramming.
  • P menunjukkan besarnya waktu yang digunakan sebuah proses


Klasifikasi manajemen memori.

Klasifikasi manajemen memori diberikan Deitel (DEI-90).

Nyata     Nyata     Nyata

+-------+-----------------------------------------------------------+

| (1) | Sistem multiprogramming | Sistem multiprogramming |

|Sistem | dengan memori nyata | dengan memori nyata |

|khusus | | |

|untuk | | |

|pemakai| | |

|tunggal| | |

+-------+------------------+----------+--------+--------+-----------+

| | (4) | (5) | (6) | (7) |

    | Multiprogramming |Multipro- | Sistem | Sistem | Kombinasi |

|dengan pemartisian|gramming |    paging |segmenta| paging dan|

| tetap     |dg pemarti| murni |si murni| segmentasi|

| |sian dina-| | | |

| |mis | | | |

+----------+-------+----------+--------+--------+-----------+

| (2) | (3) |

| Ditempat-| Dapat |

| kan abso-|direlo-|

| lut |kasi |

+------------------+

Gambar 1 : Klasfikasi manajemen memori



Teknik-teknik manajemen memori (1), (2), (3), (4) merupakan pengelolaan untuk dengan kapasitas memori sebatas memori fisik yang tersedia. Teknik-teknik ini tidak dapat digunakan untuk memuat program-program lebih besar dibanding kapasitas fisik memori yang tersedia. Teknik-teknik manajemen memori (5), (6), (7) dapat digunakan untuk mengakali kapasitas memori yang terbatas sehingga dapat dijalankan program yang lebih besar dibanding kapasitas memori fisik yang tersedia.



Manajemen memori berdasarkan keberadaan swapping

Manajemen memori berdasarkan keberadaan swapping terbagi menjadi dua, yaitu :

  1. Manajemen tanpa swapping : Manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama ekseskusi.
  2. Manajemen dengan swapping : Manajemen memori dengan pemindahan citra proses antara memori utama dan disk selama ekseskusi.


Manajemen memori berdasar alokasi memori

Manajemen memori berdasar alokasi memori terbagi dua, yaitu :

  1. Alokasi memori berurutan (kontigu) : Adalah tiap-tiap proses menempati satu blok tunggal lokasi memori yang berturutan.
    Keunggulan :

    1. Sederhana.
    2. Tidak akan terbentuk lubang-lubang memori bersebaran.
    3. Karena berurutan, proses dapat dieksekusi dengan cepat.
    Kelemahan :

    1. Dapat memboroskan memori.
    2. Tidak dapat memuatkan proses bila tidak ada satu blok memori yang mencukupi.

       
  2. Alokasi memori tak berurutan (non-kontinyu).Program dibagi menjadi beberapa blok atau segmen. Blok-blok program ditempatkan di memori dalam potongan-potongan tanpa perlu saling berdekatan. Teknik biasa digunakan pada sistem memori maya sebagai alokasi page-page dilakukan secara global.
    Keuntungan :

    1. Sistem dapat memanfaatkan memori utama secara lebih efisien.
    2. Sistem operasi masih mampu memuatkan proses bila jumlah total lubang-lubang memori cukup untuk memuat proses yang akan dieksekusi.
    Kelemahan :

    1. Memerlukan pengendalian yang lebih rumit dan sulit.
    2. Memori dapat menjadi banyak lubang tersebar (memori tak terpakai bersebaran).


Hirarki memori

Pemakaian memori dua tingkat, menggunakan cache memory yang dapat meningkatkan kinerja dan utilisasi memori secara dinamik. Chace memory merupakan penyimpan berkecepatan tinggi lebih cepat dibanding memori utama. Chace memory lebih mahal dibanding memori utama, sehingga kapasitas cache relatif kecil.



MANAJEMEN MEMORI PEMARTISIAN STATIS

Manajemen memori tanpa swapping

Manajemen memori tanpa swapping terdiri dari :


  • Monoprogramming.
Monoprogramming sederhana tanpa swapping merupakan manajemen memori paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai berjalan pada satu waktu. Semua sumber daya sepenuhnya dkuasi proses yang sedang berjalan. Manajemen memori monoprogramming sederhana mempunyai ciri-ciri berikut :

  1. Hanya terdapat satu proses pada satu saat, sehingga proses baru akan menimpa proses lama yang sudah selesai eksekusi.
  2. Hanya satu proses mengunakan semua memori.
  3. Pemakai memusatkan program keseluruh memori dari disk atau tape.
  4. Program mengambil kendali seluruh mesin.
Karena hanya terdapat satu proses dan menguasai seluruh sistem, maka eksekusi memori dilakukan secara berurutan. Teknik ini digunakan sampai sekitar 1960, ditinggalkan bahkan untuk komputer pribadi karena tiap proses harus berisi device driver perangkat I/O yang digunakan.



+----------------------+ +----------------------+ +----------------------+

:Sistem operasi di RAM : :Sistem operasi di ROM : :Sistem operasi di RAM :

+----------------------+ +----------------------+ +----------------------+

:Program pemakai di RAM: :Program pemakai di RAM: :Program pemakai di RAM:

+----------------------+ +----------------------+ +----------------------+

: Memori tak dipakai : : Memori tak dipakai : : Device driver di ROM :

+----------------------+ +----------------------+ +----------------------+

(a) (b) (c)

Gambar : Tiga cara organisasi memori untuk satu proses tunggal

Gambar diatas menunjukkan tiga organisasi memori menjalankan satu proses tunggal :

  1. menunjukkan seluruh kebutuhan (sistem operasi, device driver dan proses driver dapat ditempatkan di sistem operasi atau di setiap proses pemakai, bergantung perancang sistem operasi).
  2. menunjukkan sistem operasi ditempatkan di ROM, sedang program pemakai di RAM.
  3. menunjukkan device driver di ROM. Device driver di ROM biasa disebut ROM-BIOS (Read Only Memory - Basic Input Output Systems).


Embedded system

Teknik monoprogamming masih dipakai untuk sistem kecil yaitu sistem tempelan (embedded system) yang menempel atau terdapat disistem lain. Sistem-sistem tempelan menggunakan mikroprosesor kecil, seperti Intel 8051, dan sebagainya. Sistem ini biasanya untuk mengendalikan satu alat sehingga menjadi bersifat intelejen (intelegent devices) dalam menyediakan satu fungsi spesifik. Karena hanya satu fungsi spesifik, dapat diprogram di mikroprosesor dengan memori kecil (1-64 Kb).

Proteksi pada monoprogramming sederhana. Pada monoprogramming, pemakai mempunyai kendali penuh terhadap seluruh memori utama. Memori terbagi menjadi tiga bagian, yaitu :

  1. Bagian yang berisi rutin-rutin sistem operasi.
  2. Bagian yang berisi program pemakai.
  3. Bagian yang tidak digunakan.
Masalah proteksi di monoprogramming adalah cara memproteksi rutin sistem operasi dari penghancuran program pemakai. Program pemakai dapat tersesat sehingga memanipulasi atau menempati ruang memori rutin sistem operasi. Aktivitas program pemakai ini dapat merusak sistem operasi. Sistem operasi harus diproteksi dari modifikasi program pemakai. Proteksi ini diimplementasikan menggunakan satu registe batas (boundary register) dipemroses.Setiap kali program pemakai mengacu alamat memori dibandingkan register batas untuk memastikan proses pemakai tidak merusak sistem operasi, yaitu tidak melewati nilai register batas. Register batas berisi alamat memori tertinggi yang dipakai sistem operasi. Jika program pemakai mencoba memasuki sistem operasi, instruksi diintersepsi dan job diakhiri dan diberi pesan kesalahan. Untuk memperoleh layanan sistem operasi, program pemakai harus menggunakan instruksi spesifik meminta layanan sistem operasi. Integritas sistem operasi terjaga dan program pemakai tidak merusak bagian sistem operasi.


  • Multiprogramming dengan pemartisian statis.
Terdapat beberapa alasan kenapa multiprogramming digunakan, yaitu :

  1. Mempermudah pemogram. Pemogram dapat memecah program menjadi dua proses atau lebih.
  2. Agar dapat memberi layanan interaktif ke beberapa orang secara simultan. Untuk itu diperlukan kemampuan mempunyai lebih dari satu proses dimemori agar memperoleh kinerja yang baik.
  3. Efisiensi penggunaan sumber daya. Bila pada multiprogramming maka proses tersebut diblocked (hanya DMA yang bekerja) dan proses lain mendapat jatah waktu pemroses, maka DMA dapat meningkatkan efisiensi sistem.
  4. Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil.
  5. Dapat mengerjakan sejumlah job secara simultan.
Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu memori dibagi menjadi beberapa sejumlah partisi tetap. Pada partisi-partisi tersebut proses-proses ditempatkan. Pemartisian statis berdasarkan ukuran partisi-partisinya terbagi dua, yaitu :

  1. Pemartisian menjadi partisi-partisi berukuran sama, yaitu ukuran semua partisi memori adalah sama. Beberapa proses yang ukurannya kurang atau sama dengan ukuran partisi dimasukkan ke sembarang partisi yang tersedia.
Kelemahan :

  • Bila program berukuran lebih besar dibanding partisi yang tersedia, maka tidak dapat dimuatkan, tidak dapat dijalankan. Pemogram harus mempersiapkan overlay sehingga hanya bagian program yang benar-benar dieksekusi yang dimasukkan ke memori utama dan saling bergantian.
  • Untuk overlay diperlukan sistem operasi yang mendukung swapping.
  • Untuk program yang sangat kecil dibanding ukuran partisi yang ditetapkan, maka banyak ruang yang tak dipakai yang diboroskan, disebut fragmentasi internal.
  • Kelemahan ini dapat dikurangi dengan partisi-partisi tetap berukuran berbeda.Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah berbeda.



Strategi penempatan program ke paritisi
  1. Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran sama. Penempatan proses ke memori dilakukan secara mudah karena dapat dipilih sembarang partisi yang kosong.
  2. Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran berbeda.

Terdapat dua strategi penempatan program ke partisi, yaitu :

  1. Satu antrian untuk tiap partisi (banyak antrian untuk seluruh partisi). Proses ditempatkan ke partisi paling kecil yang dapat memuatnya. Keuntungan : teknik ini adalah meminimalkan pemborosan memori. Kelemahan : dapat terjadi antrian panjang disuatu partisi sementara antrian partisi-partisi lain kosong.
  2. Satu antrian untuk seluruh partisi. Proses-proses diantrikan di satu antrian tunggal untuk semua partisi. Proses segera ditempatkan di partisi bebas paling kecil yang dapat memuat. Keunggulan : lebih fleksibel serta implementasi dan operasi lebih minimal karena hanya mengelola satu antrian. Kelemahan : proses dapat ditempatkan di partisi yang banyak diboroskan, yaitu proses kecil ditempatkan di partisi sangat besar. Kelemahan ini dapat diatasi dengan prosedur pemindahan. Pemindahan dilakukan bila proses besar akan masuk memori tetapi hanya tersedia partisi kecil sementara proses kecil menempati partisi besar. Proses kecil di swap ke partisi kecil yang sedang bebas kemudian proses besar di antrian menempati partisi besar yang ditinggal proses kecil.
Pemartisian memori menjadi partisi-partisi secara statis mempunyai dua masalah, yaitu :

  1. Relokasi : masalah penempatan proses sesuai alamat fisik sehubungan alamat partisi memori dimana proses ditempatkan. Proses dapat ditempatkan pada partisi-partisi berbeda menurut keadaan sistem saat itu. Pengalamatan fisik secara absolut untuk proses tidak dapat dilakukan.
  2. Proteksi : masalah proteksi pada banyak partisi dengan banyak proses di satu sistem secara bersamaan dikhawatirkan proses menggunakan atau memodifikasi daerah yang dikuasai proses lain (yang bukan haknya). Bila kejadian ini terjadi, maka proses lain dapat terganggu dan hasil yang diperolehnya dapat menjadi kacau.


Fragmentasi pada pemartisian statis.

Fragmentasi yaitu penyiaan/pemborosan memori akan terjadi pada setiap organisasi penyimpanan. Fragmentasi pada pemartisian tetap terjadi adalah :

  1. Fragmentasi internal. Proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses.
  2. Fragmentasi ekstenal. Partisi dapat tidak digunakan karena ukuran partisi lebih kecil dibanding ukuran proses yang menunggu di antrian, sehingga tidak digunakan.
Untuk sistem-sistem tanpa swapping (pemindahan lokasi proses), maka fragmentasi-fragmentasi tidak dapat dikurangi. Pada sistem-sistem dengan swapping, sistem lebih intelijen karena dapat melakukan beberapa altenatif mengatasi fragmentasi eksternal.



MANAJEMEN MEMORI PEMARTISIAN DINAMIS

Multiprogramming dengan swapping.

Pada sistem batch, organisasi memori dengan pemartisian tetap telah efektif. Selama jumlah proses yang terseduan dapat membuat pemroses sibuk, tak ada alasaan menggunakanan teknik lebih rumit. Pada sistem timesharing, situasinya berbeda, umumnya terdapat lebih banyak proses dibanding memori yang tersedia untuk memuat seluruh proses. Dengan demikian perlu menyimpan proses-proses yang tidak termuat ke disk. Untuk menjalankan proses-proses yang akan dieksekusi, proses-proses itu harus telah masuk memori utama. Pemindahan proses dari memori utama ke disk dan sebaliknya di sebut swapping. Dengan swapping, multiprogramming pada sistem time sharing dapt ditingkatkan kinerjanya yaitu dengan memindah proses-proses blocked ke disk dan hanya memasukkkan proses-proses ready ke memori utama. Beragam masalah harus diatasi multiprogramming dengan swapping, antara lain :

  1. Pemartisian secara dinamis.
  2. Strategi pencatatan pemakaian memori.
  3. Algoritma penempatan proses ke memori.
  4. Strategi penempatan ruang swap pada disk.


Multiprogramming dengan pemartisian dinamis

Pemartisian statis tidak menarik karena terlalu banyak diboroskan proses-proses yang lebih kecil dibanding partisi yang ditempatinya. Dengan pemartisian dinamis maka jumlah, lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis. Proses yang akan masuk ke memori segera dibuatkan paritisi untuknya sesuai kebutuhannya. Teknik ini meningkatkan utilitasi memori.

Kelemahan pemartisian dinamis adalah :

  1. Dapat terjadi lubang-lubang kecil memori di antara partisi-partisi yang dipakai.
  2. Merumitkan alokasi dan dealokasi memori.