Client - Server TCP sederhana, getIP, IPtoName, getNsLookup, getNameIP


Berikut cara untuk melihat IP yang digunakan, nama IP, nama komputer yang digunakan, dan melakukan Nslookup secara sederana. Ada juga membuat chat client-server TCP secara sederhana.
1.     Clinet – Server TCP
Program yang dibuat merupakan multiple client chat server java dengan cmd. Jadi computer dapat melakukan obrolan antar computer melalui cmd. Mekanismenya yaitu computer A menjadi client dan computer B menjadi server. Dapat juga satu computer menjadi server dan juga client, yaitu degnan cara membuka dua cmd sekaligus, dan itu yang akan dipraktekan dalam laporan ini.

Blok pertama adalah mendeklarasikan library yang dibutuhkan untuk membuat program java ini yaitu dengan syntax import, dan yang dibutuhkan adalah java.net dan java.io.



Kemudian pembuatan nama class. Class pertama yaitu chatclient. Agar daapt terhubung ke computer server maka masukan ip jaringan yang digunakan. Samakan dengan mambuka ipconfig pada cmd. Socket adalah sebuah abstraksi perangkat lunak yang digunakan sebagai suatu “terminal” dari suatu hubungan antara dua mesin atau proses yang saling berinterkoneksi. Digunakan oleh Client untuk inisialisasi koneksi. bufferreader adlah syntax untuk melakukan pembacaan input.


Terdapat perulangan untuk dapat saling melakukan chat client server. Dan mekanisme oborolan yaitu asyncronus, yaitu tidak bisa realtime. Artinya apabila giliran server yang melakukan chat maka client tidak bisa mengetik hingga server mngirim. Kemudian apa bila client mengetik kata ‘stop ‘ maka program akan terhenti.


Bagian terakhir pada chatclient.java yaitu mentutp program setelah diketikan kata’stop’.
Chatserver.java

Setalah mendeklarasikan library, membuat nama class untuk program kedua, yaitu chatserver.java. Jika chatclient.java terdapat socket maka pada chatserver terdapat serversocket untuk inisialisasinya.


Sama seperti pada client perualngan digunakan untuk melakukan oborolan. Dan apbila ditliskan kata ‘stop’ maka jug akan mengentikan program.

2.     Get IP
Kodingan untuk membuat progrgram getIp diwali dengan library dari java. Kemudian dilanjutkan dengan pembuatan kelas. Setelah method void masuklah ke pendeklarasian variabel host yang diberi nilai awal null. Kemudian diberikan syntax untuk membaca IP dari komputer yang digunakan host = InetAddress.getLocalHost(); . Lalu ada perulangan  dengan batasan panjang karakter dari ip yang dimaksud kemudian di print atau cetak kedalam layar cmd dengan syntax System.out.println();
Setelah melakukan compiling maka program bisa langsung dijalankan. Maka hasil yang akan keluar yaitu IP yang sama dengan jarigna yang digunakan. Silahkan dicek ke ipconfig unuk memastikan kebenarannya.
3.     GetNameIP
Serpeti biasa kodingan diwali dengan import libarary dari java. Kemudian methodnya, lalu diikuti pemberian variabel awal pada host. Dan program akan mencetak atau menampilkan ip yang sedang diguakan.
4.     NsLookup
Logika dari program ini, jika panjang karakter string args sama dengan 0 maka akan mencetak Pemakai : Java NsLookup hostname. Kemudian terdapat perintah try dan catch yang digunakan untuk menangkap kesalahan didalam program, pada perintah try ini akan mencoba memanggil nama host kemudian disimpan didalam variabel address, jika terdapat kesalahan maka program akan mencetak unknown host, jika program tidak terjadi kesalahan terdapat perintah perulangan for.

5.     IPtoName

Pada program ini terdapat kondisi if dimana jika panjang string host sama dengan 0 maka cetak nama pemakai dan IPtoNameKemudian terdapat perintah try dan catch yang digunakan untuk menangkap kesalahan didalam program, pada perintah try ini akan mencoba memanggil nama host kemudian disimpan didalam variabel address, jika terdapat kesalahan maka program akan mencetak invalid IP – malformed ip, jika program tidak terjadi kesalahan maka program akan mencetak nilai ip address host.
Hasil dari program IptoName setelah dijalankan

Share:

