Minggu, 01 Mei 2011

Rancang Bangun Alat Pemberi Makan Ikan Otomatis pada Ikan Lele


Rancang Bangun Alat Pemberi Makan Ikan Otomatis dengan Media SMS Berbasis Mikro Kontroler Untuk Budidaya Lele
         
ABSTRAK
Otomatisasi pemberi makan ikan dikolam berbasis mikrokontoller ATMEGA8535 dan telepon seluler ini adalah suatu alat yang dirancang untuk memberikan kemudahan penjaga tambak ikan untuk memberi makanan ikan. Tujuan pembuatan alat ini adalah untuk membantu penjaga tambak ikan untuk memberi makan ikan pada saat mereka berada ditempat yang jauh dari kolam dan juga untuk menghemat biaya produksi. Laporan akhir ini membahas bagaimana perancangan mekanik dan cara kerja pemberi makan ikan otomatis dengan motor DC sebagai penggerak katub keluarnya makanan. Prinsip kerja alat ini yaitu pada saat rangkaian aktif dan menerima SMS, maka SMS akan dibaca mikrokontroller dan menjadikannya sebagai input pengendali dan menghasilkan output yang nantinya sebagai input driver motor, driver motor inilah yang akan menggerakkan motor DC. Hasil yang diperoleh dari pembuatan alat ini adalah menghasilkan suatu alat yang dapat memberi makan ikan secara otomatis dengan batas waktu yang telah kita tentukan dan dapat kita kontrol dari jarak jauh dengan menggunakan telepon seluler melalui Short Message Service. Dari pembuatan alat ini dapat disimpulkan bahwa, untuk satu kali Short Message Service hanya untuk satu kali proses pemberian makan ikan.

A.        RUMUSAN MASALAH
Berdasarkan latar belakang di atas dapat dirumuskan masalahnya, yaitu :
1.       Bagaimana merancang dan membuat sistem dari data yang dihasilkan oleh waktu yang diterjemahkan sehingga bisa di baca oleh microcontroler untuk melakukan proses berikutnya ?
2.       Bagaimana membuat mekanik serta desain wadah pemberi makan ikan yang dapat di gerakan secara otomatis?
3.       Bagaimana menginputkan waktu agar pengguna dapat menggunakan dengan mudah ?
4.       Bagaimana mengkomunikasikan alat – alat tersebut dan memprogram dengan microcontrol AVR ?
5.       Bagaimana menggerakan motor agar mendapat posisi yang benar ?



B.         BATASAN MASALAH
Dalam perancangan dan pembuatan alat ini, terdapat beberapa pembatasan masalah, antara lain :

C.         TUJUAN DAN MANFAAT
Tujuan proyek ini adalah sebagai berikut :
1.       Untuk mempermudah pemilik ikan dalam memberikan makan ikan di kolam
2.       Membantu menjaga kesehatan ikan peliharaan.
3.       Membuat hidup lebih otomatis.
Manfaat yang dapat dirasakan adalah sebagai berikut :
1.       Menghilangkan rasa khawatir terhadap ikan peliharaan.
2.       Kesehatan ikan menjadi lebih baik.
3.       Tidak perlu sering – sering memberimakan ikan.














Cara Budidaya Lele Sangkuriang


Ikan lele merupakan salah satu jenis ikan air Tawar yang sudah dibudidayakan secara komersial oleh masyarakat Indonesia terutama di Pulau Jawa. Budidaya lele berkembang pesat dikarenakan
1) dapat dibudidayakan di lahan dan sumber air yang terbatas dengan padat tebar tinggi
2) teknologi budidaya relatif mudah dikuasai oleh masyarakat
3) pemasarannya relatif mudah 
4) modal usaha yang dibutuhkan relatif rendah.

