Rabu, 12 Juni 2013

UAS DIAGRAM UML GAME DOMINO

USE CASE DIAGRAM



ACTIVITY DIAGRAM START GAME



ACTIVITY DIAGRAM PLAY GAME



CLASS DIAGRAM




sequance diagram

PLAY GAME



START GAME







Minggu, 09 Juni 2013

GAME MENGGUNAKAN GAME MAKER (UAS)

Pembuatan Game menggunakan Game maker Versi 8.1
permainan Game domino sample.













package game;

import java.util.ArrayList;
import java.util.Random;
public class Game{
public static void main(String args[]){

ArrayList<int []> tiles = new ArrayList<int []>();
Random gen = new Random();

for(int i=0;i<7;i++){
for(int j=0;j<7;j++){
tiles.add(new int[]{i,j});
System.out.print("("+ i + ", " + j + ") ");
}
System.out.println();
}

int [][] player1_tiles = new int[7][49];
int [][] player2_tiles = new int[7][49];
int [] tile1 = null;
int [] tile2 = null;

for(int i=0;i<player1_tiles.length;i++){

tile1 = tiles.get(gen.nextInt(tiles.size()));
tile2 = tiles.get(gen.nextInt(tiles.size()));
tiles.remove(tile1);
tiles.remove(tile2);

player1_tiles[i] = tile1;
player2_tiles[i] = tile2;
}

System.out.println("\nTile\tPlayer 1\tPlayer 2");
for(int i=0;i<player1_tiles.length;i++){
System.out.print((i+1) +": \t ");
for(int j=0;j<player1_tiles[i].length;j++){
System.out.print(player1_tiles[i][j] + " ");
}
System.out.print("\t\t");

for(int j=0;j<player2_tiles[i].length;j++){
System.out.print(player2_tiles[i][j] + " ");
}

System.out.println();
}
System.out.println();
if(tile1[0]>tile2[1] && tile1[1]>tile2[1]){
System.out.println("player 1 drops first");
}else{
System.out.println("player 2 drops first");

}
}
}



TUGAS USE CASE DIAGRAM










PEER TO PEER

Pengertian Peer To Peer dan Pengertian istilah client-server
Peer to Peer adalah adalah suatu teknologi sharing (pemakaian bersama) resource dan service antara satu komputer dan komputer yang lain. pengertian yang lebih tepat mengenai peer to peer (p2p) adalah sistem terkomputerisasi Client-Server dimana suatu komputer berfungsi sebagai client sekaligus sebagai server, sehingga memungkinkan komunikasi dan pertukaran resource antara dua komputer secara langsung (real time).

Client-server adalah suatu bentuk arsitektur, dimana client adalah perangkat yang menerima yang akan menampilkan dan menjalankan aplikasi (software komputer) dan server adalah perangkat yang menyediakan dan bertindak sebagai pengelola aplikasi, data, dan keamanannya. Server biasanya terhubung dengan client melalui kabel UTP dan sebuah kartu jaringan (network card). Kartu jaringan ini biasanya berupa kartu PCI atau ISA.
Dalam teknologi informasi, client-server merujuk kepada cara mendistribusikan aplikasi ke pihak client dan pihak server. Dalam model client-server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah (tetapi masih dalam sebuah kesatuan) yakni komponen client dan komponen server.
Komponen client dijalankan pada sebuah workstation. Pemakai workstation memasukkan data dengan menggunakan teknologi pemrosesan tertentu, kemudian mengirimkannya ke komponen server, umumnya berupa permintaan layanan tertentu yang dimiliki oleh server. Komponen server akan menerima permintaan layanan tersebut dan langsung memprosesnya serta mengembalikan hasil pemrosesan kepada client. Client pun menerima informasi hasil pemrosesan data tadi dan menampilkannya kepada pemakai dengan menggunakan aplikasi yang digunakan oleh pemakai.
Sebuah contoh dari aplikasi client-server sederhana adalah aplikasi web yang didesain dengan menggunakan Active Server Pages (ASP). Skrip ASP akan dijalankan di dalam web server (Apache atau Internet Information Services), sementara skrip yang berjalan di pihak client akan dijalankan oleh web browser pada komputer client (workstation). Client-server merupakan penyelesaian masalah pada software yang menggunakan database sehingga setiap komputer tidak perlu diinstall database. Dengan metode client-server database dapat diinstal pada komputer server dan aplikasinya diinstal pada client.
Komponen client juga sering disebut sebagai front-end, sementara komponen server disebut sebagai back-end.