Review Jurnal Komputasi Awan


Judul jurnal :
PENERAPAN KOMPUTASI AWAN DALAM DUNIA PENDIDIKAN – SEBUAH PENDEKATAN TEORITIS  
Link Jurnal :
Abstraksi :
Saat ini bagi banyak orang masih belum jelas mengenai apa itu komputasi awan, apa bedanya dengan Grid Computing. Komputasi awan adalah layanan berbasis internet. Komputasi awan memiliki banyak kelebihan dibandingkan dengan grid computing.Komputasi awan memiliki tiga layanan utama, Software as Services, Platform as Services, dan Infrastructure as Services. Seluruh layanan yang tersedia di awan diakses oleh perangkat bergerak yang kompatibel familiar dan umum kita lihat dan gunakan contohnyal PDA, Smartphone dll. Pada paper ini dipaparkan contoh pemanfaatan komputasi awan bagi dunia pendidikan. Bagi sisi dunia pendidikan komputasi awan dapat dijadikan alternatif permasalahan kebutuhan prasarana pembelajara, guna menghemat kebutuhan sumber daya pembelajaran
Isi Pembahasan jurnal :
            Pembahasan pertama setelah pendahuluan adalah arti dari komputasi awan itu sendiri dengan mengutip dari Institut Nasional Standar dan Teknologi yaitu, "model untuk meningkatkan kenyamanan, memberikan ondemand access ke jaringan terminal sumber daya komputasi bersama, yang dapat dikonfigurasi(misalnya jaringan, server, penyimpanan, aplikasi, dan layanan yang diberikan) yang dapat ditetapkan dengan cepat dan dirilis dengan upaya manajemenatau interaksi penyedia layanan yang minimal " . Pada paragraf selanjutnya dijelaskan bahwa komputasi modern sangatlah diminati di era serba komputerisasi ini. Kemudian banyak dari perusahaan besar telah menggunakan untuk produk mereka sendiri dan bahkan di perjualbelikan. Terdapat tiga model pelayanan dasar yang dijelasklan dalam artikel tersebut : 1. IAAS (Infrastruktur sebagai sebuah layanan). 2. PAAS (Platform sebagai sebuah layanan). 3. SAAS (Software sebagai Layanan). Diberikan juga grafik yangn menunujukkan bahwa penggunaan komputasi awan sangatlah banyak.
            Kemudian pada poin tiga terdapat perbandingan komputasi awan dan komputasi grid. Diberikan data dengan isi referensi perkataan para penulis buku dan tahun buku tersebut diterbitkan tentang definisi awan pada komputasi awan. Kemudian diikuti definisi grid dengan mngutip perkataan Ian Foster. Penulis menyimpulkan bahwa komputasi grid dan komptasi awan mempunyai perbedaan yang tidak jelas, yang disebabkan visi yang sama. Selanjutnya karakteristik utama dari komputasi awan terdapat lima poin yaitu On-demand Access, Elastis, Pay per Use, Konektivitas, Pooling. Dalam jurnal tersebut terdapat skema dari komputasi awan yang membuktikan bahwa komputasi awan berpengaruh ke skala ekonomis untuk komputasi dan layanan. Diberikan juga tabel yang berisi perbandingan Grid dan komputasi awan menurut Vaquero.
            Pada poin lima, penulis jurnal membahas tentang implementasi komputasi awan di dunia pendidikan dalam hal prasarana. Disebutkan beberapa aplikasi yang akan mendominasi pada tahun 2010 dan dapat diterapkan dalam universitas dan perguruan tinggi dalam pendidikan ilmu komputer. Terdapat studi kasus yang diberikan penulis jurnal dalam dunia pendidikan perguruan tinggi di bidang ilmu komputer.
Kesimpulan
Sudah saatnya teknologi komputasi awan ini diterapkan disetiap instatnsi. Karna dari segi keuntungan bisnis sangatlah tinggi. Kemudian kefektifan kerja tidak kalah tingginya. Untuk itu, pengenalan akan komputer awan kepada lebih banyak pekerja, ataupun terpelajar sudah saatnya.


Share:

Pengantar Cloud Computing


