Sabtu, 29 April 2017

TUGAS PEMROGRAMAN JARINGAN: simpleServer & simpleClient



Listing diatas memiliki nama file yaitu simpleServer yang memiliki nilai dari variabel TESTPORT yang berada pada port 5000 kemudian terdapat fungsi checkServer, line, is, os, clientSocket yang bernilai null. Kemudian terdapat fungsi untuk menangani kesalahan dengan perintah try catch dimana jika nilai yang dituju pada TESTPORT sesuai dengan nilai yang di deklarasikan maka akan menampilkan info bahwa aplikasi server hidup. Kemudian terdapat listing yang berguna untuk mengecek fungsi checkServer dimana program akan menampilkan kalimat Terima dan user menginputkan dengan kata salam, maka program akan membalas dengan kalimat salam juga namun jika bukan kalimat salam yang diinputkan user, maka program akan menampilkan kalimat Maaf, saya tidak mengerti.






Listing diatas memiliki nama file yaitu simpleClient yang memiliki variabel REMOTE_PORT yang berada pada port 5000, kemudian terdapat variabel cl, is, os, userInput, output yang bernilai null. Kemudian terdapat fungsi untuk menangani kesalahan dengan perintah try catch dimana variabel cl memiliki args yang berbentuk array, variabel is berfungsi untuk menginputkan yang akan ditampung pada variabel cl dengan memanggil method getInputStream, os yang berfungsi untuk menampilkan inputan yang ditampung pada variabel cl dengan memanggil method getOutputStream dan jika program mengalami kesalahan maka program akan menampilkan Unknown Host yang diambil dari parameter e1 dan menampilkan Error io yang diambil dari parameter e2. Program akan menampilkan Masukkan kata kunci: dan user harus menginputkannya dan ditampung kedalam variabel userInput dan jika program mengalami kesalahan maka program akan menampilka Error writing to server yang diambil dari parameter ex. Kemudian client akan menerima tanggapan dari server dimana variabel output diambil dari variabel is dan akan menampilkan kalimat Dari server yang diambil dari variabel output dan kemudian jika program kembali menangani kesalahan maka akan menampilkan Error writing dan semua fungsi akan berhenti.



OUTPUT PROGRAM




Sumber: http://achsan.staff.gunadarma.ac.id/Downloads/folder/0.25

TUGAS PEMROGRAMAN JARINGAN: NsLookup.java



Listing diatas bernama NsLookup yang terdapat kondisi dimana panjang args sama dengan 0 maka program akan menampilkan kalimat Pemakaian: java NsLookup <hostname> dan kemudian program akan keluar serta terdapat pelemparan kesalahan dimana jika program mengalami kesalahan, maka program akan menampilkan Unknown host dan program akan keluar.



OUTPUT PROGRAM



Sumber: http://achsan.staff.gunadarma.ac.id/Downloads/folder/0.25

TUGAS PEMROGRAMAN JARINGAN: IPtoName.java



Listing diatas bernama IPtoName serta terdapat kondisi dimana jika panjang dari args sama dengan 0, maka program akan menampilkan kalimat Pemakaian: java IPtoName <IP address> dan program akan keluar. Kemudian terdapat pendeklarasian variabel host yang bertipe data string dengan panjang array 0 dan nilai dari fungsi address adalah null. Nilai variabel address menampung nilai InetAddress yang dipanggil dari method getByName dengan parameter host. Setelah itu terdapat pelemparan kesalahan yang nantinya jika mengalami kesalahan, maka akan menampilkan kalimat invalid IP - malformed IP dan program akan keluar.


OUTPUT PROGRAM


Sumber: http://achsan.staff.gunadarma.ac.id/Downloads/folder/0.25

TUGAS PEMROGRAMAN JARINGAN: getName.java



Listing diatas berfungsi untuk melihat nama komputer yang akan digunakan dan terdapat perintah throws Exception yang digunakan untuk melakukan pelemparan kesalahan pada saat program dijalankan dengan pendeklarasian variabel InetAddress bernilai null dan akan menampung alamat IP dengan memanggil method getLocalHost. Kemudian program akan menampilkan nama komputer yang diambil dari fungsi host dengan memanggil method getHostName.



OUTPUT PROGRAM


Sumber: http://achsan.staff.gunadarma.ac.id/Downloads/folder/0.25

TUGAS PEMROGRAMAN JARINGAN: getIP.java




Listing diatas merupakan dari program yang diberi nama getIP dengan sifat public, berfungsi untuk melihat IP dari komputer yang digunakan, kemudian program tersebut memiliki perintah throws Exception yang berfungsi untuk melakukan pelemparan kesalahan ketika program dijalankan. Kemudian terdapat pendeklarasian variabel InetAddress bernilai null, dan variabel host menampung nilai dari InetAddress dengan cara memanggil method getLocalHost(). Setelah itu terdapat pendeklarasian ip dengan tipe data yang dideklarasikan dengan menggunakan array untuk menampung alamat dari host, dan setelah itu terdapat perulangan serta percabangan yang digunakan untuk menampilkan titik (.) pada alamat IP.




