Thursday, October 13, 2011

Tugas Pemodelan Simulasi (Simulasi dengan Black Jack)

Pada pertemuan Pemodelan dan Simulasi kali ini diberikan materi tentang Simulasi dengan Distribusi Uniform. Beberapa contoh tentang distribusi uniform ini adalah simulasi dengan dua dadu, simulasi permainan dengan kartu black jack, simulasi random walk, dan simulasi bisnis.
Berikut akan diberikan contoh simulasi permainan black jack, nih power point dari dosen Pak Jusak yang mesti diselesaikan ^_^ :.















Berikut adalah peraturan permainan black jack yang akan disimulasikan :
1. Pemain terdiri atas 2 orang.
2. Awal mulanya setiap pemain mendapatkan 1 kartu terbuka.
3. Selanjutnya setiap pemian diperbolehkan mengambil 1 kartu lagi (nilai sekarang adalah penjumlahan antara nilai sebelumnya dan nilai dari kartu terbaru), demikian seterusnya sampai nilai yang didapatkan oleh setiap pemain mendekati angka 21 atau mencapai 21 (black jack).
4. Pemenang adalah pemain yang mendapatkan black jack pertama kali atau pemain yang mendapatkan nilai paling mendekati 21.
5. Pemain gugur apabila nilai yang didapatkan lebih besar dari 21 (busted).
6. Simulasi ini dilakukan sampai 15x permainan.
7. Pemain A mendapat kesempatan mengambil kartu terlebih dahulu.
8. Jika pemain A telah mendapat black jack maka pemain B tidak mendapatkan kesempatan mengambil kartu.
9. Jika pemain A dinyatakan gugur (busted), maka pemain B tidak berkesempatan mengambil kartu dan dinyatakan bahwa pemain B yang menang
10. Setelah 1 permainan selesai, maka posisi kartu kembali ke posisi semula yaitu sebanyak 52 kartu.
11. Kartu As bernilai 11, sedangkan kartu 2-10 bernilai sesuai angka tersebut. Kartu Jack, Queen, dan King bernilai 10.

Berikut adalah daftar nilai dari masing-masing kartu black jack :


























Dan berikut adalah penyelesaian dengan menggunakan Excell hasil simulasi 2 orang (Pemain A dan B) yang bermain kartu black jack dalam 15x permainan


























Oh ya, salah satu contoh rumus dalam menyelesaikan seperti pada tabel adalah :
Keterangan tabelnya :

Rep : adalah jumlah putaran permainan black jack, Sedangkan untuk kolom acak 1 dihasilkan dengan rumus pembangkitan bilangan acak pada Excell yaitu fungsi Rand(). Untuk kolom kartu dihasilkan dengan rumus : =1+INT(52*C18). angka 52 adalah jumlah kartu yang ada di bandar, dan akan berkurang satu persatu setelah para pemain mengambilnya. Untuk macam kartu saya ambil dengan rumus : S = 10((C(I)) – INT(C(I))). Bila S = 1 maka Clapper, S = 2 maka Diamond, S = 3 maka Heart, S = 4 maka Spade. Tapi untuk implementasi di Excell kita juga dapat dipermudah dengan rumus vlookup seperti ini : =VLOOKUP(D18,$N$19:$P$70,3). Oh ya ini keterangan dari rumus vlookup : vlookup(kolom kunci, range nilai yang akan diambil, trus jumlah kolom nilainya). Kolom nilai diisi sesuai dengan nilai masing-masing kartu sesuai dengan tabel nilai yang telah ada.
Simulasi ini sangat berguna untuk membantu dalam menganalisa respon dari sebuah sistem atau alur yang mungkin memiliki jumlah input yang sangat bervariasi.

Best quote :
"Banyak-banyaklah membaca maka kita akan tahu banyak hal dan banyak-banyaklah mencoba maka kita akan bisa"

Nama : Yurike Magdhalena
NIM : 09410100013
Jurusan : S1 Sistem Informasi
MK : Pemodelan dan Simulasi
Dosen : Dr. Jusak