Pendahuluan

            Cloud computing dalam Bahasa Indonesia adalah komputasi awan. Komputasi awan dapat diartikan sistem komputasi berbasis internet, jadi kumpulan resource (software, data / file, dan aplikasi) disimpan disebuah server, yang mana server tersebut terdapat di internet. Sehingga apabila ada user lain yang ingin menggunakan resource tersebut hanya tinggal mengaksesnya dimanapun dan kapanpun asalkan ada koneksi internet.
           
            Komputasi Grid
          Komputasi grid adalah penggunaan sumber daya computer secara bersama-sama, yang mana tiap komputer terpisah secara geografis. Biasanya komputasi ini digunakan untuk memecahkan masalah besar. Semakin cepat jalur komunikasi terbuka, maka peluang untuk menggabungkan kinerja komputasi dari sumber – sumber komputer yang terpisah menjadi semakin meningkat. Dengan demikian, skala komputasi terdistribusi dapat ditingkatkan secara geografis lebih jauh lagi, melintasi batas – batas domain administrasi yang ada.
            Mengapa harus komputasi grid? Karna untuk permasalahan yang terakit dengan komputer grid hanya bisa dipecahkan dengan penggunaan super komputer. Namun super komputer masih tergolong sangat mahal dan masih terdapt kekurangan dalammemnuhi kebutuhan riset.
 Berdasarkan tulisan dari Ian Foster (Bapak Grid Computing), terdapat 3 hal yang mengidentifikasi bahwa suatu sistem termasuk di dalam komputasi grid, yaitu:

  1. Sistem tersebut berkoordinasi terhadap sumberdaya komputasi yang tidak berada dalam satu kendali terpusat. Misalnya komputer di Jakarta terhubung dengan komputer di Jayapura, Manado, dan Semarang.
  2. Sistem tersebut menggunakan protokol yang standar dan terbuka, tidak terpaut dengan suatu perusahaan atau produk tertentu. Standar tersebut dibutuhkan dibagian autentikasi, otorisasi, pencarian sumberdaya yang tersedia, dan pengaksesan sumberdaya.
  3. Sistem tersebut bersifat non-trivial (tidak biasa-biasa saja) untuk mencapai kualitas layanan yang canggih.

Beberapa contoh pengunaan komputasi grid :

Scientific Simulation: Komputasi grid diimplementasikan di bidang fisika, kimia, dan biologi untuk melakukan simulasi terhadap proses yang kompleks.

Medical Images: Penggunaan data grid dan komputasi grid untuk menyimpan medical-image.
Contohnya adalah
 eDiaMoND project

Computer-Aided Drug Discovery (CADD): Komputasi grid digunakan untuk membantu penemuan obat. Salah satu contohnya adalah: Molecular Modeling Laboratory (MML) di University of North Carolina (UNC)
Big Science: Data grid dan komputasi grid digunakan untuk membantu proyek laboratorium yang disponsori oleh pemerintah Contohnya terdapat di DEISA

e-Learning: Komputasi grid membantu membangun infrastruktur untuk memenuhi kebutuhan dalam pertukaran informasi dibidang pendidikan. Contohnya adalah AccessGrid

Visualization: Komputasi grid digunakan untuk membantu proses visualisasi perhitungan yang rumit.

Virtualisasi
Virtualisasi berbeda dengan cloud computing. Virtualisasi secara bahasanya adalah menjalankan suatu aplikasi diatas aplikasi. Secara istilah adalah teknologi yang memungkinkan kita membuat sesuatu yang bersifat fisik misalnya sistem operasi, storage atau sumber daya jaringan menjadi virtual. Dimana kita mampu menjalankan diatas hardware / software nonvirtual yang sedang berjalan.
Dua hal yang telah dijabarkan diatas sebenarnya saling berhubungan. Cloud Computing sendiri bisa dianggap sebagai pengembangan dari virtualisasi. Cloud computing adalah sebuah teknologi yang menggabungkan teknologi virtualisasi dan grid computing. Jadi, selain ada proses virtualisasi, juga terdapat grid computing, dimana seluruh beban proses komputasi yang ada akan didistribusikan ke berbagai server yang saling terhubung di dalam cloud.
sehingga prosesnya akan jauh lebih ringan.Dengan teknologi cloud computing sebuah perusahaan bisa menempatkan aplikasi atau sistem yang digunakan di internet dan tidak perlu mengelolanya secara internal. Contoh dari cloud computing versi publik adalah seperti google drive, google docs/spreadsheet, dropbox, dan lain-lain. Cloud computing versi publik bisa digunakan untuk umum secara gratis. Sedangkan untuk versi non publik, penggunanya harus membayar biaya sewa untuk menggunakan sistem virtual tersebut dalam jangka waktu yang telah ditentukan. Contoh cloud computing versi non publik adalah seperti SmartCloud Enterprise dari IBM, Enterprise Services Cloud-Compute dari HP, SmartMachines dari JoyentCloud dan Elastic Cloud Compute (EC2) dari Amazon.

