5/08/2013

Operasi dan Struktur Directory

Filled under:


Operasi Direktori

Silberschatz, Galvin dan Gagne mengkategorikan operasi-operasi terhadap direktori sebagai berikut:

Mencari Berkas
Mencari lewat struktur direktori untuk dapat menemukan entri untuk suatu berkas tertentu. berkas-berkas dengan nama yang simbolik dan mirip, mengindikasikan adanya keterkaitan diantara berkas-berkas tersebut.

Membuat berkas
Berkas-berkas baru perlu untuk dibuat dan ditambahkan ke dalam direktori.

Menghapus berkas
Saat suatu berkas tidak diperlukan lagi, berkas tsb perlu dihapus dari direktori.

Menampillkan isi direktori
Menampilkan daftar berkas-berkas yang ada di direktori, dan semua isi direktori dari berkas-berkas dalam daftar tersebut.           

Mengubah nama berkas
Nama berkas mencerminkan isi berkas terhadap pengguna. Oleh karena itu, nama berkas harus dapat diubah-ubah ketika isi dan kegunaannya sudah berubah atau tidak sesuai lagi. Mengubah nama berkas memungkinkan posisinya berpindah dalam struktur direktori.

Akses Sistem berkas
Mengakses tiap direktori dan tiap berkas dalam struktur direktori. Sangatlah dianjurkan untuk menyimpan isi dan stuktur dari keseluruhan sistem berkas setiap jangka waktu tertentu. Menyimpan juga dapat berarti menyalin seluruh berkas ke pita magnetik. Teknik ini membuat suatu cadangan salinan dari berkas tersebut jika terjadi kegagalan sistem atau jika berkas itu tidak diperlukan lagi.

Struktur Directory


a.       Direktori Satu Tingkat (Single Level Directory)
Struktur Direktori ini merupakan struktur direktori yang paling sederhana dimana berkas disimpan dalam direktori yang sama.

Direktori satu tingkat memiliki keterbatasan, yaitu bila berkas bertambah banyak atau bila sistem memiliki lebih dari satu pengguna. Hal ini disebabkan karena tiap berkas harus memiliki nama yang unik.

b.      Direktori Dua Tingkat (Two Level Directory)
Membuat direktori yang terpisah untuk tiap pengguna, yang disebut User File Directory (UFD). Ketika pengguna login, master directory berkas dipanggil. MFD memiliki indeks berdasarkan nama pengguna dan setiap entri menunjuk pada UFD pengguna tersebut. Maka, pengguna boleh
memiliki nama berkas yang sama dengan berkas lain.


c.       Direktori dengan Struktur Tree (Tree-Structured Directory)
Dalam struktur ini, setiap pengguna dapat membuat sub-direktori sendiri dan mengorganisasikan berkas-berkasnya. Dalam penggunaan normal, tiap pengguna memiliki apa yang disebut direktori saat ini. Direktori saat ini mengandung berkas-berkas yang baru-baru ini digunakan oleh pengguna.

Terdapat dua istilah, path (lintasan) relatif dan lintasan mutlak. Lintasan relatif adalah lintasan yang dimulai dari direktori saat ini, sedangkan lintasan mutlak adalah path yang dimulai dari root directory.


d.      Direktori dengan Struktur Graf Asiklik (Acyclic structured Directory)
Direktori dengan struktur tree melarang pembagian berkas/direktori. Oleh karena itu, struktur graf asiklik memperbolehkan direktori untuk berbagi berkas atau subdirektori. Jika ada berkas yang ingin diakses oleh dua pengguna atau lebih, maka struktur ini menyediakan fasilitas sharing.