NB : jangan lupa klik zoom saat melihat gambarnya biar tampak jelas (^o^)

Tuesday, October 11, 2011

Nama Kelompok 7 :
Deno (0941010005)
Yurike Magdhalena (09410100013)
Rakhmawati (09410100078)

Berikut adalah latihan soal fuzzy logic menggunakan metode MAMDANI
Soal : KASUS -1 : Suatu perusahaan SEPATU akan memproduksi jenis sport. Pada 3 bulan terakhir biaya produksi untuk sepatu jenis tersebut rata-rata sekitar Rp. 15.500,- per box, dan maksimum mencapai Rp. 100.000,- per box. Banyaknya permintaan per hari rata-rata mencapai 30000 box dan maksimum hingga mencapai 60000 box. Sampai saat ini, perusahaan baru mampu memproduksi barang maksimum 100000 box per hari. Apabila proses produksi perusahaan tersebut menggunakan 3 aturan Fuzzy sbb : [R1] IF Biaya produksi RENDAH and permintaan NAIK THEN produksi barang BERTAMBAH; [R2] IF Biaya produksi sesuai STANDAR THEN produksi barang NORMAL [R3] IF Biaya produksi TINGGI and Permintaan TURUN THEN Produksi Barang BERKURANG; Berapa jumlah sepatu jenis sport yang harus diproduksi, jika biaya untuk memproduksi jenis sepatu tersebut diperkirakan sejumlah Rp. 80.000,- per box, dan permintaan diperkirakan mencapai 25000 box per hari
KASUS-2; Suatu perusahaan alat elektronik setiap harinya mampu memproduksi DVD rata-rata 70000 keping. Setiap hari, rata-rata menerima permintaan juga sekitar 700000 keping, dan dalam 3 bulan terakhir permintaan tertinggi sebesar 95000 keping. Keping DVD yang masih tersedia di gudang, setiap harinya rata-rata 95000 keping sedangkan kapasitas gudang maksimum hanya dapat menampung 17000 keping. Apabila system produksinya menggunakan aturan Fuzzy sebagai berikut : [R1] IF permintaan TURUN and persediaan BANYAK THEN produksi barang = 30000; [R2] IF permintaan NAIK and persediaan SEDIKIT THEN produksi barang = 1,25 * permintaan persediaan; [R3] IF permintaan NAIK and persediaan BANYAK THEN produksi barang = permintaan persediaan; Tentukan berapa jumlah barang yang harus diproduksi hari ini jika permintaan sebanyak 72000 keping, dan persediaan yang masih ada di gudang sebanyak 10000 keping. Jawaban dari soal 1 dan 2 pada gambar berikut :

Thursday, September 29, 2011

Linear Congruential Generators

Metode dengan Dasar Bilangan Kongruen (Linear Congruential Generators)

Kebanyakan pembangkit bilangan acak modern menggunakan dasar bilangan kongruen. m adalah modulus dikatakan a & b adalah kongruen modulo m bila (a-b) merupakan perkalian m yaitu bila :
(a-b) = k*m dimana k adalah bilangan integer.
Pada umumnya hubungan ditulis dengan :






































Berikut adalah contoh rumus dengan tools microsoft Excell yang digunakan untuk menghasilkan ni : =MOD((($C$6*E6)+$C$7),32). Sedangkan untuk menghasilkan bilangan acak Ui(1,10) secara kontinyu adalah : =($C$10+($C$11-$C$10)*RAND()), dan untuk membangkitkan bilangan acak ui(1,10) secara diskrit adalah : =$C$10+INT((($C$11-$C$10)+1)*RAND())

Nama : Yurike Magdhalena
NIM : 09410100013
Mata Kuliah : Pemodelan dan Simulasi

Thursday, September 22, 2011

Tugas Sistem Pakar- Problem Space

Problem space adalah sesuatu model yang berbasis pengetahuan yang dapat membantu dalam menyelesaikan masalah dari problem awal hingga goal yang ingin dicapai dengan segala kemungkinan yang terjadi.


