Selasa, 21 April 2015

MANAJEMEN MEMORY SISTEM OPERASI


1.      Pengertian Memori dan Manajemen Memori
Memori adalah pusat dari operasi pada sistem komputer modern, berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Memori adalah array besar dari word atau byte, yang disebut alamat. CPU mengambil instruksi dari memory berdasarkan nilai dari program counter. Sedangkan manajemen memori adalah suatu kegiatan untuk mengelola memori komputer. Proses ini menyediakan cara mengalokasikan memori untuk proses atas permintaan mereka, membebaskan untuk digunakan kembali ketika tidak lagi diperlukan serta menjaga alokasi ruang memori bagi proses.


Pengelolaan memori utama sangat penting untuk sistem komputer, penting untuk memproses dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer. Fungsi manajemen memori mempunyai peranan sangat penting dalam sistem komputer. Fungsi menejemen memori tersebut adalah :
1. Meningkatkan kinerja atau Utilitas CPU.
2. meningkatkan kecepatan akses CPU terhadap data dan instruksi Data dan      instruksi dapat diakses dengan cepat oleh CPU.
3. meningkatkan efisensi pemakaian memori yang terbatas.
4. Meningkatkan efisiensi transfer atau perpindahan data dari atau ke memori utama dan dari atau ke CPU.
5. Mengelola informasi yang dipakai dan tidak dipakai.
6. Mengalokasikan memori ke proses yang memerlukan.
7. Mendealokasikan memori dari proses telah selesai.
8. Mengelola swapping atau paging antara memori utama dan disk.

2.      Jenis-Jenis memori

Pada prinsipnya memori dalam sistem komputer dibedakan menjadi dua yaitu memori kerja dan memori dukung atau backing store. Memori Kerja mempunyai tugas utaman untuk menampung pekerjaan pada saat sebelum dan sesudah pekerjaan itu dilaksanakan oleh prosesor dan menampung berbagai hal yang diperlukan prosesor, contohnya system operasi, system bahasa, catatan. Beberapa Contoh memori kerja untuk memori tetap adalah :
  • ROM (Read Only Memory), adalah memori yang hanya dapat baca saja.
  • PROM (Programmable ROM), adalah memori yang dapat diprogram tetapi tidak dapat dihapus lagi
  • EPROM (Electrically PROM), adalah memori yang dapat diisi melalui listrik, dan dapat dihapus.
  • EPROM (Erasable EPROM), adalah memori yang dapat diisi dan dihapus dengan listrik, maka ciri utamanya adalah isi tetap ada / tidak mudah dihapus meskipun daya listrik computer terputus.
  • Registe mikroproseso. Memori yang memiliki ukurannya paling kecil tapi memiliki waktu akses paling cepat, umumnya hanya 1 siklus CPU saja.
  • Sementara itu Contoh memori kerja untuk memori bebas adalah :
  • RAM (Random Access Memory): memori yang dapat diisi dan dapat dibaca. Ciri utamanya adalah mengenal asas pemuktahiran yaitu dapat diisi dengan informasi terbaru dan isi akan hilang jika catu daya padam.
  • Cache memory. Memori berkapasitas kecil tetapi berkecepatan tinggi, yang dipasang diantara prosesor dan memori utama. Instruksi dan data yang sering diakses oleh prosesor ditempatkan dalam chace sehingga dapat lebih cepat diakses oleh prosesor. Jika data atau instruksi yang diperlukantidak tersedia dalam chacce, prosesor akan mencari dalam memori utama. Cach memory disusun berdasarkan kedekatannya dengan prosesor (level-1, level-2, level-3, dan seterusnya). Level cache memori tersebut dibedakan berdasarkan kapasitasnya.
             Memori kerja terdiri dari sel memori yang berisi 1 kata sandi, misalnya sistem 8 bit menggunakan 8 bit kata sandi, sistem 1 kbyte menggunakan 1024 byte kata sandi. Sementara itu yang termasuk dalam Memori Dukung / backing store adalah: Floppy, Harddisk, CD, tape magnetik, flash disk dll.

