//iklan otomatis

GoJo pepPo

"ikatlah ilmu dengan menulisnya" salam,Gojo peppo

Thursday, 21 April 2011

Penjadwalan proses merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.

Konsep penjadwalan :
1. Faktor efisiensi
2. Faktor keadilan
3. Faktor kemudahan

Penjadwalan sejumlah proses yang dieksekusi secara bersama-sama itu terjadi pada saat multi programming, langkah-langkahnya sebagai berikut :
1. Ketika suatu proses berpindah dari running state ke waiting state
2. Ketika suatu proses berpindah dari running state ke ready state
3. Ketika suatu proses berpindah dari waiting state ke ready state
4. Pada saat proses sudah selesai dieksekusi


Langkah-langkah diatas dapat digambarkan sebagai berikut :

Pertimbangan pembuatan Algoritma penjadwalan :
  1. Turn Arround Time : Selang waktu antara suatu proses masuk antrian sampai proses tersebut dieksekusi
  2. Waiting Time : Total waktu suatu proses harus menunggu sebelum proses itu selesai dieksekusi
  3. Respon Time : Selang waktu sejak suatu proses masuk antrian sampai proses tersebut dilayani untuk pertamakalinya
  4. Fair Ness
  5. CPU Utilization

Algoritma yang digunakan dalam penjadwalan Proses :
1. FIFO (First In First Out) atau FCFS (First Come First Served)
2. SJF (Shortest Job First)
3. SRF (Shortest Remaining Time First)
4. RR (Round Robin)
5. Priority Scheduling


Contoh Kasus :
  1. Algoritma FIFO dan SJF
    Misalkan ada 3 proses yang dieksekusi secara multiprogramming. Diasumsikan ke tiga proses datang bersamaan tetapi dieksekusi dengan urutan sesuai index. Tentukan waktu tunggu rata-rata (Average Waiting Time/AWT), Turn Arround Time dan Respon Time!
     Proses   Burst Time 
    P1 24
    P2 3
    P3 3
    1. Buat Algoritma FIFO / FCFS
    2. Buat Algoritma SJF

    1. Grand Chart untuk Algoritma FIFO / FCFS
      A.W.T = P1 + P2 + P3 = (0 - 0)+(24 - 0)+(27 - 0) = 51 = 17 satuan waktu
                              3                                 3                   3
       Turn Arround Time   Respon Time 
      P1 = 24 P1 = 0
      P2 = 27 P2 = 24
      P3 = 30 P3 = 27

    2. Grand Chart untuk Algoritma SJF

      A.W.T = P1 + P2 + P3 = (6 - 0)+(0 - 0)+(3 - 0) = 9 = 3 satuan waktu
                              3                               3                 3
       Turn Arround Time   Respon Time 
      P1 = 30 P1 = 6
      P2 = 3 P2 = 0
      P3 = 6 P3 = 3

  2. Algoritma Shortest Remaining Time First (SRT)
    Ada empat buah proses dengan data :
     Proses   Arival Time   Burst Time 
    P1 0 8
    P2 1 4
    P3 3 9
    P4 4 5
    Tentukan A.W.T, Respon Time, Turn Arround Time dari masing-masing proses!

    Grant Chart SRF






    A.W.T = P1 + P2 + P3 = (10 - 0)+(1 - 0)+(18 - 3)+(5 - 4) = 266,5 satuan waktu
                            4                                      4                          4
     Turn Arround Time   Respon Time 
    P1 = 18 P1 = 10
    P2 = 5 P2 = 1
    P3 = 25 P3 = 18
    P4 = 10 P4 = 5

  3. Algoritma Round Ribon (RR)
    Prinsip Kerja :
    - Ditentukan Nilai Time Quantum-nya
    - Setiap selang Time Quantum diadakan pergantian pelayanan berdasarkan urutan index

    Ada empat buah proses dengan data :
     Proses   Burst Time 
    P1 6
    P2 5
    P3 4
    P4 3
    Tentukan A.W.T, Respon Time, Turn Arround Time dari masing-masing proses menggunakan Algoritma Round Robin dengan Time Quantum 2 satuan waktu. Asumsikan semua proses datang bersamaan!

    Grant Chart RR
    A.W.T = P1 + P2 + P3 + P4
                                 4
             = ((0–0)+(8–2)+(15–10))+((2–0)+(10–4)+(17– 2))+((4–0)+(12–6))+((6–0)+(14–8))
                                                                             4
             = 11 + 13 + 10 + 12
                           4
             = 46 = 11,5 satuan waktu
                 4
     Turn Arround Time   Respon Time 
    P1 = 17 P1 = 0
    P2 = 1 P2 = 2
    P3 = 14 P3 = 4
    P4 = 15 P4 = 6

