Showing posts with label Programming. Show all posts
Showing posts with label Programming. Show all posts


Framework : Koleksi atau kumpulan potongan-potongan program yang disusun atau diorganisasikan sedemikian rupa, sehingga  dapat digunakan untuk membantu membuat aplikasi utuh tanpa harus membuat semua kodenya dari awal.

—Framework adalah kumpulan fungsi (libraries), sehingga seorang programmer tidak perlu lagi membuat fungsi-fungsi (biasanya disebut kumpulan library) dari awal, programmer tinggal memanggil kumpulan library atau fungsi yang sudah ada didalam framework, tentunya cara menggunakan fungsi-fungsi itu sudah ditentukan oleh framework.

Collection Framework
—Collection Framework adalah arsitektur di Java untuk merepresentasi dan memanipulasi collections.
—Meliputi:
◦Interface: tipe data abstract yang merepresentasikan collections
◦Implementation: berupa implementasi concrete dari interface yang ada
◦Algorithm: adalah method yang berguna untuk memanipulasi collections, seperti searching dan shorting
–Method ini bersifat polymorphic, karena bisa diterapkan pada implementasi yang berbeda .

Jika array adalah tempat sekumpulan elemen. Maka Collection adalah tempat sekumpulan objek.
Collection : suatu wadah/container yang menapung sekumpulan object.
Java Collection Framework mendukung tiga jenis collections utama, yakni:
◦              set
◦              list
◦              map

JCF Interfaces dan Classes
—  Interfaces:
◦       Collection
◦       Set (tidak ada duplikasi)
◦       SortedSet
◦       List (bisa ada duplikasi)
◦       Map (mis: Dictionary)
◦       SortedMap
◦       Iterator
◦       Iterable
◦       ListIterator
—  Classes:
◦       HashSet
◦       TreeSet
◦       ArrayList
◦       LinkedList
◦       HashMap
◦       TreeMap

•   boolean hasNext();
◦       untuk memeriksa apakah object berikutnya ada atau tidak
•   E next();
◦       untuk mendapatkan object berikutnya
•   void remove();
◦       dipanggil setelah menjalankan method next()
◦       menghapus object yang sudah dipanggil dengan next() terakhir
◦       setelah memanggil next(), tidak bisa menjalankan remove() dua kali, pemanggilan kedua menyebabkan munculnya exception


Interface Collection
—  public int size();
◦       Mengembalikan angka yang merupakan jumlah object dalam collection
—  public boolean isEmpty();
◦       Mengembalikan nilai true bila tidak ada object dalam collection
—  public boolean add(E x);
◦       Untuk memasukkan satu atau beberapa object ke collection. Pengembaliannya adalah true jika berhasil menambah. (beberapa jenis collection tidak mengijinkan duplikasi, sehingga proses add bisa saja gagal)
—  public boolean contains(Object x);
◦       Untuk mengecek bahwa collection yang dimaksud mengandung object x
—  public boolean remove(Object x);
◦       Menghapus sebuah object x dari collection. Kembalian bernilai true, jika ada object yang dihapus
—  public Iterator<E> iterator();
◦       Mengembalikan sebuah iterator yang digunakan untuk menelusuri object di collection

Interface Set
—  Set extends collection
◦       Set menuruni semua method milik Collection
—  Set tidak memperbolehkan adanya duplikasi object di koleksinya
◦       Jika ingin menambah elemen dua kali dengan “add()” maka “add()” yang kedua akan mengembalikan nilai false
—  Untuk mengakses object-object di Set, digunakan Iterator
—  Representasi Set adalah seperti group, misal group musik, group mata kuliah

Implementasi Set (Concrete Class)
—  java.util.HashSet<E>  (merupakan hashtable)
◦       Constructors:
–   public HashSet();
–   public HashSet(Collection<? extends E> c);
–   public HashSet(int initialCapacity);
–   public HashSet(int initialCapacity, float loadFactor);
—  java.util.TreeSet<E> (merupakan balance BST)
◦       Constructors
–   public TreeSet();
–   public TreeSet(Collection<? extends E> c);
–   .............

Interface SortedSet
—  SortedSet memiliki fitur yang sama dengan Set, namun object yang tersimpan diurutkan berdasarkan datanya
—  SortedSet biasanya dikombinasikan dengan TreeSet
—  Efek penggunaan SortedSet, proses penambahan data jadi lebih lambat daripada Set biasa

Interface List
—  List extends Collection
—  Items/Objects di List dapat diakses menggunakan posisinya / indeksnya
—  Method “add()” menambahkan object baru di bagian paling belakang dari list
—  List cocok digunakan untuk mengganti Array, dengan ukuran yang dinamis
—  Method tambahan yang merupakan tambahan baru dari yg dituruni dari interface Collection
◦       public E get(int index)
–   mengembalikan object di posisi yang ditunjukkan index
◦       public E set(int index, E x)
–   mengganti object di posisi index dengan object x, dan mengembalikan object yang telah diganti
◦       public void add(int index, E x)
–   menambahkan object E ke posisi x, object lama di posisi x sampai posisi terakhir digeser satu posisi ke belakang
◦       public E remove(int index)
–   menghapus object di posisi x, kemudian menggeser di belakang object yang dihapus satu posisi kedepan
–   return object yang dihapus
◦       public int indexOf(Object e)
–   Mengembalikan indeks/posisi dari object e

Implementasi List (Concrete Class)
—  java.util.ArrayList<E> (representasi array)
◦       Constructors:
–   public ArrayList();
–   public ArrayList(int initialCapacity)
–   public ArrayList(Collection<? extends E> c);
—  java.util.LinkedList<E> (dobel linked list)
◦       Constructors:
–   public LinkedList();
–   public LinkedList(Collection<? extends E> c);
—  Kedua-duanya memiliki tambahan method yang specifik untuk masing-masing class


Interface Map
—  Map digunakan untuk memetakan kunci dan data. Sebagai contoh, kita memiliki suatu katalog buku, kode buku adalah kunci dan object buku adalah datanya
—  Kunci di Map tidak dapat diduplikasi
—  Tiap kunci hanya menunjuk ke satu object data
—  Penggunaan Map biasanya dipadukan dengan class HashMap
—  Method yang ada di Map:
—  V put(K key, V value);
—  untuk menambahkan pasangan kunci dan object
—  V get(Object key);
—  untuk mendapatkan object berdasarkan kunci tertentu
—  V remove(Object key);
—  untuk menghapus object berdasarkan kunci tertentu
—  boolean containsKey(Object key);
—  memeriksa apakan map memiliki kunci tertentu
—  boolean containsValue(Object value);
—  memeriksa apakah map memiliki object tertentu
—  int size();
—  mendapatkan jumlah key di map
—  public Set<K> keySet();
—  mendapatkan keseluruhan key yang berupa Set
—  public Collection<V> values();
—  mendapatkan keseluruhan object data yang berupa collection

Implementasi Map
—  java.util.HashMap<K,V>
◦       Constructors:
–   public HashMap<K,V>();
–   public HashMap<K,V>(int initialCapacity)
–   public HashMap<K,V>(Collection<? extends E> c);
—  java.util.TreeMap<K,V>
◦       Constructors:
–   public TreeMap<K,V>();
–   public LinkedList<K,V>(Collection<? extends E> c);
—  Kedua-duanya memiliki tambahan method yang specifik untuk masing-masing class



Java Collection Framework


Pada postingan kali ini saya akan berbagi kode program C dan C++ untuk membuat "program segitiga siku-siku berpola". Yang dimana yang saya maksud dengan pola disini adalah "banyaknya tiitk-titik atau karakter yang akan dicetak"  progam untuk membentuk satu segitiga siku-siku berdasarkan bilangan yang diberikan oleh user ke program.

Oke teman-teman, langsung saja menuju TKP C++ nya pada form di bawah ini.
  1. /* 
  2. Program Segitiga 
  3. Siku-siku 
  4. berpola 
  5. */  
  6.   
  7. #include<iostream>  
  8.   
  9. using namespace std;  
  10.   
  11. main()  
  12. {  
  13.       
  14.     int batas;  
  15.     cout <<"Batas pola : ";  
  16.     cin >> batas;  
  17.   
  18.   
  19.     endl(cout);  
  20.     for(int awal=1; awal<=batas; awal++)  
  21.     {  
  22.           
  23.         for(int pola=0; pola<awal; pola++)  
  24.         {  
  25.             cout<<"*";  
  26.         }  
  27.   
  28.         cout<<endl;  
  29.     }  
  30.       
  31.       
  32.  endl(cout);  
  33.          
  34.   
  35.     system("pause");  
  36. }          
Untuk kode program dalam bahasa C nya, dapat Anda/teman-teman lihat pada form di bawah ini.
  1. /* 
  2. Program Segitiga 
  3. Siku-siku 
  4. berpola 
  5. */  
  6.   
  7. #include<stdio.h>  
  8. #include<conio.h>  
  9.   
  10.   
  11. int main()  
  12. {  
  13.       
  14.     int batas, awal, pola;  
  15.   
  16.     printf("Batas pola : ");  
  17.     scanf("%d", &batas);  
  18.   
  19.     printf("\n");  
  20.   
  21.     for(awal=1; awal<=batas; awal++)  
  22.     {  
  23.   
  24.         for(pola=0; pola<awal; pola++)  
  25.         {  
  26.             printf("*");  
  27.         }  
  28.   
  29.         printf("\n");  
  30.     }  
  31.   
  32.     printf("\n");  
  33.   
  34.     getch();  
  35. }          
Jika contoh kode program di atas kita eksekusi, maka hasil yang ditampilkan seperti gambar di bawah ini.

Segitiga Siku-siku Berpola

Program Segitiga Siku-Siku di C++