Rabu, 01 Juni 2016

Posted by Gandis Suwantoro | File under : , , ,


Gambar 1 Parallel Computation

1. Parallel Concept

Komputasi paralel merupakan salah satu teknik komputasi, dimana proses komputasinya dilakukan oleh beberapa resources ( komputer ) yang independen, secara bersamaan. 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.
Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Tidak berarti dengan mesin paralel semua program yang dijalankan diatasnya otomatis akan diolah secara paralel. Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah / operasi secara bersamaan ( komputasi paralel ), baik dalam komputer dengan satu ( prosesor tunggal ) ataupun banyak ( prosesor ganda dengan mesin paralel ) CPU. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam suatu jaringan komputer lebih sering istilah yang digunakan adalah sistem terdistribusi ( distributed computing ). Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan ( dalam waktu yang sama ), semakin banyak pekerjaan yang bisa diselesaikan.
Analogi yang paling gampang adalah, bila anda dapat merebus air sambil memotong-motong bawang saat anda akan memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan bila anda mengerjakan hal tersebut secara berurutan ( serial ). Atau waktu yang anda butuhkan memotong bawang akan lebih sedikit jika anda kerjakan berdua. Performa dalam pemrograman paralel diukur dari berapa banyak peningkatan kecepatan ( speed up ) yang diperoleh dalam menggunakan tehnik paralel. Secara informal, bila anda memotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman, berdua anda bisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan kecepatan sebanyak 2 kali.

2. Distributed Processing

Kemampuan mengerjakan semua proses pengolahan data secara bersama antara komputer pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi. Setiap komputer tersebut memiliki prosesor mandiri sehingga mampu mengolah sebagian data secara terpisah, kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian total. Jika salah satu prosesor mengalami kegagalan atau masalah maka prosesor yang lain akan mengambil alih tugasnya.

3. Architectural Parallel Computer

– Embarasingly Parallel adalah pemrograman paralel yang digunakan pada masalah-masalah yang bisa diparalelkan tanpa membutuhkan komunikasi satu sama lain. Sebenarnya pemrograman ini bisa dibilang sebagai pemrograman paralel yang ideal, karena tanpa biaya komunikasi, lebih banyak peningkatan kecepatan yang bisa dicapai.-Michael J. Flynn menciptakan satu diantara sistem klasifikasi untuk komputer dan program paralel, yang dikenal dengan sebutan Taksonomi Flynn. Flynn mengelompokkan komputer dan program berdasarkan banyaknya set instruksi yang dieksekusi dan banyaknya set data yang digunakan oleh instruksi tersebut. Taksonomi dari model pemrosesan paralel dibuat berdasarkan alur instruksi dan alur data yang digunakan:
1. SISD (Single Instruction stream, Single Data stream)
Komputer tunggal yang mempunyai satu unit kontrol, satu unit prosesor dan satu unit     memori Instruksi dilaksanakan secara berurut tetapi boleh juga overlap dalam tahapan eksekusi (overlap) Satu alur instruksi didecode untuk alur data tunggal.
2. SIMD (Single Instruction stream, Multiple Data stream)
Komputer yang mempunyai beberapa unit prosesor di bawah satu supervisi satu unit common control. Setiap prosesor menerima instruksi yang sama dari unit kontrol, tetapi beroperasi pada data yang berbeda.
3. MISD (Multiple Instruction stream, Single Data stream)
Sampai saat ini struktur ini masih merupakan struktur teoritis dan belum ada komputer dengan model ini.
4. MIMD (Multiple Instruction stream, Multiple Data stream)
Organisasi komputer yang memiliki kemampuan untuk memproses beberapa program dalam waktu yang sama. Pada umumnya multiprosesor dan multikomputer termasuk dalam  kategori ini.

Referensi :
Posted by Gandis Suwantoro | File under : , , ,


Gambar 1

Pengertian Quantum Computation

Quantum Computation 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.

 1.  Entanglement