Sabtu, 08 Juni 2013

(TUGAS) Use Case Diagram Perekaman Informasi Untuk Kepentingan Negara


USE CASE DIAGRAM INPUT DAN OUTPUT


PENGGUNAAN UML



Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak.


Pendahuluan

Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.
UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson.Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem.

UML

Sampai era tahun 1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia.Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan kelompok/perusahaan lain yang menggunakan metodologi yang berlainan.
Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group

Diagram UML

UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:
Use Case Diagram untuk memodelkan proses bisnis.
Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.
Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects.
Collaboration Diagram untuk memodelkan interaksi antar objects.
State Diagram untuk memodelkan perilaku objects di dalam sistem.
Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system.
Class Diagram untuk memodelkan struktur kelas.
Object Diagram untuk memodelkan struktur object.
Component Diagram untuk memodelkan komponen object.
Deployment Diagram untuk memodelkan distribusi aplikasi.

Berikut akan dijelaskan 4 macam diagram yang paling sering digunakan dalam pembangunan aplikasi berorientasi object, yaitu use case diagram, sequence diagram, collaboration diagram, dan class diagram.

Use Case Diagram 
Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Actor merepresentasikan orang yang akan mengoperasikan atau orang yang behhhrinteraksi dengan sistem aplikasi.
Use case merepresentasikan operasi-operasi yang dilakukan oleh actor. Use case digambarkan berbentuk elips dengan nama operasi dituliskan di dalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case.

Sequence Diagram 
Sequence diagram menjelaskan secara detail urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi.

Collaboration Diagram 
Collaboration diagram dipakai untuk memodelkan interaksi antar object di dalam sistem. Berbeda dengan sequence diagram yang lebih menonjolkan kronologis dari operasi-operasi yang dilakukan, collaboration diagram lebih fokus pada pemahaman atas keseluruhan operasi yang dilakukan oleh object.

Class Diagram 
Class diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi objek.Class diagram menunjukkan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan


Jumat, 07 Juni 2013

PEMBAHASAN CORBA

Common Object Request Broker Architecture (CORBA) 
adalah teknologi yang dipergunakan untuk heterogeneous computing (sistem komputer dengan berbagai macam
lingkungan). CORBA pada dasarnya menggunakan arsitektur client-server dimana klien dan server berupa objek. CORBA mendukung apa yang disebut interoperabilitas, yaitu kemampuan saling bekerjasama antar sistem computer.

CORBA berbeda dengan RMI, berikut perbedaan CORBA dengan RMI:
CORBA adalah dapat diimplementasikan dengan sembarang bahasa pemrograman.
CORBA terdiri dari beberapa mekanisme dimana RMI dapat termasuk di dalamnya.
Pada RMI tidak menggunakan ORB (Object Request Broker).

Kenapa ada CORBA?
Dapat menangani keberagaman lingkungan antara klien dan server (dapat diimplementasikan pada bahasa pemrograman yang berbeda). Hal ini karena CORBA menggunakan apa yang disebut antarmuka (interface) untuk menjembatani dua buah lingkungan yang berbeda.

Object Request Broker (ORB) merupakan inti dari CORBA dan bertanggung jawab untuk menjalankan semua mekanisme yang dibutuhkan, yaitu:
Menemukan implementasi objek untuk memenuhi suatu request
Menyiapkan implementasi objek untuk menerima suatu request
Melakukan komunkasi data untuk memenuhi suatu request
Sebuah permintaan (request) yang dikirimkan suatu client ke suatu object implementation akan melewati ORB. Dengan ORB, yang terdiri dari interface, suatu client dapat berkomunikasi dengan object implementation tanpa adanya batasan platform, teknologi jaringan, bahasa pemrograman, dan letak objek. Dengan menggunakan ORB, objek client bisa meminta sebuah method pada sebuah object server yang bisa saja terdapat dalam satu mesin maupun jaringan yang berbeda. ORB menerima panggilan dan menemukan objek yang bisa mengimplementasikan permintaan, mengirim parameter, invoke method, dan mengembalikan hasil yang diperoleh.

