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 :