3.      Istilah-istilah dalam manajemen memori 

          Memori manajer adalah bagian dari sistem operasi yang mempunyai pengaruh dalam menentukan proses mana yang diletakkan pada antrian dan mengatur hirarki memori. Memory manager digunakan untuk mencegah satu proses dari penulisan dan pembacaan oleh proses lain yang dilokasikan di primary memory, mengatur swapping antara memori utama dan disk ketika memori utama terlalu kecil untuk memegang semua proses Swapping merupakan pemindahan proses dari memori utama ke disk dan kembali lagi. 

          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.

    Fragmentasi Eksternal terjadi pada situasi dimana terdapat cukup ruang memori total untuk memenuhi permintaan, tetapi tidak dapat langsung dialokasikan karena tidak berurutan. Fragmentasi eksternal dilakukan pada algoritma alokasi dinamis, terutama strategi first-fit dan best-fit. Fragmentasi Internal terjadi pada situasi dimana memori yang dialokasikan lebih besar dari pada memori yang diminta tetapi untuk satu partisi tertentu hanya berukuran kecil sehingga tidak digunakan.
   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. paging diimplementasikan dalam suatu tabel page. Setiap sistem operasi mempunyai metode sendiri untuk untuk menyimpan tabel page. Tiga prinsip dasar dalam implementasi pageing yaitu:     
  1.  Tabel page diimplementasikan sebagai kumpulan dari “dedicated” register.                            
  2.  Tabel page disimpan pada main memori dan menggunakan page table base registe” (PTBR) untuk menunjuk ke tabel page yang disimpan di main memori.                                                                  
  3. Menggunakan perangkat keras cache yang khusus, kecil dan cepat yang disebut associative register atau translation look-aside buffers (TLBs).              
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.
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.


4. Ruang Alamat Logika Dan Ruang Alamat Fisik
Alamat yang dibangkitkan oleh CPU disebut alamat logika (logical address) dimana alamat terlihat sebagai unit memory yang disebut alamat fisik (physical address). Tujuan utama manajemen memori adalah konsep meletakkan ruang alamat logika ke ruang alamat fisik. Hasil skema waktu kompilasi dan waktu pengikatan alamat pada alamat logika dan alamat memori adalah sama. Tetapi hasil skema waktu pengikatan alamat waktu eksekusi berbeda. dalam hal ini, alamat logika disebut dengan alamat maya (virtual address).
Himpunan dari semua alamat logika yang dibangkitkan oleh program disebut dengan ruang alamat logika (logical address space). Alamat memori yang digunakan oleh program / data berurutan / berjulat. Jika kita menggunakan alamat 1, maka kita pun menggunakan alamat 2,3, … dan untuk 1 informasi jika alamat awalnya 0 dan alamat lainnya relatif terhadap alamat awal 0 ini, maka dinamakan alamat relatif. Dan alamat tersebut adalah logika dari untaian alamat yang menyimpan informasi maka dikenal alamat memori logika.
Himpunan dari semua alamat fisik yang berhubungan dengan alamat logika disebut dengan ruang alamat fisik (physical address space). Sel memori pada memori kerja adalah sumber daya berbentuk fisik, sehingga untuk mencapai sel memori ini digunakan kata pengenal. Maka disebutlah alamat fisik dan karena nomor alamat fisik ini bersifat mutlak (nomor setiap sel adalah tetap), maka disebut juga alamat mutlak.
Memory Manajement Unit (MMU) adalah perangkat keras yang memetakan alamat virtual ke alamat fisik. Pada skema MMU, nilai register relokasi ditambahkan ke setiap alamat yang dibangkitkan oleh proses user pada waktu dikirim ke memori.
Contoh : alamat awal relatif 0, alamat awal fisik 14726, maka selisihnya = relokasinya = 14726-0 = 14726.