Gambar 2 Entanglement
Entanglement adalah efek mekanik kuantum yang mengaburkan jarak antara partikel individual sehingga sulit menggambarkan partikel tersebut terpisah meski Anda berusaha memindahkan mereka. Quantum entanglement adalah bagian dari fenomena quantum mechanical yang menyatakan bahwa dua atau lebih objek dapat digambarkan mempunyai hubungan dengan objek lainnya walaupun objek tersebut berdiri sendiri dan terpisah dengan objek lainnya. Quantum entanglement merupakan salah satu konsep yang membuat Einstein mengkritisi teori Quantum mechanical. Einstein menunjukkan kelemahan teori Quantum Mechanical yang menggunakan entanglement merupakan sesuatu yang “spooky action at a distance” karena Einstein tidak mempercayai bahwa Quantum particles dapat mempengaruhi partikel lainnya melebihi kecepatan cahaya. Namun, beberapa tahun kemudian, ilmuwan John Bell membuktikan bahwa “spooky action at a distance” dapat dibuktikan bahwa entanglement dapat terjadi pada partikel-partikel yang sangat kecil.

2.  Pengoperasian Data Qubit

Gambar 3 Data Qubit
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.

3.   Quantum Gates

Masukkan keterangan
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.
  1. Pertama mensimulasikan gerbang di babak pertama tingkat.
  2. Jauhkan hasil gerbang di tingkat d / 2 secara terpisah.
  3. Bersihkan bit ancillae.
  4. Gunakan mereka untuk mensimulasikan gerbang di babak kedua tingkat.
  5. Setelah menghitung output, membersihkan bit ancillae.
  6. Bersihkan hasil tingkat d / 2.

4. Algoritma Shor

Algoritma Shor, dinamai matematikawan Peter Shor , adalah algoritma kuantum yaitu merupakan suatu algoritma yang berjalan pada komputer kuantum yang berguna untuk faktorisasi bilangan bulat. Algoritma Shor dirumuskan pada tahun 1994.  Inti dari algoritma ini merupakan bagaimana cara menyelesaikan faktorisasi terhaadap bilanga interger atau bulat yang besar.
Efisiensi algoritma Shor adalah karena efisiensi kuantum Transformasi Fourier , dan modular eksponensial. Jika sebuah komputer kuantum dengan jumlah yang memadai qubit dapat beroperasi tanpa mengalah kebisingan dan fenomena interferensi kuantum lainnya, algoritma Shor dapat digunakan untuk memecahkan kriptografi kunci publik skema seperti banyak digunakan skema RSA. Algoritma Shor terdiri dari dua bagian:
– Penurunan yang bisa dilakukan pada komputer klasik, dari masalah anjak untuk masalah ketertiban -temuan.
– Sebuah algoritma kuantum untuk memecahkan masalah order-temuan.
Hambatan runtime dari algoritma Shor adalah kuantum eksponensial modular yang jauh lebih lambat dibandingkan dengan kuantum Transformasi Fourier dan pre-/post-processing klasik. Ada beberapa pendekatan untuk membangun dan mengoptimalkan sirkuit untuk eksponensial modular. Yang paling sederhana dan saat ini yaitu pendekatan paling praktis adalah dengan menggunakan meniru sirkuit aritmatika konvensional dengan gerbang reversibel , dimulai dengan penambah ripple-carry. Sirkuit Reversible biasanya menggunakan nilai pada urutan n ^ 3, gerbang untuk n qubit. Teknik alternatif asimtotik meningkatkan jumlah gerbang dengan menggunakan kuantum transformasi Fourier , tetapi tidak kompetitif dengan kurang dari 600 qubit karena konstanta tinggi.
Referensi :

Kamis, 21 April 2016

Posted by Gandis Suwantoro | File under : , , , ,