Sunday, 17 April 2011

Saat kita bebicara mengenai Sitem Operasi (SO), kita akan berhadapan dengan 5 konsep awal  dalam Sistem Operasi yaitu 5W ( What, Who, Why, When, Which). Konsep 5W ini akan mengenalkan kita tentang sistem operasi mulai dari apa itu sistem operasi hingga pemilihan sistem operasi yang cocok dengan kita. Apa saja konsep 5W itu? Untuk mengenal lebih dekat mengenai Sistem Operasi, mari kita cari tahu bersama-sama konsep 5W itu.

Konsep 5W ( What, Who, Why, When, Which)

1. What
 What menayakan mengenai Apa itu SO (SistemOperasi)?
 Sebelum kita bebicara banyak tentang SO, kita terlebih dulu harus mengetahui arti dari Sistem Operasi itu sendiri. Sederhananya Sistem Operasi ialah Kumpulan program-program atau perangkat lunak yang mengatur sistem komputer secara keseluruhan. Jadi suatu sistem operasi harus mampu mengatur dan mengelola semua sumber daya yang terdapat pada sistem komputer sehingga antara hardware, software dan user dapat terhubung dengan baik dan juga sebuah sistem operasi harus menyediakan sekumpulan layanan (system calls) kepada user sehingga memedahkan dan menyamankan pengguna serta pemanfaatan sumber daya sistem komputer.

2. Who
 Who bukan menyakan mengenai siapa pemakai SO tersebut, tetapi Who menanyakan mengenai Siapa yang Membuat Sistem Operasi?
 Kita telah mengetahui bersama bahwa Widows merupakan Sistem Operasi yang paling terkenal di dunia bahkan mungkin anda sendiri sedang dan telah memakainya. Tapi tahukah anda siapa yang membuat Sistem Operasi Windows tersebut? Yang membuat Sistem Operasi Widows adalah seseorang yang bernama Bill Gates, dan merupakan termasuk orang terkaya di dunia karna hasil buatannya tersebut. Sistem Operasi lain yang tidak kalah terkenal adalah Sistem Operasi Linux, yang sangat terkenal dengan keamanan dan kestabilannya. Pencipta Linux adalah Linus Torvalds pada tahun 1991 tapi dia tidak termasuk di dalam orang terkaya di dunia, karna proyek linux ini merupakan proyek bersama atau Open Source. Masih banyak sistem operasi yang ada di dunia ini seperti Mac Os dari Apple dan lain-lain. Coba anda cari tahu sendiri siapa penciptanya.

3. Why
 Why menanyakan Mengapa anda Mengunakan SO?
 Saat anda memakai SO apakah anda pernah bertanya kepada diri anda sendiri, mengapa anda memakai SO? Dan apakah anda tahu jawabannya? Kita menggunakan SO untuk mempermudah tugas kita, seperti mengetik dan menghitung, karna itulah tujuan utama diciptakannya SO.


4. When
 When menanyakan Kapan SO ditemukan?
  Pada tahun 1991, Linus Trovald membeli PC pertamanya, dan dia tidak puas dengan SO MS-Dos pada komputernya. Akhirnya dia memutuskan untuk menciptakan versi yang bisa digunkan di PCnya dari UNIX. setelah versi kasar dari Linux diciptakan, dia memposting ke internet dan mendapat pendukung untuk mengembangkan Linux bersama-sama.


5. Which
 Which menanyakan Mana SO yang Paling Cocok dengan Tugas Kita?
 SO banyak bentuk dan fungsinya. Seperti windows, kita dapat menggunakan windows untuk mengetik, bermain game dan lain-lain. Bila kita menggunakan windows hanya unutk mengetik seperti halnya komputer yang digunakan di kantor-kantor, maka kita bisa menggunakan windows 98 saja, karna jika hanya unutk mengetik itu sudah lebih dari cukup. Sedangkan bila kita menggunakan komputer untuk dijadikan sebuah server, kita dapat menggunakan SO Linux, dan sebagainya.

