Sabtu, 16 Juli 2016

Tugas Pemrograman Jaringan 2_4IA19



Get IP
Berikut ini akan di jelaskan bagaimana caranya mendapat kan ip address atau dikatakan sebagai internet protokol dari komputer kita. Pertama untuk dapat melakukan hal tersebut yaitu dengan mengcopy listing di bawah ini ke dalam suatu notepad. Save file tersebut berupa esktensi java dengan nama file sama dengan nama class dari listing tersebut. Jalankan file tersebut melalui command prompt.

Listring Program
import java.net.*;
public class getIP {
public static void main(String args[]) throws Exception {
InetAddress host = null;
host = InetAddress.getLocalHost();
byte ip[] = host.getAddress();
for (int i=0; i<ip.length; i++) {
if (i > 0) {
System.out.print(".");
}
System.out.print(ip[i] & 0xff);
}
System.out.println();
}
}

Logika Program
Listing di atas menjelaskan bagaimana cara mendapatkan ip dari komputer kita. IP adalah alamat dari komputer dalam suatu jaringan, dimana alamat tersebut tercetak dalam bentuk deretan bilangan biner. Pertama diperlukannya suatu paket yang dapat menangani program untuk berkomunikasi atau melakukan aktifitas melalui jaringan menggunakan paket “import java.net.*;”. Pada program getIP, dimulai dengan pembuatan class dengan nama getIP yang bersifat public pada perintah “public class getIP”. Dengan adanya sifat public tersebut, membuat class getIP ini dapat di akses oleh semua bagian di dalam program. IP dari program ini di dapat memanggil alamat dari variabel host dengan fungsi “getAddress”dimana host mendapatkan nilai tersebut melalui InetAddress yang di definisikan dengan nilai null dan mendapatkan nilai tersebut melalui perintah getLocalHost. Proses tersebut tercetak melalui perintah for dengan kondisi dari 0 sampai panjang dari alamat ip tersebut. Jika nilai I lebih besar dari 0 maka address akan tercetak.

Output



Get Name
Berikut ini akan di jelaskan bagaimana caranya mendapat kan nama dari suatu host komputer. Pertama untuk dapat melakukan hal tersebut yaitu dengan mengcopy listing di bawah ini ke dalam suatu notepad. Save file tersebut berupa esktensi java dengan nama file sama dengan nama class dari listing tersebut. Jalankan file tersebut melalui command prompt.

Listing Program
import java.net.*;
public class getName {
public static void main(String args[]) throws Exception {
InetAddress host = null;
host = InetAddress.getLocalHost();
System.out.println("Nama komputer Anda: " +
host.getHostName());
}
}

Logika Program
Listing di atas menjelaskan bagaimana caranya untuk mendapatkan nama atau identitas dari host komputer. Pertama diperlukannya suatu paket yang dapat menangani program untuk berkomunikasi atau melakukan aktifitas melalui jaringan menggunakan paket “import java.net.*;”. Pada program getIP, dimulai dengan pembuatan class dengan nama getIP yang bersifat public pada perintah “public class getIP”. Dengan adanya sifat public tersebut, membuat class getIP ini dapat di akses oleh semua bagian di dalam program. Cara kerja dari program tersebut tidak jauh berbeda hanya saja jika ip address kita perlu menelusuri alamat dari komputer yang bersangkutan dalam bentuk deretan biner dengan menggunakan perintah “getAddress” sedangkan untuk pencarian nama atau identitas dari host komputer hanya memerlukan perintah “getHostname” dari variabel host tersebut dan nama host komputer tersebut akan tercetak melalui perintah “System.out.println”.

Output

 
IP to Name
Berikut ini akan di jelaskan bagaimana caranya mendapat kan nama dari alamat ip suatu komputer. Pertama untuk dapat melakukan hal tersebut yaitu dengan mengcopy listing di bawah ini ke dalam suatu notepad. Save file tersebut berupa esktensi java dengan nama file sama dengan nama class dari listing tersebut. Jalankan file tersebut melalui command prompt.

Listing Program
import java.net.*;
public class IPtoName {
public static void main(String args[]) {
if (args.length == 0) {
System.out.println("Pemakaian: java IPtoName <IP address>");
System.exit(0);
}
String host = args[0];
InetAddress address = null;
try {
address = InetAddress.getByName(host);
} catch (UnknownHostException e) {
System.out.println("invalid IP - malformed IP");
System.exit(0);
}
System.out.println(address.getHostName());
}
}

Logika Program
Pertama dimulai dengan penggunaan library atau paket java.net.* untuk membuat program dapat melakukan komunikasi atapun aktifitas dalam suatu jaringan. Setelah itu di lanjutkan dengan pembuatan class nya dengan nama IPtoName yang bersifat public yang artinya fungsi di dalamnya dapat di akses dari luar. Jika panjang string suatu host komputer sama dengan 0 yang berarti bersifat true maka nama dari ip address akan tercetak melalui perintah “System.out.println("Pemakaian: java IPtoName <IP address>");” dan program secara otomatis menyelesaikan pencarian dan keluar dari pencarian atau pencetakan melalui perintah “System.exit(0);” Jika tidak di temukan ia akan menjalankan program catch untuk mengatasi terjadinya kesalahan dengan mencetak perintah “System.out.println("invalid IP - malformed IP");”.