Apa itu Mikrokontroler ?

Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM, memori program, atau keduanya), dan perlengkapan input output.
Dengan kata lain, mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya membaca dan menulis data. Sekedar contoh, bayangkan diri Anda saat mulai belajar membaca dan menulis, ketika Anda sudah bisa melakukan hal itu Anda bisa membaca tulisan apapun baik buku, cerpen, artikel dan sebagainya, dan Andapun bisa pula menulis hal-hal sebaliknya. Begitu pula jika Anda sudah mahir membaca dan menulis data maka Anda dapat membuat program untuk membuat suatu sistem pengaturan otomatik menggunakan mikrokontroler sesuai keinginan Anda. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut “pengendali kecil” dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini.
Mikrokonktroler digunakan dalam produk dan alat yang dikendalikan secara automatis, seperti sistem kontrol mesin, remote controls, mesin kantor, peralatan rumah tangga, alat berat, dan mainan. Dengan mengurangi ukuran, biaya, dan konsumsi tenaga dibandingkan dengan mendesain menggunakan mikroprosesor memori, dan alat input output yang terpisah, kehadiran mikrokontroler membuat kontrol elektrik untuk berbagai proses menjadi lebih ekonomis. Dengan penggunaan mikrokontroler ini maka :

· Sistem elektronik akan menjadi lebih ringkas
· Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari sistem adalah perangkat lunak yang mudah dimodifikasi
· Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak
Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen IC TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedar menambah jumlah saluran masukan dan keluaran (I/O). Dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah komputer karena mikrokontroler sudah mengandung beberapa periferal yang langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital ke analog (DAC), konversi analog ke digital dan sebagainya hanya menggunakan sistem minimum yang tidak rumit atau kompleks.
Agar sebuah mikrokontroler dapat berfungsi, maka mikrokontroler tersebut memerlukan komponen eksternal yang kemudian disebut dengan sistem minimum. Untuk membuat sistem minimal paling tidak dibutuhkan sistem clock dan reset, walaupun pada beberapa mikrokontroler sudah menyediakan sistem clock internal, sehingga tanpa rangkaian eksternal pun mikrokontroler sudah beroperasi.
Untuk merancang sebuah sistem berbasis mikrokontroler, kita memerlukan perangkat keras dan perangkat lunak, yaitu:
1. sistem minimal mikrokontroler
2. software pemrograman dan kompiler, serta downloader
Yang dimaksud dengan sistem minimal adalah sebuah rangkaian mikrokontroler yang sudah dapat digunakan untuk menjalankan sebuah aplikasi. Sebuah IC mikrokontroler tidakakan berarti bila hanya berdiri sendiri. Pada dasarnya sebuah sistem minimal mikrokontroler AVR memiliki prinsip yang sama, yang terdiri dari 4 bagian, yaitu :
1. prosesor, yaitu mikrokontroler itu sendiri
2. rangkaian reset agar mikrokontroler dapat menjalankan program mulai dari awal
3. rangkaian clock, yang digunakan untuk memberi detak pada CPU
4. rangkaian catu daya, yang digunakan untuk memberi sumberdaya
Pada mikrokontroler jenis2 tertentu (AVR misalnya), poin2 pada no 2 ,3 sudah tersedia didalam mikrokontroler tersebut dengan frekuensi yang sudah diseting dari vendornya (biasanya 1MHz,2MHz,4MHz,8MHz), sehingga pengguna tidak perlu memerlukan rangkaian tambahan, namun bila ingin merancang sistem dengan spesifikasi tertentu (misal ingin komunikasi dengan PC atau handphone), maka pengguna harus menggunakan rangkaian clock yang sesuai dengan karakteristik PC atau HP tersebut, biasanya menggunakan kristal 11,0592 MHz, untuk menghasilkan komunikasi yang sesuai dengan baud rate PC atau HP tersebut.
Perkembangan ?
Mikrokontroler pertama kali dikenalkan oleh Texas Instrument dengan seri TMS 1000 pada tahun 1974 yang merupakan mikrokontroler 4 bit pertama. Mikrokontroler ini mulai dibuat sejak 1971. Merupakan mikrokomputer dalam sebuah chip, lengkap dengan RAM dan ROM. Kemudian, pada tahun 1976 Intel mengeluarkan mikrokontroler yang kelak menjadi populer dengan nama 8748 yang merupakan mikrokontroler 8 bit, yang merupakan mikrokontroler dari keluarga MCS 48. Sekarang di pasaran banyak sekali ditemui mikrokontroler mulai dari 8 bit sampai dengan 64 bit, sehingga perbedaan antara mikrokontroler dan mikroprosesor sangat tipis. Masing2 vendor mengeluarkan mikrokontroler dengan dilengkapi fasilitas2 yang cenderung memudahkan user untuk merancang sebuah sistem dengan komponen luar yang relatif lebih sedikit.
Saat ini mikrokontroler yang banyak beredar dipasaran adalah mikrokontroler 8 bit varian keluarga MCS51(CISC) yang dikeluarkan oleh Atmel dengan seri AT89Sxx, dan mikrokontroler AVR yang merupakan mikrokontroler RISC dengan seri ATMEGA8535 (walaupun varian dari mikrokontroler AVR sangatlah banyak, dengan masing2 memiliki fitur yang berbeda2). Dengan mikrokontroler tersebut pengguna (pemula) sudah bisa membuat sebuah sistem untuk keperluan sehari-hari, seperti pengendali peralatan rumah tangga jarak jauh yang menggunakan remote control televisi, radio frekuensi, maupun menggunakan ponsel, membuat jam digital, termometer digital dan sebagainya.
Jenis-jenis Mikrokontroller
Secara teknis, hanya ada 2 macam mikrokontroller. Pembagian ini didasarkan pada kompleksitas instruksi-instruksi yang dapat diterapkan pada mikrokontroler tersebut. Pembagian itu yaitu RISC dan CISC.
· RISC merupakan kependekan dari Reduced Instruction Set Computer. Instruksi yang dimiliki terbatas, tetapi memiliki fasilitas yang lebih banyak.
· Sebaliknya, CISC kependekan dari Complex Instruction Set Computer. Instruksi bisa dikatakan lebih lengkap tapi dengan fasilitas secukupnya.
Masing-masing mempunyai keturunan atau keluarga sendiri-sendiri.
Sekarang kita akan membahas pembagian jenis-jenis mikrokonktroler yang telah umum digunakan.
1. Keluarga MCS51
Mikrokonktroler ini termasuk dalam keluarga mikrokonktroler CISC. Sebagian besar instruksinya dieksekusi dalam 12 siklus clock.
Mikrokontroler ini berdasarkan arsitektur Harvard dan meskipun awalnya dirancang untuk aplikasi mikrokontroler chip tunggal, sebuah mode perluasan telah mengizinkan sebuah ROM luar 64KB dan RAM luar 64KB diberikan alamat dengan cara jalur pemilihan chip yang terpisah untuk akses program dan memori data.
Salah satu kemampuan dari mikrokontroler 8051 adalah pemasukan sebuah mesin pemroses boolean yang mengijikan operasi logika boolean tingkatan-bit dapat dilakukan secara langsung dan secara efisien dalam register internal dan RAM. Karena itulah MCS51 digunakan dalam rancangan awal PLC (programmable Logic Control).
2. AVR
Mikrokonktroler Alv and Vegard’s Risc processor atau sering disingkat AVR merupakan mikrokonktroler RISC 8 bit. Karena RISC inilah sebagian besar kode instruksinya dikemas dalam satu siklus clock. AVR adalah jenis mikrokontroler yang paling sering dipakai dalam bidang elektronika dan instrumentasi.
Secara umum, AVR dapat dikelompokkan dalam 4 kelas. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral dan fungsinya. Keempat kelas tersebut adalah keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx.
3. PIC
Pada awalnya, PIC merupakan kependekan dari Programmable Interface Controller. Tetapi pada perkembangannya berubah menjadi Programmable Intelligent Computer.
PIC termasuk keluarga mikrokonktroler berarsitektur Harvard yang dibuat oleh Microchip Technology. Awalnya dikembangkan oleh Divisi Mikroelektronik General Instruments dengan nama PIC1640. Sekarang Microhip telah mengumumkan pembuatan PIC-nya yang keenam
PIC cukup popular digunakan oleh para developer dan para penghobi ngoprek karena biayanya yang rendah, ktersediaan dan penggunaan yang luas, database aplikasi yang besar, serta pemrograman (dan pemrograman ulang) melalui hubungan serial pada komputer.

Referensi:


Posted by Gandis Suwantoro | File under : , , ,


Gambar 1 Arsitektur Komputer

Pengertian arsitektur komputer

Arsitektur Komputer dapat dikategorikan sebagai ilmu dan sekaligus sebagai suatu seni mengenai cara interkoneksi antara berbagai komponen perangkat keras atau hardware agar dapat menciptakan sebuah komputer yang dapat memenuhi kebutuhan fungsional, kinerja, dan juga target biayanya. Dalam bidang teknik komputer, definisi arsitektur komputer adalah suatu konsep perencanaan dan juga struktur pengoperasian dasar dari suatu sistem komputer atau ilmu yang bertujuan untuk perancangan sistem komputer.
Arsitektur von Neumann (atau Mesin Von Neumann) adalah arsitektur yang diciptakan oleh John von Neumann [1903 – 1957]. Arsitektur ini digunakan oleh hampir pada semua komputer pada saat ini. Arsitektur Von Neumann ini menggambarkan komputer dengan 4 (empat) bagian utama, yaitu: Unit Aritmatika & Logis (ALU), unit kontrol, memori, & alat masukan & hasil (secara kolektif dinamakan I/O). Bagian tersebut dihubungkan oleh berkas kawat, “bus”.

3 sub-kategori arsitektur komputer

Terdapat 3 sub-kategori dari arsitektur komputer, yaitu diantaranya :
  • Set intruksi (ISA).
  • Arsitektur mikro dari ISA, dan juga
  • Sistem desain dari semua atau seluruh komponen dalam perangkat keras (hardware) komputer ini.

2 bagian utama arsitektur komputer

Pada arsitektur komputer terdapat 2 bagian utama, yaitu diantaranya :
  • Instructure Set Architecture, adalah spesifikasi yang menentukan bagaimana programmer bahasa mesin berinteraksi dengan komputer.
  • Hardware System Architacture yaitu subsistem hardware (perangkat keras) dasar yaitu CPU, Memori, serta OS.

Cara melakukan perubahan pada arsitektur komputer

Cara-cara untuk melakukan perubahan pada arsitektur komputer, yaitu diantaranya :
  • Membangun array prosesor.
  • Menerapkan proses pipelining.
  • Membangun komputer multiprosesor.
  • Membangun komputer dengan arsitektur yang lain.

Mengukur kualitas dari arsitektur komputer

Dalam mengukur kualitas dari arsitektur komputer terdapat beberapa atribut yang dipakai untuk mengukur kualitas komputer, yaitu diantaranya :
  • Generalitas.
  • Applicability (Daya Terap).
  • Efesiensi.
  • Kemudahan Penggunaan atau pemakaian.
  • Daya Tempa (Maleability).
  • Dan daya Kembang (Expandibility).

Faktor  yang berpengaruh pada keberhasilan Arsitektur Komputer

Terdapat faktor-faktor yang dapat berpengaruh pada keberhasilan arsitektur komputer, 3 (tiga) diantaranya yaitu :
1. Manfaat Arsitektural yaitu diantaranya :
  • Aplicability.
  • Maleability.
  • Expandibility.
  • Comptible.