Kita telah mengenal konsep 5W dalam Sistem Operasi, apakah anda sudah memahami dan mengerti apa itu Sistem Operasi? Setelah kita mempelajari konsep 5W kita akan mempelajari mengenai fungsi dan tujuan SO. Apa sajakah itu?

Fungsi Dasar SO
 Fungsi-fungsi pada sebuah sistem operasi :
 1. Sebagai jembatan atau penghubung antara hardware dan software
 2. Sebagai pengatur dan pengawas pengunaan perangkat keras oleh berbagai program aplikasi serta para pengguna
 3. Sebagai resource allocator, yaitu salah satu fungsi penting yang menjadikan SO sebagai program pengendali yang bertujuan unutk menghindari kekeliruan (error) dan penggunaan komputer yang tidak perlu

Layanan SO
 Menurut Tanenbaum SO harus memiliki layanan sebagai berikut :
 1. Pembuatan program
 2. Eksekusi program
 3. Pengakseaan I/O Device
 4. Pengaksesan terkendali terhadap berkas
 5. Pengaksesan sistem
 6. Deteksi
 7. Pemberian tanggapan terhadap kesalahan
 8. Akunting

Tujuan dan Sasaran SO
 1. Kenyamanan
     Membuat para pengguna komputer merasa nyaman dalam menggunakan SO
 2. Efisien
     Penggunan sumber daya komputer secara efisien
 3. Berevolusi/berkembang
     Sistem operasi harus dibangun sehingga memungkinkan dan memudahkan pengembangan, pengujian serta pengajuan sistem-sistem yang baru.

Jenis-jenis SO
 1. Menurut ukurannya
     Contohnya :
     DOS yang dapat muat dalam disket ukuran 1,4 Mb
     Windows dan Linux yang berukuran CD (700 MB)

 2. Menurut Tujuannya
     Komersial, seperti Windows
     NonKomersial, seperti Linux

 3. Menurut Kegiatannya
     Untuk Jaringan seperti Linux Fedora

Kategori
 1. Single User
     Satu komputer hanya dapat digunkan oleh satu User dalam satu waktu.

2. Single Tasking
     Satu komputer hanya dapat menjalankan satu program saja dalam satu waktu

 3. Multi User
     Satu komputer dapat digunakan oleh banyak pengguna

4. Multi Tasking
    Satu komputer dapat menjalankan banyak program dalam satu waktu

5. Single User – Multi Tasking
    Satu komputer hanya dapat digunakan oleh satu User tetapi dapat menjalankan banyak program dalam satu waktu.

6. Multi User – Single Tasking
   Satu komputer dapat digunakan oleh banyak User tapi hanya dapat menjalakan satu program dalam satu waktu.

 7. Multi User – Multi Tasking
    Satu komputer dapat digunakan oleh banyak pengguna dan dapat menjalankan banyak program dalam satu waktu.

Sejarah SO
 1. Generasi Pertama (1945 – 1955)
     - Awal perkembangan sistem komputasi
     - Elektronik : pengganti sitem komputasi mekanik

 2. Generasi Kedua (1955 – 1965)
     - Batch Processing System
     - Belum ada sistem operasi

 3. Generasi Ketiga (1965 – 1980)
     - Multi User
     - Multi Programming

 4. Generasi Keempat (Pasca 1980–an)
     - Jaringan komputer
     - Graphical User Interface
     - Komputer tersebar
     - Grid Computing

Wednesday, 13 April 2011

Pada kali ini saya akan membahas masalah tipe data yang dimiliki oleh Borland Delphi. Borland Delphi memiliki banyak tipe data, maka kita diharuskan untuk pandai-pandai memilih tipe data yang akan digunakan karna pemilihan tipe data yang tepat sangat berguna dalam penghematan penggunaan memori, kecepatan proses, ketelitian penghitungan, dan lain-lain.