e.       Direktori dengan Struktur Graf Umum
Masalah yang timbul dalam penggunaan struktur graf asiklik adalah meyakinkan apakah tidak ada siklus. Bila kita mulai dengan struktur direktori tingkat dua dan memperbolehkan pengguna untuk membuat subdirektori, maka kita akan mendapatkan struktur direktori tree. Sangatlah mudah untuk mempertahankan sifat pohon, akan tetapi, bila kita tambahkan sambungan pada direktori dengan struktur pohon, maka sifat pohon akan musnah dan menghasilkan struktur graf sederhana.

Posted By Kursus Digital Marketing9:48 PM

Definisi Directory

Filled under:


Beberapa sistem komputer menyimpan banyak sekali berkas-berkas dalam disk, sehingga diperlukan suatu struktur pengorganisasian data-data agar lebih mudah diatur. Sebuah direktori adalah komponen dari sistem berkas yang mengandung satu berkas atau lebih atau satu direktori lainnya atau lebih, yang disebut dengan subdirektori. Batasan jumlah berkas atau subdirektori yang dapat ditampung dalam sebuah direktori tergantung dari sistem berkas yang digunakan, meskipun sebagian sistem berkas tidak membatasinya (Wikipedia, 2013). Direktori adalah penamaan koleksi file dimana kita bisa mengelompokkan file-file tersebut. File direktori berisi data tentang file lain di direktori.
Direktori berisi nama file, jenis file, alamat di disk dimana file disimpan, dan ukuran file saat ini. Direktori juga berisi informasi tentang perlindungan file, dan mungkin juga berisi informasi tentang ketika file diciptakan dan ketika itu terakhir dimodifikasi. Struktur internal dari file direktori dapat dibentuk dalam berbagai cara. Namun, setelah itu sudah diatur, itu harus mampu mendukung operasi umum yang dilakukan pada file direktori. Misalnya, pengguna harus dapat membuat daftar semua file dalam direktori. Operasi umum lainnya adalah membuat, menghapus, dan mengubah nama file dalam sebuah direktori. Selanjutnya, direktori biasanya dicari untuk melihat apakah sebuah file tertentu dalam direktori.

Perbedaan Directory dan Folder
Directory merupakan sistem pengelompokkan data-data file pada pembagian ruang-ruang di dalam suatu media penyimpanan. Tujuan pembuatan direktori ialah agar suatu file dapat dikelompokkan pada file yang sejenis, sehingga lebih terorganisir dan mudah dicari. Sedangkan folder adalah sebuah icon yang bentuknya menyerupai tas/koper. Folder sebenarnya sama artinya dengan Directory dalam DOS, dan fungsinya juga sama untuk menyimpan dan mengorganisasikan file. Dengan adanya folder/direktori maka file-file dapat kita tata sehingga tidak terceceran disana-sini dan mudah dalam pencarian. Misalnya file-file laporan yang disimpan dalam sebuah folder yang diberi nama LAPORAN. Khusus untuk file-file game disimpan dalam sebuah folder GAME. Folder dapat kita buat pada Dekstop, Disket, FLASH Disk, Drive C, Drive D, atau pada lokasi lain yang sesuai dengan keinginan kita.

Posted By Kursus Digital Marketing9:39 PM

3/07/2013

Generate Bilangan Random LCG dengan Delphi

Filled under:

1. Berikut adalah tampilan awal aplikasi Generate Bilangan Random dengan teknik LCG.


2. Setelah diinputkan angka dari a, c, m, z0, dan n misalkan (4,7,15,3,8) maka setelah di generate hasilnya akan seperti terlihat pada gambar di bawah ini.

Posted By Kursus Digital Marketing11:14 AM

Generate Bilangan random dengan Delphi

Filled under:


Cara Generate Bilangan Random Pada Delphi