Berikut adalah problem space membuat program kalkulator.







Keterangan gambar : program kalkulator dibuat dengan menggunakan aplikasi Java. Sebelum menggunakan Java, harus menginstall terlebih dahulu JDK dan mengecek semua compatibility program Java-nya. Problem space ini hanya terbatas pada saat awal akan melakukan coding sampai pada coding dan program telah jadi (tidak bermasalah).

Nama Kelompok :
1. Yurike Magdhalena (09410100013)
2. Jeff Edwin (09410100006)
3. Denovasto (09410100005)

Monday, September 19, 2011

Tugas-2 Sistem Pakar: Rule-Based System

Sistem Berbasis Aturan (Rule-Based System)

Sistem berbasis aturan merupakan suatu sistem pakar yang menggunakan aturan-aturan untuk menyajikan pengetahuannya. Dengan kata lain, sistem berbasis aturan adalah suatu perangkat lunak yang menyajikan keahlian pakar dalam bentuk aturan-aturan pada satu domain tertentu untuk menyelesaikan suatu permasalahan.
Biasanya aturan ditulis seperti :

IF
(number-of-30-day-delinquencies > 4)
AND (number-of-30-day-delinquencies < 8) THEN increase mortgage rate by 1% Komponen Utama Sistem Berbasis Aturan
Program komputer memproses informasi tentang masalah khusus yang ada dalam Working Memori dan himpunan aturan dalam Knowledge Base dengan menggunakan mesin inferensi. Untuk membangun suatu sistem berbasis aturan diperlukan beberapa komponen yang secara umum dapat dilihat pada gambar :










Beberapa Manfaat Sistem Berbasis Aturan Di Berbagai Bidang
1. Pada bidang kesehatan
Yakni dengan menggantikan peran seorang dokter/ahli medis untuk mengidentifikasikan penyakit-penyakit tertentu dan dapat digunakan sebagai saran untuk pengobatan alternatif. Misalnya : sistem berbasis aturan untuk identifikasi infeksi saluran pernapasan akut, pada sistem ini akan dapat membantu user untuk memberikan informasi tentang infeksi saluran pernapasan akut dan bagaimana cara pengobatannya menggunakan obat-obat tertentu.
2. Pada bidang pertanian dan peternakan
Sistem berbasis aturan ini dapat digunakan sebagai pilihan/alternatif untuk manajemen perkiraan pada masa sekarang dan yang akan diusulkan, misalnya : sistem berbasis aturan untuk klasifikasi bunga, pada sistem ini digunakan untuk membantu mendefinisikan seperangkat aturan yang dapat mengklasifikasikan bunga dengan membaca karakteristik secara fisik

Keuntungan Rule-Based System
Beberapa manfaat dari sistem berbasis aturan adalah :
1. Meningkatkan output dan produktivitas.
2. Meningkatkan kualitas, dengan member nasehat yang konsisten dan mengurangi kesalahan.
3. Memudahkan akses ke pengetahuan.
4. Handal.
5. Mampu bekerja dengan informasi yang sedikit atau tidak pasti.
6. Fleksibel.
7. Meningkatkan kemampuan problem solving.

Kerugian Rule-Based System
Beberapa kerugian dari sistem berbasis aturan :
1. Pengetahuan yang hendak diambil tidak selalu tersedia.
2. Kesulitan mengabstraksi atau menjelaskan langkah dalam menyelesaikan maslaah.
3. User mungkin tidak bisa memanfaatkan sistem secara maksimal.
4. Alternatif yang diberikan tidak selalu benar adanya.

By : Yurike Magdhalena. NIM : 09410100013

Monday, September 12, 2011

Tugas-1 Sistem Pakar: Resume Konsep Dasar dan Heuristic Search

Tugas-1 Sistem Pakar : Resume Konsep Dasar dan Heuristic Search