Pengembangan usaha budidaya ikan lele semakin meningkat setelah masuknya jenis ikan lele dumbo ke Indonesia pada tahun 1985. Keunggulan lele dumbo dibanding lele lokal antara lain tumbuh lebih cepat, jumlah telur lebih banyak dan lebih tahan terhadap penyakit.Namun demikian perkembangan budidaya yang pesat tanpa didukung pengelolaan induk yang baik menyebabkan lele dumbo mengalami penurunan kualitas. Hal ini karena adanya perkawinan sekerabat (inbreeding), seleksi induk yang salah atas penggunaan induk yang berkualitas rendah. Penurunan kualitas ini dapat diamati dari karakter umum pertama matang gonad, derajat penetasan telur, pertumbuhan harian, daya tahan terhadap penyakit dan nilai FCR (Feeding Conversion Rate).Sebagai upaya perbaikan mutu ikan lele dumbo BBAT Sukabumi telah berhasil melakukan rekayasa genetik untuk menghasilkan lele dumbo strain baru yang diberi nama lele "Sangkuriang".Seperti halnya sifat biologi lele dumbo terdahulu, lele Sangkuriang tergolong omnivora. Di alam ataupun lingkungan budidaya, ia dapat memanfaatkan plankton, cacing, insekta, udang-udang kecil dan mollusca sebagai makanannya. Untuk usaha budidaya, penggunaan pakan komersil (pellet) sangat dianjurkan karena berpengaruh besar terhadap peningkatan efisiensi dan produktivitas.Tujuan pembuatan Petunjuk Teknis ini adalah untuk memberikan cara dan teknik pemeliharaan ikan lele dumbo strain Sangkuriang yang dilakukan dalam rangka peningkatan produksi Perikanan untuk meningkatkan ketersediaan protein hewani dan tingkat konsumsi ikan bagi masyarakat Indonesia. Berdasarkan keunggulan lele dumbo hasil perbaikan mutu dan sediaan induk yang ada di BBAT Sukabumi, maka lele dumbo tersebut layak untuk dijadikan induk dasar yaitu induk yang dilepas oleh Menteri Kelautan dan Perikanan dan telah dilakukan diseminasi kepada instansi/pembudidaya yang memerlukan. Induk lele dumbo hasil perbaikan ini, diberi nama "Lele Sangkuriang". Induk lele Sangkuriang merupakan hasil perbaikan genetik melalui cara silang balik antara induk betina generasi kedua (F2) dengan induk jantan generasi keenam (F6). Induk betina F2 merupakan koleksi yang ada di Balai Budidaya Air Tawar Sukabumi yang berasal dari keturunan kedua lele dumbo yang diintroduksi ke Indonesia tahun 1985. Sedangkan induk jantan F6 merupakan sediaan induk yang ada di Balai Budidaya Air Tawar Sukabumi. Induk dasar yang didiseminasikan dihasilkan dari silang balik tahap kedua antara induk betina generasi kedua (F2) dengan induk jantan hasil silang balik tahap pertama (F2 6).Budidaya lele Sangkuriang dapat dilakukan di areal dengan ketinggian 1 m - 800 m dpi. Persyaratan lokasi, baik kualitas tanah maupun air tidak terlalu spesifik, artinya dengan penggunaan teknologi yang memadai terutama pengaturan suhu air budidaya masih tetap dapat dilakukan pada lahan yang memiliki ketinggian diatas >800 m dpi. Namun bila budidaya dikembangkan dalam skala massal harus tetap memperhatikan tata ruang dan lingkungan sosial sekitarnya artinya kawasan budidaya yang dikembangkan sejalan dengan kebijakan yang dilakukan Pemda setempat.Budidaya lele, baik kegiatan pembenihan maupun pembesaran dapat dilakukan di kolam tanah, bak tembok atau bak plastik. Budidaya di bak tembok dan bak plastik dapat memanfaatkan lahan pekarangan ataupun lahan marjinal lainnya.Sumber air dapat menggunakan aliran irigasi, air sumu (air permukaan atau sumur dalam), ataupun air hujan yan sudah dikondisikan terlebih dulu. Parameter kualitas air yan baik untuk pemeliharaan ikan lele sangkuriang adalah sebagai berikut:a. Suhu air yang ideal untuk pertumbuhan ikan lele berkisar antara 22-32�C. Suhu air akan mempengaruhi laju pertumbuhan, laju metabolisme ikan dan napsu makan ikan serta kelarutan oksigen dalam air. b. pH air yang ideal berkisar antara 6-9. c. Oksigen terlarut di dalam air harus > 1 mg/l. Budidaya ikan lele Sangkuriang dapat dilakukan dalam bak plastik, bak tembok atau kolam tanah. Dalam budidaya ikan lele di kolam yang perlu diperhatikan adalah pembuatan kolam, pembuatan pintu pemasukan dan pengeluaran air.Bentuk kolam yang ideal untuk pemeliharaan ikan lele adalah empat persegi panjang dengan ukuran 100-500 m2. Kedalaman kolam berkisar antara 1,0-1,5 m dengan kemiringan kolam dari pemasukan air ke pembuangan 0,5%. Pada bagian tengah dasar kolam dibuat parit (kamalir) yang memanjang dari pemasukan air ke pengeluaran air (monik). Parit dibuat selebar 30-50 cm dengan kedalaman 10-15 cm.Sebaiknya pintu pemasukan dan pengeluaran air berukuran antara 15-20 cm. Pintu pengeluaran dapat berupa monik atau siphon. Monik terbuat dari semen atau tembok yang terdiri dari dua bagian yaitu bagian kotak dan pipa pengeluaran. Pada bagian kotak dipasang papan penyekat terdiri dari dua lapis yang diantaranya diisi dengan tanah dan satu lapis saringan. Tinggi papan disesuaikan dengan tinggi air yang dikehendaki. Sedangkan pengeluaran air yang berupa siphon lebih sederhana, yaitu hanya terdiri dari pipa paralon yang terpasang didasar kolam dibawah pematang dengan bantuan pipa berbentuk "L" mencuat ke atas sesuai dengan ketinggian air kolam.Saringan dapat dipasang pada pintu pemasukan dan pengeluaran agar ikan-ikan jangan ada yang lolos keluar/masuk.Pelaksanaan BudidayaSebelum benih ikan lele ditebarkan di kolam pembesaran, yang perlu diperhatikan adalah tentang kesiapan kolam meliputi:

a. Persiapan kolam tanah (tradisional)