Output


Nslookup
Berikut ini akan di jelaskan bagaimana caranya mendapat kan IP dengan host name komputer. Pertama untuk dapat melakukan hal tersebut yaitu dengan mengcopy listing di bawah ini ke dalam suatu notepad. Save file tersebut berupa esktensi java dengan nama file sama dengan nama class dari listing tersebut. Jalankan file tersebut melalui command prompt.

Listing Program
import java.net.*;
public class NsLookup {
public static void main(String args[]) {
if (args.length == 0) {
System.out.println("Pemakaian: java NsLookup <hostname>");
System.exit(0);
}
String host = args[0];
InetAddress address = null;
try {
address = InetAddress.getByName(host);
} catch(UnknownHostException e) {
System.out.println("Unknown host");
System.exit(0);
}
byte[] ip = address.getAddress();
for (int i=0; i<ip.length; i++) {
if (i > 0) System.out.print(".");
System.out.print((ip[i]) & 0xff);
}
System.out.println();
}
}

Logika Program
Pertama diperlukannya suatu paket yang dapat menangani program untuk berkomunikasi atau melakukan aktifitas melalui jaringan menggunakan paket “import java.net.*;”.Setelah itu di lanjutkan dengan pembuatan class nya dengan nama NsLookup yang bersifat public yang artinya fungsi di dalamnya dapat di akses dari luar. Jika panjang string suatu host komputer sama dengan 0 yang berarti bersifat true maka nama dari ip address akan tercetak melalui perintah “System.out.println("Pemakaian: java NsLookup <hostname>");” dan program secara otomatis menyelesaikan pencarian dan keluar dari pencarian atau pencetakan melalui perintah “System.exit(0);” Jika tidak di temukan ia akan menjalankan program try yang menyatakan bahwa nama host tidak di ketahui dan mencetak perintah “System.out.println("Unknown host");. Alamat IP sendiri di dapat dengan memanggil fungsi dari InteAddress yaitu address menggunakan perintah “getAddress” ke dalam suatu variabel array berupa “byte [] ip” dengan tipe data byte. Alamat tersebut akan tercetak melalui perulangan for yaitu dengan kondisi perulangan 0 sampai kurang dari panjang nilai ip tersebut. Jika variabel i lebih besar dari 0 maka akan tercetak perintah “System.out.print((ip[i]) & 0xff);” untuk mencetak alamat ip tersebut.

Output



Client-Server
Berikut ini akan di jelaskan bagaimana Kedua program tersebut dapat saling berkomunikasi yaitu antara program server dengan client. Pertama untuk dapat melakukan hal tersebut yaitu dengan mengcopy listing di bawah ini ke dalam suatu notepad. Save file tersebut berupa esktensi java dengan nama file sama dengan nama class dari listing tersebut. Jalankan file tersebut melalui command prompt.

Listing Program Server
import java.io.*;
import java.net.*;
public class simpleServer {
public final static int TESTPORT = 5000;
public static void main(String args[]) {
ServerSocket checkServer = null;
String line;
BufferedReader is = null;
DataOutputStream os = null;
Socket clientSocket = null;
try {
checkServer = new ServerSocket(TESTPORT);
System.out.println("Aplikasi Server hidup ...");
} catch (IOException e) {
System.out.println(e);
}
try {
clientSocket = checkServer.accept();
is = new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
os = new DataOutputStream(clientSocket.getOutputStream());
} catch (Exception ei) {
ei.printStackTrace();
}
try {
line = is.readLine();
System.out.println("Terima : " + line);
if (line.compareTo("salam") == 0) {
os.writeBytes("salam juga");
} else {
os.writeBytes("Maaf, saya tidak mengerti");
}
} catch (IOException e) {
System.out.println(e);
}

try {
os.close();
is.close();
clientSocket.close();
} catch (IOException ic) {
ic.printStackTrace();
}
}
}

Listing Program Client
import java.io.*;
import java.net.*;
public class simpleClient {
public final static int REMOTE_PORT = 5000;
public static void main(String args[]) throws Exception {
Socket cl = null;
BufferedReader is = null;
DataOutputStream os = null;
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
String userInput = null;
String output = null;
// Membuka koneksi ke server pada port REMOTE_PORT
try {
cl = new Socket(args[0], REMOTE_PORT);
is = new BufferedReader(new
InputStreamReader(cl.getInputStream()));
os = new DataOutputStream(cl.getOutputStream());
} catch(UnknownHostException e1) {
System.out.println("Unknown Host: " + e1);
} catch (IOException e2) {
System.out.println("Erorr io: " + e2);
}
// Menulis ke server
try {
System.out.print("Masukkan kata kunci: ");
userInput = stdin.readLine();
os.writeBytes(userInput + "\n");
} catch (IOException ex) {
System.out.println("Error writing to server..." + ex);
}
// Menerima tanggapan dari server
try {
output = is.readLine();
System.out.println("Dari server: " + output);
} catch (IOException e) {
e.printStackTrace();
}
// close input stream, output stream dan koneksi
try {
is.close();
os.close();
cl.close();
} catch (IOException x) {
System.out.println("Error writing...." + x);
}
}
}