Definisi Sistem Pakar
Menurut Marimin (1992), sistem pakar adalah sistem perangkat lunak komputer yang menggunakan ilmu, fakta, dan teknik berpikir dalam pengambilan keputusan untuk menyelesaikan masalah-masalah yang biasanya hanya dapat diselesaikan oleh tenaga ahli dalam bidang yang bersangkutan. Dengan kata lain, sebuah sistem pakar merupakan suatu sistem yang berusaha mengadopsi pengetahuan manusia ke komputer agar komputer dapat menyelesaikan masalah seperti para ahli.

Sistem pakar merupakan cabang dari Artificial Intelligence (AI) yang cukup tua karena sistem ini telah mulai dikembangkan pada pertengahan tahun 1960. Sistem pakar yang muncul pertama kali adalah General-purpose problem solver (GPS) yang dikembangkan oleh Newl dan Simon.

Suatu sistem dikatakan sistem pakar apabila memiliki ciri-ciri sebagai berikut (Kusumadewi, 2003) :
1. Terbatas pada domain keahlian tertentu.
2. Dapat memberikan penalaran untuk data-data yang tidak pasti.
3. Dapat mengemukakan rangkaian alasan-alasan yang diberikannya dengan cara yang dapat dipahami.
4. Berdasarkan pada kaidah atau rule tertentu.
5. Dirancang untuk dikembangkan secara bertahap.
6. Keluarannya atau output bersifat anjuran.

Adapun banyak manfaat yang dapat diperoleh dengan mengembangkan sistem pakar, antara lain (Kusumadewi, 2003) :
1. Masyarakat awam non-pakar dapat memanfaatkan keahlian di dalam bidang tertentu tanpa kesadaran angsung seorang pakar.
2. Meningkatkan produktivitas kerja, yaitu bertambahnya efisiensi pekerjaan tertentu serta hasil solusi kerja.
3. Penghematan waktu dalam menyelesaikan masalah yang kompleks.
4. Memberikan penyederhanaan solusi untuk kasus-kasus yang kompleks dan berulang-ulang.
5. Pengetahuan dari seorang pakar dapat dikombinasikan tanpa ada batas waktu.
6. Memungkinkan penggabungan berbagai bidang pengetahuan dari berbagai pakar untuk dikombinasikan.

Selain banyak manfaat yang diperoleh, ada juga kelemahan pengembangan sistem pakar, yaitu (Kusumadewi, 2003) :
1. Daya kerja dan produktivitas manusia menjadi berkurang karena semuanya dilakukan secara otomatis oleh sistem.
2. Pengembangan perangkat lunak sistem pakar lebih sulit dibandingkan dengan perangkat lunak konvensional.

Komponen Sistem Pakar
Untuk membangun sebuah sistem pakar, maka komponen komponen dasar yang harus dimiliki adalah sebagai berikut :
a. Antar muka pemakai (User Interface)
b. Basis pengetahuan (Knowledge Base)
c. Mesin inferensi

Metode Inferensi
Metode inferensi adalah program komputer yang memberikan metodologi untuk penalaran tentang informasi yang ada dalam basis pengetahuan dan dalam workplace, dan untuk memformulasikan kesimpulan (Turban, 1995).

Terdapat 2 pendekatan untuk mengontrol inferensi dalam sistem pakar berbasis aturan, yaitu pelacakan ke belakang (backward chaining) dan pelacakan ke depan (forward chaining). Backward chaining adalah pendekatan yang pelacakannya dimulai dari tujuan, selanjutnya dicari aturan yang memiliki tujuan tersebut untuk kesimpulannya. Sedangkan, metode forward cahining adalah pendekatan yang pelacakannya dimulai dari informasi masukan, dan selanjutnya mencoba menggambarkan kesimpulan.

Metode forward chaining :

Metode backward chaining :

Heuristic Searching
Merupakan suatu strategi untuk melakukan proses pencarian state space suatu problema secara selektif, yang memandu proses pencarian yang kita lakukan di sepanjang jalur yang memiliki kemungkinan sukses paling besar, dan mengesampingkan usaha yang bodoh dan memboroskan waktu.
Heuristic adalah sebuah teknik yang mengembangkan efisiensi dalam proses pencarian, namun dengan kemungkinan mengorbankan kelengkapan (completeness).