Ada beberapa hal yang perlu diperhatikan dalam pemilihan tipe data :
1. Penggunaan Memori
Masing-masing tipe data memiliki perbedaan dalam hal penggunaan memori. Dalam hal ini usahakan menggunakan tipe data yang menggunakan memori yang kecil.
2. Ketelitian Perhitungan
Walaupun penghematan memori sangat penting diperhatikan, namun kebenaran dalam hal ketelitian penghitungan jauh lebih penting. Oleh karna itu gunakanlah tipe data yang sesuai dengan kebutuhan ketelitian penghitungan

@ Tipe Integer

Tipe Integer digunakan untuk bilangan bulat atau bilangan yang tidak memiliki angka decimal.
 Sub Tipe  Rentang Nilai  Byte 
 Byte  0 – 255 1
 Word  0 – 65535 2
 Shortint  -128 – 127 1
 Smallint  -32768 – 32767 2
 Integer  -2147483648 – 2147483647  4
 Cardinal  0 – 2147483647 4
 Longint  -2147483648 – 2147483647 4
 Longword  0 – 4294967295 4
Semakin besar rentangan nilai bilangan, semakin besar pula memori yang diperlukan.

@ Tipe Real

Tipe Real digunakan untuk bilangan yang memiliki angka decimal.
 Sub Tipe  Rentang Nilai  Byte 
 Real48 ± 2,9 x 10-39 – ± 1,7 x1038 6
 Single ± 1,5 x 10-45 – ± 3,4 x1038 4
 Double ± 5,0 x 10-324 – ± 1,7 x10308 8
 Extended ± 3,6 x 10-4951 – ± 1,1 x104932 10
 Comp ± -263 + 1 – ± 263 - 1 8
 Currency  -922337203685477,5808 – 922337203685477,5807  8
Keuntungan dari penggunaan tipe data Currency :
> Tipe data Currency mempunyai ketelitian yang cukup tinggi dalam menangani bilangan yang cukup besar.
> Tipe data Currency dipakai dalam CurrencyField dan komponen lain dan juga kompetibel dengan database yang menyatakan uang.

@ Tipe Boolean

Tipe Boolean digunakan untuk data logika yang hanya berisi True (Benar) dan False (Salah).
 Sub Tipe   Byte 
 Boolean 1
 ByteBool 1
 WordBool 2
 LongBool 4
Dari beberapa tipe yang ada disarankan untuk menggunakan tipe Boolean, sedangkan tipe yang lain hanya digunakan untuk menjaga kompatibilitas dengan program lain yang menggunakan tipe yang sama. Variabel tipe data Booleandapat menerima operator logika AND, OR, dan NOT.

@ Tipe Character

Tipe Charracter digunakan untuk menyatakan karakter satu huruf.
 Sub Tipe  Byte  Jumlah Maksimun 
 Char  1 1 Karakter ANSI
 AnsiChar  1 1 Karakter ANSI
 WideChar  2 1 Karakter Unicode


@ Tipe String

Tipe String digunakan untuk menyatakan sederetan karakter, seperti nama, alamat, kota dan lain-lain.
 Sub Tipe  Byte  Jumlah Maksimun 
 ShortString  2 – 256 256 Karakter
 AnsiString  4 Byte – 2 GB 231 Karakter
 String  255 Byte – 3 GB 231 Karakter
 WideString  4 Byte – 2 GB 230 Karakter
Tipe ShortString berfungsi untuk menyesuaikan kompatibilitas dengan versi sebelumnya, sedangkan AnsiString dan WideString dapat digunakan untuk menyimpan karakter Unicode.


@ Tipe Array

Array adalay suatu variable tunggal yang digunakan untuk menyimpan sekumpulan data yang sejenis. Anda dapat memanipulasi, menyalin array hanya dengan sebuah nama. Dalam tipe data array menggunakan namoe elemen di kanan nama array.
Contoh:
Var
  Hari : array[1..7] of string;
Begin
  Hari[1] :=’Senin’;
  Hari[2] :=’Selasa’;
  …
  …
  Hari[7] :=’Minggu’;
End;


@ Tipe Terbilang dan Subrange

Tipe Record digunakan untuk menyimpan sekumpulan data yang mungkin mempunyai tipe yang berbeda tetapi saling berhubungan. Elemen-elemen pada array mempunyai tipe yang sama, tetapi elemen-elemen pada record dapat mempunyai tipe yang berbeda.
Contoh:
Type
  RBarang=Record
    Kode : string[4];
    Nama : string[20];
    Harga : integer;
  End;
