Rabu, 15 Desember 2010

RandomGenerator Berbasis Java

Kelas RandomGenerator
java.lang.Object
|
+ - java.util.Random
|
+ - Acm.util.RandomGenerator
public class RandomGenerator extends Random

Kelas ini menerapkan simple random number generator yang memungkinkan nasabah untuk menghasilkan bilangan bulat pseudorandom, ganda, boolean, dan warna. Untuk menggunakannya, langkah pertama adalah mendeklarasikan variabel instan untuk memegang generator acak sebagai berikut:

swasta RandomGenerator rgen = RandomGenerator.getInstance ();

Bila Anda kemudian perlu untuk menghasilkan nilai acak, Anda memanggil metode yang sesuai pada variabel rgen.
Kelas RandomGenerator sebenarnya diimplementasikan sebagai perpanjangan ke kelas Random di java.util. Versi baru ini memiliki beberapa keuntungan atas asli:
Nama kelas menekankan bahwa objek adalah generator acak daripada nilai acak.
Kelas mencakup kelebihan versi nextInt dan nextDouble untuk menyederhanakan angka memilih dalam kisaran tertentu.
Metode ini nextBoolean kelebihan beban untuk memungkinkan spesifikasi probabilitas.
Kelas mencakup nextColor metode yang menghasilkan warna buram acak.

Pembuat Ringkasan
RandomGenerator ()
Membuat generator acak baru diinisialisasi sebagai titik awal yang tidak terduga.

Ringkasan Metode
RandomGenerator getInstance ()
Metode ini mengembalikan turunan RandomGenerator yang bisa dibagi di antara beberapa kelas.
boolean nextBoolean (p ganda)
Mengembalikan nilai boolean acak dengan probabilitas tertentu.
Warna nextColor ()
Menghasilkan buram acak Warna yang dipilih komponen seragam dalam kisaran 0-255.
dobel nextDouble (double rendah, double tinggi)
Mengembalikan bilangan real berikutnya acak dalam kisaran tertentu.
int nextInt (rendah int, int tinggi)
Mengembalikan integer acak berikutnya dalam kisaran tertentu.

Warisan Metode Ringkasan
boolean nextBoolean ()
Mengembalikan sebuah boolean acak yang benar 50 persen dari waktu.
dobel nextDouble ()
Menghasilkan d acak ganda dalam kisaran 0 ≤ d <1.
int nextInt (int n)
Menghasilkan integer acak k dalam kisaran 0 ≤ k < n .
kekosongan setSeed (biji panjang)
Menetapkan titik awal baru untuk generator urutan acak.

Constructor Detail

public RandomGenerator ()
Membuat generator acak baru diinisialisasi sebagai titik awal yang tidak terduga. Di hampir semua program, Anda ingin memanggil metode ini sekali untuk menghasilkan objek generator tunggal, yang kemudian digunakan setiap waktu yang Anda butuhkan untuk menghasilkan nilai acak. Jika Anda membuat beberapa generator acak berturut-turut, mereka biasanya akan menghasilkan urutan nilai yang sama.

Selama debugging, seringkali berguna untuk mengatur benih internal untuk pembangkit acak secara eksplisit sehingga selalu mengembalikan urutan yang sama. Untuk melakukannya, Anda perlu memanggil setSeed metode.

Penggunaan: RandomGenerator rgen = baru RandomGenerator ();

Metode Detail

public static RandomGenerator getInstance ()
Metode ini mengembalikan turunan RandomGenerator yang bisa dibagi di antara beberapa kelas.

Penggunaan: RandomGenerator rgen = RandomGenerator.getInstance ();
Pengembalian: Sebuah objek terbagi RandomGenerator


public boolean nextBoolean (double p)
Mengembalikan nilai boolean acak dengan probabilitas tertentu. Anda dapat menggunakan metode ini untuk mensimulasikan sebuah peristiwa yang terjadi dengan probabilitas tertentu. Sebagai contoh, Anda dapat mensimulasikan hasil dari melempar koin seperti ini:

String coinFlip = rgen.nextBoolean (0,5)? "KEPALA": "ekor";

Penggunaan: if (rgen.nextBoolean (p)). . .
Parameter: p Sebuah nilai antara 0 (mustahil) dan 1 (tertentu) menunjukkan probabilitas

Pengembalian: Nilai sebenarnya dengan probabilitas p


public Color nextColor ()
Menghasilkan buram acak Warna yang dipilih komponen seragam dalam kisaran 0-255.

Penggunaan: Warna color = rgen.newColor ()
Pengembalian: Sebuah buram acak Warna


public double nextDouble (double low, double high)
Mengembalikan bilangan real berikutnya acak dalam kisaran tertentu. Nilai yang dihasilkan selalu paling rendah tetapi selalu tegas kurang dari tinggi. Anda dapat menggunakan metode ini untuk menghasilkan nilai acak kontinu. Sebagai contoh, Anda dapat mengatur variabel-variabel x dan y untuk menentukan titik acak dalam unit persegi sebagai berikut:

double x = rgen.nextDouble (0.0, 1.0);
double y = rgen.nextDouble (0.0, 1.0);

Penggunaan: double d = rgen.nextDouble (rendah, tinggi)
Parameter: rendah Akhir rendah rentang
tinggi Akhir yang tinggi dari kisaran

Pengembalian: Sebuah nilai double d acak dalam kisaran rendah ≤ d

public int nextInt (int low, int high)
Mengembalikan integer acak berikutnya dalam kisaran tertentu. Sebagai contoh, Anda dapat menghasilkan gulungan mati enam sisi dengan menelepon

rgen.nextInt (1, 6);

atau desimal angka acak dengan menelepon

rgen.nextInt (0, 9);

Penggunaan: int k = rgen.nextInt (rendah, tinggi)
Parameter: rendah Akhir rendah rentang
tinggi Akhir yang tinggi dari kisaran

Pengembalian: Int random berikutnya antara dan tinggi, inklusif rendah

Model dan Simulasi

Sesungguhnya pengertian model yang digunakan dalam konteks ini tidak berbeda jauh dari pengertian sehari-hari yaitu contoh yaitu sesuatu yang mewakili atau menggambarkan yang dicontoh. Jadi model adalah contoh sederhana dari sistem dan menyerupai sifat-sifat sistem yang dipertimbangkan, tetapi tidak sama dengan sistem. Penyederhanaan dari sistem sangat penting agar dapat dipelajari secara seksama. Model dikembangkan dengan tujuan untuk studi tingkah-laku sistem melalui analisis rinci akan komponen atau unsur dan proses utama yang menyusun sistem dan interaksinya antara satu dengan yang lain. Jadi pengembangan model adalah suatu pendekatan yang tersedia untuk mendapatkan pengetahuan yang layak akan sistem tanaman. Model beperanan penting dalam pengembangan teori karena berfungsi sebagai konsep dasar yang menata rangkaian aturan yang digunakan untuk menggambarkan sistem.

Jenis Model
1. Model Matematik
Model matematik adalah salah satu jenis model yang banyak digunakan pada tanaman dan
dicirikan oleh persamaan matematik yang terdiri dari peubah dan parameter.
Sebagai contoh model matematik yang digunakan untuk menggambarkan tingkah-laku dari suatu sistem adalah perubahan jumlah air dalam bak sebagai akibat aliran air dari suatu ke bak lain

2. Model Kontinu dan Diskret
Model tanaman biasanya diklasifikasikan sebagai model kontinu yang dicirikan oleh peubah keadaan yang berubah secara perlahan dalam selang waktu yang relatif pendek dan tidak terbatas pada bilangan bulat (integer). Di lain pihak, model diskret adalah model dengan peubah yang menggambarkan keadaan sistem dengan bilangan bulat. Sebagai contoh, suatu model pengoperasian alat bongkar muatan biji dapat mensimulasi pembongkaran muatan truk dan jumlah yang menunggu untuk dibongkar. Model diskret biasanya membutuhkan informasi tentang waktu yang dibutuhkan untuk menyelesaikan kegiatan seperti pembongkaran muatan suatu truk. Sebaliknya, model kontinu membutuhkan informasi mengenai proses seperti tingkat aliran bahan atau energi di antara komponen dan di antara
komponen dengan lingkungan. Model diwakili oleh serangkaian persamaan diferensial yang diturunkan dari struktur sistem dan saling berhubungan di antara komponennya.

3. Model Empiris dan Mekanistik
Model empiris diperoleh biasanya dari pengalaman, seperti hasil pengamatan, dan digunakan untuk menggambarkan suatu atau sebagaian tingkah-laku sistem yang dipelajari. Sementara, model mekanistik mencoba memberikan deskripsi sistem berdasarkan pemahaman akan tingkah-laku dari sistem tersebut atau mekanisme yang dipertimbangkan.

4. Model Statis dan Dinamis
Model statis adalah model yang tidak melibatkan waktu sebagai peubah, sehingga perubahan sistem dengan waktu tidak diketahui. Karena hampir tidak ada aspek yang tidak berubah dengan waktu betapapun kecil tingkat perubahannya, suatu model statis hanya bersifat aproksimasi. Sakalipun demikian proksimasi yang sangat baik dapat diperoleh karena sistem yang dipelajari cukup mendekati keadaan setimbang (equilibrium), atau skala waktu dalam sistem sedemikian pendek dibandingkan dengan waktu dari lingkungan.

5. Model Deterministik dan Stokastik
Model deterministik adalah yang menghasilkan penaksiran kuantitas defenitif seperti hasil tanaman yang tidak disertai dengan informasi mengenai peluang. Ini dapat berlaku untuk kasus tertentu, tapi kurang memuaskan untuk kuantitas yang sangat bervariasi seperti curah hujan. Sebaliknya model stokastik mengandung unsur acak atau distribusi peluang, sehingga tidak hanya membuat penaksiran keluaran yang definitif tapi juga disertai dengan deviasi (variance).