KEUNTUNGAN MENGGUNAKAN VIRTUALISASI
1.      Hemat Biaya Investasi Hardware.
Virtualisasi hanya menggunakan kapasitas yang sudah ada. Penambahan mungkin hanya dilakukan untuk stabilitas dan kecepatan komputer induk, yang akan lebih murah.

2.      Kemudahan Backup & Recovery.
Jika satu saat server tersebut crash, kita tidak perlu melakukan instalasi dan konfigurasi ulang. Cukup mengambil salinan image yang sudah disimpan, merestore data hasil backup terakhir dan server berjalan seperti sedia kala. Hemat waktu, tenaga dan sumber daya.

3.      Standarisasi Hardware.
Virtualisasi melakukan emulasi dan enkapsulasi hardware sehingga proses pengenalan dan pemindahan suatu spesifikasi hardware tertentu tidak menjadi masalah. Sistem tidak perlu melakukan deteksi ulang hardware sebagaimana instalasi pada sistem/komputer fisik
4.      Kemudahan Replacement.
Upgrade dan penggantian spesifikasi server jauh lebih mudah dilakukan. Dengan memindahkan virtual machine ke server lain yang lebih powerful apabila server induk telah mecapai batas maksimal atau bahkan overload.



KERUGIAN PENGGUNAAN VIRTUALISASI
1.      Satu Pusat Masalah
Jika server induk bermasalah maka seluruh data yang ada di virtual machine akan terkena imbasnya juga. Karna sejatinya virtualisasi ini ibarat menempatkan telur dalam satu keranjang.

2.      Spesifikasi Hardware
Server induk harus mempunyai spesifikasi yang tinggi, untuk menunjang stabilitas dan performa yang digunakan.

Distribusi Komputasi dalam Cloud Computing
            Salah satu tujuan dari Cloud Computing adalah Distribution Computing atau distribusi komputasi. Dalam distribusi komputasi ini adalah pengaksesan sumber daya secara parallel, bersamaan tanpa harus menunggu antrian untuk mendapatkan pelayanan. Mempunyai banyak sistem sehingga tidak akan mempengaruhi sistem alin jika salah satu sistem ada yang crash.
            Kegiatan ini merupakan kumpulan beberapa computer yang terhubung untuk melakukan pendistribusian, seperti mengirim dan menerima data serta melakukan interaksi lain antar computer yang dimana membutuhkan sebuah jaringan agar computer satu dan lainnya bisa saling berhubung dan melakukan interaksi. Hal ini semua dilakukan dengan cloud computing yang seperti kita ketahui memberikan layanan dimana informasinya disimpan di server secara permanen dan disimpan di computer client secara temporary.
Distribusi komputasi ini memiliki definisi mempelajari penggunaan terkoordinasi dari computer secara fisik terpisah atau terdistribusi. Pada distributed computing ini, program dipisah menjadi beberapa bagian yang dijalankan secara bersamaan pada banyak computer yang terhubung melalui jaringan internet.





Implementasi Distribusi Komputasi Awan
Ada tiga poin utama yang diperlukan dalam implementasi could computing, yaitu :
  1. Komputer Front End
Komputer front end merupakan sebuah media tatap muka yang digunakan untuk melakukan interaksi dengan data yang ada dalam sebuah sistem. Biasanya merupakan komputer desktop biasa. Front-end lebih mengarah kepada sebuah layanan umum yang memungkinkan semua orang dapat menerima atau memberikan informasi kepada banyak proses yang dilakukan.

  1. Komputer Back End
Komputer back end dalam skala besar biasanya berupa server komputer yang dilengkapi dengan data center dalam penyimpanan besar. Pada umumnya komputer back end harus mempunyai kinerja yang tinggi, karena harus melayani hingga ribuan permintaan data.

  1. Penghubung antara keduanya (Front End dan Back End)