Var
  Barang : RBarang;
Begin
  Barang.Kode:=’TV01’;
  Barang.Nama:=’Televisi 20’;
  Barang.Harga:=1400000;
End;


@ Tipe Record

Tipe data tebilang dan subrange digunakan untuk menyatakan data berurutan yang bertipe sama. Tipe subrange adalah range dari nilai-nilai tertentu. Subrange harus mempunyai nilai terkecil dan terbesar.
Contoh penggunaan tipe data terbilang :
Type
  Hari=(Senin,Selasa,Rabu,Kamis,Jumat,Sabtu,Minggu);
Var
  NamaHari:Hari;
Contoh penggunaan tipe data Subrange :
Type
  Hari1=’Selasa’..’Jumat’;
  Huruf=’A’..’E’;
Var
  Nil_Hari:Hari1;
  Nil_Huruf:Huruf;
Tipe Hari1 dideklarasikan sebagai subrange nama hari antara ‘Selasa’ sampai dengan ‘Jumat’, tipe Huruf dideklarasikan sebagai subrange antara ‘A’ sampai ‘E’.


@ Procedure Increment dan Decrement

Procedure Increment dam Decrement menghasilkan program yang sudah dioptimalkan untuk proses penambahan dan pengurangan pada variable integer. Setelah dikompilasi, procedure inc( ) dan Dec( )  akan menghasilkan suatu perintah dalam bahasa mesin.
Perintah berikut akan menambah dan mengurangi variable dengan nilai 1.
Inc(variable);
Dec(variable);
Perintah berikut akan menambah dan mengurangi variable dangan nilai 5.
Inc(variable,5);
Dec(variable,5);


@ Tipe Varian

Tipe Varian adalah data yang tipenya tidak dapat ditentukan pada saat kompilasi, karena tipe varian dapat berubah-ubah saat aplikasi dijalankan.
Contoh :
Var
  V:Variant;
Begin
  V:=’Madcoms’; //Varian berisi data string
  V:=7;          //Varian berisi data integer
  V:=false;      //Varian berisi data boolean
Varian dapat diisi dengan semua tipe data sederhana, seperti integer, floating point, string, Boolean dan lain-lain. Varian dapat dipakai dengan menggunakan operator +. -. *, /, =, div, mod, shl, shr, and, or, xor, not, :=, <>, <, >, <=, dan >=.
Contoh :
Var
  V1,V2,V3:Variant;
Begin
  V1:=’1000’;    //Varian berisi data string
  V2:=’2000’;    //Varian berisi data string
  V3:=3000;      //Varian berisi data integer
  V1:=V1+V2+V3;
End;
Operasi pertama adalah V1+V2, karena kedua data bertipe string maka hasilnya adalah 10002000. Kemudian hasil tersebut diubah menjadi integer dan ditambahkan dengan V3, Sehingga hasilnya adalah bilangan bulat 10005000.


@ Tipe Himpunan

Tipe Himpunan atau set digunakan untuk menyimpan kunpulan nilai atau dapat dikatakn sebagai anggota himpunan yang bertipe sama.
Perintah berikut akan menambah dan mengurangi variable dengan nilai 1.
Type
  HimpAngka=set of integer;
Contoh diatas mendeklarasikan tipe HimpAngka sebagai himpunan dari integer. Dengan pendeklarasian ini anda bisa mendeklarasikan variable bertipe HimpAngka, seperti contoh dibawah ini :
Var
  Angka: HimpAngka;
Pemberian nilai pada tipe himpunan dilakukan dengan menuliskan anggota himpunan di dalam kurung siku.
Angka:=[1,2,3,4,5];
Pada contoh di atas variable angka memiliki lima anggota, yaitu bilangan 1, 2, 3, 4, 5.

Saturday, 2 April 2011