5. Virtual Memori
Memori virtual adalah teknik manajemen memor yang dikembangkan untuk kerne multi-tuga. Teknik ini divirtualisasika dalam berbagai bentuk arsitektur kompute dari komputer penyimpanan dat (seperti memori akses aca dan cakram penyimpana), yang memungkinkan sebuah progra harus dirancang seolah-olah hanya ada satu jenis memori dan bertindak secara langsung (RAM). Sebagian besar sistem operasi modern yang mendukung memori virtual menjalankan setiap prose di ruang alama khusus. Setiap program memiliki akses tunggal ke memori virtual. Namun, beberapa sistem operasi yang lebih tua (seperti OS/VS dan OS/VS2 SV) dan bahkan yang modern yang (seperti IBM ) memiliki ruang alamat tungga yang terdiri dari memori virtual untuk menjalankan semua proses.

Memori virtual membuat pemrograman aplikasi lebih mudah untuk fragmentas persembunyian dari memori fisik. Dengan mendelegasikan ke kernel beban dalam mengelola hierarki memori. Sehingga menghilangkan keharusan program dalam mengatasi permasalahan secara eksplisit. Ssetiap proses berjalan dalam ruang alamat khususnya, dengan menghindarkan kebutuhan untuk merelokas kode program atau untuk mengakses memori dengan pengalamatan relatif. Virtualisasi memor adalah generalisasi dari konsep memori virtual.


Sumber : http://arka-tkj.blogspot.com/2014/10/pengertian-manajemen-memori.html

Selasa, 09 Desember 2014

BAHASA BASIS DATA

Sebuah bahasa basis data (database languange) biasanya dapat dipilah ke dalam dua bentuk,  yaitu :
  •   Data Definition Language (DDL)
  •   Data Manipulation Languange (DML).


DDL (Data Definition Language), yaitu bahasa yang memiliki kemampuan untuk mendefinisikan data yang berhubungan dengan pembuatan dan penghapusan objek seperti tabel, indeks, bahkan basis datanya sendiri. Misalnya, CREATE, DROP, dan ALTER. Struktur/skema basis data yang menggambarkan/mewakili desain basis data secara keseluruhan didefinisikan dengan bahasa khusus yang disebut DDL. Dengan bahasa inilah kita dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur penyimpanan tabel dan sebagainya. Hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut Kamus Data

Perintah - Keterangan 
  • CREATE TABLE - Membuat tabel 
  • CREATE INDEX - Membuat index 
  • ALTER TABLE - Mengubah struktur tabel 
  • DROP TABLE - Menghapus tabel 
  • DROP INDEX - Menghapus index 
  • GRANT - Memberikan hak akses 
  • REVOKE - Menghapus hak akses 

DML (Data Manipulation Language), yaitu bahasa yang berhubungan dengan proses manipulasi data pada tabel, record. Misalnya, INSERT, UPDATE, SELECT, dan DELETE. DML Merupakan bentuk bahasa basis data yang berguna untuk melakukan manipulasi dan pengambilan data pada suatu basis data. Manipulasi data dapat berupa: 
a. Penyisipan/Penambahan data baru ke suatu basis data 
b. Penghapusan data dari suatu basis data 
c. Pengubahan data dari satu basis data 

Perintah - Keterangan 
  • SELECT - Menampilkan record dari tabel atau view 
  • INSERT - Menyisipkan record ke dalam tabel 
  • UPDATE - Menghapus record dari tabel 
  • DELETE - Menghapus record dari tabel 
  • COMMIT - Menuliskan perubahan ke dalam disk 
  • ROLLBACK - Membatalkan perubahan yang dilakukan setelah perintah COMMIT terakhir
Jenis DML, yaitu :
  •  Prosedural, yang mensyaratkan agar pemakai menentukan, data apa yang diinginkan sertabagaimana cara mendapatkannya. Contoh: dBaseIII, FoxBase
  • Non-Prosedural, yang membuat pemakai dapat menentukan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya. Contoh : SQL

Sumber : 
http://ngepost.blogspot.com/2012/05/pengertian-ddl-dml.html