OUTPUT PROGRAM



Sumber: http://achsan.staff.gunadarma.ac.id/Downloads/folder/0.25

Sabtu, 15 April 2017

Quantum Computation

  • Definisi Quantum Computing

Quantum Computation merupakan alat hitung yang menggunakan mekanika kuantum seperti superposisi dan keterkaitan, yang digunakan untuk pengoperasian data. Perhitungan jumlah data pada komputasi klasik dihitung dengan bit, sedangkan pada komputer kuantum dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, serta mekanika kuantum dapat digunakan untuk melakukan operasi dengan data tersebut. Untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.


  • Sejarah Singkat Quantum Computation

Ide mengenai quantum computation atau komputer kuantum ini berasal dari beberapa fisikawan antara lain Charles H. Bennett dari IBM, Paul A. Benioff dari Argonne National Laboratory, Illinois, David Deutsch dari University of Oxford, dan Richard P. Feynman dari California Institute of Technology (Caltech).

Pada awalnya, Feynman mengemukakan ide mengenai sistem kuantum yang juga dapat melakukan proses perhitungan. Feynman juga mengemukakan bahwa sistem ini bisa menjadi simulator bagi percobaan fisika kuantum.

Selanjutnya, para ilmuwan mulai melakukan riset mengenai sistem kuantum tersebut, mereka juga berusaha untuk menemukan logika yang sesuai dengan sistem tersebut. Sampai saat ini telah dikemukakan dua algoritma baru yang bisa digunakan dalam sistem kuantum yaitu algoritma shor dan algoritma grover.

Telah dipercaya dengan sangat luas, apabila komputer kauntum dalam skala besar dapat dibuat, maka komputer tersebut dapat menyelesaikan sejumlah masalah lebih cepat daripada komputer biasa. Komputer kuantum berbeda dengan komputer DNA dan komputer klasik berbasis transistor, walaupun mungkin jenis komputer tersebut menggunakan prinsip kuantum mekanik. Sejumlah arsitektur komputasi seperti komputer optik walaupun menggunakan superposisi klasik dari gelombang elektromagnetik, namun tanpa sejumlah sumber kuantum mekanik yang spesifik seperti ketekaitan, maka tak dapat berpotensi memiliki kecepatan komputasi sebagaimana yang dimiliki oleh komputer kuantum.

  • Pengoperasian Data Qubit

Qubit merupakan kuantum bit, dimana dalam komputasi kuantum ini menggunakan digit biner atau bit dari komputasi klasik. Dalam komputer kuantum, sejumlah partikel elemental seperti elektron atau foton dapat digunakan, baik dengan biaya mereka atau polarisasi bertindak sebagai representasi dari 0 dan/atau 1. Dua aspek yang paling relevan adalah prinsip superposisi dan Entanglement.


  • Algoritma pada Quantum Computation

  1. Algoritma Shor
    ditemukan oleh Peter Shor pada tahun 1995. Dengan menggunakan algoritma ini, sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini digunakan untuk mengamankan pengiriman data yang disebut dengan RSA.
  2. Algoritma Grover
    merupakan sebuah algoritma kuantum yang menawarkan percepatan kuadrat dibanding pencarian linear klasuk untuk list tidak terurut. Algoritma ini dapat juga digunakan untuk memperkirakan rata-rata dan mencari median dari serangkaian angka, dan untuk memecahkan masalah Collision.

  • Implementasi Quantum Computation
Pada 19 November 2013, NASA dan Google memiliki satu misi yang sama yaitu mereka ingin membuat komputer kuantum sendiri. Komputer kuantum ini adalah superkonduktor chip yang dirancang oleh sistem D- gelombang dan yang dibuat di NASA Jet Propulsion Laboratories.

NASA dan Google berbagi sebuah komputer kuantum yang digunakan di Quantum Artificial Intelligence Lab menggunakan 512 qubit D -Wave Two yang akan digunakan untuk penelitian pembelajaran mesin yang membantu dalam menggunakan jaringan syaraf tiruan untuk mencari set data astronomi planet ekstrausnya dan untuk meningkatkan efisiensi search internet dengan menggunakan AI metaheuristik di search engine heuristical.

Penggunaan metaheuristik canggih pada fungsi heuristical lebih rendah dapat melihat simulasi komputer yang dapat memilih sub rutinitas tertentu pada komputer sendiri untuk memecahkan masalah dengan cara yang benar-benar cerdas, dan mesin ini akan jauh lebih mudah beradaptasi terhadap perubahan data indrawi dan akan mampu berfungsi dengan jauh lebih otomatisasi dibanding dengan komputer manual.



Sumber:

Jumat, 14 April 2017

Mobile Computing