Random Function
Generate bilangan acak floating point atau integer.
1.  function Random : Extended;
2.  function Random ( LimitPlusOne : Integer ) : Integer;
Deskripsi
Random function menghasilkan bilangan-bilangan random. Dapat berupa Floating Point Number yaitu dalam kisaran :
0 <= Number < 1.0 
Atau berupa Integer number dalam kisaran :
0 <= Number < LimitPlusOne 
Delphi menggunakan generator bilangan pseudo acak yang selalu mengembalikan urutan nilai yang sama (232) setiap kali program berjalan.  Untuk menghindari prediktabilitas, gunakan Random prosedur. Ini mereposisi ke dalam urutan bilangan acak menggunakan waktu dalam hari sebagai seed pseudo random.

Contoh kode: Generate set bilangan floating point dan integer.
var
  float : single;
  int   : Integer;
  i     : Integer;

begin
    for i := 1 to 5 do
  begin
    float := 
Random;
    ShowMessage('float = '+FloatToStr(float));
  end;
  ShowMessage('');

  
// dapatkan angka integer random dalam rentang 1..100
  for i := 1 to 5 do
  begin
    int := 1 + 
Random(100);    // nilai 100 memberi rentang 0..99
    ShowMessage('int = '+IntToStr(int));
  end;
end;

Randomize Procedure
Reposisi generator bilangan acak nilai berikutnya.
procedure Randomize;
Deskripsi:
Prosedur Randomize digunakan dalam hubungannya dengan theRandom function. Ini mereposisi generator bilangan acak dalam urutan  232 pseudo random numbers. Randomize menggunakan waktu dalam hari sebagai seed untuk reposisi, sehingga harus menyediakan metode yang dapat diandalkan untuk menciptakan suatu urutan angka yang tak terduga, bahkan jika itu adalah bagian dari urutan yang telah ditentukan.

Contoh kode: Jalankan kode ini dua kali untuk melihat efek Randomize
var
  int   : Integer;
  i     : Integer;

begin
  // Jika run 2 x, hanya yang pertama 5 nilai
  // mereposisi menjadi bagian yang berbeda dari pseudo sequence

  // dapatkan integer random number dari rentang 1..100
  ShowMessage('Fixed first 5 random numbers');
  for i := 1 to 5 do
  begin
    int := 1 + Random(100);    // Nilai 100 memberikan kisaran 0..99
    ShowMessage('int = '+IntToStr(int));
  end;

  // randomize untu reposisi
  Randomize;
  ShowMessage('');

  // dapatkan bilangan integer random dalam rentang 1..100
  ShowMessage('Random next 5 numbers');
  for i := 1 to 5 do
  begin
    int := 1 + Random(100);    // nilai 100 memberi kisaran 0..99
    ShowMessage('int = '+IntToStr(int));
  end;
end;

RandomRange Function
Generate bilangan random integer dalam kisaran disediakan.
function RandomRange ( const RangeFrom, RangeTo : Integer ) : Integer;
Deskripsi
Fungsi RandomRange menghasilkan sejumlah Integer acak dalam rentang RangeFrom to RangeToinclusively. Ini memberikan versi yang lebih baik dari fungsi unitRandom Sistem. Keduanya menggunakan urutan nomor pseudo random dari 232 nilai. Setiap kali menjalankan program, nilai-nilai yang dihasilkan akan sama, kecuali jika reposisi generator untuk bagian yang berbeda dari urutan menggunakan fungsi Randomize orRandSeed.

Contoh kode: Generate bilangan random dalam rentang yang sangat kecil.
var
  i : Integer;
begin
  
// Tampilkan 5 angka acak dalam kisaran 652-656
  for i := 1 to 5 do
    ShowMessage('Random number : '+IntToStr(
RandomRange(652, 656)));
end;

RandSeed Variabel
Reposisi generator bilangan acak nilai berikutnya.
var RandSeed : LongInt;
Deskripsi:
Variabel RandSeed digunakan dalam hubungannya dengan theRandom function. Ini mengubah seed yang digunakan Delphi untuk menghasilkan jangkauan 232 pseudo random numbers.

Contoh kode: Jalankan kode ini dua kali untuk melihat efek RandSeed
var
  int   : Integer;
  i     : Integer;
  hours, mins, secs, milliSecs : Word;

begin
  
// dapatkan random numbers menggunakan nilai default random seed
  ShowMessage('Fixed first 5 random numbers');
  for i := 1 to 5 do
  begin
    int := 1 + Random(100);    
// nilai 100 memberikan kisaran 0..99
    ShowMessage('int = '+IntToStr(int));
  end;
  
// Sekarang mengubah random seed dengan nilai millisecond
  
// dari waktu saat ini
  DecodeTime(now, hours, mins, secs, milliSecs);
  ShowMessage('');
  ShowMessage('Setting randSeed to value : '+IntToStr(milliSecs));
  ShowMessage('');
  
RandSeed := milliSecs;

  
// dapatkan integer random number dalam kisaran 1..100
  ShowMessage('Random next 5 numbers');
  for i := 1 to 5 do
  begin
    int := 1 + Random(100);    
// nilai 100 memberi rentang 0..99
    ShowMessage('int = '+IntToStr(int));
  end;
end;

Posted By Kursus Digital Marketing12:40 AM

2/24/2013

Cara Penyelesaian Monte Carlo

Filled under:

Lima langkah simulasi Monte Carlo untuk mengetahui permintaan rata-rata Laptop per minggu dan pendapatan rata-rata PT IBM Indonesia, adalah sebagai berikut:
Langkah 1: Menetapkan distribusi probabilitas



Langkah 2:
Menghitung distribusi kumulatif

Langkah 3: Menetapkan suatu interval dari angka acak (random numbers) untuk masing-masing variabel. 


Langkah 4: Bentuk/pilih bilangan acak (generating random numbers). Kita telah memiliki tabel angka acak pada lampiran (Tabel 17.1) pilihlah salah satu bilangan acak (pemilihan ini bebas), misal kita memilih angka acak pada tabel 17.1 adalah adalah angka 39 maka
 Jadi pemilihan angka acak bebas, bila telah ditetapkan angka acak maka angka-angka selanjutnya adalah angka-angka yang berada pada satu kolom yang sama.

Kita tetapkan kembali bahwa pemilihan angka acak adalah 39 maka dengan mengulang pemilihan angka acak pada tabel 17.1 yang berada pada satu kolom yang sama kita dapat mensimulasikan permintaan untuk suatu periode waktu (langkah ke lima), sehingga langkah ke lima bila ditunjukan pada tabel berikut yaitu sebagai permintaan untuk 15 minggu berturut-turut adalah :


Hasil simulasi ini dapat disimpulkan:

Perkiraan permintaan rata-rata laptop = 31/15 = 2,07 per minggu

Perkiraan rata-rata pendapatan rata-rata PT IBM Indonesia = Rp 387.500.000/15 yaitu Rp 25.833.333,00 per minggu.

Posted By Kursus Digital Marketing4:02 PM

2/20/2013

Generate Bilangan Random

Filled under:

Metode untuk membangkitkan bilangan acak, misal:
◦ Metode Kongruen Campuran
◦ Metode Multiplikatif

Metode Kongruen Campuran

Rumus : Zi = (aZi-1 + c) mod m
◦ a : konstanta pengali ( a < m )
◦ c : konstanta pergeseran ( c < m )
◦ m : konstanta modulus ( > 0 )
◦ Z0 : bilangan awal ( bilangan bulat ≥ 0 , Z0 <m )
◦ Ui :bilangan acak ke i dan Ui(0,1) = Zi /m

Contoh:
- U17 mempunyai nilai yang sama dengan U1
- Jika kita menginginkan bilangan acak dalam jumlah yang banyak, maka nilai m hendaknya sebesar 2b  dengan b adalah jumlah bit pada komputer yang akan digunakan.

Metode Multiplikatif