6. Model Deskriptif
Suatu model deskriptif membatasi tingkah-laku atau tabiat suatu sistem dalam suatu cara sederhana, dan mengandung sedikit, jika ada, mekanisme yang menyebabkan tingkah-laku tersebut. Pembentukan dan penggunaan model agak bersifat langsung dan sering terdiri dari satu atau lebih persamaan matematik.
Suatu contoh persamaan demikian adalah yang diturunkan dari hasil pengamatan biomassa
tanaman dengan waktu

7 Model Eksplanatori
Suatu model eksplanatori terdiri dari deskripsi kuantitatif dari mekanisme dan proses yang menyebabkan tingkah-laku suatu sistem. Deskripsi ini merupakan pernyataan eksplisit (tegas) dari teori ilmiah dan hipotesis. Untuk menciptakan suatu model eksplanatori, suatu sistem dianalisis dan proses serta mekanismenya dikuantifikasi secara terpisah. Model dibangun dengan mengintegrasikan keseluruhan deskripsi dari sistem tersebut. Dalam pertumbuhan tanaman, model eksplanatori mengandung deskripsi berbagai proses seperti fotosintesis, perluasan daun dan pembentukan anakan.

SIMULASI
Simulasi  adalah  suatu  cara  untuk  menduplikasi/menggambarkan  ciri,  tampilan,  dan karakteristik dari suatu sistem nyata. Dalam mata kuliah ini kita mempelajari bagaimana 
untuk mensimulasi suatu sistem bisnis atau manajemen dengan membangun suatu model 
matematis yang diusahakan untuk mewakili kenyataan dari sistem sedekat mungkin. 
 
Ide awal dari simulasi adalah untuk meniru situasi dunia nyata secara matematis, kemudian mempelajari sifat dan karakter operasionalnya, dan akhirnya membuat kesimpulan dan membuat keputusan berdasar hasil dari simulasi. Dengan cara ini, sistem 
di  dunia  nyata  tidak  disentuh  /dirubah  sampai  keuntungan  dan  kerugian dari  apa yang
menjadi kebijakan utama suatu keputusan di uji cobakan dalam sistem model. 
 
Untuk menggunakan simulasi, hal‐hal yang perlu dilakukan adalah: 
1. Menentukan permasalahan 
2. Mengajukan variabel yang berhubungan dengan permasalahan 
3. Membangun model numeris 
4. Menentukan rangkaian kemungkinan aksi untuk percobaan 
5. Menjalankan eksperimen 
6. Mempertimbangkan hasil eksperimen(memodifikasi model atau merubah input) 
7. Memutuskan langkah yang akan diambil 

Keuntungan dan Kerugian Simulasi 
Keuntungan Simulasi 
1. Relative apa adanya dan fleksibel 
2. Dapat digunakan untuk mengangalisa situasi dunia nyata yang besar dan kompleks 
yang tidak dapat dipecahkan oleh model analisa kuantitatif konvensional. 
3. Kadangkala  simulasi  adalah  satu‐satunya  metode  yang  memungkinkan.  Peneliti 
kadangkala  karena  berbagai  sebab  tidak  bisa  mengobservasi  langsung  objek 
penelitiannya, maka perlu dilakukan simulasi. 
4. Model  simulasi  dibuat  untuk  problem  manajemen  dan  membutuhkan  input  dari 
manajemen. Analis yang mengerjakan model harus berhubungan secara ekstensif 
dengan  manajer,  ini  berarti  pengguna  biasanya  turut  serta  dalam  proses
pemodelan,  dan  mempunyai  peran  dalam  pembuatannya, sehingga  tidak  takut  / 
ragu untuk menggunakannya 
5. Simulasi  memungkinkan  adanya  pertanyaan  “bagaimana  jika  /  kalau?”  (what  if question) 
6. Simulasi tidak mengganggu sistem dunia nyata 
7.Dengan simulasi dapat dipelajari efek interaktif dari suatu komponen atau variabel 
individual untuk menentukan mana yang penting. 
8.Simulasi memungkinkan penghematan waktu 
9.Simulasi  dapat  mengikutsertakan  komplikasi  dunia  nyata  yang  model  kuantitatif pada umumnya tidak bisa. Pemakaian “ceteris paribus” bisa dikurangi.

Kerugian Simulasi 
1.Model simulasi yang baik mungkin akan sangat mahal. Biasanya merupakan proses 
yang panjang dan rumit 
2.Simulasi  tidak  menghasilkan  solusi  optimal  dari  permasalahan  seperti  teknik
analisa kuantitatif yang lain. 
3.Harus  dijalankan  semua  kondisi  dan  hambatan  untuk  mendapatkan  solusi  yang 
ingin diuji. Model simulasi tidak menghasilkan jawaban dengan sendirinya 
4.Tiap model simulasi adalah unik. Solusi dan kesimpulannya tidak dapat digunakan 
untuk permasalahan lain.