Penghubung dari kedua komputer Front end dan Back end bisa berupa jaringan LAN dan internet.

Map Redusce & NoSQL (Not Only SQL)
            Dalam memproses data berukuran sangat besar terdapat cara dan metode khusus, yaitu dengan map reduce. Teknik yang dilakukan yaitu dengan cara mendistribusikannya secara parallel dalam sebuah cluster yang terdiri dari ribuan komputer. Secara garis besar MapReduce dibagi dalam dua proses yaitu proses Map dan Reduce. Kedua proses didistribusikan ke setiap komputer yang saling terhubung satu dengan lainnya dalam satu clusterdan berjalan secara parallel dan tidak tergantung satu dengan lainnya. Sedangkan proses Map, mengumpulkan informasi potongan-potongan data darii tiap komputer yang terdistribusi dalam custer. Kemudian akan keluar hasil yang akan diserhakan ke proses Reduce. Hasil dari proses Reducelah yang akan dikirim ke pengguna.
            Program yang digunakan hanya ada dua, yaitu program yang memuat kalkulasi atau prosedur yang akan dilakukan oleh proses Map dan Reduce. Program yang memuat kalkulasi yang akan dilakukan dalam proses Map disebut Fungsi Map, dan yang memuat kalkulasi yang akan dikerjakan oleh proses Reduce disebut Fungsi Reduce.
Fungsi Map bertugas untuk membaca input dalam bentuk pasangan Key/Value, lalu menghasilkan output berupa pasangan Key/Value juga. Pasangan Key/Value hasil fungsi Map ini disebut pasangan Key/Value intermediate. Kemudian, fungsi Reduce akan membaca pasangan Key/Value intermediate hasil fungsi Map, dan menggabungkan atau mengelompokkannya berdasarkan Key tersebut. Dengan kata lain fungsi mam akan memetakan data dengan pemberian key & value, kemudian fungsi reduce berfungsi untuk menggabung-gabungkannya.

No SQL Database
            NoSQL adalah sebuah mekanisme untuk menyimpan data dan mengambil data yang dilakukan oleh database kita. NoQSL tidak membutuhkan data model relational dan bahasa SQL untuk melakukan hal tersebut. NoSQL menggunakan metadata pada database kita dan memanfaatkan index dari data tersebut. Map Reduce danNoSQL (Not Only SQL) adalah sebuah pemogramaan framework guna untuk membantu user mengembangankan sebuah data yang ukuran besar dapat terdistribusi satu sama lain. Map-Reduce adalah salah satu konsep teknis yang sangat penting di dalam teknologi cloud terutama karena dapat diterapkannya dalam lingkungan distributed computing. Dengan demikian akan menjamin skalabilitas aplikasi kita.
Salah satu contoh penerapan nyata map-reduce ini dalam suatu produk adalah yang dilakukan Google. Dengan inspirasi dari functional programming map dan reduce Google bisa menghasilkan filesystem distributed yang sangat scalable, Google Big Table. Dan juga terinspirasi dari Google, pada ranah open source terlihat percepatan pengembangan framework lainnya yang juga bersifat terdistribusi dan menggunakan konsep yang sama, project open source tersebut bernama Apache Hadoop.

NoSQL mempunyai empat mekanisme:

  • Table-oriented, contoh: Google dengan Big Table dan juga Facebook dengan Cassandra,
  • Graph-oriented,
  • Document-oriented database, contoh: MongoDB dan juga CouchDB,
  • Key-value store, contoh: Memcache dan Redis






SQL
NoSQL
Query
+
Transaksi
+
Konsistensi
+
Scalability
+
Management
+
Schema
+

Berdasarkann komparasi diatas query SQL memang jauh unggul, karena SQL sangat mudah untuk mengubah dari satu query ke query yang lainnya. Namun NoSQL hal tersebut sangatlah rumit, NoSQL lebih cocok untuk transaksi yang sama. Maka dapat dikatakan SQL sangatlah cocok untuk transaksi harian dan NoSQL sangatlah cocok jika diterapkan pada transaksi histori.

Contoh database NoSQL:
  • MongoDB
  • CouchDB.
  • GemFire.
  • Redis.
  • Cassandra.
  • memcached.
  • Hazelcast.
  • HBase.
  • Mnesia.
  • Neo4j.




Sumber :









Share:

Contact Us

Nama

Email *

Pesan *