2. Kinerja Sistem
Yaitu untuk mengukur kinerja dari sistem, ada serangkaian program yang standard yang dijalankan yang dapat disebut Benchmark pada komputer. Adapula yang akan diuji dari kinerja sistem, yaitu ukuran kinerja dari CPU komputer tersebut, yaitu diantaranya:
  • MIPS (Million Instruction PerSecond)
  • MFLOP (Million Floating Point PerSecond)
  • VUP (VAX Unit of Performance)
Ukuran Kinerja I/O sistem:
  • Sistem Operasi Bandwith
  • Operasi I/O Perdetik
Ukuran Kinerja Memori:
  • Memoy Bandwith.
  • Waktu Akses Memori.
  • Ukuran Memori.
3. Biaya Sistem, biaya dapat diukur dalam banyak cara,yaitu diantaranya :
  • Reliabilitas.
  • Kemudahan Perbaikan.
  • Konsumsi daya.
  • Berat.
  • Kekebalan.
  • Interface Sistem Software.
Arsitektur komputer merupakan suatu hal yang penting karena dapat memberikan berbagai atribut-atribut pada sistem komputer, hal tersebut tentunya sangat dibutuhkan bagi perancang software sistem dalam mengembangkan suatu program.
Referensi :
Posted by Gandis Suwantoro | File under : , , ,

Pengertian Domain Name System (DNS)

Terdapat beberapa pengertian mengenai Domain Name System, yaitu diantaranya sebagai berikut:
  1. Merupakan sistem database yang terdistribusi yang digunakan untuk pencarian nama komputer di jaringan yang menggunakan TCP/IP. DNS mempunyai kelebihan ukuran database yang tidak terbatas dan juga mempunyai performa yang baik.
  2. Merupakan aplikasi pelayanan di internet untuk menterjemahkan domain name ke alamat IP dan juga sebaliknya.
  3. Komputer yang terhubung dan memiliki tanggung jawab memberikan informasi zona nama domain anda, merubah nama domain menjadi alamat IP dan juga memiliki tanggung jawab terhadap distribusi email di mail server yang menyangkut dengan nama domain.
  4. Aplikasi yang membantu memetakan host name sebuah komputer ke IP address pada aplikasi yang terhubung ke Internet seperti web browser atau e-mail.
Dari pengertian di atas kita misalkan domain namenya yaitu yahoo.com mempunyai alamat IP 202.68.0.134, tentu mengingat nama komputer lebih mudah dibandingkan dengan mengingat alamat IP. Di dalam DNS, sebuah name server akan memuat informasi mengenai host-host di suatu daerah atau zone. Name server ini dapat mengakses server-server lainnya untuk mengambil data-data host di daerah lainnya. Name server akan menyediakan informasi bagi client yang membutuhkan, yang disebut dengan resolvers.

Fungsi Utama Sistem DNS

Terdapat 2 fungsi utama sistem dari DNS, yaitu di antaranya sebagai berikut :
  1. Menerjemahkan nama-nama host (hostnames) menjadi nomor IP (IP address) ataupun sebaliknya, sehingga nama tersebut mudah diingat oleh pengguna internet.
  2. Memberikan suatu informasi tentang suatu host ke seluruh jaringan internet.

KEKURANGAN DNS

Terdapat 3 kekurangan dari DNS, yaitu diantranya :
  1. DNS tidak mudah untuk di implementasikan
  2. Tidak konsisten
  3. Tidak bias membuat banyak nama domain.

Keunggulan dari DNS

Selain digunakan di Internet, DNS dapat di implementasikan ke private network atau intranet dimana DNS memiliki keunggulan seperti:
  • Mudah, DNS sangat mudah karena user tidak lagi direpotkan untuk mengingat IP address sebuah komputer cukup host name (nama Komputer).
  • Konsisten, IP address sebuah komputer bisa berubah tapi host name tidak berubah.
  • Simple, user hanya menggunakan satu nama domain untuk mencari baik di Internet maupun di Intranet.