Logika Program
komunikasi yang dilakukan antara server dan client dimana client akan mengirim pesan kepada server dan server menerima pesan dari client. Agar client dan server dapat saling berkomunikasi, pertama diperlukannya suatu paket yang dapat memberikan fungsi input dan output yaitu proses ketika server atau client saling menginput pesan untuk dikirm dan menampilkan output pesan tersebut baik kepada server ataupun client menggunakan paket “import java.io.*;”. Proses komunikasi kedua host tersebut, diperlukan adanya paket yang menangani program untuk berkomunikasi melalui jaringan menggunakan paket “import java.net.*;”. Pada program chatServer, dimulai dengan pembuatan class dengan nama chatServer yanng bersifat public pada perintah “public class chatServer”. Dengan adanya sifat public tersebut, membuat class chatServer ini dapat di akses oleh semua bagian di dalam program.
Selanjutnya pembuatan objek ServerSocket dengan nama sersock yang digunakan untuk menghubungkan kedua host komputer tersebut kedalam port 5000.  Server akan membaca inputan yang dikirim oleh user sehingga dibuatlah objek dari InputStreamReader serta output pesan yang akan ditampilkan pada server melalui OutputStream dengan objeknya yaitu ostream. Berikutnya dibuat sebuah variabel untuk menerima pesan yaitu “line”. Variabel tersebut akan menggunakan perintah atau fungsi “readLine” untuk mendapatkan masukan client melalui variabel dari BufferedReader yaitu is dan akan tercetak melalui perintah “System.out.println("Terima : " + line);”
Output

Senin, 13 Juni 2016

Tugas Softskill 3_Pengantar Komputasi Modern_ 4IA19_Parallel Computation



Parallel Computation
Komputasi parallel merupakan proses komputasi yang dilakukan secara bersamaan dengan menggunakan beberapa komputer secara bersamaan. Mekanisme dari komputasi paralalel ini adalah beberapa infra struktur komputer dihubungkan ke dalam suatu jaringan yang sama dimana beberapa komputer tersebut dapat saling terhubung untuk bekerja sama secara parallel untuk menyelesaikan suatu masalah. Proses kumputasi parallel ini memerlukan kapasitas yang besar karena harus mengolah data dalam jumlah besar seperti (misalkan industri keuangan) dan umum ditemui juga di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.

Parallelism Concept
Merupakan suatu konsep dimana suatu processor dapat melakukan atau mengerjakan suatu tugas secara silmultan atau secara bersama-sama. Sehingga dapat dikatakan suatu processor dapat menyelsaikan atau mengerjakan banyak tugas dalam satu waktu.

Distributed Processing
Merupakan proses distribusi pengolahan parallel yang dalam konsep prosesnya menggunakan beberapa mesin untuk melakukannya dimana hal tersebut dapat memecahkan suatu permasalah dengan proses yang cepat sehingga mengurangi waktu pengerjaan dan meringankan beban kerja dari komputer master. Hal tersebut bisa di lakukan dikarenakan kemampuan dari beberapa komputer yang dijalankan secara bersamaan. Pada komputasi paralel, semua processor memiliki akses ke memory yang sama untuk bertukar informasi antar processor.Pada komputasi terdistribusi, setiap processor memiliki memory sendiri (distributed memory), pertukaran informasi dilakukan dengan cara mengirimkan pesan antara processor.

Architectural Parallel Computer
Arsitektur Komputer parallel terdiri dari 4 model yaitu:
  • SISD
Merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor.
  • SIMD
Merupakan singkatan dari Single Instruction, Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda.
  • MISD
Terdiri dari beberapa komputer yang terhubung secara paralel
    • Multiple instruction : setiap processing unit beroperasi pada data yang terbagi dari beberapa instruction stream.
    • Single Data : satu data stream dibagi ke dalam multiple processing unit
  • MIMD
Jenis komputer yang memiliki lebih dari satu prosesor dan mengeksekusi lebih dari satu instruksi secara paralel. Tipe komputer ini yang paling banyak digunakan untuk membangun komputer paralel, bahkan banyak supercomputer yang menerapkan arsitektur ini, karena model dan konsepnya yang tidak terlalu rumit untuk dipahami.

Sumber: 
http://akhmadilman46.blogspot.co.id/2013/05/komputasi-paralel.html
https://fadilahasnanug.wordpress.com/2015/06/30/teori-quantum-computation-dan-parallel-computation/
Welcom to My Blog