Jenis-Jenis Heuristic Searching
1. Best First Search
Pada metode ini kita memilih node-node dengan menerapkan fungsi heuristic yang memadai pada setiap node/simpul yang kita pilih dengan menggunakan aturan-aturan tertentu untuk menghasilkan penggantinya.
2. Depth First Search
Yakni metode dengan melakukan pencarian secara preorder. Mengunjungi anak suatu simpul sebelum simpul tetangganya. Berkaitan dengan mesin pencari, depth first search ini cenderung mengindeks dokumen berdasarkan suatu link.
3. Hill Climbing
Merupakan salah satu variasi metode generate and test dimana umpan balik yang berasal dari prosedur uji digunakan untuk memutuskan arah gerak dalam ruang pencarian (search).
4. Branch and Bound Search
Pada algoritma B&B, pencarian ke simpul solusi dapat dipercepat dengan memilih simpul hidup berdasarkan nilai ongkos (cost). Setiap simpul hidup diasosiasikan dengan sebuah ongkos yang menyatakan nilai batas (bound). Simpul hidup yang menjadi simpul-E ialah simpul yang mempunyai nilai batas terkecil (strategi pencarian berdasarkan biaya terkecil (least cost search).
5. A* Search

NIM : 09410100013, nama : Yurike Magdhalena

Monday, November 29, 2010

RESUME KULIAH PEMROGRAMAN BERORIENTASI OBJEK PERTEMUAN KE – 10 (23 November 2010)

NIM : 09.41010.0013
Nama : Yurike Magdhalena


FreqArray → letterfreq adalah frekuensi untuk menampung nilai suatu variabel array yang telah dideklarasikan nilainya terlebih dahulu pada awal sebuah program, yang masing-masing dapat diset nilainya, misalnya letterFreq (5)
Letter : a, b, c, d, e
Freq : 0,0,0,0,0
Freq dapat diubah dengan decreement (++) atau increement (--). Nilai awalnya adalah 0
misalnya :
int[] counters = new int['z'-'a'+1]; // hold counts here
...
char x = ... // the char to be counted
...
counters[x - 'a']++; // count occurances of char in x
Reply With Quote

contoh program :
import java.io.File;
import java.util.*;
import java.io.*;

public class LetterFrequency
{

public static void main(String[] args )
{
char[] capital = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J','K', 'L', 'M', 'N',
'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};

char[] small = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };

Scanner scan;
try {
scan = new Scanner(new File("C:\\Users\\user\\Documents\\abc.txt"));
} catch (Exception e) {
System.out.println("File not found");
return;
}
int[] count = new int[26];
while(scan.hasNextLine()) {
String line = scan.nextLine();
System.out.println("Line read: " + line);
char[] digit = line.toCharArray();
for(int i = 0; i < digit.length; i++) { for(int j = 0; j < 26; j++) { if(digit[i] == capital[j] || digit[i] == small[j]) { count[j]++; break; } } } } for (int i = 0; i < 26; i++) { System.out.print(" " + capital[i]); System.out.println(" " + count[i]); } } } contoh lain : private void countCharFreq(String line){ int [] charFrequency = new int[26]; //default values: 0 char letter; for(int i = 0; i < line.length(); ++i){ letter = line.charAt(i); if(letter >= 97 && letter <= 122){
++charFrequency[letter - 97];
}
}
char c;
for(int i = 0; i < 26; ++i){
c = i + 97; //not sure if this is how to do this but u get idea
display.append(c + " count: " + charFrequency[i] + " ");
}
}

Monday, November 15, 2010

RESUME KULIAH PEMROGRAMAN BERORIENTASI OBJEK PERTEMUAN 8 (9 NOVEMBER 2010)


NIM : 09410100013
Nama : Yurike Magdhalena

ARRAY LIST

ArrayList mendukung array dinamis yang dapat digunakan sesuai dengan kebutuhan. Di Java, array standar memiliki panjang yang tetap. Setelah array dibuat, tidak bisa bertambah atau berkurang, yang berarti bahwa anda harus mengetahui terlebih dahulu berapa banyak elemen array akan dibuat. Tapi, kadang-kadang, kita mungkin tidak tahu persis sampai run time  berapa besar array yang kita butuhkan.  Untuk mengatasi hal ini, kita perlu membuat kerangka agar  ArrayList dapat dibuat dan dijalankan sesuai dengan apa yang kita butuhkan.   ArrayList secara dinamis dapat menambah atau mengurangi ukuran. Array lists are created with an initial size. daftar Array diciptakan dengan ukuran awal. Ketika objek dihapus, array mungkin akan berkurang/menyusut.
ArrayList memiliki konstruktor yang ditampilkan dengan:
ArrayList ()
ArrayList(Collection c )
ArrayList(int capacity )
Construktor pertama membangun daftar array yang kosong. Construktor kedua membangun sebuah daftar array yang diinisialisasi dengan koleksi elemen c. Sedangkan construktor ketiga membangun daftar array yang memiliki kapasitas awal yang telah ditetapkan. Kapasitas adalah ukuran dari array dasar yang digunakan untuk menyimpan elemen. The capacity grows automatically as elements are added to an array list. Kapasitas yang berkembang secara otomatis sebagai elemen akan ditambahkan ke dalam ArrayList.

Class Collections
  java.util.Collections

public class Collections extends Object
Class ini terdiri dari metode statis yang beroperasi pada atau return collections. Class ini berisi algoritma polymorphic yang beroperasi pada collections, " wrappers ", yang mengembalikan collection yang baru didukung dengan collection tertentu, dan beberapa kemungkinan lainnya.
Metode kelas ini semua merujuk pada NullPointerException jika collection diberikan kepada methods yang null.

Interface Comparator
All Known Implementing Classes:

public interface Comparator
Fungsi Comparator, yang menetapkan total pesanan pada beberapa koleksi objek. Comparators can be passed to a sort method (such as Collections.sort ) to allow precise control over the sort order. Comparator dapat dikirimkan ke method semacam (seperti Collections.sort) untuk memungkinkan kontrol yang lebih tepat dan terurut. Comparator juga dapat digunakan untuk mengontrol urutan struktur data tertentu (seperti TreeSet atau TreeMap).

Saturday, October 9, 2010

RESUME PEMROGRAMAN BERORIENTASI OBJEK PERTEMUAN VI (5 OKTOBER 2010)

Nama : Yurike Magdhalena
NIM : 09410100013

RESUME PEMROGRAMAN BERORIENTASI OBJEK PERTEMUAN VI (5 OKTOBER 2010)

Design Pattern : yaitu bagaimana cara kita agar dapat menghasilkan pola yang baik. Design pattern untuk object-oriented biasanya menunjukkan relasi dan interaksi antar kelas dan objek, tanpa menjelaskan kelas dan objek akhir yang terlibat dalam sebuah aplikasi. Design pattern merupakan penjelasan atau template yang menunjukkan bagaimana cara menyelesaikan sebuah masalah yang kemudian dapat digunakan di berbagai situasi yang berbeda-beda.
- Proxy : adalah server yang berfungsi mewakili request yang ingin diteruskan ke Internet, sehingga jika ada request yang tidak diperbolehkan oleh proxy server yang memang sudah diatur agar tidak me-redirect beberapa request ke Internet, maka akan langsung diputuskan oleh proxy server.
- Factory

Anti Pattern : adalah pola yang mungkin umum digunakan tetapi tidak efektif dalam prakteknya.
Overloading : adalah suatu keadaan dimana beberapa method memiliki nama yang sama tetapi fungsionalitasnya berbeda.

Ciri Overloading :
– Nama method harus sama
– Daftar parameter harus berbeda
– Return type boleh sama, boleh berbeda

Overriding : class turunan membuat method yang sama persis dengan yang diatsnya. Overriding menyatakan suatu keadaan dimana method pada subclass menolak method pada parent class-nya.

Ciri dari overriding :
– Nama method harus sama
– Daftar parameter harus sama
– Return type harus sama

