labsheet aplikasi jaringan 001-edit

13
PROGRAM PASCASARJANA UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET APLIKASI JARINGAN Semester 3 Networking: Pemrograman Socket 01 4 x 50mnt No. LST/EKA/PTI208/01 Revisi : 01 Juni 2013 Hal 1 dari 13 A. Kompetensi Setelah mengikuti mata kuliah ini, mahasiswa memiliki kemampuan membuat program komunikasi client-server menggunakan socket TCP/IP B. Dasar Teori Untuk menelusuri Web atau mengirim email, komputer Anda harus terhubung ke Internet. Internet adalah jaringan global jutaan komputer. Komputer Anda mungkin terhubung ke Internet melalui Internet Service Provider (ISP) menggunakan dialup, DSL, atau modem kabel, atau melalui jaringan area lokal (LAN). Komputer dapat tersambung dengan Internet dengan menjalankan protokol TCP/IP. Ketika sebuah komputer akan menghubungi komputer lain, maka tahap pertama yang harus diketahui adalah alamat komputer tujuan. Alamat ini sering disebut dengan IP Address dan terdiri dari 32-bit untuk IPv4 yang ditulis dala bentuk 4 buah angka 8-bit yang dipisahkan dengan tanda titik. Tiap-tiap kelompok dapat ditulis dengan bilangan biner (00000000 s.d. 11111111), hexa desimal (00 s.d. FF) atau desimal (0 s.d. 255). Misalnya 192.168. 0. 1 adalah IP Address yang ditulis dengan bilangan desimal. Protokol TCP/IP pada prinsipnya terdiri dari dua kelompok protokol, yaitu protokol TCP (Transmission Control Protocol) atau UDP (User Datagram Protocol) dan protokol IP. Protokol IP adalah protokol level bawah yang menangani proses pengiriman data dari satu komputer ke komputer yang lain. Sedangkan protokol dengan level yang lebih tinggi yaitu TCP atau UDP berfungsi menjalankan protokol IP. TCP memungkinkan dua buah host membangun hubungan dan melakukan pertukaran data. TCP menjamin pengiriman data sampai pada tujuannya dan juga menjamin bahwa paket akan dikirimkan dalam urutan yang sama seperti urutan yang ada pada komputer pengirim. TCP bersifat connection-oriented. UDP bersifat standar, low-overhead, connectionless, dan host-to-host protocol yang bekerja di atas lapisan protokol IP. UDP memungkinkan program aplikasi untuk mengirimkan sebuah datagram ke aplikasi komputer lain. Bahasa permrograman Java mendukung stream socket dan datagram socket. Stream socket menggunakan protokol TCP untuk mengirimkan data, sedangkan datagram socket menggunakan protokol UDP. TCP dapat mengetahui data yang hilang saat proses pegiriman berlangsung dan mengirim ulang paket data yang hilang (tidak sampai kepada tujuan), sehingga pengiriman bersifat lossless (tidak ada yang Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta Diperiksa oleh : Eko Marpanaji

Upload: aisyputh

Post on 02-Jan-2016

87 views

Category:

Documents


0 download

DESCRIPTION

semester pendek pps uny

TRANSCRIPT

Page 1: Labsheet Aplikasi Jaringan 001-Edit

PROGRAM PASCASARJANA UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET APLIKASI JARINGAN

Semester 3 Networking: Pemrograman Socket 01 4 x 50mnt

No. LST/EKA/PTI208/01 Revisi : 01 Juni 2013 Hal 1 dari 9

A. Kompetensi Setelah mengikuti mata kuliah ini, mahasiswa memiliki kemampuan membuat

program komunikasi client-server menggunakan socket TCP/IP

B. Dasar Teori

Untuk menelusuri Web atau mengirim email, komputer Anda harus terhubung ke Internet. Internet adalah jaringan global jutaan komputer. Komputer Anda mungkin terhubung ke Internet melalui Internet Service Provider (ISP) menggunakan dialup, DSL, atau modem kabel, atau melalui jaringan area lokal (LAN).

Komputer dapat tersambung dengan Internet dengan menjalankan protokol TCP/IP. Ketika sebuah komputer akan menghubungi komputer lain, maka tahap pertama yang harus diketahui adalah alamat komputer tujuan. Alamat ini sering disebut dengan IP Address dan terdiri dari 32-bit untuk IPv4 yang ditulis dala bentuk 4 buah angka 8-bit yang dipisahkan dengan tanda titik. Tiap-tiap kelompok dapat ditulis dengan bilangan biner (00000000 s.d. 11111111), hexa desimal (00 s.d. FF) atau desimal (0 s.d. 255). Misalnya 192.168. 0. 1 adalah IP Address yang ditulis dengan bilangan desimal.

Protokol TCP/IP pada prinsipnya terdiri dari dua kelompok protokol, yaitu protokol TCP (Transmission Control Protocol) atau UDP (User Datagram Protocol) dan protokol IP. Protokol IP adalah protokol level bawah yang menangani proses pengiriman data dari satu komputer ke komputer yang lain. Sedangkan protokol dengan level yang lebih tinggi yaitu TCP atau UDP berfungsi menjalankan protokol IP. TCP memungkinkan dua buah host membangun hubungan dan melakukan pertukaran data. TCP menjamin pengiriman data sampai pada tujuannya dan juga menjamin bahwa paket akan dikirimkan dalam urutan yang sama seperti urutan yang ada pada komputer pengirim. TCP bersifat connection-oriented. UDP bersifat standar, low-overhead, connectionless, dan host-to-host protocol yang bekerja di atas lapisan protokol IP. UDP memungkinkan program aplikasi untuk mengirimkan sebuah datagram ke aplikasi komputer lain.

Bahasa permrograman Java mendukung stream socket dan datagram socket. Stream socket menggunakan protokol TCP untuk mengirimkan data, sedangkan datagram socket menggunakan protokol UDP. TCP dapat mengetahui data yang hilang saat proses pegiriman berlangsung dan mengirim ulang paket data yang hilang (tidak sampai kepada tujuan), sehingga pengiriman bersifat lossless (tidak ada yang hilang) dan reliabel. Sedangkan protokol UDP tidak menjamin pengiriman tanpa terjadi kehilangan paket, sehingga pengiriman bersifat lossy. Dengan demikian, stream socket (protokol TCP) lebih banyak digunakan dalam pemrograman Java dibanding dengan datagram socket (UDP). Pemrograman datagram socket akan dibahas setelah pembahasan pemrograman stream socket.

Client/Server Computing

Komunikasi berbasis socket dalam bahasa pemrograman Java disediakan dengan tujuan program dapat melakukan komunikasi melalui socket yang direncakan. Socket adalah ujung titik dari sebuah hubungan lojik antara dua buah host dan dapat digunakan untuk mengirim dan menerima data. Java memperlakukan komunikasi socket seperti operasi I/O, sehingga program dapat membaca dari (read) atau menulis ke (write) socket dengan mudah seperti membaca dan menulis file.

Pemrograman jaringan biasanya menggunakan sebuah server dan beberapa client. Client ini mengirimkan permintaan (request) ke server, dan server merespon (accept) permintaan tersebut. Proses pengiriman data diawali oleh Client dengan membangun hubungan ke server. Server dapat menerima atau menolak permintaan koneksi tersebut.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

Eko Marpanaji

Page 2: Labsheet Aplikasi Jaringan 001-Edit

PROGRAM PASCASARJANA UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET APLIKASI JARINGAN

Semester 3 Networking: Pemrograman Socket 01 4 x 50mnt

No. LST/EKA/PTI208/01 Revisi : 01 Juni 2013 Hal 2 dari 9

Sekali koneksi client dengan server ini terbentuk, client dan server melakukan komunikasi melalui socket tersebut.

Server harus sudah bekerja sebelum client mengirimkan permintaan. Server menunggu permintaan koneksi dari client. Perintah yang digunakan untuk membangun sebuah server dan client adalah sebagai berikut.

Gambar 1. Perintah yang digunakan untuk membangun Server dan ClientSumber: Liang, 2007

Server socketServer dibangun dengan cara membuat sebuah socket server dan meletakkannya

pada sebuah port sebagai tempat yang digunakan oleh server untuk mendengarkan adanya sebuah koneksi. Port mengidentifikasi layanan TCP pada socket tersebut. Penomoran port dapat ditulis dengan bilangan 0 s.d. 65536, tetapi bilangan port 0 s.d. 1024 digunakan untuk layanan yang digunakan dalam jaringan Internet. Misalnya, port 25 digunakan untuk layanan email atau protokol SMTP (Simple Mail Transfer Protocol), port 80 digunakan untuk layanan Web atau protovol HTTP (Hyper Text Transfer Protocol), port 21 digunakan untuk layanan FTP (File Transfer Protocol) dan lain sebagainya.

Perintah yang digunakan dalam menentukan socket server beserta nomor port adalah dengan memanggil kelas ServerSocket(port). Berikut ini adalah contohnya.

ServerSocket serverSocket = new ServerSocket(port);

Parameter port diisi dengan nomor port yang diinginkan. Misal kita akan meletakkan socket server pada port 1000. Maka perintahnya adalah:

ServerSocket serverSocket = new ServerSocket(1000);

Setelah socket server terbentuk, maka perintah selanjutnya adalah mendengarkan ada tidaknya permintaan koneksi dari client melalui port tersebut. Caranya adalah dengan memanggil method accept() pada kelas ServerSocket.

Socket socket = serverSocket.accept();

Perintah ini akan membuat server menunggu adanya permintaan koneksi dari sebuah client.

Client Socket

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

Eko Marpanaji

Page 3: Labsheet Aplikasi Jaringan 001-Edit

PROGRAM PASCASARJANA UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET APLIKASI JARINGAN

Semester 3 Networking: Pemrograman Socket 01 4 x 50mnt

No. LST/EKA/PTI208/01 Revisi : 01 Juni 2013 Hal 3 dari 9

Client melakukan permintaan koneksi dengan menyebutkan nama server atau IP

Addressnya dan nomor port yang disediakan. Perintah yang digunakan adalah:

Socket socket = new Socket(serverName, port);

Berdasarkan deklarasi pada server bahwa port yang digunakan adalah 1000 dan

misalkan server memiliki IP Address 192.168.0.1, maka perintah client untuk melakukan

permintaan koneksi adalah:

Socket socket = new Socket("192.168.0.1", 1000);

Jika tersedia DNS yang menyatakan komputer server dengan IP Address 192.168.0.1

memiliki nama domain server.uny.ac.id, maka perintah untuk melakukan permintaan

koneksi dapat ditulis:

Socket socket = new Socket("server.uny.ac.id", 1000);

Pengiriman Data Melalui Socket

Setelah server menerima (mengijinkan) permintaan koneksi dari client, komunikasi

server dan client dilakukan seperti strea I/O. Perintah yang digunakan untuk

menghasilkan stream dan menukar data antara server dan client ditunjukkan pada

gambar berikut ini.

Gambar 2. Perintah yang digunakan untuk menghasilkan stream dan menukar dataSumber: Liang, 2007

Stream input dan stream output dapat diperoleh masing-masing dengan menggunakan method getInputStream() dan getOutputStream() pada obyek socket. Sebagai contoh, perintah berikut ini menghasilkan sebuah stream InputStream yang dinamakan dengan input dan sebuah stream OutputStream yang disebut output dari sebuah socket:

InputStream input = socket.getInputStream();OutputStream output = socket.getOutputStream();

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

Eko Marpanaji

Page 4: Labsheet Aplikasi Jaringan 001-Edit

PROGRAM PASCASARJANA UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET APLIKASI JARINGAN

Semester 3 Networking: Pemrograman Socket 01 4 x 50mnt

No. LST/EKA/PTI208/01 Revisi : 01 Juni 2013 Hal 4 dari 9

Stream InputStream dan OutputStream digunakan untuk membaca dan menulis byte dari data. Kita dapat juga menggunakan DataInputStream, DataOutputStream, BufferedReader, dan PrintWriter untuk membaca InputStream dan OutputStream pada saat membaca dan menulis data, seperti int, double, atau String. Perintah-perintah berikut ini adalah sebuah contoh untuk menghasilkan sebuah stream DataInputStream yang dinamakan input, dan sebuah stream DataOutput yang dinamakan dengan output, untuk membaca dan menulis nilai data primitif.

DataInputStream input = new DataInputStream(socket.getInputStream());DataOutputStream output = new DataOutputStream(socket.getOutputStream());

Server dapat menggunakan input.readDouble() untuk menerima nilai data bertipe double dari client, dan output.writeDouble(d) untuk mengirim nilai data bertipe double dari sebuah variabel d kepada client.

Contoh Program.

Berikut ini akan diberikan sebuah contoh program client-server untuk menghitung

luas sebuah lingkaran. Client akan mengirimkan nilai jari-jari sebuah lingkaran melalui

socket koneksi, kemudian server melakukan perhitungan untuk menghitung luas

lingkaran, kemudian hasilnya dikirim ke client oleh server. Jika digambarkan, proses

tersebut adalah sebagai berikut:

Gambar 3. Proses client-server dalam menghitung luas lingkaranSumber: Liang, 2007

Client mengirimkan radius melalui DataOutputStream pada socket output stream, dan server menerima radius melalui DataInputStream pada socket aliran input, seperti yang ditunjukkan pada Gambar 4(a). Server menghitung area dan mengirimkannya ke client melalui DataOutputStream pada socket output stream, dan client menerima daerah melalui DataInputStream pada soket aliran input, seperti ditunjukkan pada Gambar 4(b).

Gambar 4. (a) Client mengirimkan radius ke server. (b) Server mengirimkan area ke clientSumber: Liang, 2007

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

Eko Marpanaji

Page 5: Labsheet Aplikasi Jaringan 001-Edit

PROGRAM PASCASARJANA UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET APLIKASI JARINGAN

Semester 3 Networking: Pemrograman Socket 01 4 x 50mnt

No. LST/EKA/PTI208/01 Revisi : 01 Juni 2013 Hal 5 dari 9

.Gambar 5. Client mengirimkan radius ke server. Server menerimnya, menghitung area, dan mengirimkan

area ke client.Sumber: Liang, 2007

LP-01. Program Server

1 import java.io.*; 2 import java.net.*; 3 import java.util.*; 4 import java.awt.*; 5 import javax.swing.*; 6 7 public class Server extends JFrame { 8 // Text area for displaying contents 9 private JTextArea jta = new JTextArea();1011 public static void main(String[] args) {12 new Server();13 }1415 public Server() {16 // menampilkan text area ke dalam frame17 setLayout(new BorderLayout());18 add(new JScrollPane(jta), BorderLayout.CENTER);1920 setTitle("Server");21 setSize(500, 300);22 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 23 setVisible(true); //sagat penting untuk menampilkan frame!2425 try {26 // membuat server socket27 ServerSocket serverSocket = new ServerSocket(8000);28 jta.append("Server started at " + new Date() + '\n');2930 // menerima permintaan koneksi31 Socket socket = serverSocket.accept();3233 // membuat data input dan output streams34 DataInputStream inputFromClient = new DataInputStream(35 socket.getInputStream());36 DataOutputStream outputToClient = new DataOutputStream(37 socket.getOutputStream());3839 while (true) {40 // menerima radius dari client41 double radius = inputFromClient.readDouble();4243 // menghitung luas area lingkaran44 double area = radius * radius * Math.PI;45

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

Eko Marpanaji

Page 6: Labsheet Aplikasi Jaringan 001-Edit

PROGRAM PASCASARJANA UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET APLIKASI JARINGAN

Semester 3 Networking: Pemrograman Socket 01 4 x 50mnt

No. LST/EKA/PTI208/01 Revisi : 01 Juni 2013 Hal 6 dari 9

46 // mengirim area kembali ke client47 outputToClient.writeDouble(area);4849 jta.append("Radius received from client: " + radius + '\n');50 jta.append("Area found: " + area + '\n');51 }52 }53 catch(IOException ex) {54 System.err.println(ex);55 }56 }57 }

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

Eko Marpanaji

Page 7: Labsheet Aplikasi Jaringan 001-Edit

PROGRAM PASCASARJANA UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET APLIKASI JARINGAN

Semester 3 Networking: Pemrograman Socket 01 4 x 50mnt

No. LST/EKA/PTI208/01 Revisi : 01 Juni 2013 Hal 7 dari 9

LP-02. Program Client

1 import java.io.*; 2 import java.net.*; 3 import java.awt.*; 4 import java.awt.event.*; 5 import javax.swing.*; 6 7 public class Client extends JFrame { 8 // Text field untuk menerima radius 9 private JTextField jtf = new JTextField(); 1011 // Text area untuk menampilkan konten12 private JTextArea jta = new JTextArea(); 1314 // IO streams15 private DataOutputStream toServer;16 private DataInputStream fromServer;1718 public static void main(String[] args) {19 new Client();20 }2122 public Client() {23 // Panel p sebagai tempat label dan text field24 JPanel p = new JPanel();25 p.setLayout(new BorderLayout());26 p.add(new JLabel("Enter radius"), BorderLayout.WEST);27 p.add(jtf, BorderLayout.CENTER); 28 jtf.setHorizontalAlignment(JTextField.RIGHT);2930 setLayout(new BorderLayout());31 add(p, BorderLayout.NORTH);32 add(new JScrollPane(jta), BorderLayout.CENTER);3334 jtf.addActionListener(new ButtonListener()); // Register listener3536 setTitle("Client");37 setSize(500, 300);38 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);39 setVisible(true); // penting untuk menampilkan frame!4041 try {42 // membuat socket utuk koneksi ke server43 Socket socket = new Socket("localhost", 8000);44 // Socket socket = new Socket("130.254.204.36", 8000);45 // Socket socket = new Socket("drake.Armstrong.edu", 8000);4647 // membuat input stream untuk menerima data dari server48 fromServer = new DataInputStream(49 socket.getInputStream());5051 // membuat output stream untuk mengirim data ke server52 toServer =53 new DataOutputStream(socket.getOutputStream());54 }55 catch (IOException ex) {56 jta.append(ex.toString() + '\n');57 }58 }5960 private class ButtonListener implements ActionListener {61 public void actionPerformed(ActionEvent e) {

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

Eko Marpanaji

Page 8: Labsheet Aplikasi Jaringan 001-Edit

PROGRAM PASCASARJANA UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET APLIKASI JARINGAN

Semester 3 Networking: Pemrograman Socket 01 4 x 50mnt

No. LST/EKA/PTI208/01 Revisi : 01 Juni 2013 Hal 8 dari 9

62 try {63 // mengambil radius dari text field64 double radius = Double.parseDouble(jtf.getText().trim());6566 // mengirim radius ke server67 toServer.writeDouble(radius);68 toServer.flush();6970 // membaca area dari server71 double area = fromServer.readDouble();72 73 // menampilkan hasil komputasi area ke text area74 jta.append("Radius is " + radius + "\n");75 jta.append("Area received from the server is "76 + area + '\n');77 }78 catch (IOException ex) {79 System.err.println(ex);80 }81 }82 }83 }

Pertama-tama jalankan program server, kemudian menjalankan program client. Dalam program client, masukkan radius di bidang teks dan tekan Enter untuk mengirim radius ke server. Server menghitung daerah dan mengirimkannya kembali ke client. Proses ini diulang sampai salah satu dari dua program berakhir.

Kelas-kelas untuk menjalankan jaringan berada di paket java.net. Maka, java.net ini harus diimpor ketika menulis program jaringan Java.

Kelas Server menciptakan ServerSocket serverSocket dan menggunakan port 8000, menggunakan pernyataan ini (baris 27 di Server.java):

ServerSocket serverSocket = new ServerSocket(8000);

Server kemudian mulai mendengarkan permintaan sambungan, dengan menggunakan pernyataan berikut (line 31 di Server.java):

Socket socket = serverSocket.accept();

Server menunggu sampai Client meminta sambungan. Setelah terhubung, server membaca radius dari client melalui input stream, menghitung daerah, dan mengirimkan hasilnya ke klien melalui output stream.

Kelas Client menggunakan pernyataan berikut untuk membuat socket yang akan meminta koneksi ke server pada mesin yang sama (localhost) di port 8000 (line 43 di Client.java):

Socket socket = new Socket("localhost", 8000);

Jika Anda menjalankan server dan client pada mesin yang berbeda, maka ganti localhost dengan nama host mesin server atau alamat IP. Dalam contoh program ini, server dan client berjalan pada mesin yang sama.

Jika server tidak berjalan, program Client berakhir dengan java.net.ConnectException a. Setelah tersambung, Client mendapatkan input dan

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

Eko Marpanaji

Page 9: Labsheet Aplikasi Jaringan 001-Edit

PROGRAM PASCASARJANA UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET APLIKASI JARINGAN

Semester 3 Networking: Pemrograman Socket 01 4 x 50mnt

No. LST/EKA/PTI208/01 Revisi : 01 Juni 2013 Hal 9 dari 9

output stream yang terbungkus pada data input dan output stream untuk menerima dan mengirim data ke server.

Jika Anda menerima java.net.BindException ketika Anda mulai server, berarti port server sedang digunakan. Anda perlu untuk mengakhiri proses yang menggunakan port server dan kemudian restart server.

Apa yang terjadi jika setVisible pernyataan (true) dalam baris 23 di Server.java dipindahkan setelah blok try-catch sejalan 56 di Server.java? Frame tidak akan ditampilkan, karena loop sementara di blok try-catch tidak akan selesai sampai program berakhir.

C. Alat/ Bahan 1. Lab. Sheet Jaringan Terdistribusi #012. PC / Laptop with OS installed3. JDK 1.5 or latest4. Crimson atau text editor lainnya

D. Langkah Kerja 1. Baca dan pahami dasar teori di atas.2. Lakukan kompilasi dan eksekusi terhadap contoh-contoh source code LP-01 dan

LP-02.3. Catat hasilnya dan fahami cara kerja program server dan client4. Kerjakan tugas individu di bawah ini.

E. Tugas Individu

1. Buatlah skrip program Client dan Server dengan tampilan pada command line (tanpa menggunakan GUI) sekedar membuktikan:

a. Client melakukan permintaan koneksi dan Server menerima permintaan koneksi.

b. Tambahkan pada skrip program tersebut untuk menjadi kelas baru yang membuktikan proses pertukaran data (stream input dan stream output)

2. Buat makalah (maks. 3 halaman) yang berisi penjelasan prinsip kerja tugas No. 1.3. Kumpulkan file makalah dan skrip program tersebut melalui besmart.uny.ac.id

dengan ketentuan:a. File yang di-upload dalam bentuk zip-file dari sebuah folder tempat

meletakkan file makalah dan skrip program.b. Nama zip-file dan folder menggunakan aturan ”nama_nim”

F. Lampiran

-

Daftar Pustaka

Liang, Y. Daniel, 2007. Introduction to Java programming: comprehensive version 6th Edition, New Jersey: Prentice Hall.

Hariri, Salim, dan Parashar, Manish, 2004. Tools and Environments for Parallel and Distributed Computing. Canada: John Wiley & Sons.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

Eko Marpanaji