Jumat, 04 Juli 2014

SISTEM & KONVERSI BILANGAN



SISTEM BILANGAN
1. Bilangan Binner
      Bilangan yang hanya menggunakan 2 angka yaitu 0 dan 1. Bilangan biner disebut juga berbasis 2. Setiap bilangan pada bilangan biner disebut bit. Dimana 1 byte=8 bit
2. Bilangan  Decimal
      Bilangan yang menggunakan 10 angka, mulai 0-9 berurutan. Setelah angka 9, maka angka berikutnya adalah 10,11 dan seterusnya. Bilangan desimal juga disebut bilangan berbasis 10.
3. Oktal
Bilangan berbasis 8 yang menggunakan angka 0-7
4. Heksa Desimal
Bilangan berbasis 16, menggunakan 16 buah simbol, mulai dari 0-9 kemudian dilanjut dari A-F. Jadi, angka A-F merupakan simbol 10-15 .

CONTOH KONVERSI
1.      Desimal ke biner
Soal = 15010
    15010  di-Konversikan kedalam Bilangan Biner.
                            150/2 = 75 sisa 0
                            75/2 = 37 sisa 1
                            37/2 = 18 sisa 1
                            18/2 =9 sisa 0
                            9/2 = 4 sisa 1
                            4/2 = 2 sisa 0
                            2/2 = 1 sisa 0
                            1 /2=0 sisa 1
                        0/2 = 0 sisa 0
Dibagi 2 Karena di-Konversikan ke dalam Bilangan Biner.Dalam menghitung Bilangan biner,dalam penulisan di-Tulis dari Bawah ke Atas dan jika terdapat hasil nol diakhir pembagian, maka bilangan nol tersebut jangan dihitung, jadi hasilnya adalah 100101102
2.      Biner ke Decimal
Soal : 100101102
     Cara Konversi Bilangan Biner ke Bilangan Desimal :
                    = (angka Pertama x 2 atau (basis Bilangan Biner) + angka Selanjutnya pada bilangan biner tersebut)
                    = (angka Hasil selanjutnya x 2 atau ( basis Bilangan Biner ) + angka selanjutnya pada  bilangan biner tersebut )

      100101102  = 1 x 2 + 0 = 2
                            2 x 2 + 0 = 4
                            4 x 2 + 1 = 9
                            9 x 2 + 0 = 18
                            18 x 2 + 1 = 37
                            37 x 2 + 1= 75
                            75 x 2 + 0 = 150
                          
15010 , Kenapa 150 menjadi berbasis 10? Karena angka 150 adalah Hasil Konversi Bilangan Biner yang berbasis 2 menjadi Bilangan Desimal yang Berbasis 10 jadi 15010 adalah Bilangan Desimal.
3.      Desimal ke Oktal
Soal : 5510
55 : 8 = 6 sisa 7
6 : 8 = 0 sisa 6
0 : 8 = 0 sisa 0
Jadi hasilnya  =  67
4.      Oktal ke Desimal
Soal : 678
= (6 x 81) + (7 x 80)
= 48 + 7
= 55
Jadi hasilnya  =  55



5.      Desimal ke Heksa
      Untuk mengkonversi sistem dari bilangan desimal ke heksadesimal yaitu dengan cara membagi bilangan desimal dengan 16 kemudian diambil sisa pembagiannya.
Soal : 9210
=  92 : 16 = 5 sisa 12                      12 = C
=  5 : 16 = 0 sisa 5
=  0 : 16 = 0  sisa 0
Jadi hasilnya  = 5C

6.      Heksa ke Decimal
       Cara untuk mengkonversi bilangan heksadesimal kedalam bentuk bilangan desimal. 
Langkah-langkah : 
Ø  Digit-digit dipisahkan. Dan jika terdapat huruf A-F menggantinya dengan bilangan desimal padananya
Ø  Mengalikan dari tiap digit terhadap nilai tempatnya.
Contoh Konversi
Soal : 5C
=  5 x 161 = 5 x 16 = 80
=  C x 160 = 12 x 1 = 12
80 + 12 = 92
Jadi hasilnya =  92