Pengolahan dasar kolam yang terdiri dari pencangkulan atau pembajakan tanah dasar kolam dan meratakannya. Dinding kolam diperkeras dengan memukul-mukulnya dengan menggunakan balok kayu agar keras dan padat supaya tidak terjadi kebocoran. Pemopokan pematang untuk kolam tanah (menutupi bagian-bagian kolam yang bocor).
� Untuk tempat berlindung ikan (benih ikan lele) sekaligus mempermudah pemanenan maka dibuat parit/kamalir dan kubangan (bak untuk pemanenan).
� Memberikan kapur ke dalam kolam yang bertujuan untuk memberantas hama, penyakit dan memperbaiki kualitas tanah. Dosis yang dianjurkan adalah 20-200 gram/m2, tergantung pada keasaman kolam. Untuk kolam dengan pH rendah dapat diberikan kapur lebih banyak, juga sebaliknya apabila tanah sudah cukup baik, pemberian kapur dapat dilakukan sekedar untuk memberantas hama penyakit yang kemungkinan terdapat di kolam.
� Pemupukan dengan kotoran ternak ayam, berkisar antara 500-700 gram/m2; urea 15 gram/m2; SP3 10 gram/m2; NH4N03 15 gram/m2.
Pada pintu pemasukan dan pengeluaran air dipasang penyaring
Kemudian dilakukan pengisian air kolam.
Kolam dibiarkan selama � 7 (tujuh) hari, guna memberi kesempatan tumbuhnya makanan alami.
b. Persiapan kolam tembok
Persiapan kolam tembok hampir sama dengan kolam tanah. Bedanya, pada kolam tembok tidak dilakukan pengolahan dasar kolam, perbaikan parit dan bak untuk panen, karena parit dan bak untuk panen biasanya sudah dibuat Permanen.
c. Penebaran Benih
Sebelum benih ditebarkan sebaiknya benih disuci hamakan dulu dengan merendamnya didalam larutan KM5N04 (Kalium permanganat) atau PK dengan dosis 35 gram/m2 selama 24 jam atau formalin dengan dosis 25 mg/l selama 5-10 menit.
Penebaran benih sebaiknya dilakukan pada pagi atau sore hari atau pada saat udara tidak panas. Sebelum ditebarkan ke kolam, benih diaklimatisasi dulu (perlakuan penyesuaian suhu) dengan cara memasukan air kolam sedikit demi sedikit ke dalam wadah pengangkut benih. Benih yang sudah teraklimatisasi akan dengan sendirinya keluar dari kantong (wadah) angkut benih menuju lingkungan yang baru yaitu kolam. Hal ini berarti bahwa perlakuan tersebut dilaksanakan diatas permukaan air kolam dimana wadah (kantong) benih mengapung diatas air. Jumlah benih yang ditebar 35-50 ekor/m2 yang berukuran 5-8 cm.
d. Pemberian Pakan
Selain makanan alami, untuk mempercepat pertumbuhan ikan lele perlu pemberian makanan tambahan berupa pellet. Jumlah makanan yang diberikan sebanyak 2-5% perhari dari berat total ikan yang ditebarkan di kolam. Pemberian pakan frekuensinya 3-4 kali setiap hari. Sedangkan komposisi makanan buatan dapat dibuat dari campuran dedak halus dengan ikan rucah dengan perbandingan 1:9 atau campuran dedak halus, bekatul, jagung, cincangan bekicot dengan perbandingan 2:1:1:1 campuran tersebut dapat dibuat bentuk pellet.
e. Pemanenan
Ikan lele Sangkuriang akan mencapai ukuran konsumsi setelah dibesarkan selama 130 hari, dengan bobot antara 200 - 250 gram per ekor dengan panjang 15 - 20 cm. Pemanenan dilakukan dengan cara menyurutkan air kolam. Ikan lele akan berkumpul di kamalir dan kubangan, sehingga mudah ditangkap dengan menggunakan waring atau lambit. Cara lain penangkapan yaitu dengan menggunakan pipa ruas bambu atau pipa paralon/bambu diletakkan didasar kolam, pada waktu air kolam disurutkan, ikan lele akan masuk kedalam ruas bambu/paralon, maka dengan mudah ikan dapat ditangkap atau diangkat. Ikan lele hasil tangkapan dikumpulkan pada wadah berupa ayakan/happa yang dipasang di kolam yang airnya terus mengalir untuk diistirahatkan sebelum ikan-ikan tersebut diangkut untuk dipasarkan.Pengangkutan ikan lele dapat dilakukan dengan menggunakan karamba, pikulan ikan atau jerigen plastik yang diperluas lubang permukaannya dan dengan jumlah air yang sedikit.
Proses Produksi pada kegiatan pembesaran disajikan Tabel 1. Tabel 1Proses pembesaran lele Sangkuriang di bak tembok. Kriteria Satuan Pembesaran
Ukuran Tanaman
- Umur hari 40
- panjang cm 4 - 8
- bobot gram 4- 6
Ukuran Panen
- Umur hari 130
- panjang cm 15 - 20
- bobot gram 125 - 200
Sintasan % 80-90
Padat Tebar Ekor/m2 50-75
Pakan
- Tingkat Pemberian % bobot 3
- Frekuensi Pemberian kali/hari 3
Tingkat Konversi Pakan 0,8 - 1,2
Kegiatan budidaya lele Sangkuriang di tingkat pembudidaya sering dihadapkan pada permasalahan timbulnya penyakit atau kematian ikan. Pada kegiatan pembesaran, penyakit banyak ditimbulkan akibat buruknya penanganan kondisi lingkungan. Organisme predator yang biasanya menyerang antara lain ular dan belut. Sedangkan organisme pathogen yang sering menyerang adalah Ichthiophthirius sp., Trichodina sp., Monogenea sp. dan Dactylogyrus sp.Penanggulangan hama insekta dapat dilakukan dengan pemberian insektisida yang direkomendasikan pada saat pengisian air sebelum benih ditanam. Sedangkan penanggulangan belut dapat dilakukan dengan pembersihan pematang kolam dan pemasangan plastik di sekeliling kolam.Penanggulangan organisme pathogen dapat dilakukan dengan pengelolaan lingkungan budidaya yang baik dan pemberian pakan yang teratur dan mencukupi. Pengobatan dapat menggunakan obat-obatan yang direkomendasikan.Pengelolaan lingkungan dapat dilakukan dengan melakukan persiapan kolam dengan baik. Pada kegiatan budidaya dengan menggunakan kolam tanah, persiapan kolam meliputi pengeringan, pembalikan tanah, perapihan pematang, pengapuran, pemupukan, pengairan dan pengkondisian tumbuhnya plankton sebagai sumber pakan. Pada kegiatan budidaya dengan menggunakan bak tembok atau bak plastik, persiapan kolam meliputi pengeringan, disenfeksi (bila diperlukan), pengairan dan pengkondisian tumbuhnya plankton sebagai sumber pakan. Perbaikan kondisi air kolam dapat pula dilakukan dengan penambahan bahan probiotik.Untuk menghindari terjadinya penularan penyakit, maka hendaknya memperhatikan hal-hal sebagai berikut:� Pindahkan segera ikan yang memperlihatkan gejala sakit dan diobati secara terpisah. Ikan yang tampak telah parah sebaiknya dimusnahkan.� Jangan membuang air bekas ikan sakit ke saluran air.� Kolam yang telah terjangkit harus segera dikeringkan dan dilakukan pengapuran dengan dosis 1 kg/5 m2. Kapur (CaO) ditebarkan merata didasar kolam, kolam dibiarkan sampai tanah kolam retak-retak.� Kurangi kepadatan ikan di kolam yang terserang penyakit.� Alat tangkap dan wadah ikan harus dijaga agar tidak terkontaminasi penyakit. Sebelum dipakai lagi sebaiknya dicelup dulu dalam larutan Kalium Permanganat (PK) 20 ppm (1 gram dalam 50 liter air) atau larutan kaporit 0,5 ppm (0,5 gram dalam 1 m3 air).� Setelah memegang ikan sakit cucilah tangan kita dengan larutan PK� Bersihkan selalu dasar kolam dari lumpur dan sisa bahan organik� Usahakan agar kolam selalu mendapatkan air segar atau air baru.� Tingkatkan gizi makanan ikan dengan menambah vitamin untuk menambah daya tahan ikan. ANALISA USAHA Pembesaran lele Sangkuriang di bak plastik1. Investasi
a. Sewa lahan 1 tahun @ Rp 1.000.000,- = Rp 1.000.000,-
b. Bak kayu lapis plastik 3 unit @ Rp 500.000,- = Rp 1.500.000,-
c. Drum plastik 5 buah @ Rp 150.000,- = Rp 750.000,-
Rp 3.250.000,-
2. Biaya Tetap
a. Penyusutan lahan Rp 1.000.000,-/1 thn = Rp 1.000.000,-
b. Penyusutan bak kayu lapis plastik Rp 1.500.000,-/2 thn = Rp 750.000,-
c. Penyusutan drum plastik Rp 750.000,-/5 thn = Rp 150.000,-
Rp 1.900.000,-
3. Biaya Variabel
a. Pakan 4800 kg @ Rp 3700 = Rp 17.760.000,-
b. Benih ukuran 5-8 cm sebanyak 25.263 ekor @ Rp 80,- = Rp 2.021.052,63
c. Obat-obatan 6 unit @ Rp 50.000,- = Rp 300.000,-
d. Alat perikanan 2 paket @ Rp 100.000,- = Rp 200.000,-
e. Tenaga kerja tetap 12 OB @ Rp 250.000,- = Rp 3.000.000,-
f. Lain-lain 12 bin @ Rp 100.000,- = Rp 1.200.000,-
Rp 24.281.052,63
4. Total Biaya
Biaya Tetap + Biaya Variabel
= Rp 1.900.000,- + Rp 24.281.052,63
= Rp 26.181.052,63
5. Produksi lele konsumsi 4800 kg x Rp 6000/kg -Rp 28.800.000,
6. Pendapatan
Produksi - (Biaya tetap + Biaya Variabel)
= Rp 28.800.000,- - ( Rp 1.900.000,- + Rp 24.281.052,63)
= Rp 2.418.947,37
7. Break Event Point (BEP)
Volume produksi = 4.396,84 kg
Harga produksi = Rp 5.496,05




Sumber :Buku Budidaya Lele Sangkuriang, Dit. Pembudidayaan, Ditjen Perikanan Budidaya 


Senin, 17 Mei 2010

SEGMENTASI


Konsep segmentasi adalah user atau programmer tidak memikirkan sejumlah rutin program yang dipetakan ke main memori sebagai array linier dalam byte tetapi memori dilihat sebagai kumpulan segmen dengan ukuran berbeda-beda, tidak perlu berurutan diantara segment tersebut.

Segmentasi adalah skema manajemen memori yang memungkinkan user untuk melihat memori tersebut. Ruang alamat logika adalah kumpulan segmen. Setiap segmen mempunyai nama dan panjang. Spesifikasi alamat berupa nama segmen dan offset. Segment diberi nomor dan disebut dengan nomor segmen (bukan nama segmen) atau segment number. Segmen dibentuk secara otomatis oleh compiler.



Sebuah program adalah kumpulan segmen. Suatu segmen adalah unit logika seperti program utama, prosedur, fungsi, metode, obyek, variabel lokal, variabel global, blok umum, stack, tabel simbol, array dan lain-lain. Pandangan user terhadap sistem segmentasi dapat dilihat pada Gambar

Arsitektur Segmentasi

Alamat logika terdiri dari dua bagian yaitu nomor segmen (s) dan offset (d) yang dituliskan dengan