Mobile Computing merupakan suatu kemampuan teknologi untuk menghadapi perpindahan atau pergerakan manusia dalam penggunaan komputer secara praktis, namun ada beberapa pengertian lain tentang mobile computing, yaitu:
  • Mobile Computing merupakan suatu paradigma baru dari teknologi yang mampu melakukan komunikasi walaupun user melakukan perpindahan
  • Mobile Computing merupakan kemajuan teknologi yang sering disebut juga dengan mobile computer (portable computer) yang dapat berkomunikasi dengan jaringan tanpa kabel (nirkabel)
  • Mobile Computing merupakan sekumpulan hardware, data, dan software aplikasi yang dapat berpindah lokasi
  • Mobile Computing merupakan kelas tertentu dari sistem terdistribusi dimana beberapa node dapat melepaskan diri dari operasi terdistribusi tersebut, bergerak bebas, dan melakukan koneksi kembali pada jaringan yang berbeda
  • Mobile Computing berbeda dengan Wireless Computing

Jenis-jenis mobile computing, adalah:
  1. Laptop
    Laptop merupakan komputer portable, kecil, dan dapat dibawa kemana saja dengan sangat mudah yang terintegrasi pada sebuah casing. Sumber listrik berasal dari baterai/AC adaptor yang dapat digunakan untuk mengisi ulang baterai dan untuk menyalakan laptop itu sendiri. Kegunaan laptop sama dengan komputer desktop, yang membedakan hanya ukuran sehingga memudahkan pemakai untuk membawanya kemana-mana.
  2. Wearable computer
    Wearable computer atau komputer yang dipakaikan di tubuh manusia, contohnya adalah Computer Gletser Ridgeline W200 yang terbuat dari paduan magnesium bertulang yang memaksimalkan kekuatan dan meminimalkan berat keseluruhan. W200 mengkombinasika fitur yang sama dengan sebuah komputer standar dengan sebuah perangkat yang memberi kenyamanan dan ergonomis pergelangan tangan instrumen aus. W200 ini memiliki sebuah 3.5" layar warna dengan layar sentuh, keyboard backlit dan baterai hot swappable. Fungsi nirkabel dari W200 memastikan konektivitas berkelanjutan terlepas dari lokasi pengguna dengan plug and play Wi-Fi, bluetooth dan modul GPS.
  3. PDA (Personal Digital Assistants)
    PDA merupakan sebuah alat elektronik yang berbasis komputer dan berbentuk kecil dan dapat dibawa kemana-mana. PDA banyak digunakan sebagai pengorganisir pribadi pada awalnya, namun karena perkembangannya, kemudian bertambah banyak kegunaannya seperti kalkulator, penunjuk jam dan waktu, permainan komputer, pengakses internet, dan lain sebagainya.
  4. Smartphone
    merupakan ponsel yang mempunyai kemampuan canggih yang menyerupai kemampuan komputer. Suatu ponsel dikatakan sebagai smartphone bila dapat berjalan pada software operating system yang lengkap dan memiliki interface dan platform standar bagi pengembang aplikasi. Dengan kata lain, smartphone adalah miniatur komputer dengan kemampuan ponsel.
  5. Ultra Mobile PC
    lebih dikenal dengan Micro PC adalah komputer ekstra mini yang bisa dibawa kemana-mana, berlayar sentuh, dan dapat digunakan untuk mengerjakan tugas kantor.

Mobile computing memiliki beberapa kelebihan dan kekurangan. Kelebihan diantaranya, yaitu:
  • Mobilitas
    Teknologi mobile computing memungkinkan orang untuk tidak terikat dengan tempat, pengguna dapat melakukan pekerjaan sekaligus berkomunikasi dengan orang lain dimanapun dan kapanpun.
  • Keefektifan
    Dengan menggunakan mobile computing, lebih banyak pekerjaan yang dapat diselesaikan karena fleksibilitas dalam hal tempat bekerja.
Sedangkan kekurangannya, ialah:
  1. Rendahnya jaringan bandwidth
    Setiap jaringan nirkabel menyediakan kapasitas bandwidth yang berbeda, namun bandwidth nirkabel ini terlalu kecil dibanding dengan jaringan tetap seperti ATM yang dapat memberikan kecepatan hingga 155 Mbps
  2. Biaya komunikasi asimetrik
    Kapasitas bandwidth yang berbeda antara hilir komunikasi dan komunikasi upstream telah menciptakan sebuah lingkungan baru dimana akan terjadi situasi yang dapat mengakibatkan komunikasi asimetri. Salah satunya adalah karena kemampuan perangkat fisik, misalnya server memiliki pemancar siaran kuat, sedangkan klien mobile memiliki kemampuan transmisi kecil.
  3. Koneksi yang lemah, dimana pengguna mobile sering terputus dari jaringan. Hal ini mungkin terjadi karena beberapa alasan, salah satunya adalah kegagalan sinyal, jangkauan sinyal yang kurang luas, dan lain sebagainya.
  4. Konsumsi tenaga, dimana mobile computing ini sangat bergantung pada daya tahan baterai


Sumber: