Senin, 09 Mei 2016 Comments

Apa Itu Parallel Computation ?

Apa Itu Parallel Computation dan Bagaimana Konsepnya ?

Parallel computation adalah salah satu pemrograman komputer yang memungkinkan untuk melakukan eksekusi perintah secara bersamaan dan berbarengan dalam satu ataupun banyak prosesor di dalam sebuah CPU. Parallel computation sendiri berguna untuk meningkatkan performa komputer karena semakin banyak proses yang bisa dikerjakan secara bersamaan maka akan makin cepat.



Komputasi paralel biasanya diperlukan pada saat terjadinya pengolahan data dalam jumlah besar ( di industri keuangan, bioinformatika, dll ) atau dalam memenuhi proses komputasi yang sangat banyak. Selanjutnya, komputasi paralel ini juga dapat ditemui dalam kasus kalkulasi numerik dalam penyelesaian persamaan matematis di bidang fisika ( fisika komputasi ), kimia ( kimia komputasi ), dll. Dalam menyelesaikan suatu masalah, komputasi paralel memerlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel.

Konsep paralel adalah sebuah kemampuan prosesor untuk melakukan sebuah tugas ataupun banyak tugas secara simultan ataupun bersamaan, dengan kata lain prosesor mampu melakukan satu ataupun banyak tugas dalam satu waktu.

Apa Itu Distributed Processing ?

Pemrosesan terdistribusi merupakan proses pendistribusian pengolahan paralel dalam pemrosesan paralel menggunakan beberapa mesin. Jadi, bisa di bilang kemampuan dari suatu komputer-komputer yang dijalankan secara bersamaan untuk memecahkan suatu masalah dengan proses yang cepat.

Menurut Gustafson proses terdistribusi adalah sebuah komputasi paralel berjalan dengan menggunakan dua atau lebih mesin untuk mempercepat penyelesaian masalah dengan memperhatikan faktor eksternal, seperti kemampuan mesin dan kecepatan proses tiap-tiap mesin yang digunakan.

Didistribusikan pengolahan paralel menggunakan pemrosesan paralel pada beberapa mesin. Salah satu contoh dari hal ini adalah bagaimana beberapa komunitas memungkinkan pengguna untuk mendaftar dan mendedikasikan komputer mereka sendiri untuk memproses beberapa data set yang diberikan kepada mereka oleh server. Ketika ribuan pengguna mendaftar untuk ini, banyak data dapat diproses dalam jumlah yang sangat singkat.

Contoh dari proses terdistribusi adalah ketika terdapat macam masalah diberikan pada satu master, maka dengan menggunakan komputer paralel masalah terseut akan terpecah menjadi beberapa bagian secara terdistribusi.



Architectural Parallel Computer

Menurut seorang Designer Processor, taksonomi Flynn, Arsitektur Komputer dibagi menjadi 4 baguan, yaitu :

  • SISD  (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 (Single Instruction, Multiple Data) 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. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).
  • MISD (Multiple Instruction, Single Data) menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.
  • MIMD (Multiple Instruction, Multiple Data) menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.


Pengantar Thread Programming

Sebuah thread di dalam pemrograman komputer adalah sebuah informasi terkait tentang penggunaan sebuah program tunggal yang dapat menangani beberapa pengguna secara bersamaan.Thread ini memungkinkan program untuk mengetahui bagaimana user masuk ke dalam program secara bergantian dan user akan masuk kembali menggunakan user yang berbeda. Multiple thread dapat berjalan bersamaan dengan proses lainnya membagi sumberdaya menjadi memori, disaat proses lain tidak membaginya.

Pengantar Massage Passing, Open MP

Message Passing merupakan sebuah bentuk dari komunikasi yang digunakan di komputasi paralel, OOT (Object Oriented Programming) atau Pemrograman Berbasis Objek dan komunikasi interproses.

MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuatsebuah aplikasi yang dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah aplikasi dapat dibagi untuk dikirimkan ke masing – masing compute node yang kemudian masing – masing compute node tersebut mengolah dan mengembalikan hasilnya ke komputer head node.Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan - pertimbangandiantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor

OpenMP (Open Multi-Processing) adalah sebuah antarmuka pemrograman aplikasi (API) yang mendukung multi processing shared memory pemrograman di C, C++ dan Fortran pada berbagai arsitektur, termasuk UNix dan Microsoft Windows platform. OpenMP Terdiri dari satu set perintah kompiler, perpustakaan rutinitas, dan variabel lingkungan yang mempengaruhi run-time. Banyak Aplikasi dibangun dengan model hibrida pemrograman paralel  dapat dijalankan pada komputer cluster dengan menggunakan OpenMP dan Message Passing Interface (MPI), atau lebih transparan dengan menggunakan ekstensi OpenMP non-shared memory systems.

Pengantar Pemograman CUDA GPU

Sebelum kita membahas tentang CUDA, kita akan membahas GPU terlebih dahulu. GPU dalah sebuah processor khusus untuk memepercepat dan mengubah memori untuk mempercepat pemrosesan gambar. GPU ini sendiri biasanya berada di dalam graphic card komputer ataupun laptop

CUDA(Compute Unified Device Architecture) adalah suatu skema yang dibuat oleh NVIDIA agar NVIDIA selaku GPU (Graphic Processing Unit) mampu melakukan komputasi tidak hanya untuk pengolahan grafis namun juga untuk tujuan umum. Jadi dengan adanya CUDA kita dapat memanfaatkan banyak prosesor dari NVIDIA untuk melakukan proses perhitungan ataunpun komputasi yang banyak.

Referensi : 

http://chachados.blogspot.co.id/2013/07/parallel-computation.html
http://asepkeren-intiblogger.blogspot.com/2012/08/artikel-pengertian-parallel-computing.html
http://maesamaziah.blogspot.co.id/2015/04/parallel-computation.html
readmore »»  
Comments

Apa Itu Quantum Computation ?


Apa Itu  Quantum Computing ?

     Merupakan alat hitung yang menggunakan mekanika kuantum seperti superposisi dan keterkaitan, yang digunakan untuk peng-operasi-an data. Perhitungan jumlah data pada komputasi klasik dihitung dengan bit, sedangkan perhitungan jumlah data pada komputer kuantum dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.



Sejarah Singkat Quantum Computing


  • Pada tahun 1970-an pencetusan atau ide tentang komputer kuantum pertama kali muncul oleh para fisikawan dan ilmuwan komputer, seperti 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).
  • Feynman dari California Institute of Technology yang pertama kali mengajukan dan menunjukkan model bahwa sebuah sistem kuantum dapat digunakan untuk melakukan komputasi. Feynman juga menunjukkan bagaimana sistem tersebut dapat menjadi simulator bagi fisika kuantum.
  • Pada tahun 1985, Deutsch menyadari esensi dari komputasi oleh sebuah komputer kuantum dan menunjukkan bahwa semua proses fisika, secara prinsipil, dapat dimodelkan melalui komputer kuantum. Dengan demikian, komputer kuantum memiliki kemampuan yang melebihi komputer klasik.
  • Pada tahun 1995, Peter Shor merumuskan sebuah algoritma yang memungkinkan penggunaan komputer kuantum untuk memecahkan masalah faktorisasi dalam teori bilangan. Sampai saat ini, riset dan eksperimen pada bidang komputer kuantum masih terus dilakukan di seluruh dunia. Berbagai metode dikembangkan untuk memungkinkan terwujudnya sebuah komputer yang memilki kemampuan yang luar biasa ini. Sejauh ini, sebuah komputer kuantum yang telah dibangun hanya dapat mencapai kemampuan untuk memfaktorkan dua digit bilangan. Komputer kuantum ini dibangun pada tahun 1998 di Los Alamos, Amerika Serikat, menggunakan NMR (Nuclear Magnetic Resonance).

Apa Itu Entanglement ?

     Entanglement adalah efek mekanik kuantum yang mengaburkan jarak antara partikel individual sehingga sulit menggambarkan partikel tersebut terpisah meski Anda berusaha memindahkan mereka. Contoh dari quantum entanglement: kaitan antara penentuan jam sholat dan quantum entanglement. Mohon maaf bagi yang beragama lain saya hanya bermaksud memberi contoh saja. Mengapa jam sholat dibuat seragam? Karena dengan demikian secara massal banyak manusia di beberapa wilayah secara serentak masuk ke zona entanglement bersamaan.

 Pengoperasian Data Qubit

     Qubit merupakan kuantum bit , mitra dalam komputasi kuantum dengan digit biner atau bit dari komputasi klasik. Sama seperti sedikit adalah unit dasar informasi dalam komputer klasik, qubit adalah unit dasar informasi dalam komputer kuantum . Dalam komputer kuantum, sejumlah partikel elemental seperti elektron atau foton dapat digunakan (dalam praktek, keberhasilan juga telah dicapai dengan ion), baik dengan biaya mereka atau polarisasi bertindak sebagai representasi dari 0 dan / atau 1. Setiap partikel-partikel ini dikenal sebagai qubit, sifat dan perilaku partikel-partikel ini (seperti yang diungkapkan dalam teori kuantum ) membentuk dasar dari komputasi kuantum.

Komputer kuantum memelihara urutan qubit. Sebuah qubit tunggal dapat mewakili satu, nol, atau, penting, setiap superposisi quantum ini, apalagi sepasang qubit dapat dalam superposisi kuantum dari 4 negara, dan tiga qubit dalam superposisi dari 8. Secara umum komputer kuantum dengan qubit n bisa dalam superposisi sewenang-wenang hingga 2 n negara bagian yang berbeda secara bersamaan (ini dibandingkan dengan komputer normal yang hanya dapat di salah satu negara n 2 pada satu waktu). Komputer kuantum yang beroperasi dengan memanipulasi qubit dengan urutan tetap gerbang logika quantum. Urutan gerbang untuk diterapkan disebut algoritma quantum.

     Sebuah contoh dari implementasi qubit untuk komputer kuantum bisa mulai dengan menggunakan partikel dengan dua putaran menyatakan: “down” dan “up”. Namun pada kenyataannya sistem yang memiliki suatu diamati dalam jumlah yang akan kekal dalam waktu evolusi dan seperti bahwa A memiliki setidaknya dua diskrit dan cukup spasi berturut-turut eigen nilai , adalah kandidat yang cocok untuk menerapkan sebuah qubit. Hal ini benar karena setiap sistem tersebut dapat dipetakan ke yang efektif spin -1/2 sistem.

 Algoritma pada Quantum Computing

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

Algoritma Shor

 Algoritma yang ditemukan oleh Peter Shor pada tahun 1995. Dengan menggunakan algoritma ini, sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini secara umum digunakan untuk mengamankan pengiriman data. Kode yang disebut kode RSA ini, jika disandikan melalui kode RSA, data yang dikirimkan akan aman karena kode RSA tidak dapat dipecahkan dalam waktu yang singkat. Selain itu, pemecahan kode RSA membutuhkan kerja ribuan komputer secara paralel sehingga kerja pemecahan ini tidaklah efektif.

Algoritma Grover

Algoritma Grover adalah sebuah algoritma kuantum yang menawarkan percepatan kuadrat dibandingkan pencarian linear klasik untuk list tak terurut. Algoritma Grover menggambarkan bahwa dengan menggunakan pencarian model kuantum, pencarian dapat dilakukan lebih cepat dari model komputasi klasik. Dari banyaknya algoritma kuantum, algoritma grover akan memberikan jawaban yang benar dengan probabilitas yang tinggi. Kemungkinan kegagalan dapat dikurangi dengan mengulangi algoritma. Algoritma Grover juga dapat digunakan untuk memperkirakan rata-rata dan mencari median dari serangkaian angka, dan untuk memecahkan masalah Collision.

Quantum Gates

Pada saat ini, model sirkuit komputer adalah abstraksi paling berguna dari proses komputasi dan secara luas digunakan dalam industri komputer desain dan konstruksi hardware komputasi praktis. Dalam model sirkuit, ilmuwan komputer menganggap perhitungan apapun setara dengan aksi dari sirkuit yang dibangun dari beberapa jenis gerbang logika Boolean bekerja pada beberapa biner (yaitu, bit string) masukan. Setiap gerbang logika mengubah bit masukan ke dalam satu atau lebih bit keluaran dalam beberapa mode deterministik menurut definisi dari gerbang. dengan menyusun gerbang dalam grafik sedemikian rupa sehingga output dari gerbang awal akan menjadi input gerbang kemudian, ilmuwan komputer dapat membuktikan bahwa setiap perhitungan layak dapat dilakukan.
Quantum Logic Gates, Prosedur berikut menunjukkan bagaimana cara untuk membuat sirkuit reversibel yang mensimulasikan dan sirkuit ireversibel sementara untuk membuat penghematan yang besar dalam jumlah ancillae yang digunakan.

  • Pertama mensimulasikan gerbang di babak pertama tingkat.
  • Jauhkan hasil gerbang di tingkat d / 2 secara terpisah.
  • Bersihkan bit ancillae.
  • Gunakan mereka untuk mensimulasikan gerbang di babak kedua tingkat.
  • Setelah menghitung output, membersihkan bit ancillae.
  • Bersihkan hasil tingkat d / 2.
Sekarang kita telah melihat gerbang reversibel ireversibel klasik dan klasik, memiliki konteks yang lebih baik untuk menghargai fungsi dari gerbang kuantum. Sama seperti setiap perhitungan klasik dapat dipecah menjadi urutan klasik gerbang logika yang bertindak hanya pada bit klasik pada satu waktu, sehingga juga bisa setiap kuantum perhitungan dapat dipecah menjadi urutan gerbang logika kuantum yang bekerja pada hanya beberapa qubit pada suatu waktu. Perbedaan utama adalah bahwa gerbang logika klasik memanipulasi nilai bit klasik, 0 atau 1, gerbang kuantum dapat sewenang-wenang memanipulasi nilai kuantum multi-partite termasuk superposisi dari komputasi dasar yang juga dilibatkan. Jadi gerbang logika kuantum perhitungannya jauh lebih bervariasi daripada gerbang logika perhitungan klasik.





 Implementasi Quantum Computing

     Pada 19 Nov 2013 Lockheed Martin, NASA dan Google semua memiliki satu misi yang sama yaitu mereka semua 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 untuk 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 ekstrasurya dan untuk meningkatkan efisiensi searchs internet dengan menggunakan AI metaheuristik di search engine heuristical.

     A.I. seperti metaheuristik dapat menyerupai masalah optimisasi global mirip dengan masalah klasik seperti pedagang keliling, koloni semut atau optimasi swarm, yang dapat menavigasi melalui database seperti labirin. Menggunakan partikel terjerat sebagai qubit, algoritma ini bisa dinavigasi jauh lebih cepat daripada komputer konvensional dan dengan lebih banyak variabel.


     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 . Dengan cara ini mesin akan jauh lebih mudah beradaptasi terhadap perubahan data indrawi dan akan mampu berfungsi dengan jauh lebih otomatisasi daripada yang mungkin dengan komputer normal

Referensi : 

  • https://id.wikipedia.org/wiki/Komputer_kuantum
  • http://djuneardy.blogspot.co.id/2015/04/quantum-computing-entanglement.html
  • https://amoekinspirasi.wordpress.com/2014/05/15/pengertian-quantum-computing-dan-implementasinya/



readmore »»  
Sabtu, 07 Mei 2016 Comments

Aneka Program Sederhana Mengecek Ip Addres (GetIp, GetName, IptoName dan NsLookup) Menggunakan Java

Nama : Alfi Syahrin
NPM : 50412605
Kelas : 4IA19
Tugas 2 : Pemrograman Jaringan



Pada kesempatan kali ini kita akan membahas tentang bagaimana mengecek ip addres pada komputer kita dan juga mengecek ip address dari hostname atau website yang ingin kita cek alamat Ip nya melalui program sederhana yang dibangun dari bahasa pemrograman java.  Berikut beberapa program sederhana untuk mengecek Ip addres yang disertai listing, logika dan output program nya.


1.   Program getIP.java

1.1 Listing Program
                 





1.2 Logika Program

            Oke program di atas adalah program yang dapat kita gunakan untuk mengetahui alamat ip dari komputer kita yang terhubung dengan internet. Oke sekarang kita lihat blok dari kodingan program tersebut. Program ini pertama kali akan mengimport library dari java.net agar program nantinya dapat menggunakan syntax yang terkandung dari java.net. Dengan mengimport java.net tersebut berarti untuk menjalankan program ini nantinya komputer harus terhubung dengan internet. Program ini menggunakan getIP sebagai nama kelas nya. Kemudian program akan mendeklarasikan variabel host yang akan digunakan untuk menampung perintah dari InetAddress.getLocalHost(); , perintah untuk mendapatkan nilai dari local host komputer kita. Lalu untuk mencari data dan mencetak  nya dalam bentuk alamat ip yang berupa angka angka seperti 1xx.1xx.1xx maka program menggunakan perintah perulangan for yang akan dimulai dari nilai i = 0, dimana i < ip.length dan nilai i akan terus betambah hingga kondisi terpenuhi (sesuai alamat ip yang didapatkan).

1.3 Output Program



Keterangan : Setelah dirunning, program mendapatkan ip dari komputer lokal (local host) adalah 192.168.43.152 

2.   Program getName.java

2.1 Listing Program
                 


2.2 Logika Program

            Jika sebelumnya adalah program untuk mendapatkan alamat ip dari komputer kita., yap sekarang program di atas adalah program yang dapat kita gunakan untuk mengetahui nama dari komputer kita (hostname) kemudian mencetaknya. Oke sekarang kita lihat blok dari kodingan program tersebut. Program ini pertama kali akan mengimport library dari java.net agar program nantinya dapat menggunakan syntax yang terkandung dari java.net.. Program ini menggunakan getName sebagai nama kelas nya. Kemudian program akan mendeklarasikan nilai dari InetAddress host adalah null. Setelahnya program kan mendeklarasikan variabel host untuk menampung perintah dari InetAddress.getLocalHost(); , perintah untuk mendapatkan informasi dari local host komputer kita. Terakhir program akan mencetak “Nama komputer anda .....” (titik-titik akan diganti dengan nama host dari komputer kita setelah program dirun).

2.3 Output Program



Keterangan : Setelah dirunning, program mendapatkan nama komputer atau hosname  nya adalah asus

3.   Program IPtoName.java

3.1 Listing Program


                 
3.2 Logika Program

            Oke program di atas adalah program yang dapat kita gunakan untuk mengetahui hostname dari alamat ip yang kita masukkan (alamat ip komputer kita).. Oke sekarang kita lihat blok dari kodingan program tersebut. Program ini pertama kali akan mengimport library dari java.net agar program nantinya dapat menggunakan syntax yang terkandung dari java.net. Dengan mengimport java.net tersebut berarti untuk menjalankan program ini nantinya komputer harus terhubung dengan internet. Program ini menggunakan IPtoName sebagai nama kelas nya. Kemudian program akan menggunakan kondisi if untuk mencetak informasi cara menjalankan / menggunakan program ini, yaitu jika kondisi args.length == 0 (kondisi dimana kita hanya running program seperti pada umumnya “java nama_program”)  Kemudian program akan mendeklarasikan variabel host yang bertipe string sebagai array ke-0 dari variabel args. Lalu dengan menggunakan perintah Try dan catch program akan mengecek dan menangkap apakah ada kesalahan dari user dalam  menjalankan program tersebut. Dimana jika ada kesalahan maka program akan mencetak “invalid ip – malformed IP”.  Untuk menjalankan program ini, harus dengan format “Java IPtoName <IpAddress>” Sebagai contoh kita gunakan alamat ip komputer kita, “Java IptoName 192.168.43.152” dan program akan mencetak nama host dari komputer kita.

3.3 Output Program



Keterangan : Ketika dirunning, hostname yang didapat adalah asus dari alamat ip 192.168.43.152

4.   Program NsLookup.java

4.1 Listing Program





4.2 Logika Program

            Bila sebelumnya kita telah mencoba untuk mengecek alamat ip dari komputer kita (lokal host). Oke program di atas adalah program yang dapat kita gunakan untuk mengetahui alamat ip dari host name secara global. Program ini pertama kali akan mengimport library dari java.net agar program nantinya dapat menggunakan syntax yang terkandung dari java.net. Dengan mengimport java.net tersebut berarti untuk menjalankan program ini nantinya komputer harus terhubung dengan internet. Program ini menggunakan NsLookup sebagai nama kelas nya. Kemudain program akan menggunakan kondisi if untuk mencetak informasi cara untuk menjalankan / menggunakan program ini, yaitu jika kondisi args.length == 0 (kondisi dimana kita hanya running program seperti pada umumnya “java nama_program”).  Kemudian program akan mendeklarasikan variabel host yang bertipe string sebagai array ke-0 dari variabel args dan program juga memberikan null terhadap variabel address yang merupakan InetAddress. Lalu dengan menggunakan perintah Try dan catch program akan mengecek dan menangkap apakah ada kesalahan dari user dalam  menjalankan program tersebut. Dimana jika ada kesalahan saat pengguna menginput nama host yang tidak dikenal / tidak dapat ditemukan maka program akan mencetak “Unknown host”.  Lalu untuk mencari data dan mencetak  nya dalam bentuk alamat ip yang berupa angka angka seperti 1xx.1xx.1xx maka program menggunakan perintah perulangan for yang akan dimulai dari nilai i = 0, dimana i < ip.length dan nilai i akan terus betambah hingga kondisi terpenuhi (sesuai alamat ip yang didapatkan).

4.3 Output Program



Keterangan : Setelah program dijalankan, program mendapatkan alamat ip dari hostname posindonesia.co.id adalah 202.159.71.68


.  
readmore »»  
Jumat, 06 Mei 2016 Comments

Apa itu Server, Proxy Server, Web Server, FTP Server, Mail Server dan DNS Server ?

Nama : Alfi Syahrin
NPM : 50412605
Kelas : 4IA19
Tugas 1 : Pemrograman Jaringan

Apa Itu Server ?

Oke sebelum masuk ke pokok bahasan, pertama kita harus tahu terlebih dahulu apa itu server. Apa sih server itu? Yap, Server merupakan sistem dimana suatu komputer menyediakan beberapa jenis layanan dalam sebuah jaringan komputer. Bisa disebut Server lah yang bertugas melayani semua berbagai komputer atau terminal lainnya yang terhubung dengannya. Komputer yang bertindak sebagai server tentunya harus memiliki spesifikasi yang tinggi yang didukung dengan “wah” karena dia lah yang berperan sebagai pusat yang melayani berbagai permintaan dari komputer lainnya, “wah” disini termasuk :

  • Kemampuan prosessor yang mempunyai sifat scalable
  • Ram harus mempunyai kapasitas yang besar
  • Dilengkapi Operating System yang khusus (Sistem Operasi jaringan / Network operating system), contoh : Windows NT 4.0, Windows server 2003, Unix, GNU/ Linux.
  • Kapasitas penyimpanan harus besar.
  • Dan sebagainya




Lalu Apa Sih Fungsi Dari Server ?

Umumnya yang ada di benak kepala kita mengenai fungsi server tersebut adalah hanya melayani dan melayani permintaan dari komputer lain dalam sebuah jaringan. Tetapi jika kita bedah lebih dalam, “melayani” apa aja sih si server itu? Oke berikut fungsi dari server:

  • Menyediakan berbagai fitur termasuk fungsi untuk security atau kemanan komputer
  • Melindungi setiap komputer yang terhubung dalam sebuah jaringan komputer dengan menggunakan firewall
  • Memberikan akses koneksi terhadap komputer yang terhubung dengannya (client)  ke internet. Yaitu dengan menyediakan Alamat Ip.
  • Dapat menyimpan database serta aplikasi yang dibutuhkan komputer client


Udah Itu Aja Tentang Server?

Ummm server itu ibaratnya akar dari sebuah pohon. Dimana pohon tersebut akan tumbuh dan berkembang dengan memiliki banyak buah dan daun disetiap cabang nya. Cabang – cabang dari pohon tersebut adalah aneka jenis dari macam – macam server tersebut.  Sedangkan buah dan daun adalah bentuk layanan dari jenis server tersebut kepada makhluk hidup sekitar yang menghinggapinya. Yap secara umum server melayani berbagai permintaan dari komputer client, oleh karena itu server diklasifikasikan menjadi beberapa jenis guna mempermudah sang server untuk memenuhi kebutuhan komputer client yang beragam. Oke justru mulai dari sini lah pokok bahasan yang akan kita bahas.

Apa Aja Macam – macam Jenis Server Itu ?    

Dalam memenuhi permintaan komputer client yang seabrek beraneka ragam, server terbagi menjadi banyak macam jenis, guna mempermudah dalam menangani aneka ragam permintaan dari client tersebut. Yap berikut macam-macam jenis dari server, yaitu:
  • Proxy Server
  • Web Server
  • Mail Server
  • FTP Server
  • DNS Server

1.  Apa Itu Proxy Server ?

Ialah komputer server atau bisa juga disebut program komputer, dimana ia dapat bertindak sebagai komputer yang melakukan permintaan / request terhadap konten dari internet. Proxy server dapat dibilang jembatan yang menjembatani komputer client dengan internet. Simple nya tanpa proxy server komputer tersebut tidak akan terhubung ke internet, sebab jika tidak ada proxy server, lalu siapa yang akan berkomunikasi dengan server lain di internet. Setiap program aplikasi yang membutuhkan koneksi internet membutuhkan proxy server, sebut saja seperti, browser ( mozilla firefox, internet explorer, google chrome), download manager (internet download manager), Game online dan lain-lain. Dalam kehidupan nyata proxy server dapat dianologikan selayaknya seseorang atau lembaga yang menyalurkan informasi ke orang lain atau lembaga lainnya.
Bukan itu saja, proxy server juga dapat difungsikan untuk mengamankan jalur yang diakses oleh client agar bersifat pribadi  dan tidak diketahui publik meskipun sang client tersebut dihubungkan ke sebuah jaringan publik. Proxy server memiliki full control terhadap akses jaringan nya. Proxy server dapat juga dikenal sebagai firewall karena berfungsi sebagai aegen kemanan dari sebuah jaringan pribadi.

Menggali peran Proxy Server

Seperti yang tadi disebutkan, yaitu proxy server dapat difungsikan untuk mengamankan jairngan pribadi kita ketika sedang terkoneksi ke jaringan publik. Maksud dari pernyataan tersebut ialah, informasi prbadi serta identitas dari komputer client tidak akan terdeteksi ketika berselancar ria di internet. Mungkin seringkali kita pernah membuka alamat web, tetapi yang ditampilkan malah blocked by operator atau pemerintah. Yang mana karena alamat web tersebut mungkin mengandung unsur yang dilarang atau bertentangan dengan batasan nilai norma dari negara si pemilik proxy server tersebut, seperti contoh nya konten yang berbau pornografi atau kriminalitas. Karena dari fungsi proxy server yang sebagai agen keamanan data pribadi, kita dapat menembus alamat website yang terblokir tersebut dengan mudah. Kok bisa? Caranya bagaimana? Yap kita dapat mengganti proxy server yang sebelumnya didapatkan secara default oleh sistem lalu menggantinya dengan proxy milik luar negeri. Cara kerjanya, informasi pribadi milik komputer yang terhubung ke internet akan disembunyikan dan diganti oleh infromasi publik milik proxy server dari luar negeri yang kita gunakan.

Cara Mengganti Proxy Server

Yap dengan mengganti proxy server dengan server milik negara lain, kita dapat membuka situs yang diblok oleh server dalam negeri. Karena dengan menggunakan proxy maka identitas  IP komputer kita akan tersembunyi dan yang terlihat hanya IP dari proxy yang kita gunakan, dengan demikian kita akan menjadi lebih aman dalam hal berinternet. Berikut tutorialnya :


  1. Pertama, ketikkan alamat web berikut di kolom url pada browser, http://www.hidemyass.com/proxy-list/
  2. Kedua, silahkan pilih proxy server bebas dari negara mana saja yang tampil pada table yang disediakan. Dari table tersebut, kita dapat melihat status dari proxy tersebut selain asal negaranya. Seperti speed, connection time, type dan sebagainya. Pilihlah yang menunjukan speed dan connection time paling bagus.
  3. Lalu, bukalah notepad dan catatlah ip address dan port dari proxy server yang kita pilih tersebut. Contoh kita pilih proxy dari colombia dengan IP : 190.147.220.37 PORT : 8080
  4. Kemudian jika sudah dicatat, kita mulai mengkonfigurasi pada browser yang akan digunakan.
  5. Contoh  jika kita pakai mozilla firefox, kita masuk ke Tools/Options/Advanced pada tab network lalu klik "Settings" dan pilih Manual proxy configuration. Pada kolom tersebut kita masukkan Ip address beserta Port yang sudah dicatat tadi. Terakhir klik OK untuk menyimpan settingan tersebut.  (Untuk browser lainnya, biasanya konfigurasi proxy server terdapat menu setting/network/change proxy)


2.  Apa Itu Web Server ?

Apa sih web server itu? Yap Web Server merupakan suatu kebutuhan yang dibutuhkan oleh user untuk digunakan pada website pribadinya yang memiliki kapasitas penyimpanan yang besar dan akses yang cepat untuk trafik yang besar dalam mencegah terjadinya down pada websitenya

Lalu Pengertian Web Server Itu Sendiri ?
Secara umum pengertian Web Server adalah sebuah software /(perangkat lunak) yang memberikan / menyediakan layanan berbasis data dan berfungsi untuk menerima permintaan dari protokol HTTP atau HTTPS yang mana kita kenal dengan sebutan web browser (Mozilla Firefox, Google Chrome), kemudian mengirimkan hasilnya kembali berupa halaman web yang berbentuk dokumen HTML

Fungsi Dari Web Server ?

Web Server sendiri memiliki fungsi untuk melakukan transfer berkas permintaan dari user melalui jalur protokol komunikasi yang telah ditentukan. Web server juga digunakan untuk mentransfer data – data file dalam sebuah halaman web seperti gambar, teks, gambar dan sebagainya.

Macam - macam Dari Web Server ?

Web sendiri memiliki beberapa jenis nya, antara lain Apache Tomcat, Apache Web Server / The HTTP Web Server, Microsoft Windows Server 2008 IIS, Lighttpd, Sun Java System Server, Zeus Web Server, dan masih banyak lagi.

Bagaimana Cara Kerja Web Server ?  

Cara kerja dari Web Server itu sendiri adalah mendistribusikan web page kepada pengguna yang mana tergantung dari permintaan pengguna itu sendiri. Berikut alur cara kerja dari web server yang dihubungkan dengan Web browser:
  1. Pengguna membuka browser, contoh google chrome.
  2. Pengguna mengetikkan http:// pada kolom url, seketika itu juga pengguna akan dibawa ke jaringan internet secara worldwide.
  3. Ketika pengguna telah memasukkan suatu alamat pada kolom url, saat itu juga data  akan dipassing dari browser  ke web server dari alamat tersebut yang mana berarti browser meminta web page dari server. Proses ini disebut HTTP request
  4. Saat HTTP request tersebut, web server akan mencarikan data HTML yang sesuai dengan permintaan user dan kemudian akan dikirim ke browser pengguna tersebut. Proses pengiriminan data dari server ke browser disebut dengan HTTP response.
  5. Jika data yang diinginkan user tidak ditemukan pada web server, maka akan menimbulkan error. Dan biasanya web server tersebut akan menampilkan halaman error 404 atau Page Not Found.

Dapat ditarik kesimpulan, secara garis besar bahwa cara kerja dari web server tersebut ialah memproses permintaan dari client, mencari apakah data yang dicari user ada padanya atau tidak. Jika ada, maka web server akan menampikan nya dalam halaman web yang berbentuk HTML, sedangkan jika data yang dicari tidak ada dalam database nya maka web server akan menampilkan halaman error 404 atau Page not found.

3.  Apa Itu Mail Server ?

Mail server atau bisa juga disebut E-Mail Server merupakan software atau perangkat lunak yang bertugas untuk mendistribusikan berkas atau file yang berisi informasi sebagai tanggapan atas permintaan yang dikirim pengguna melaui e-mail. Fungsi lainnya Mail server dapat kita digunakan sebagai perangkat lunak dalam penginstalan suatu alamat e-mail.

Protokol Pada Mail Server ?

Dalam menjalankan tugasnya mail server membutuhkan beberapa protokol. Protokol yang biasanya digunakan pada mail server antara lain SMTP, POP3 dan IMAP.

Cara Kerja dari Mail Server ?

Saat email dikirim akan melalui proses yang sedikit panjang. Berikut penjelasan singkat mengenai cara kerja dari mail server.
  1. Pengguna A mengirim e-mail kepada B
  2. Kemudian E-mail yang dikirim nantinya akan disimpan di mail server
  3. Mail server akan menjadikan e-mail tersebut menjadi satu file dan diteruskan berdasarkan tujuan e-mail (B)
  4. File ini berisi informasi sumber, tujuan serta dilengkapi dengan tanggal dan waktu saat pengiriman dilakukan
  5. Peggunan B membaca e-mail yang masuk, saat membaca inilah berarti si B telah mengakses server e-mail dan membacanya dari server yang ditampilkan melalui aplikasi atau browser user.

4.  Apa Itu FTP Server ?

Sewaktu kita mendownload suatu file di internet, mungkin seringkali kita berpikir bagaimana kita dapat mendownload file tersebut? dan bagaimana file tersebut dapat disimpan pada komputer kita. Bukan hanya download, begitupun juga mengupload suatu file. Semua itu terjadi karena berkat peran dari FTP server. File Transfer Protocol (FTP) adalah suatu protokol internet yang digunakan untuk masalah pengiriman (Upload) dan pengambilan (download) data dalam jaringan komputer yang dilakukan oleh FTP client dan FTP server.  

Fungsi dari FTP Server ? 

Dalam Jaringan internet dengan adanya FTP server, sekarang kita dapat melakukan sharing saling kirim-terima file dengan lebih mudah, meskipun file tersebut memiliki size yang besar. Dengan adanya FTP server kita juga dapat membackup website kita menjadi mudah. Dengan adanya FTP server kita juga dapat melakukan  transfer data yang efisien dan reiliable.

Cara Kerja FTP Server ?

FTP server menggunakan suatu metode, yang mengharuskan pengguna setidaknya harus memiliki username dan password untuk mengakses semua data yang ada pada FTP server. Pengguna yang terdaftar nantinya dapat memiliki full access pada direktori penyimpanan nya pada FTP server tersebut. Sedangkan cara kerja dari ftp sendiri yaitu, FTP client terlebih dahulu harus merequest koneksi kepada FTP server, jika sudah terhubung maka FTP client dapat melakukan pertukaran data seperti upload maupun download data.
  
5.  Apa Itu DNS  Server ?

Saat kita berkomunikasi dalam jaringan internet yang luas ini, komputer yang kita gunakan berkomunikasi menggunakan IP address dan terhubung dengan komputer lain di seluruh dunia dengan IP adress nya masing-masing. Bukan hanya berkomunikasi dengan komputer lain, saat kita mengakses suatu alamat web melalui browser tanpa sadar kita sedang berhubungan dengan IP adress milik alamat web tersebut. Nah saat berhubungan dengan IP address  situs itulah yang dilakukan DNS terhadap kita.

Jadi sebenernya apa itu DNS? Yap DNS adalah kependekan dari Domain Name System / Domain Name Service yang merupakan sebuah sistem yang mampu menerjemahkan alamat domain (contoh : detik.com) menjadi bentuk IP address (dalam bentuk angka). Tanpa peran dari DNS, komputer kita tidak akan tahu apa alamat ip yang digunakan dari suatu website, karena jika alamat ip tersebut tidak diketahui maka koneksi pun tidak akan terjadi antara client dengan server.

Pentingkah DNS Server ?

Jika kita sedang pergi ke luar negeri dan kita bertemu dengan orang asing di sana dengan bahasa yang tidak familiar di telinga ditambah  mengerti bahasa nya pun tidak.  Lalu apa yang terjadi ? komunikasi pun tidak akan berjalan. Tidak akan nyambung sama sekali. Yap itu berarti salah satu diantaranya diharuskan ada yang mengerti bahasa nya dan dapat menerjemahkan nya ke dalam bahasa sendiri. Jika kondisi tersebut tidak terpenuhi, lalu harus bagaimana agar komunikasi berjalan ? Jawaban nya tentu saja kita membutuhkan pihak ketiga sebagai penerjemah. Yang dapat menerjemahkan salah satu bahasa tersebut ke salah satu bahasa yang dimengerti salah seorang diantara mereka, dimana agar orang tersebut mengerti dan paham apa maksud dari lawan bicaranya.

Yap disini berarti peran DNS tesebut penting sekali, karena dia menerjemahkan alamat domain ke dalam bentuk IP address yang dapat dimengerti oleh komputer. Karena komputer hanya mengerti bahasa mesin yang notabene berhubungan dengan angka-angka. Dengan adanya DNS, kita tidak perlu menghafal angka-angka alamat ip dari website yang ingin kita kunjungi, karena yang harus kita hanya perlu mengingat nama domainnya saja, seperti syahrin-alf.blogspot.com. Jadi jika kita ingin mengunjungi situs tersebut, maka kita hanya mengetik syahrin-alf.blogspot.com pada browser kita, setelahnya secara otomatis DNS akan menterjemahkannya ke dalam bentuk alamat IP, yang mana jika ketikkan "ping syahrin-alf.blogspot.com" pada command prompt maka alamat ip dari situs tersebut adalah 74.125.200.132.



Cara Kerja DNS Server ?

Dalam menunaikan tugas nya, DNS server memerlukan program client sebut saja Resolver yaitu Web browser contohnya Mozilla firefox, google chrome dan sebagainya, yang mana berguna untuk menguhubungkan setiap komputer client dengan DNS server.  Berikut penjelasan singkat mengenai cara kerja dari DNS Server.

  1. Pertama DNS resolver akan mencari alamat host pada file Hosts sampai alamat host tersebut ditemukan dan diberikan.
  2. Kemudian DNS resolver akan melacak data cache yang dibuat oleh resolver atau web browser guna menyimpan hasil request sebelumnya.
  3. Setelahnya DNS resolver akan melakukan searching pada server DNS yang pertama yang telah ditentukan oleh user
  4. Kemudian disni DNS server bertugas untuk mencari nama domain pada penyimpanan cache nya
  5. Jika nama domain yang dicari tidak ditemukan, maka proses pencarian akan dilanjutkan dengan mengecek database dari server tersebut.
  6. Jika masih belum ditemukan, maka proses pencarian berlanjut dengan menghubungi server DNS lain yang masih ada hubungannya dengan server tersebut sampai ditemukan. Dimana jika sudah ditemukan maka akan disimpan dalam cache dan hasilnya akan diberikan. 
Referensi : 
  • http://www.teknisiindonesia.com/blog/pengertian-dan-fungsi-web-server-mail-server-dhcp-dns-ftp-dan-proxy-server/
  • http://jaringankomputer.org/server-fungsi-pengertian-jenis-jenis-komputer-server/






readmore »»  
 
;