32 Bit silahkan Download di sini !!
64 Bit silahkan Download di sini !!
Jumat, 04 Oktober 2019
Selasa, 17 September 2019
Mengenal Framework
Buat para programer kata framework pastilah tidak asing lagi, karna
untuk membuat aplikasi atau pemrograman web akan membutuhkan sebuah
framework agar dalam proses koding lebih mudah. Nah untuk yang masih
belum tahu framework lebih dalam, saya akan membahasnya di artikel ini.
Framework adalah sebuah software untuk memudahkan para programer untuk membuat sebuah aplikasi web yang di dalam nya ada berbagai fungsi diantaranya plugin, dan konsep untuk membentuk suatu sistem tertentu agar tersusun dan tersetruktur dengan rapih.
Dengan menggunakan framework bukan berarti kita akan terbebas dengan pengkodean. Karena kita sebagai seorang pengguna framework haruslah menggunakan fungsi – fungsi dan variable yang ada di dalam sebuah framework yang kita gunakan. Untuk saat ini framework terbagi dua yaitu framework PHP dan framework CSS, untuk framework PHP terdiri dari
seperti sebagai berikut
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 sebuah software untuk memudahkan para programer untuk membuat sebuah aplikasi web yang di dalam nya ada berbagai fungsi diantaranya plugin, dan konsep untuk membentuk suatu sistem tertentu agar tersusun dan tersetruktur dengan rapih.
Dengan menggunakan framework bukan berarti kita akan terbebas dengan pengkodean. Karena kita sebagai seorang pengguna framework haruslah menggunakan fungsi – fungsi dan variable yang ada di dalam sebuah framework yang kita gunakan. Untuk saat ini framework terbagi dua yaitu framework PHP dan framework CSS, untuk framework PHP terdiri dari
- Laravel
- Yii
- Code Igniter
- Symfoni
- Zend Framework
- Cake PHP
- Fuel PHP
- DLL
- Bootstrap
- Gumby
- Foundation
- Less Framework
- JQuery UI
- Unsemantic
- Blue Print CS
seperti sebagai berikut
Java Collection Framework
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 – Menggunakan Collection Framework
Mengumpulkan banyak variable dengan tipe sama dalam sebuah array
adalah hal yang mutlak dibutuhkan dalam bahasa pemrograman apa pun.
Seiring dengan kebutuhan tersebut, banyak juga dibuat fungsi-fungsi
untuk memanipulasi array. Dalam Java, Anda bisa memanfaatkan seluruh
framework Collection yang akan bertindak seperti array dengan
fungsi-fungsi powerful yang tersedia sesuai kebutuhan.
Sebuah collection adalah sebuah object yang merepresentasikan kumpulan object-object. Collection digunakan untuk menyimpan, mengambil, dan memanipulasi data-data. Salah satu collection paling sederhana adalah Array. Namun dalam Collection Framework, Java menawarkan berbagai bentuk lain dari Collection.
Karena Collection adalah interface, maka harus dibuat class yang mengimplementasikannya. Dalam Java API, sudah tersedia beberapa class yang sangat berguna untuk memanage object-object dalam Collection, sesuai sifat dan kebutuhannya. Beberapa kelebihan utama menggunakan collection framework antara lain:
Berikut ini beberapa contoh cara menggunakan Collection Framework yang cukup sering dipakai.
Sebuah collection adalah sebuah object yang merepresentasikan kumpulan object-object. Collection digunakan untuk menyimpan, mengambil, dan memanipulasi data-data. Salah satu collection paling sederhana adalah Array. Namun dalam Collection Framework, Java menawarkan berbagai bentuk lain dari Collection.
Karena Collection adalah interface, maka harus dibuat class yang mengimplementasikannya. Dalam Java API, sudah tersedia beberapa class yang sangat berguna untuk memanage object-object dalam Collection, sesuai sifat dan kebutuhannya. Beberapa kelebihan utama menggunakan collection framework antara lain:
- Mengurangi effort dalam membuat program, karena sudah tersedia struktur data dan algoritma tanpa harus menulis sendiri.
- Meningkatkan performa, karena setiap implementasi dapat berfungsi maksimal sesuai kasus yang ada.
- Mudah dipelajari, sehingga mengurangi effort untuk mempelajari cara menggunakan API.
- Dapat dikembangkan dan fleksibel terhadap tipe object yang ada dalam Collection.
Implementations | ||||||
Hash Table | Resizable Array | Balanced Tree | Linked List | Hash Table + Linked List | ||
Interfaces | Set | HashSet | TreeSet | LinkedHashSet | ||
List | ArrayList | LinkedList | ||||
Map | HashMap | TreeMap | LinkedHashMap |
- ArrayList digunakan untuk membuat array yang ukurannya dinamis.
Berbeda dengan array biasa yang ukurannya harus ditentukan di awal
deklarasi array, dengan ArrayList, ukurannya akan fleksibel tergantung
banyaknya elemen yang dimasukkan. Pendeklarasian object ArrayList
sebaiknya diikuti dengan nama class yang akan dimasukkan dalam List
tersebut. Tujuannya agar method dan property dari setiap object dalam
ArrayList dapat diakses secara langsung. Namun jika tidak mencantumkan
nama class pun tidak masalah selama proses parsing class benar.
123456789101112131415161718192021
import
java.util.ArrayList;
public
class
ArrayListDemo {
public
static
void
main(String[] args) {
ArrayList<Human> list1 =
new
ArrayList<Human>();
for
(
int
i =
0
; i <
10
; i++) {
list1.add(
new
Human(
"Human "
+ i));
}
for
(
int
i =
0
; i < list1.size(); i++) {
System.out.println(list1.get(i).name);
}
}
}
class
Human {
public
String name;
public
Human(String name) {
this
.name = name;
}
}
123for
(
Human h
:
list
1
)
{
System.out.println
(
h.
name
)
;
}
- Implementasi kedua yang cukup sering dipakai adalah Set. Sama
seperti ArrayList, Set ini akan berukuran dinamis. Hanya saja, Set tidak
akan memperbolehkan duplikasi object yang diketahui dari method
equals() yang ada di setiap object dalam Java. Anda bisa meng-override
method tersebut untuk membuat kriteria Anda sendiri, seperti pada contoh
di bawah ini.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
import
java.util.ArrayList;
import
java.util.HashSet;
public
class
HashSetDemo {
public
static
void
main(String[] args) {
HashSet<Human> set =
new
HashSet<Human>();
ArrayList<Human> list =
new
ArrayList<Human>();
Human a =
new
Human(
"A"
);
Human b =
new
Human(
"B"
);
Human c =
new
Human(
"A"
);
set.add(a);
set.add(b);
set.add(c);
list.add(a);
list.add(b);
list.add(c);
System.out.println(
"Print Set"
);
for
(Human h : set) {
System.out.println(h.name);
}
System.out.println(
"Print List"
);
for
(Human h : list) {
System.out.println(h.name);
}
}
}
class
Human {
public
String name;
public
Human(String name) {
this
.name = name;
}
@Override
public
boolean
equals(Object obj) {
if
(!(obj
instanceof
Human)) {
return
super
.equals(obj);
}
else
{
Human comp = (Human)obj;
return
comp.hashCode() == obj.hashCode();
}
}
@Override
public
int
hashCode() {
int
hash =
7
;
hash =
53
* hash + (
this
.name !=
null
?
this
.name.hashCode() :
0
);
return
hash;
}
}
- Implementasi ketiga adalah dari Interface Map. Map berfungsi sebagai
collection yang memetakan setiap value dengan key tertentu. Jika
mencoba menambahkan elemen dengan key yang sama, maka elemen sebelumnya
pada key tersebut akan ditindih sehingga hilang. Deklarasi HashMaps juga
harus diikuti nama class yang akan menjadi key dan value-nya.
12345678910111213141516171819202122
import
java.util.HashMap;
import
java.util.Iterator;
public
class
HashMapDemo {
public
static
void
main(String[] args) {
HashMap<String, String> map =
new
HashMap<String, String>();
map.put(
"rumah"
,
"Tipe 45"
);
map.put(
"mobil"
,
"BMW"
);
map.put(
"bunga"
,
"Mawar"
);
System.out.println(
"Sebelum diubah"
);
Iterator<String> ite = map.keySet().iterator();
while
(ite.hasNext()) {
System.out.println(map.get(ite.next()));
}
System.out.println(
"Setelah diubah"
);
map.put(
"mobil"
,
"Ferrari"
);
for
(String key : map.keySet()) {
System.out.println(map.get(key));
}
}
}
- Contoh lainnya implementasi yang sering dipakai adalah Stack. Stack
merupakan sebuah collection sederhana yang menerapkan aturan LIFO (Last
in First out). Artinya, elemen yang masuk terakhir akan dikeluarkan
terlebih dahulu. Meskipun terdapat method add, get, dan remove karena
Stack tetap inherit ke interface collection, namun method yang umum
dipakai dalam Stack adalah push() untuk memasukkan elemen, pop() untuk
mengeluarkan elemen, empy() untuk mengecek apakah stack kosong, dan
peek() untuk melihat elemen teratas. Semua dilakukan sesuai urutan LIFO.
123456789101112131415161718192021222324
import
java.util.Stack;
public
class
StackDemo {
public
static
void
main(String[] args) {
Stack<String> stack =
new
Stack<String>();
stack.push(
"A"
);
stack.push(
"B"
);
stack.push(
"C"
);
System.out.println(
"Print stack awal berurutan biasa"
);
for
(String s : stack) {
System.out.println(s);
}
System.out.println(
"Keluarkan satu"
);
System.out.println(stack.pop());
System.out.println(
"Tambahkan dua"
);
stack.push(
"D"
);
stack.push(
"E"
);
System.out.println(
"Print stack sesuai urutan keluar"
);
while
(!stack.empty()) {
System.out.println(stack.pop());
}
System.out.println(
"Selesai"
);
}
}
Belajar Java Collections
Collection
adalah sebuah framework yang dibuat untuk menyimpan dan memanipulasi
sebuah objek. Collection biasanya digunakan pada sebuah data seperti
mencari, meng-urutkan, meng-input dan menghapus. Kerangka kerja (Framework)
menyediakan dalam bentuk Interface (contoh : Set, List, Queue, Deque
dll). untuk class (ArrayList, Vector, LingkedList, PriorityQueue,
HashSet, LinkedHashSet, TreeSet dll). Gambar berikut adalah hirarki pada
java collection :
Java Collections ini terdiri dari interface Collection, list, set dan order. Di bawah ini merupakan interface collection dan hirarki class.
Berikut ini hasil dari eksekusinya.
Berdasarkan uraian diatas, dengan pengelompokkan dalam grup, terdapat beberapa manfaat diantaranya :
Collection
sendiri merupakan wadah yang menampung value pada kontainer tunggal.
Framework java collection menyediakan dengan cara extensible (secara
kamus internasional : dapat dibuat panjang atau luas) dan dapat
disatukan untuk menangani collections. Pada Groovy, collection dibuat
lebih mudah untuk digunakan dan difokuskan menjadi 2 jenis, yaitu :
1. List : menyediakan sebuah container untuk beberapa nilai.
2. Maps : digunakan sebagai metode untuk mengindeks seperangkat nilai-nilai.
1. List : menyediakan sebuah container untuk beberapa nilai.
2. Maps : digunakan sebagai metode untuk mengindeks seperangkat nilai-nilai.
3. Iterator adalah salah satu interface yang tersedia di dalam library Java, yang berlokasi di java.util package. Iterator digunakan untuk mengakses dan menampilkan nilai beserta tambahan method lain yang didefinisikan di dalam interface Iterator.
bagaimana cara menyimpan data dalam memori ? Nah pada Java, terdapat
Collection yang tugasnya untuk menyimpan data dalam memori. Collection
merupakan suatu objek yang dapat digunakan untuk menyimpan sekumpulan
obyek. Objek – objek yang terdapat di dalam Collection disebut dengan
elemen. Collection ini meyimpan elemen yang bertipe object, sehingga
berbagai tipe objek dapat disimpan di dalam Collection.
The Java Collections APIJava Collections ini terdiri dari interface Collection, list, set dan order. Di bawah ini merupakan interface collection dan hirarki class.
Gambar : Interface Collection dan Hirarki Class
- Collection
- List
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class CobaList {
public static void main(String[] x) {
List lis = new ArrayList();
// Masukkan value ke dalam lis
lis.add("NaufalFikriAulia");
lis.add("RizalFadly");
lis.add("BudiArman");
lis.add("MartaKarlina");
lis.add("FitriHerawati");
// Tampilkan value lis
for (Iterator iterator = lis.iterator(); iterator.hasNext();) {
String string = (String) iterator.next();
System.out.println(string);
}
}
}
Berikut ini hasil dari ekekusinya.NaufalFikriAulia
RizalFadly
BudiArman
MartaKarlina
FitriHerawati
- Set
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class CobaSet {
public static void main(String[] namakami) {
Set setdah = new HashSet();
// Masukkan value ke dalam setdah
setdah.add("NaufalFikriAulia");
setdah.add("RizalFadly");
setdah.add("BudiArman");
setdah.add("MartaKarlina");
setdah.add("FitriHerawati");
setdah.add("AnnisaCandela");
// Tampilkan value setdah
for (Iterator iterator = setdah.iterator(); iterator.hasNext();) {
String string = (String) iterator.next();
System.out.println(string);
}
}
}
Berikut ini hasil dari eksekusinya.
RizalFadly
FitriHerawati
AnnisaCandela
NaufalFikriAulia
BudiArman
MartaKarlina
- Map
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class CobaMap {
public static void main(String[] buah manis) {
Map<Integer, String> mapInt_String = new HashMap<Integer, String>(); // map<Integer, String>
// Masukkan key dan value ke dalam mapInt_String
mapInt_String.put(1, "APEL");
mapInt_String.put(2, "NANAS");
mapInt_String.put(3, "JERUK");
mapInt_String.put(4, "RAMBUTAN");
mapInt_String.put(5, "DURIAN");
// Tampilkan value mapInt_String
for (Iterator iterator = mapInt_String.values().iterator(); iterator
.hasNext();) {
String string = (String) iterator.next();
System.out.println(string);
}
Map<String, String> mapString_String = new HashMap<String, String>();//map<String, String>
// Masukkan key dan value ke dalam mapString_String
mapString_String.put("BUDI", "SEPEDA");
mapString_String.put("ANDRI", "MOBIL");
mapString_String.put("DENI", "TRUK");
mapString_String.put("JAJANG", "MOTOR");
mapString_String.put("ATUT", "BUS");
mapString_String.put("RUDI", "KAPAL JET");// KEY yang digunakan = RUDI
mapString_String.put("RUDI", "UFO");// Key yang digunakan = RUDI juga, maka value "KAPAL JET" akan ditimpa oleh "UFO"
// Tampilkan value mapString_String
System.out.println("========================================");
for (Iterator iterator = mapString_String.values().iterator(); iterator
.hasNext();) {
String string = (String) iterator.next();
System.out.println(string);
}
// Tampilkan pasangan key-value mapString_String
System.out.println("========================================");
for (Iterator iterator = mapString_String.keySet().iterator(); iterator
.hasNext();) {
String string = iterator.next();
System.out.println(string + " mengendarai "
+ mapString_String.get(string));
}
}
}
Berikut ini hasil dari eksekusinya.GAJAH
KUDA
ZEBRA
KAMBING
SAPI
========================================
MOBIL
SEPEDA
BUS
TRUK
MOTOR
UFO
========================================
ANDRI mengendarai MOBIL
BUDI mengendarai SEPEDA
ATUT mengendarai BUS
DENI mengendarai TRUK
JAJANG mengendarai MOTOR
RUDI mengendarai UFO
Coba dikihat pada hasil eksekusi dari MAP, terlihat bahwa nilai dari
“KAPAL JET” tidak pernah ditampilkan pada output. Ini dikarenakan nilai
“KAPAL JET” ditimpa oleh nilai dari “UFO”.Berdasarkan uraian diatas, dengan pengelompokkan dalam grup, terdapat beberapa manfaat diantaranya :
- Menyimpan elemen dengan urutan tertentu
- Mengambil kembali elemen tersebut dengan index maupun dengan berbagai cara yang spesifik
- Memanipulasi data
- Dan berbagai transformasi manfaat lainnya.
Langganan:
Postingan (Atom)