Objek-objek CORBA dispesifikasikan menggunakan interface, yang merupakan penghubung anatara client dan server. Interface Definition Language (IDL) digunakan untuk mendefinisikan interface tersebut. IDL menentukan tipe-tipe suatu objek dengan mendefinisikan interface-interface objek tersebut. Sebuah interface terdiri dari kumpulan operasi dan parameter operasi tersebut. IDL hanya mendeskripsikan interface, tidak mengimplementasikannya. Meskipun sintaks yang dimiliki oleh IDL menyerupai sintaks bahasa pemrograman C++ dan Java., perlu diingat, IDL bukan bahasa pemrograman.

CORBA mendefinisikan IIOP (Internet Inter-ORB Protocol) untuk mengatur bagaimana objek berkomunikasi melalui jaringan. IIOP merupakan open protocol yang berjalan diatas TCP/IP.

Pada Java, CORBA merupakan pelengkap untuk menyediakan framework distribusi objek, services pendukung framework itu, dan kemampuan antar operasi dengan bahasa pemrograman lainnya. CORBA untuk client-server menggunakan protokol IIOP (Internet InterORB Protocol) untuk komunikasi antara server dan klien.


Skeletons adalah bagian kode yang dibangin pada kode implementasi server pada antarmuka (interface). Stub adalah bagian kode yang membuat antarmuka (interface) dapat diakse (available) oleh klien.

Java menyediakan ORB (Object Request Broker) yang mendukung teknologi CORBA. ORB adalah komponen runtime yang dapat digunakan untuk distributed computing menggunakan komunikasi IIOP. OMG (Object Management Group) adalah industri yang membuat spesifikasi dan mempublikasikan CORBA.

Java IDL (Interface Definition Langauge) merupakan sebuah teknologi untuk distribusi
objek yang berinteraksi antar platform. CORBA menggunakan IDL untuk membuat antarmuka (interface). Java IDL adalah implementasi dari teknologi antarmuka pada CORBA. Model pemrograman IDL atau biasa disebut Java IDL terdiri dari ORB CORBA dan kompiler idlj yang memetakan OMG IDL ke Java dengan menggunakan Java CORBA ORB. Aplikasi CORBA dibuat dengan menggunakan IDL untuk mendefinisikan antarmuka objek agar dapat diakses oleh klien maupun server.



PEMBAHASAN MENGENAI PROBABILITAS