DNS dapat dianalogikan fungsinya dengan buku telepon. Dimana setiap komputer di jaringan Internet memiliki host name (nama komputer) dan Internet Protocol (IP) address. Secara umum, setiap client yang akan mengkoneksikan komputer yang satu ke komputer yang lain, akan menggunakan host name. Lalu komputer kita akan menghubungi DNS server untuk mencek host name yang kita minta tersebut berapa IP address-nya. IP address ini yang digunakan untuk mengkoneksikan komputer kita dengan komputer lainnya.

Jenis-jenis DNS

Terdapat 3 jenis DNS server, yaitu diantaranya :
a.   Cache
Jenis ini tidak mempunyai data nama-nama host dari domain tertentu. Hanya mencari jawaban dari beberapa DNS server terdekat. Setelah jawaban didapatkan, datanya disimpan dalam cache untuk kepeluan mendatang. DNS server cache merupakan yang paling mudah untuk dikonfigurasi.
b.   Primary ( master)
Sesuai dengan namanya, primary (untuk versi 4.x 0 atau master ( untuk versi 8.x ) adalah pemegang daftar lengkap dari sebuah domain yang dikelolanya. Server ini memegang otoritas penuh atas domainnya. Misal server ns1.itc.ac.id memegang otoritas penuh atas domain*.itc.ac.id. otoritas penuh disini berarti server ini yang bertanggung jawab untuk ditanyai nama-nama host berdomain itc.ac.id dan sub-sub domain dibawahnya. Selain itu hanya server ini yang dapat membuat sub-domain dibawah itc.ac.id.
c.   Secondary ( slave)
Server ini adalah backup dari primary server. Sama halnya dengan primary, secondary juga memuat daftar lengkap sebuah domain. Hubungan antara primary dan secondary ini kurang lebih seperti mirror. Jika terdapat perubahan di primary server, secondary terus mengikutinya secara periodic. Oleh karena itu, secondary memerlukan izin dari primary untuk melakukan sinkronisasi ini. Sinkronisasi ini lazimnya disebut sebagai zona transfer. Secondary diperlukan sebagai backup jika primary crash atau sibuk dan untuk mempermudah pendelegasian.

Cara Kerja dari DNS

Server DNS dalam implementasinya memerlukan program client yang dapat menghubungkan setiap komputer user dengan server DNS. Program ini dikenal dengan nama resolver. Resolver ini digunakan oleh program aplikasi yang terinstall di komputer user, seperti web browser dan mail client. Berikut ini merupakan gambaran proses yang dilalui untuk memperoleh alamat host dari nama domain www.microsoft.com.
Gambar 1 Cara Kerja DNS Server
Dari gambar di atas dapat dijelaskan urutan cara kerja DNS Server menangai permintaan sebagai berikut:
  • Mencari alamat host pada file HOSTS, bila ada berikan alamatnya dan proses selesai.
  • Mencari pada data cache yang dibuat oleh resolver untuk menyimpan hasil permintaan sebelumnya, bila ada simpan dalam data cache, berikan hasilnya dan selesai.
  • Mencari pada alamat DNS Server pertama yang telah ditentukan oleh user.
  1. DNS Server yang ditunjuk akan mencari nama domain pada cache-nya.
  2. Apabila tidak ketemu, pencarian dilakukan dengan melihat file database domain (zones) yang dimiliki oleh server.
  3. Apabila tidak menemukan, server ini akan menghubungi DNS Server lain yang sudah dikaitkan dengan server ini. Jika ketemu simpan dalam cache dan berikan hasilnya.
  • Apabila pada DNS Server pertama tidak ditemukan pencarian dilanjutkan pada DNS Server kedua dan seterusnya dengan proses yang sama seperti diatas.
Pencarian domain dari client ke sejumlah DNS Server ini dikenal sebagai prosespencarian iteratif, sedangkan proses pencarian domain antar DNS Server dikenal dengan nama pencarian rekursif.
 Referensi :