Delphi merupakan suatu bahasa pemrograman yang memberikan berbagai fasilitas pembuatan aplikasi visual. Keunggulan bahasa pemrograman ini terletak pada produktivitas, kualitas, software development, kecepatan kompilasi, pola desain yang menarik serta diperkuat dengan pemprogramannya yang terstruktur.
IDE atau Integrated Development Environment merupakan lingkungan kerja yang disediakan oleh Delphi untuk para user dalam mengembangkan proyek aplikasi. IDE dalam program Delphi (versi 7) terbagi menjadi delapan bagian utama : Main Menu, ToolBar, Componen Palette, Form Designer, Code Editor, Object Inspector, Code Explorer, dan Object Treeview.

Gambar IDE Delphi
Main Menu
 -
 ToolBar
 Memuat sejumlah icon keperluan pengoperasian cepat
Componen Palette
 Memuat sekumpulan representative icon berbagai komponen pada VCL (Visual Component Library)
Gambar Komponen Palette Delphi
Object Inspector
 Memuat tab property dan event
 Code Editor
 Tempat penulisan listing program
 Form Designer
 Tempat perancangan tampilan program
 Object TreeView
 Digram pohon berbagai komponen yang digunakan
 Code Explorer
 ~ Memudahkan pemakai untuk berpindah antar file unit
 ~ Memuat digram pohon yang mempresentasikan semua type, class,  property, method, global,  dan routine global variable yang telah didefinisikan di dalam unit

Tipe data yang dikenal dalam bahasa pemrograman Delphi antara lain adalah : integer, real, boolean, character, string, array, record, tipe terbilang dan subrange, increment dan decrement, varian, dan himpunan.
1. Integer
 Sub Tipe  Rentang Nilai  Byte 
 Byte 0 - 255 1
 Word 0 - 655352
 Shortint -128 – 1271
 Smallint -32768 – 327672
 Integer -2147483648 - 2147483647  4
 Cardinal 0 – 21474836474
 Longint -2147483648 - 21474836474
 Longword 0 – 42949672954


2. Real
 Sub Tipe  Rentang Nilai  Byte 
 Real48 ± 2,9 x 10-39 - ± 1,7 x1038 6
 Single ± 1,5 x 10-45 - ± 3,4 x10384
 Double ± 5,0 x 10-324 - ± 1,7 x103088
 Extended ± 3,6 x 10-4951 - ± 1,1 x10493210
 Comp -263 + 1  -  263 - 1 8
 Currency -922337203685477,5808 - -922337203685477,5807  8


3. Boolean
 Sub Tipe Byte 
 Boolean1
 Bytebool1
 Wordbool  2
 Longbool4


4. Character
 Sub Tipe Byte   Jumlah Maksimum 
 Char 1  1 karakter ANSI
 Ansichar11 karakter ANSI
 Widechar  21 karakter Unicode


5. String
 Sub Tipe 
Byte Jumlah Maksimum 
 Shortstring   2 - 256 256 karakter
 Ansistring 4 byte - 2 GB231 karakter
 String 255 byte - 3 GB  231 karakter
 Widestring 4 byte - 2 GB230 karakter


6. Array
Array adalah suatu variabel tunggal yang digunakan untuk menyimpan sekumpulan data yang sejenis.
Contoh :
Var a : array[1..7] of strings;



7. Record
Tipe data record digunakan untuk menyimpan sekumpulan data yang mungkin mempunyai tipe yang berbeda tetapi saling berkaitan. Elemen-elemen dalam array mempunyai tipe yang sama, tetapi elemen-elemen record dapat mempunyai tipe yang berbeda.
Contoh :
Type barang = record
 Kode : string[4];
 Nama : string[20];
 Harga : integer;
End;



Dalam melaksanakan proses pengolahan data, Delphi menyediakan berbagai operator dengan urutan atau derajat proses pengerjaan yang berbeda untuk beberapa operator yang dilibatkan pada suatu ekspresi matematis. Berikut ini adalah tabel derajat proses pengolahan data yang terdapat di dalam Delphi :
 Urutan 
Operator
 1  @, not
 2 *, /, div, mod, and, shl, shr, as 
 3+, -, or, xor
 4=, <, >, <=, >=, <>, in, is

Keterangan :


  1. Operator @ menghasilkan alamat variabel, function, procedure, atau method. @ mengkonstruksi pointer dengan operandnya.
  2. Operator as dan is menerima class dan instance objek sebagai operand; as bekerja pada interface dengan baik.
  3. Operator in merupakan operasi keanggotaan, contoh A in Himp1.