Sebelum Anda melakukan trading yang sebenarnya, ada baiknya bila kita membahas masalah probabilitas secara lebih mendalam sekali lagi guna memaksimalkan teknik Anda di dalam melakukan trading.
Pada bab sebelumnya telah diberikan illustrasi kasus mengenai probabilitas dengan pelemparan koin secara acak untuk mendapatkan suatu data statistik tentang kemungkinan muka koin yang akan muncul di tangan kita. Apakah kita akan mendapatkan sisi koin yang bergambar atau sisi koin yang menunjukkan angka.
Pada pelemparan koin, kita hanya akan mendapatkan 2 kemungkinan atas apa yang kita lakukan terhadap koin tersebut, yaitu gambar atau angka.
Di dalam pendekatan statistik, probabilitas yang akan kita dapatkan adalah sama. Bila Anda melempar koin tersebut, Anda dapat mencatat berapa kali muncul gambar dan berapa kali muncul angka. Dari catatan yang Anda dapatkan mungkin Anda akan merasa bahwa eksperimen yang Anda lakukan merupakan suatu bentuk perjudian sederhana. Namun demikian apa yang Anda lakukan tersebut merupakan suatu eksperimen yang baik tentang probabilitas.
Jika Anda melakukan eksperimen pelemparan koin, misalkan saja, sebanyak 10 kali, maka berikut adalah kemungkinan data berapa kali sisi gambar akan muncul dan berapa kali sisi angka akan muncul:
Gambar
Angka
10
0
9
1
8
2
7
3
6
4
5
5
4
6
3
7
2
8
1
9
0
10
Dari tabel di atas, menurut Anda. manakah sisi koin yang paling berpeluang muncul dari pelemparan koin sebanyak 10 kali? Sekarang coba Anda amati tibel di atas. Di situ nampak bahwa kita akan mendapatkan suatu kombinasi probabilitas yang sama antara peluang munculnya sisi gambar dan sisi angka.
Jika Anda ingin menguji sekali lagi apa yang telah Anda lakukan dengan meminta tolong orang lain untuk melakukan hal yang sama seperti yang Anda lakukan, cobalah Anda bandingkan antara data yang Anda dapatkan dengan data yang didapatkan orang tersebut. Apakah Anda mendapatkan hasii yang sama?
Pertanyaan di atas adalah harus Anda kemukakan ketika Anda ingin mempelajari lebih lanjut tentang probabilitas. Kita akan membahas bersama untuk mengkaji lebih lanjut tentang probabilitas ini.
Ketika Anda melakukan pelemparan koin tersebut sebanyak 1 kali, atau sebanyak 10 kali, maka jawaban yang akan kita dapatkan tentang probabilitas adalah sama, karena masing-masing sisi koin memiliki peluang yang sama, untuk muncul. Dengan kondisi ini kita telah mendapatkan suatu prediksi tentang probabilitas sisi koin mana yang akan muncul. Jika misalnya koin tersebut cacat sehingga pada saat kita lemparkan ternyata sisi tertentu dari koin menjadi lebih sering muncul maka kita akan kesulitan untuk melakukan prediksi. Sekilas hal ini tampak aneh dan kontradiktif, karena dengan adanya cacat pada koin maka kita harus mempelajari perilaku atau karakter dari koin yang cacat itu. Jika kita melemparkan koin cacat tersebut sebanyak 1000 kali, misalnya, maka bisa jadi kita akan mendapatkan sisi gambar muncul sebanyak 700 kali dibanding sisi angka sebanyak 300 kali. Jika hal itu yang terjadi maka biasanya kita akan segera berkesimpulan bahwa kita dengan mudah dapat memprediksikan hasil pelemparan koin cacat tersebut, meskipun kenyataan tidaklah demikian. Sekali lagi kita harus mengerti dan memahami karakter dari koin cacat tersebut sebelum kita melakukan prediksi dan itu tidak semudah jika kita melakukannya terhadap koin yang tidak cacat.
Dari uji coba pelemparan koin di atas kita mencatat bahwa hasil dari setiap pelemparan koin merupakan suatu peristiwa independen. Tidak ada faktor apapun yang mempengaruihi hasil dari uji pelemparan koin. Berapa kalipun Anda melakukan uji pelemparan, angka probabilitas sisi koin mana yang akan muncul adalah sama. Koin tersebut tidak akan “mengingat” hasil akhir pelemparan sebelumnya. Juga tidak bisa ditentukan sisi mana yang akan muncul pada pelemparan berikutnya. Ini adalah suatu peristiwa yang benar-benar independen.
Akan lain halnya jika kita mengambil suatu contoh kasus lain tentang peristiwa uji coba yang bersifat tidak independen. Katakanlah kita melakukan uji coba terhadap 20 biji kelereng, 19 kelereng berwarna hijau dan hanya 1 yang berwarna merah, dengan ukuran dan berat yang benar-benar sempurna sama. Ketika kita memasukkan semua kelereng tersebut ke dalam sebuah toples lalu kita mencoba mengambil kelereng berwarna merah dengan mata tertutup, berapakah probabilitas keberhasilan kita untuk mendapatkan kelereng merah tersebut? Ketika Anda mulai mengambil kelereng merah tersebut, angka probabilitas yang kita hadapi adalah 1 banding 20. Pada pengambilan pertama bisa jadi kita akan gagal dan kemudian kita mencoba lagi. Kali ini dengan perbandingan 1 banding 19 kerena jumlah kelereng sudah berkurang satu.
Jika kita terus mencoba untuk mengambil kelerengmerah dengan cara yang sama, dan ketika Anda berhasil mengambil kelereng merah sementara yang masih tersisa hanya beberapa biji kelereng hijau, maka permainan telah berakhir. Namun jika Anda gagal dan Anda tidak mengganti kelereng hijau yang terambil dengan kelereng berwama merah maka probabilitasnya adalah sama. Kecuali jika Anda melanjutkan pengambilan kelereng tersebut hingga jumlah kelereng di dalam toples tersebut terus berkurang hingga akhimya menyisakan satu kelereng saja. Dalam hal demikian bukanlah probabilitas lagi yang berlaku, namun sebuah kepastian.
Contoh kasus ini, jika kita bandingkan dengan uji pelemparan koin, sangatlah berbeda kondisinya. Uji pelemparan koin adalah suatu bentuk uji coba yang bersifat independen event dan tidak didasarkan atas suatu kepastian. Dari pembahasan ini saya berharap Anda sudah mendapatkan gambaran yang jelas tentang probabilitas.