Sunday, October 3, 2010

RESUME PEMROGRAMAN BERORIENTASI OBJEK PERTEMUAN V (28 September 2010)


Nama : Yurike Magdhalena
NIM : 09410100013

RESUME PEMROGRAMAN BERORIENTASI OBJEK PERTEMUAN V (28 September 2010)

Review part 4 :
-          Destructor : utuk menjalankan objek sebelum objek hilang dari memori. Merupakan negasi (~) dari constructor.
-          Contoh : class coin ()
Coin()
~ Coin → (merupakan destructor)
Method overloading :
       Method overloading digunakan untuk membuat beberapa fungsi (method) dengan nama yang SAMA dan mengerjakan tugas yang MIRIP. Tujuannya, agar pembuat program tidak kesulitan dalam mengingat sebuah fungsi yang tugasnya mirip. Misalnya untuk membuat fungsi perkalian.
-          Dua atau lebih method dengan nama yang sama
-          Masing-masing dibedakan dengan jumlah parameternya
Untuk membuat method overloading diperlukan setidaknya satu dari tiga syarat di bawah ini:
  • mempunyai jumlah argumen berbeda.
  • mempunyai tipe data argumen yang berbeda.
  • mempunyai urutan argumen yang berbeda.

PERLU DIINGAT!!!
Seringnya programmer melakukan kesalahan ketika membuat method overloading adalah dengan membuat daftar parameter yang sama dengan return type (nilai balik) yang berbeda. Hal ini menghasilkan SYNTAX ERROR.
Contoh yang salah:
// return type: int
int hitungUmur(int umur)
{
return umur + 2;
}
// return type: void
void hitungUmur(int umur)
{
cout<<”umur siswa setelah lulus kuliah= “<<umur+2;
}
SYNTAX ERROR. Method tidak dapat di-overload karena mempunyai jumlah argumen yang sama dengan tipe data yang sama.

Contoh program :
Public class Test Case Koin{
String MataUang;
Int nilai;
Public static void main (String [] a){
Boolean test 1 = k4.tambah (k3);
Boolean test 2 = k2.tambah (k1);
Boolean test 3 = k1.tambah (k0);
Boolean test 4 = k2.tambah (k0);
System.out.println (test 1? “DONE” +k4 : “FAIL”);
System.out.println (test 2? “DONE” +k2 : “FAIL”);
System.out.println (test 3? “DONE” +k1 : “FAIL”);
System.out.println (test 4? “DONE” +k2 : “FAIL”);
}
}
  

Friday, September 24, 2010

RESUME PEMROGRAMAN BERORIENTASI OBJEK PERTEMUAN IV (21 SEPTEMBER 2010)

NIM : 09410100013
Nama : Yurike Magdhalena


RESUME PEMROGRAMAN BERORIENTASI OBJEK PERTEMUAN IV (21 SEPTEMBER 2010)

Method / operation berperan sebagai manager, artinya dialah yang berperan mengatur bagaimana sebuah objek erbentuk dan bagaimana sebuah objek akan dihancurkan.
Sebagai manager operation dibedakan menjadi 2, yaitu :

- Constructor : Dalam pemrograman berorientasi obyek, sebuah construktor dalam sebuah class adalah tipe khusus dari subrutin yang disebutkan pada saat penciptaan objek. Untuk mempersiapkan objek baru untuk digunakan, seringkali menerima parameter yang digunakan konstruktor untuk menetapkan variabel yang diperlukan setiap anggota ketika objek pertama kali diciptakan.
Ciri-cirinya :
1. Tidak mengembalikan nilai (tidak memiliki return value)
2. Namanya sama dengan nama class
3. Bisa lebih dari 1
4. Ada public-private protected
5. Harus diletakkan pada public class
6. Constructor dijalankan dengan sendirinya pada saat objek diciptakan, bahkan constructor dijalankan sebelum fungsi main() dijalankan

- Constructor overloading : memiliki lebih dari 1 constructor (tetapi jumlah parameternya berbeda).