(nomor segmen, offset)

Pemetaan alamat logika ke alamat fisik menggunakan tabel segmen (segment table), terdiri dari
• Segmen basis (base) berisi alamat fisik awal
• Segmen limit merupakan panjang segmen

Seperti tabel page, tabel segmen dapat berupa register atau memori berkecepatan tinggi. Pada program yang berisi sejumlah segmen yang besar, maka harus menyimpan tabel page di memori.
• Segment-table base register (STBR) digunakan untuk menyimpan alamat yang menunjuk ke segment table.
• Segment-table length register (STLR) digunakan untuk menyimpan nilai jumlah segmen yang digunakan program.
• Untuk alamat logika (s, d), pertama diperiksa apakah segment number s legal (s < 88 =" 1488"> limit (412 > 400). Alamat logika dengan nomor segment 2 offset 320 akan dipetakan ke alamat fisik 4300 + 320 =
4620 karena offset < limit (320 < 400).



Dimulai dengan model 80386, microprocessor Intel menampilkan translasi alamat dengan 2 cara berbeda, yang disebut real mode dan protected mode. Real mode untuk memelihara kompatibilitas prosesor dengan model yang lebih lama dan untuk OS agar dapat melakukan bootstrap.

• Segmentation Registers
Logical address terdiri atas dua bagian : segment identifier dan sebuah offset yang menunjukkan alamat yang bersangkutan pada segment. Segment identifier adalah sebuah 16-bit field yang disebut segment selector. Untuk mempermudah memperoleh segment selectors dengan cepat, prosesor menyediakan segmentation register yang tujuannya hanya untuk memegang segment selectors. Ada enam segmentation register : cs, ss, ds, es, fs, dan gs.

• Segment Descriptor
Setiap segment direpresentasikan dengan 8-byte segment descriptor yang menggambarkan karakteristik segment. Segment descriptor disimpan pada Global Descriptor Table(GDT) atau pada Local Descriptor Table(LDT).

• Segment Selectors
Untuk mempercepat pengubahan dari logical address ke linear address, Intel menyediakan nonprogrammable register tambahan untuk setiap dari 6 programmable segmentation register. Setiap segment selector di-load pada sebuah segmentation register, segment descriptor yang bersangkutan di-load dari memori ke nonprogrammable CPU register yang bersesuaian. Jadi, pengubahan dari logical address ke linear address dilakukan tanpa mengakses GDT atau LDT yang berada pada memori utama. Akses ke GDT atau LDT hanya diperlukan bila isi dari segmentation register berubah. Setiap segment selector mengandung hal-hal berikut :
- Sebuah index 13-bit yang menunjukkan masukan segment descriptor yang berhubungan yang terdapat pada GDT atau LDT.
- Sebuah TI (tabe indicator) flag yang menunjukkan apakah segment descriptor terdapat pada GDt (Ti = 0) atau pada LDT (TI = 1).
- Sebuah RPl (requestor privilege level) 2-bit field, yang membuat current privilege level cPu tepat saat segment selector yang berhubungan di-load ke register cs.

• Segmentation Unit
Segmentatipn Unit melakukan operasi-operasi berikut :
- Memeriksa TI dari segment selector, untuk memutuskan apakah descriptor table berada pada segment descriptor.
- Menghitung alamat dari segment descriptor dari index filed segment selector.
- Menambahkan ke Base field dari segment descriptor, offset dari logical address, sehingga diperoleh linear address.

PAGING


Paging merupakan kemungkinan solusi untuk permasalahan fragmentasi eksternal dimana ruang alamat logika tidak berurutan; mengijinkan sebuah proses dialokasikan pada memori fisik yang terakhir tersedia. Memori fisik dibagi ke dalam blok-blok ukuran tetap yang disebut frame. Memori logika juga dibagi ke dalam blok- blok dg ukuran yang sama yang disebut page. Semua daftar frame yang bebas disimpan. Untuk menjalankan program dengan ukuran n page, perlu menemukan n frame bebas dan meletakkan program pada frame tersebut. Tabel page (page table) digunakan untuk menterjemahkan alamat logika ke alamat fisik.

Setiap alamat dibangkitkan oleh CPU dengan membagi ke dalam 2 bagian
• Page number (p) digunakan sebagai indeks ke dalam table page (page table).
Page table berisi alamat basis dari setiap page pada memori fisik.
• Page offset (d) mengkombinasikan alamat basis dengan page offset untuk mendefinisikan alamat memori fisik yang dikirim ke unit memori.
Arsitektur dari sistem paging dapat dilihat pada Gambar

Ukuran page (juga frame) didefinisikan oleh perangkat keras. Ukuran page merupakan bilangan 2 pangkat k, mulai 512 (29) s/d 8192 (213) tergantung arsitektur computer. Bila ukuran ruang alamat logika 2m dan ukuran satu page adalah 2n address unit (byte/word) maka (m-n) bit orde tinggi dari alamat logika menunjukkan nomor page (page number) dan n bit orde rendah menunjukkan page offset.

page number
page offset
p
d

m-n

n



Proses pemetaan dari alamat logika ke alamat fisik yang menggunakan ukuran page 4 byte dan memori fisik 32 byte (8 page) dapat dilihat pada Gambar 7-13. Sebagai contoh alamat logika 2 berada pada page 0 akan dipetakan ke frame 5, sehingga alamat fisiknya adalah (5 X 4) + 2 = 22. Alamat logika 4 berada pada page 1 akan dipetakan ke frame 6, sehingga alamat fisiknya adalah (6 X 4) + 0 = 24. Alamat logika 9 berada pada page 3 akan dipetakan ke frame 1, sehingga alamat fisiknya adalah (1 X 4) + 1 = 5. Alamat logika 15 berada pada page 4 akan dipetakan ke frame 2, sehingga alamat fisiknya adalah (2 X 4) + 3 = 11.

Pada skema paging, tidak terjadi fragmentasi eksternal, karena “sembarang” frame dapat dialokasikan ke proses yang memerlukannya. Tetapi beberapa fragmentasi internal masih mungkin terjadi. Hal ini dikarenakan frame dialokasikan sebagai unit dan jika kebutuhan memori dari proses tidak menemukan page, maka frame terakhir mungkin tidak dialokasikan penuh.
Bila suatu proses datang untuk dieksekusi, maka ukurannya diekspresikan dengan page. Setiap page membutuhkan satu frame. Bila proses membutuhkan n page, maka proses tersebut juga membutuhkan n frame. Jika tersedia n frame, maka memori dialokasikan untuk proses tersebut. Alokasi page pada frame bebas dapat dilihat pada Gambar

Pada paging, user memandang memori sebagai bagian terpisah dari memori fisik aktual. Program user memandang memori sebagai satu ruang berurutan yang hanya berisi program user tersebut. Faktanya, program user terpecah pada memori fisik, yang juga terdapat program lain. Karena sistem operasi mengatur memori fisik, perlu diwaspadai lokasi detail dari memori fisik, yaitu frame mana yang dialokasikan, frame mana yang tersedia, berapa jumlah frame dan lain-lain. Informasi tersebut disimpan sebagai struktur data yang disebut “frame table”.

Implementasi Sistem Paging

Setiap sistem operasi mempunyai metode sendiri untuk menyimpan tabel page. Beberapa sistem operasi mengalokasikan sebuah tabel page untuk setiap proses. Pointer ke tabel page disimpan dengan nilai register lainnya dari PCB.
Pada dasarnya terdapat 3 metode yang berbeda untuk implementasi tabel page :

1. Tabel page diimplementasikan sebagai kumpulan dari “dedicated” register.
Register berupa rangkaian logika berkecepatan sangat tinggi untuk efisiensi translasi alamat paging. Contoh : DEC PDP-11. Alamat terdiri dari 16 bit dan ukuran page 8K. Sehingga tabel page berisi 8 entri yang disimpan pada register. Penggunaan register memenuhi jika tabel page kecil (tidak lebih dari 256 entry).
2. Tabel page disimpan pada main memori dan menggunakan page table base registe” (PTBR) untuk menunjuk ke tabel page yang disimpan di main memori. Penggunakan memori untuk mengimplementasikan tabel page akan memungkinkan tabel page sangat besar (sekitar 1 juta entry). Perubahan tabel page hanya mengubah PTBR dan menurunkan waktu context-switch. Akan tetapi penggunaan metode ini memperlambat akses memori dengan faktor 2. Hal ini dikarenakan untuk mengakses memori perlu dua langkah : pertama untuk lokasi tabel page dan kedua untuk lokasi alamat fisik yang diperlukan.
3. Menggunakan perangkat keras cache yang khusus, kecil dan cepat yang disebut associative register atau translation look-aside buffers (TLBs). Merupakan solusi standar untuk permasalahan penggunaan memori untuk implementasi tabel page. Sekumpulan associative register berupa memori kecepatan tinggi. Setiap register terdiri dari 2 bagian yaitu key dan value. Jika associative register memberikan item, akan dibandingkan dengan semua key secara simultan. Jika item ditemukan nilai yang berhubungan diberikan. Model ini menawarkan pencarian cepat tetapi perangkat keras masih mahal. Jumlah entry pada TLB bervariasi antara 8 s/d 2048.

Mekanisme penggunaan associative register (Gambar 7-15) adalah sebagai berikut :
• Associative register berisi hanya beberapa entry tabel page (sampai dengan ukuran maksimum).
• Jika memori logika dibangkitkan oleh CPU, nomor page berupa sekumpulan associative register yang berisi nomor page dan nomor frame yang berkorespondensi.
• Jika nomor page ditemukan pada associative register, nomor frame segera tersedia dan digunakan untuk mengakses memori.
• Sebaliknya, jika nomor page tidak ditemukan pada associative register, acuan memori ke tabel page harus dibuat.
• Jika nomor frame tersedia, maka dapat menggunakannya untuk mengakses ke memori yang tepat.
• Kemudian ditambahkan nomor page dan nomor frame ke associative register sehingga akan mudah ditemukan pada acuan berikutnya.
• Setiap kali tabel page baru dipilih, TLB harus dihapus untuk menjamin eksekusi proses berikutnya tidak menggunakan informasi translasi yang salah.

Persentasi waktu sebuah page number ditemukan pada associative register disebut hit ratio. Hit ratio 80% berarti penemuan page number yang tepat pada associative register adalah 80% dari waktu. Misalnya, untuk mencari entry di associative register memerlukan waktu 20 ns dan untuk mengakses memori memerlukan waktu 100 ns sehingga untuk memetakan ke memori memerlukan waktu
120 ns. Apabila tidak menemukan page number pada associative register (20 ns), maka harus lebih dahulu mengakses tabel page di memori (100 ns) dan kemudian akses ke lokasi memori yang tepat (100 ns). Maka effective access time (EAT) menjadi 0.8 X 120 + 0.2 X 220 = 140 ns

Artinya terjadi 40% penurunan kecepatan waktu akses memori.

Hit ratio berhubungan dengan jumlah associative register. Apabila jumlah associative register antara 16 s/d 512, maka hit ratio yang dapat dicapai antara 80% sampai 98%. Prosessor Motorola 68030 yang digunakan pada sistem Apple Mac mempunyai TLB 22 entry. CPU Intel 80486 mempunyai 32 register dan hit ratio 98%.

Proteksi

Pada model page, proteksi memori menggunakan bit proteksi yang diasosiasikan untuk setiap frame. Biasanya bit proteksi disimpan pada tabel page. Satu bit mendifinisikan satu page untuk “read and write” atau “read-only”. Setiap acuan ke memori melalui tabel page untuk menemukan nomor frame yang benar. Level proteksi
yang lebih baik dapat dicapai dengan menambah jumlah bit yang digunakan.

Pada tabel page diberi tambahan “valid-invalid” bit seperti pada Gambar 7-16. Nilai “valid” mengindikasikan bahwa page berada pada ruang alamat logika yang berarti merupakan page yang legal (valid). Nilai “invalid” mengindikasikan bahwa page tidak berada pada ruang alamat logika atau page yang illegal (invalid). Sistem operasi mengeset bit ini untuk setiap page untuk mengijinkan atau tidak mengakses page.

Multilevel Paging

Model multilevel paging digunakan pada sistem yang mempunyai ruang alamat logika yang sangat besar yaitu antara 232 s/d 264. Pada sistem ini, tabel page akan menjadi sangat besar. Misalnya untuk sistem dengan ruang alamat logika 32 bit dan ukuran page 4K byte, maka tabel page berisi 1 juta entry (232 / 212). Solusinya yaitu dengan melakukan partisi tabel ke beberapa beberapa bagian yang lebih kecil.
Untuk sistem dengan ruang alamat logika 32 bit dapat dipecahkan menggunakan skema two level paging. Pada skema ini alamat logika dibagi menjadi 20 bit untuk nomor page dan 12 bit untuk page offset. Karena tabel page juga merupakan page maka nomor page lebih jauh akan dipecah menjadi 10 bit untuk nomor page dan 10 bit untuk
page offset.

Dimana pi adalah indeks ke table page luar dan p2 adalah displacement dalam page pada table page luar. Skema tabel page pada two level paging dapat dilihat pada Gambar 7-17. Sedangkan arsitektur translasi alamat pada two level paging untuk mesin 32 bit dapat dilihat pada Gambar 7-18.
Untuk sistem dengan ruang alamat logika 64 bit tidak dapat menggunakan skema two-level paging. Solusi yang digunakan adalah dengan membagi tabel page luar ke dalam bagian yang lebih kecil : menggunakan skema three-level atau four-level paging. Multilevel paging dapat berakibat pada performansi sistem. Untuk skema three-level paging, jika kita menggunakan memori untuk menyimpan tabel, maka akan membutuhkan 4 kali akses memori. Tetapi jika menggunakan cache dengan hit ratio 98%, effective access time menjadi 0.98 X 120 + 0.02 X 420.
Shared Page

Pada skema paging, dimungkinkan untuk sharing kode umum seperti pada Gambar 7-19. Bentuk ini penting terutama pada lingkungan time sharing. Satu copy kode read-only dibagi ke beberapa proses (misalnya editor teks, compiler dan sistem window). Kode yang dibagi harus berada pada lokasi ruang alamat logika yang sama untuk semua proses.
Kode dan data pribadi (private) untuk setiap proses diletakkan terpisah dari kode dan data pribadi proses lain. Page untuk kode dan data pribadi dapat diletakkan di
sembarang tempat pada ruang alamat logika.


VIRTUAL MEMORI

Managing Memory | Virtual Memory. Virtual memory adalah sebuah komputer sistem teknik yang memberikan kesan program aplikasi yang memiliki memori kerja berdekatan (ruang alamat), padahal mungkin secara fisik terfragmentasi dan bahkan mungkin meluap ke penyimpanan disk.



Dikembangkan untuk multitasking kernel , memori virtual menyediakan dua fungsi utama:




  • Setiap proses memiliki ruang alamat sendiri, sehingga tidak perlu direlokasi maupun yang diperlukan untuk menggunakan mode pengalamatan relatif .
  • Setiap proses satu blok berdekatan melihat memori bebas setelah peluncuran. Fragmentasi tersembunyi.


Semua implementasi (tidak termasuk emulator) memerlukan dukungan hardware. Hal ini biasanya dalam bentuk sebuah unit manajemen memori dibangun ke dalam CPU.

Sistem yang menggunakan teknik ini membuat pemrograman aplikasi besar lebih mudah dan menggunakan memori fisik yang sebenarnya (misalnya RAM ) lebih efisien daripada yang tanpa memori virtual. Virtual memory berbeda secara signifikan dari virtualisasi memori di memori virtual memungkinkan sumber daya untuk virtual sebagai memori untuk sistem tertentu, sebagai lawan dari kolam besar memori yang virtual sebagai kolam kecil untuk sistem yang berbeda.

Perhatikan bahwa "memori virtual" adalah lebih dari sekedar "menggunakan ruang disk untuk memperpanjang ukuran memori fisik" - yang hanya perpanjangan dari hirarki memori untuk menyertakan hard disk drive . Memperluas memori untuk disk adalah konsekuensi normal dari menggunakan teknik memori virtual, tapi bisa dilakukan dengan cara lain seperti lapisan atau bertukar program dan data mereka benar-benar keluar untuk disk sementara mereka tidak aktif. Yang dimaksud dengan "virtual memory" mendefinisikan ulang didasarkan pada ruang alamat memori virtual berdekatan dengan alamat untuk "trik" program berpikir mereka menggunakan alamat blok besar bersebelahan.

Modern komputer untuk tujuan umum sistem operasi umumnya menggunakan teknik memori virtual untuk aplikasi biasa, seperti pengolah kata, spreadsheet, pemutar multimedia, akuntansi, dll, kecuali dukungan hardware yang dibutuhkan (sebuah unit manajemen memori ) tidak tersedia. sistem operasi lama, seperti DOS [1] dari tahun 1980-an, atau mereka untuk mainframe tahun 1960-an, umumnya tidak memiliki fungsi virtual memory - pengecualian menjadi Atlas , B5000 dan Apple Computer 's Lisa .

Embedded sistem dan lain-tujuan sistem komputer khusus yang memerlukan sangat cepat dan / atau respon yang konsisten kali sangat mungkin memilih untuk tidak menggunakan virtual memory dikarenakan berkurangnya determinisme . Hal ini didasarkan pada gagasan bahwa pengecualian prosesor terduga menghasilkan yang tidak diinginkan jitter pada CPU dioperasikan I / O, yang tertanam prosesor yang lebih kecil sering melakukan langsung agar biaya dan konsumsi daya rendah, dan aplikasi sederhana terkait telah menggunakan sedikit untuk fitur multitasking.


MANAGING MEMORY SWAPPING

Managing Memory | Swapping .Memori adalah pusat dari operasi pada sistem komputer modern. Memori adalah array besar dari word atau byte, yang disebut alamat. CPU mengambil instruksi dari memory berdasarkan nilai dari program counter. Instruksi ini menyebabkan penambahan muatan dari dan ke alamat memori tertentu.

Instruksi eksekusi yang umum, contohnya, pertama mengambil instruksi dari memori. Instruksi dikodekan dan mungkin mengambil operand dari memory. Setelah instruksi dieksekusi pada operand, hasilnya ada yang dikirim kembali ke memory. Sebagai catatan, unit memory hanya merupakan deretan alamat memory; tanpa tahu bagaimana membangkitkan (instruction counter, indexing, indirection, literal address dan lainnya) atau untuk apa (instruksi atau data). Oleh karena itu, kita dapat mengabaikan bagaimana alamat memori dibangkitkan oleh program, yang lebih menarik bagaimana deretan alamat memori dibangkitkan oleh program yang sedang berjalan.

SWAPPING

Sebuah proses harus berada di memori untuk dieksekusi. Proses juga dapat ditukar (swap) sementara keluar memori ke backing store dan kemudian dibawa kembali ke memori untuk melanjutkan eksekusi.
Backing store berupa disk besar dengan kecepatan tinggi yang cukup untuk meletakkan copy dari semua memory image untuk semua user, sistem juga harus menyediakan akses langsung ke memory image tersebut. Contohnya, sebuah lingkungan multiprogramming dengan penjadwalan CPU menggunakan algoritma round-robin. Pada saat waktu kuantum berakhir, manajer memori akan memulai untuk menukar proses yang baru selesai keluar dan menukar proses lain ke dalam memori yang dibebaskan (Gambar 7-4). Pada waktu berjalan, penjadwal CPU (CPU scheduler) akan mengalokasikan sejumlah waktu untuk proses yang lain di memori. Ketika masing-masing proses menyelesaikan waktu kuantum-nya, akan ditukar dengan proses
yang lain.
Kebijakan penukaran juga dapat digunakan pada algoritma penjadwalan berbasis prioritas. Jika proses mempunyai prioritas lebih tinggi datang dan meminta layanan, memori akan swap out proses dengan prioritas lebih rendah sehingga proses dengan prioritas lebih tinggi dapat di-load dan dieksekusi.
Umumnya sebuah proses yang di-swap out akan menukar kembali ke ruang memori yang sama dengan sebelumnya. Jika proses pengikatan dilakukan pada saat
load-time, maka proses tidak dapat dipindah ke lokasi yang berbeda. Tetapi, jika pengikatan pada saat execution-time , maka kemungkinan proses ditukar ke ruang memori yang berbeda, karena alamat fisik dihitung selama waktu eksekusi.
Bila CPU scheduler memutuskan untuk mengeksekusi proses, OS memanggil dispatcher. Dispatcher memeriksa untuk melihat apakah proses selanjutnya pada ready queue ada di memori. Jika tidak dan tidak terdapat cukup memori bebas, maka dispatcher swap out sebuah proses yang ada di memori dan swap in proses tersebut. Kemudian reload register ke keadaan normal.
Teknik swapping yang sudah dimodifikasi ditemui pada beberapa sistem misalnya Linux, UNIX dan Windows.