Rumus : Zi = (aZi-1 ) mod m
◦ a : konstanta pengali
◦ m : konstanta modulus
◦ Z0 : bilangan awal
◦ Ui : bilangan acak ke i dan Ui(0,1) =Zi / m

Contoh:


Posted By Kursus Digital Marketing10:16 AM

Simulasi Monte Carlo

Filled under:

Simulasi Monte Carlo adalah metode yang digunakan dalam memodel dan menganalisa sistem yang mengandung resiko dan ketidak-pastian. Simulasi Monte Carlo merupakan bentuk simulasi probabilistik dimana suatu solusi dari suatu masalah diberikan berdasarkan proses randomisasi ( acak). Langkah-langkah metode monte carlo:
  1. Menetapkan/menentukan distribusi probabilitas untuk variabel-variabel penting.
  2. Menghitung distribusi kumulatif untuk tiap-tiap variabel pada langkah 1.
  3. Menetapkan suatu interval dari angka acak (random numbers) untuk masing-masing variabel.
  4. Bebtuk atau pilih bilangan acak (generating random numbers).
  5. Nyatakan barisan simulasi dari beberapa percobaan-percobaan.

Contoh Permasalahan
Manajer IBM Indonesia sedang memutuskan berapa jumlah Laptop yang harus dipesan setiap minggu. Salah satu pertimbangan utama dalam keputusan utama manajer tersebut adalah jumlah permintaan setiap minggunya. Laptop dijual dengan harga Rp 12.500.000,00. jumlah permintaan Laptop merupakan variabel acak (yang dianggap sebagai X) yang berkisar mulai dari 0 sampai 4 setiap minggu. Dari catatan yang tersedia, manajer telah menetapkan frekuensi permintaan Laptop untuk 100 minggu terakhir dan data itu adalah sebagai berikut:
Cara Penyelesaian kasus diatas klik DISINI

Aplikasi metode Monte Carlo
  1. Grafis, terutama untuk ray tracing
  2. Permodelan transportasi ringan dalam jaringan multi lapis / multi-layered tissues (MCML)
  3. Metode Monte Carlo dalam bidang finansial
  4. Simulasi prediksi struktur protein
  5. Dalam riset peralatan semikonduktor, untuk memodelkan transportasi pembawa arus
  6. Pemetaan genetik yang melibatkan ratusan penanda genetic dan analisis QTL

Ray Tracing
Simulasi prediksi Struktur Protein

Posted By Kursus Digital Marketing8:09 AM

2/10/2013

Pengantar Kuliah Pemrograman Simulasi

Filled under:

Postingan ini adalah sebuah tugas yang diberikan dosen awal kuliah pemrograman simulasi... pertama-tama sudah ada tugas? :D ya sudahlah...ini demi kebaikan kami, belajar lebih dulu sebelum diajarkan :D "tetap pergi demi sebuah cita2 dan kembali dengan penuh cinta pak..." kidding ;) check this out >>

Apa yang dimaksud dengan Pemrograman Simulasi?


Pengertian simulasi berbeda-beda antara yang satu dengan yang lain karena setiap orang dalam menjelaskan arti simulasi berbeda secara bahasa, tetapi intinya kurang lebih sama. Beberapa pengertian simulasi yang saya simak dari beberapa sumber diantaranya yaitu :
  • Simulasi adalah program (software) komputer yang berfungsi untuk menirukan perilaku sistem nyata yang memanipulasi sebuah model sedemikian rupa sehingga model tersebut bekerja dalam ruang dan waktu.
  • Simulasi adalah model dari suatu sistem, dimana sistem tersebut dimodelkan dengan sebuah software, dan ukuran numerik performansi diturunkan dari output.
  • Simulasi adalah suatu proses perancangan model dari suatu sistem nyata dan pelaksanaan eksperimen-eksperimen untuk memahami tingkah laku system.
  • Simulasi adalah suatu program komputer yang ditulis dalam suatu bahasa pemrograman (general purpose atau dedicated) dan memerlukan runtime yang terkadang besar.