- Destructor : adalah metode yang dipanggil otomatis ketika objek dihancurkan. Tujuan utamanya adalah untuk membersihkan dan untuk membebaskan sumber daya (resource )yang diperoleh oleh objek di sepanjang siklusnya. Destructors biasanya digunakan untuk deallocate memori dan melakukan pembersihan lainnya untuk objek kelas dan anggota kelas pada saat objek dihancurkan. destruktor disebutkan untuk kelas objek ketika objek yang berlalu keluar dari ruang lingkup atau secara eksplisit dihapus.
Ciri-cirinya :
1. Tidak mengembalikan nilai (tidak memiliki return value)
2. Namanya sama dengan nama class
3. Diawali dengan tilde symbol (~)
4. Harus diletakkan pada public class
5. Destructor akan dijalankan dengan sendirinya pada saat objek akan hilang

.

Saturday, September 18, 2010

RESUME KULIAH PEMROGRAMAN BERORIENTASI OBJEK PERTEMUAN III (14 September 2010)

Nama : Yurike Magdhalena
NIM : 09410100013

RESUME KULIAH PEMROGRAMAN BERORIENTASI OBJEK PERTEMUAN III (14 September 2010)

Operation : dalam sebuah class disebut juga method. Biasanya juga disebut prosedur / function. Sebuah operation terdiri dari :
-          Nama operation : nama sebuah operation yang akan dijalankan
-          Parameter : merupakan masukan (sesuatu yang akan diolah). Parameter bersifat relatif, parameter bisa ada, bisa juga tidak, dan sebuah parameter bisa diberikan lebih dari 1.
Contoh : int tambah (int a, int b). (int a, int b merupakan parameter)
-          Return type : output apa yang akan dihasilkan oleh sebuah operation
Contoh : void System.out.println (“Hello”);
                  Float random = Math.random();
Keterangan :
-          void merupakan return value
-          println merupakan nama operation
-          float dan Math merupakan return type
-          random merupakan operation


Tuesday, September 7, 2010

RESUME PEMROGRAMAN BERORIENTASI OBJEK PERTEMUAN II (7 SEPTEMBER 2010)

NAMA : YURIKE MAGDHALENA
NIM : 09410100013


Operations : Sebuah objek memiliki data (yang direpresentasikan sebagai sekumpulan atribut) dan algoritma-algoritma yang memproses data tersebut. Algoritma-algoritma inilah yang disebut operasi (operations), metoda (methods) atau layanan (services). Setiap operasi yang dimiliki oleh sebuah objek merupakan representasi dari sebuah sifat objek.

Mata Uang

Keterangan :
1. Jenis menunjukkan jenis mata uang apakah rupiah atau yuan atau lain sebagainya.
2. Nilai menunjukkan besarnya nilai mata uang.

Saturday, September 4, 2010

RESUME KULIAH PEMROGRAMAN BERORIENTASI OBJEK PERTEMUAN I (31 AGUSTUS 2010)


Nama : Yurike Magdhalena 
NIM : 09410100013

RESUME KULIAH PEMROGRAMAN BERORIENTASI OBJEK
PERTEMUAN I (31 AGUSTUS 2010)

Tujuan mempelajari Object Oriented adalah karena everything is object, bahasa pemrograman dan modular.
Pemrograman berorientasi objek (object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalamnya dikelompokkan dalam kelas-kelas atau objek-objek. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih mudah dalam mengubah program, dan dapat digunakan luas dalam teknik piranti lunak skala besar. OOP lebih mudah dipelajari bagi pemula dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
Pemrograman berorientasi-objek menekankan konsep berikut:
  • Class — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebuah class terdiri dari nama class, atribute, dan operation. Ketiga subclass tersebut masih terdiri dari subclass-subclass lagi. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
  • Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehny dan  kemampuan untuk memfokuskannya pada inti. Proses, fungsi atau metode dapat dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
  • Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya pemilik program yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
  • Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim.
  • Inheritance- Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa harus mengimplementasi ulang perilaku tersebut.
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. 


Intisari :