Kamis, 11 Juli 2013

SEJARAH DAN PENGERTIAN ALGORITMA

Algoritma berasal dari nama penulis buku, yakni Abu Ja’far Muhammad Ibnu Musa Al-Khwarizmi yang berasal dari Uzbekistan. Orang Barat menyebut Al-Khwarizmi dengan Algorism.

Pada saat itu, Al-Khwarizmi menulis buku dengan judul Al Jabar wal-Muqabala yang artinya 'Buku Pemugaran dan Pengurangan' (The book of Restoration and Reduction). Dari judul buku tersebut, kita juga memperoleh kata “aljabar” atau biasa dikenal dengan algebra.

Abu Abdullah Ibnu Musa al-Khawarizmi (770M-840M) lahir di Khawarizm (Kheva), kota yang berada di selatan Sungai Oxus (sekarang disebut Uzbekistan) pada 770 M. Al Khawarizmi merupakan salah satu ilmuan terkenal di zamannya. Ada beberapa cabang ilmu matematika yang berhasil ditemukannya, antara lain yang dikenal sebagai astronom dan geografer.
Awalnya, algoritma merupakan istilah yang merujuk kepada aturan-aturan aritmetis yang berguna untuk menyelesaikan persoalan dengan menggunakan bilangan numeric Arab.

Penggunaan Pertama
Pada 1950, algoritma pertama kali digunakan pada Algoritma Eucliden (Euclid Algorithm). Euclid sendiri merupakan seorang matemaitkawan Yunani yang lahir sekitar 350 SM. Euclid menulis buku yang berjudul Element.

Di dalam buku tersebut, dijelaskan langkah-langkah untuk menemukan pembagi bersama terbesar (common greatest divisor) dari dua bilangan bulat, yakni m dan n. Namun, Eucliden pada saat itu tidak menyebutkan bahwa cara yang digunakannya adalah metode algoritma. Hal tersebut baru disebut sebagai algoritma pada abad-abad modern.


Berapa Definisi Algoritma :
  1. Algoritma secara singkat merupakan prosedur yang berisi langkah-langkah penyelesaian masalah (Rinaldi Munir, Algoritma dan Pemprograman. 2011)
  2. Algoritma adalah deretan instruksi yang jelas untuk memecahkan masalah, yaitu untuk memperoleh keluaran yang diinginkan dari suatu masukan dalam jumlah waktu yang terbatas (Anany Levitin, Introduction to The Design and Analisys of Algorithms.2003)
  3. Algoritma adalah prosedur komputasi yang terdefinisi dengan baik yang menggunakan beberapa nilai sebagai masukan dan menghasilkan beberapa nilai yang disebut keluaran(Thomas H. Cormen, Abstract Data Types, 1989. Atau bisa disebuth juga sebagai deretan langkah komputasi yang mentransformasi masukan menjadi keluaran) (Thomas H. Cormen, Introduction to Algorithms. 1990)
  4. Algoritma adalah urutan langkah-langkah berhingga untuk memecahkan masalah logika atau matemaka (Microsoft Press Computer and Internet Dictionary, 1998).
Ciri Algoritma
Lima ciri yang harus dipunyai algoritma agar menjadi algoritma yang benar adalah sebagai berikut.
  1. Algoritma harus berhenti setelah mengerjakan langkah terbatas. Dalam hal ini, jika langkah-langkah yang ada telah dipenuhi dan telah dieksekusi, algortima haruslah berhenti.
  2. Setiap langkah harus didefinisikan agar tidak memiliki arti dua (ambiguous).
  3. Algoritma mempunyai nol atau lebih masukan (input).
  4. Algoritma mempunyai nol atau lebih keluaran (output).
  5. Algoritma haruslah efektif, yakni mempunyai langkah yang sederhana agar dapat dikerjakan dengan waktu yang efektif.
Sumber :