Jadi pengertian pemrograman simulasi adalah suatu ilmu programming yang mempelajari tentang bagaimana memanipulasi sebuah model sedemikian rupa dari sebuah sistem nyata. Tujuan dari pemrograman simulasi adalah sebagai berikut :
  1. Untuk mempelajari perilaku sistem (behavior)
  2. Untuk pelatihan / training
  3. Untuk hiburan / permainan (game)

Kenapa Perlu Simulasi?

Apa pentingnya simulasi? Mengapa kuliah manajemen informatika memerlukan ilmu simulasi?

Karena banyak keputusan yang didasarkan pada asumsi. Siapa yang tahu apa yang akan terjadi pada masa mendatang? Apa yang bisa kita lakukan hanyalah melakukan prediksi.

Simulasi adalah proses perumpamaan bagaimana jika kejadian di masa depan itu terjadi seperti yang diasumsikan, hasilnya seperti apa. Proses ini dilakukan berkali-kali dengan mengubah-ubah variabel input. Tentunya hasilnya juga berubah-ubah.
Pada zaman dahulu, orang melemparkan dadu atau uang logam untuk melakukan simulasi peluang. Sekarang, komputer bisa menciptakan angka-angka yang benar-benar acak (random generator) dan bisa disuruh melakukan uji coba berkali-kali dengan sangat cepat.

Contoh lain adalah antrian bank. Pernahkan kita merasa mengantri begitu lama di bank???
disinilah ilmu simulasi dibutuhkan, yaitu bagaimana mengatur banyaknya nasabah bank agar antrian tidak penuh. Apakah disini menggunakan teknik LIFO dan FIFO?? mungkin akan diajarkan dalam proses pembelajaran selanjutnya... :) saya sendiri kurang tau.. :D

MS Excel, Crystall Ball, atau @RISK, bahasa pemrograman seperti JAVA, C++, dll hanyalah perangkat yang mampu membantu melakukan simulasi dengan cepat dengan laporan dan analisis yang sangat komprehensif. Jika kita telah mendapatkan ilmunya, dengan cara manual pun kita bisa melakukan simulasi dan meramal kejadian di masa depan secara akurat. Dengan adanya simulasi kebutuhan terhadap studi hanya dengan biaya yang murah (low cost) dan dapat melakukan verifikasi serta validasi.

Apa Keuntungan dan Kelemahan Simulasi?

Keuntungan :
  1. Simulasi merupakan salah satu metode yang mampu memberikan perkiraan system yang lebih nyata.
  2. Sebagai alternatif desain yang diusulkan.
  3. Memudahkan untuk mengontrol lebih banyak kondisi dari suatu percobaan sehingga dimungkinkan untuk dicoba diterapkan secara nyata pada system itu.
  4. Menyediakan sarana untuk mempelajari system dalam waktu yang lebih singkat, sehingga menghemat biaya.
  5. Dapat dihentikan dan dijalankan kembali, tanpa menimbulkan permasalahan pada system.

Kelemahan :
  1. Simulasi umumnya tidak dapat digunakan untuk mengoptimalkan. Simulasi hanya dapat menentukan alternatif desain suatu system yang lebih baik
  2. Sangat diperlukan kemampuan untuk mengembangkan model simulasi yang sesuai dengan permasalahan nyata
Contoh-contoh Implementasi Simulasi 
  
  1. Simulasi Traffic Jaringan
  1. Simulasi istem Transportasi

    3. Simulasi Pelatihan Pesawat oleh Pilot, astronot, dll

    4. Simulasi Sistem Antrian
   5. Simulasi Game PC yaitu :


Sekian artikel dari saya tentang pengantar kuliah pemrograman simulasi, semoga bermanfaat.. :D 
jangan lupa comment nya ya.. :D B)

Posted By Kursus Digital Marketing10:25 PM