tumblr

tumblr

Selasa, 10 September 2013

Algoritma Dan Pemrograman Pascal

Definisi Algoritma
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah
yang disusun secara sistematis dan logis”. Kata logis merupakan kata kunci
dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus
dapat ditentukan bernilai salah atau benar.

Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk
melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma
adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan
keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak
peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah,
pastilah algoritma tersebut bukanlah algoritma yang baik. Bab I: Pengantar Algoritma dan Program

 2
Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui
seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting
terutama pada algoritma untuk menyelesaikan masalah yang memerlukan
aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang
baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai
yang sebenarnya.

Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2
hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan
keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu
berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya
tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu
juga dengan memori, semakin besar memori yang terpakai maka semakin
buruklah algoritma tersebut.

Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda
untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan
dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang
sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.
1.1.2. Beda Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan
tahapan sistematis dalam program adalah algoritma. Program ditulis dengan
menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program
adalah suatu implementasi dari bahasa pemrograman.
Beberapa pakar memberi formula bahwa:
Program = Algoritma + Bahasa (Struktur Data) 
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat
pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data
yang tepat akan membuat program menjadi kurang baik, demikian juga
sebaliknya.  ALGORITMA & PEMROGRAMAN: Teori dan Praktik dalam Pascal Edisi Kedua

 3
Pembuatan algoritma mempunyai banyak keuntungan di antaranya:
1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa
pemrograman manapun, artinya penulisan algoritma independen dari
bahasa pemrograman dan komputer yang melaksanakannya.
2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa
pemrograman.
3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama
karena algoritmanya sama.

Beberapa hal yang perlu diperhatikan dalam membuat algoritma:
1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.
Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah
dimengerti dan dipahami.
2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti
notasi bahasa pemrograman. Notasi yang digunakan dalam menulis
algoritma disebut notasi algoritmik.

3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik
sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks
program. Namun, supaya notasi algoritmik mudah ditranslasikan ke
dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi
algoritmik tersebut berkorespondensi dengan notasi bahasa
pemrograman secara umum.

4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu
pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh
komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam
notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam
notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang
yang menulis program sangat terikat dalam aturan tata bahasanya dan
spesifikasi mesin yang menjalannya.

5. Algoritma sebenarnya digunakan untuk membantu kita dalam
mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.

6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat
dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam
notasi bahasa pemrograman. Ada beberapa hal yang harus diperhatikan
pada translasi tersebut, yaitu:

a. Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam
penggunaan bahasa pemrograman apabila tidak semua bahasa
pemrograman membutuhkannya.

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari
No. Proses Algoritma Contoh Langkah dalam
Algoritma
1 Membuat kue Resep kue Masukkan telur ke dalam
wajan, kocok sampai
mengembang
2 Membuat pakaian Pola pakaian Gunting kain dari pinggir
kiri bawah ke arah kanan
sejauh 5 cm
3 Merakit mobil Panduan
merakit
Sambungkan komponen
A dengan komponen B
4 Kegiatan seharihari
Jadwal harian Pukul 06.00: mandi pagi,
pukul 07.00: berangkat
kuliah
5 Mengisi voucer HP Panduan
pengisian
Tekan 888, masukkan
nomor voucer


. Belajar Memprogram dan Belajar Bahasa Pemrograman
Belajar memprogram tidak sama dengan belajar bahasa pemrograman.
Belajar memprogram adalah belajar tentang metodologi pemecahan
masalah, kemudian menuangkannya dalam suatu notasi tertentu yang
mudah dibaca dan dipahami. Sedangkan belajar bahasa pemrograman
berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya,
pernyataan-pernyataannya, tata cara pengoperasian compiler-nya, dan
memanfaatkan pernyataan-pernyataan tersebut untuk membuat program
yang ditulis hanya dalam bahasa itu saja. Sampai saat ini terdapat puluhan
bahasa pemrogram, antara lain bahasa rakitan (assembly),  Fortran, Cobol,
Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasabahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo. Berdasarkan
terapannya, bahasa pemrograman dapat digolongkan atas dua kelompok
besar:

1. Bahasa pemrograman bertujuan khusus. Yang termasuk kelompok
ini adalah Cobol (untuk terapan bisnis dan administrasi). Fortran
(terapan komputasi ilmiah), bahasa rakitan (terapan pemrograman
mesin), Prolog (terapan kecerdasan buatan), bahasa-bahasa
simulasi, dan sebagainya.
2. Bahasa perograman bertujuan umum, yang dapat digunakan untuk
berbagai aplikasi. Yang termasuk kelompok ini adalah bahasa
Pascal, Basic dan C. Tentu saja pembagian ini tidak kaku. Bahasabahasa bertujuan khusus tidak berarti tidak bisa digunakan untuk
aplikasi lain. Cobol misalnya, dapat juga digunakan untuk terapan
ilmiah, hanya saja kemampuannya terbatas. Yang jelas, bahasabahasa pemrograman yang berbeda dikembangkan untuk
bermacam-macam terapan yang berbeda pula.

Berdasarkan pada apakah notasi bahasa pemrograman lebih “dekat” ke
mesin atau ke bahasa manusia, maka bahasa pemrograman dikelompokkan
atas dua macam: Bab I: Pengantar Algoritma dan Program

 8
1. Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap
instruksinya langsung dikerjakan oleh komputer, tanpa harus
melalui penerjemah (translator). Contohnya adalah bahasa mesin.
CPU mengambil instruksi dari memori, langsung mengerti dan
langsung mengerjakan operasinya. Bahasa tingkat rendah bersifat
primitif, sangat sederhana, orientasinya lebih dekat ke mesin, dan
sulit dipahami manusia. Sedangkan bahasa rakitan dimasukkan ke
dalam kelompok ini karena alasan notasi yang dipakai dalam bahasa
ini lebih dekat ke mesin, meskipun untuk melaksanakan
instruksinya masih perlu penerjemahan ke dalam bahasa mesin.

2. Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah
dipahami, lebih “manusiawi”, dan berorientasi ke bahasa manusia
(bahasa Inggris). Hanya saja, program dalam bahasa tingkat tinggi
tidak dapat langsung dilaksanakan oleh komputer. Ia perlu
diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang
disebut kompilator atau compiler) ke dalam bahasa mesin sebelum
akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah
Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++, dan sebagainya.

Bahasa pemrograman bisa juga dikelompokkan berdasarkan pada tujuan
dan fungsinya. Di antaranya adalah:

Pembagian Bahasa Pemrograman
Secara sistematis berikut diberikan kiat-kiat untuk belajar memprogram dan
belajar bahasa pemrograman serta produk yang dapat dihasilkan:

a. Belajar Memprogram
•  Belajar memprogram: belajar bahasa pemrograman. ALGORITMA & PEMROGRAMAN: Teori dan Praktik dalam Pascal Edisi Kedua

 9
•  Belajar memprogram: belajar tentang strategi pemecahan masalah,
metodologi dan sistematika pemecahan masalah kemudian
menuliskannya dalam notasi yang disepakati bersama.
•  Belajar memprogram: bersifat pemahaman persoalan, analisis dan
sintesis.
•  Belajar memprogram, titik berat: designer program.

b. Belajar Bahasa Pemrograman
•  Belajar bahasa pemrograman: belajar memakai suatu bahasa
pemrograman, aturan sintaks, tatacara untuk memanfaatkan pernyataan
yang spesifik untuk setiap bahasa.
•  Belajar bahasa pemrograman, titik berat: coder.
c. Produk yang Dihasilkan Pemrogram
•  Program dengan rancangan yang baik (metodologis, sistematis).
•  Dapat dieksekusi oleh mesin.
•  Berfungsi dengan benar.
•  Sanggup melayani segala kemungkinan masukan.
•  Disertai dokumentasi.
•  Belajar memprogram, titik berat: designer program.
1.2. Menilai Sebuah Algoritma
Ketika manusia berusaha memecahkan masalah, metode atau teknik yang
digunakan untuk memecahkan masalah itu ada kemungkinan bisa banyak
(tidak hanya satu). Dan kita memilih mana yang terbaik di antara teknikteknik itu. Hal ini sama juga dengan algoritma, yang memungkinkan suatu
permasalahan dipecahkan dengan metode dan logika yang berlainan. Yang
menjadi pertanyaan adalah bagaimana mengukur mana algoritma yang
terbaik?
Beberapa persyaratan untuk menjadi algoritma yang baik adalah:
•  Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari
proses harus berakurasi tinggi dan benar.
•  Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan
secepat mungkin dan frekuensi kalkulasi yang sependek mungkin.
Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu
kasus saja, tapi juga untuk kasus lain yang lebih general.
•  Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita
kembangkan lebih jauh berdasarkan perubahan requirement yang ada.
•  Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami
algoritma Anda. Susah dimengertinya suatu program akan membuat
susah di-maintenance (kelola).
• Portabilitas yang tinggi (portability). Bisa dengan mudah
diimplementasikan di berbagai platform komputer.
•  Precise (tepat, betul, teliti). Setiap instruksi harus ditulis dengan
seksama dan tidak ada keragu-raguan, dengan demikian setiap instruksi
harus dinyatakan secara eksplisit dan tidak ada bagian yang dihilangkan
karena pemroses dianggap sudah mengerti. Setiap langkah harus jelas
dan pasti.
 Contoh:   Tambahkan 1 atau 2 pada x.
     Instruksi di atas terdapat keraguan.
•  Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk
kasus yang sama banyaknya, langkah harus tetap dan tertentu meskipun
datanya berbeda.
•  Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh
pemroses yang akan menjalankannya.
 Contoh: Hitung akar 2 dengan presisi sempurna.
 Instruksi di atas tidak efektif, agar efektif instruksi tersebut diubah.
Misal: Hitung akar 2 sampai lima digit di belakang koma.
•  Harus terminate. Jalannya algoritma harus ada kriteria berhenti.
Pertanyaannya adalah apakah bila jumlah instruksinya berhingga maka
pasti terminate?
•  Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis
dan diikuti dengan seksama maka dihasilkan output yang diinginkan.

1.3. Penyajian Algoritma
Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu
tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan
struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris)
dan pseudocode. Pseudocode adalah kode yang mirip dengan kode
pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat
digunakan untuk menggambarkan algoritma yang akan dikomunikasikan
kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, ALGORITMA & PEMROGRAMAN: Teori dan Praktik dalam Pascal Edisi Kedua

 11
misalnya dengan flowchart. Secara umum, pseudocode mengekspresikan
ide-ide secara informal dalam proses penyusunan algoritma. Salah satu cara
untuk menghasilkan kode pseudo adalah dengan meregangkan aturan-aturan
bahasa formal yang dengannya versi akhir dari algoritma akan
diekspresikan. Pendekatan ini umumnya digunakan ketika bahasa
pemrograman yang akan digunakan telah diketahui sejak awal.

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan
hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan
dengan simbol. Dengan demikian setiap simbol menggambarkan proses
tertentu. Sedangkan antara proses digambarkan dengan garis penghubung.
Dengan menggunakan flowchart akan memudahkan kita untuk melakukan
pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Di
samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi
antara pemrogram yang bekerja dalam tim suatu proyek.

Ada dua macam flowchart yang menggambarkan proses dengan komputer,
yaitu:
1. Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang
menggambarkan urutan prosedur dan proses suatu file dalam suatu
media menjadi file di dalam media lain, dalam suatu sistem
pengolahan data.
Beberapa contoh Flowchart sistem:

Dokumen Pengurutan Offline
Kegiatan Manual   Hard Disk

2. Flowchart program yaitu bagan dengan simbol-simbol tertentu
yang menggambarkan urutan proses dan hubungan antar proses
secara mendetail di dalam suatu program.

Kaidah-Kaidah Umum Pembuatan Flowchart Program
Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang
bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran
dalam menganalisis suatu masalah dengan komputer. Sehingga flowchartyang dihasilkan dapat bervariasi antara satu pemrogram dengan yang
lainnya. 
Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian
utama, yaitu:
™ Input,
™ Proses pengolahan dan
™ Output

Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu
masalah:
¾ START, berisi pernyataan untuk persiapan peralatan yang
diperlukan sebelum menangani pemecahan persoalan.
¾ READ, berisi pernyataan kegiatan untuk membaca data dari suatu
peralatan input.
¾ PROSES, berisi kegiatan yang berkaitan dengan pemecahan
persoalan sesuai dengan data yang dibaca.
¾ WRITE, berisi pernyataan untuk merekam hasil kegiatan ke
peralatan output.
¾ END, mengakhiri kegiatan pengolahan.

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart,
namun ada beberapa anjuran:
¾ Hindari pengulangan proses yang tidak perlu dan logika yang
berbelit sehingga jalannya proses menjadi singkat.
¾ Jalannya proses digambarkan dari atas ke bawah dan diberikan
tanda panah untuk memperjelas.
¾ Sebuah flowchart diawali dari satu titik START dan diakhiri dengan
END.

Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh
dunia pemrograman: ALGORITMA & PEMROGRAMAN: Teori dan Praktik dalam Pascal Edisi Kedua

 13
            Decision
             Process
                    Input/Output
       data
                Document
                   Preparation
                  Predefined
             process
          Control
           transfer
               Terminator
                   Stored data
                       Off-page
                         reference

  Loop Connector Line Connector
Untuk memahami lebih dalam mengenai flowchart ini, akan diambil sebuah
kasus sederhana.
Kasus:
Buatlah sebuah rancangan program dengan menggunakan flowchart,
mencari luas persegi panjang.
Solusi:
Perumusan untuk mencari luas persegi panjang adalah:
L = p. l
di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan l
adalah lebar persegi.

Tahapan dalam Pemrograman
Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam
pemrograman dengan komputer adalah:
1. Definisikan Masalah
Berikut adalah hal-hal yang harus diketahui dalam analisis masalah
supaya kita mengetahui bagaimana permasalahan tersebut:
a. Kondisi awal, yaitu input yang tersedia.
b. Kondisi akhir, yaitu output yang diinginkan.
c. Data lain yang tersedia.
d. Operator yang tersedia.
e. Syarat atau kendala yang harus dipenuhi.
Contoh kasus:
Menghitung biaya percakapan telepon di wartel. Proses yang perlu
diperhatikan adalah:
a.  Input yang tersedia adalah jam mulai bicara dan jam selesai bicara.
b.  Output yang diinginkan adalah biaya percakapan.
c.  Data lain yang tersedia adalah besarnya pulsa yang digunakan dan
biaya per pulsa.
d.  Operator yang tersedia adalah pengurangan (-), penambahan (+),
dan perkalian (*).
e.   Syarat kendala yang harus dipenuhi adalah aturan jarak dan aturan
waktu.

2. Buat Algoritma dan Struktur Cara Penyelesaian
Jika masalahnya kompleks, maka dibagi ke dalam modul-modul. Tahap
penyusunan algoritma seringkali dimulai dari langkah yang global
terlebih dahulu. Langkah global ini diperhalus sampai menjadi langkah
yang lebih rinci atau detail. Cara pendekatan ini sangat bermanfaat
dalam pembuatan algoritma untuk masalah yang kompleks. Penghalusan
langkah dengan cara memecah langkah menjadi beberapa langkah.
Setiap langkah diuraikan lagi menjadi beberapa langkah yang lebih
sederhana. Penghalusan langkah ini akan terus berlanjut sampai setiap
langkah sudah cukup rinci dan tepat untuk dilaksanakan oleh pemroses.

3. Menulis Program
Algoritma yang telah dibuat, diterjemahkan dalam bahasa komputer
menjadi sebuah program. Perlu diperhatikan bahwa pemilihan algoritma
yang salah akan menyebabkan program memiliki untuk kerja yang
kurang baik. Program yang baik memiliki standar penilaian:

Pemrograman Prosedural
Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti
algoritma adalah proses yang prosedural. Pada program prosedural, program
dibedakan antara bagian data dengan bagian instruksi. Bagian instruksi
terdiri dari atas runtunan (sequence) instruksi yang dilaksanakan satu per
satu secara berurutan oleh sebuah pemroses. Alur pelaksanaan instruksi
dapat berubah karena adanya pencabangan kondisional. Data yang disimpan
di dalam memori dimanipulasi oleh instruksi secara beruntun. Kita katakan
bahwa tahapan pelaksanaan program mengikuti pola beruntun atau prosedural.
Paradigma pemrograman seperti ini dinamakan pemrograman prosedural.

Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran,  dan
C/C++ mendukung kegiatan pemrograman prosedural, karena itu mereka
dinamakan juga bahasa prosedural. Selain paradigma pemrograman
prosedural, ada lagi paradigma yang lain yaitu pemrograman berorientasi
objek (Object Oriented Programming atau OOP). Paradigma pemrograman
ini merupakan trend baru dan sangat popular akhir-akhir ini. Pada
paradigma OOP, data dan instruksi dibungkus (encapsulation) menjadi satu.
Kesatuan ini disebut kelas (class) dan instansiasi kelas pada saat run-time
disebut objek (object). Data di dalam objek hanya dapat diakses oleh
instruksi yang ada di dalam objek itu saja.

Selasa, 27 Agustus 2013


HARDWARE DAN SOFTWARE PENDUKUNG KONEKSI INTERNET

1. Hardware
a. Komputer Server : merupakan inti sebuah LAN, Hard disk server diusahakan berkapasitas besar .
b. Workstation : adalah jaringan PC biasa yang menjalankan sistem operasi masing-masing.
c. Modem (Modulator Demodulator) : alat komunikasi dua arah , menyampaikan data melalui sinyal, lalu diubah menjadi sinyal analog.
d. Kartu Jaringan : sebuah kartu yang berfungsi sebagai jembatan ari komputer ke sebuah jaringan komputer.
e. Wifi : sekumpulan standar yang digunakan untuk jaringan lokal nirkabel.
f. Hub : alat penghubung antar komputer & digunakan untuk sebuah jaringan sederhana.
g. Router : alat yang bertugas untuk mengantarkan paket data dalam jaringan yang berbeda.
h. Switch : alat penyaring dan melewatkan paket data yang ada di sebuah LAN.
i. Bridge : media expander untuk menambahkan jangkauan dari sebuah jaringan LAN dan menghubungkan dengan jaringan yang lain pada lokasi yang berbeda.
j. Gateway : peralatan yang menyediakan jalur (path) ke jaringan tetangga/internet.
k. Konektor : menghubungkan antar kabel dan menghubungkan kabel dengan perangkat jaringan yang lain.
l. Kabel :
m. Access Point : bertindak untuk menghubungkan sebagai Hub/Switch di jaringan lokal, yang bertindak untuk menghubungkan jaringan lokal dengan karingan wireless.


2. Software
a. Sistem Operasi : dipakai sebagai basis jaringan juga menentukan dalam tahap proses instalasi.
b. Driver : suatu perangkat lunak yang dibutuhkan untuk menginstal komponen hardware sehingga komponen tersebut dikenali oleh sistem operasi yang terpasang di sebuah hardware.
c. Browser :
d. Soft Skill Administrator : Keterampilan orang yang mengendalikan/mengatur perangkat keras dan lunak komputer yang saling terhubung tersebut.




1.    Bridge adalah perangkat yang berfungsi menghubungkan beberapa jaringan terpisah. Bridge bisa menghubungkan tipe jaringan berbeda (seperti Ethernet dan Fast Ethernet) atau tipe jaringan yang sama. Bridge memetakan alamat Ethernet dari setiap node yang ada pada masing-masing segmen jaringan dan memperbolehkan hanya lalu lintas data yang diperlukan melintasi bridge. Ketika menerima sebuah paket, bridge menentukan segmen tujuan dan sumber. Jika segmennya sama, paket akan ditolak; jika segmennya berbeda, paket diteruskan ke segmen tujuannya. Bridge juga bisa mencegah pesan rusak untuk tak menyebar keluar dari satu segmen.

2.   Router merupakan perangkat jaringan yang bekerja pada OSI Layer 3, Network Layer. Pada layer ini sudah dikenal pengalamatan jaringan menggunakan IP Address, dan router ini berperan penting sebagai penghubung/penerus paket data antara dua segmen jaringan atau lebih. Semisal, di suatu warnet ada 10 client yang menggunakan IP Address 192.168.1.xx kita anggap sebagai network A, sedangkan koneksi dari ISP dialokasikan IP Address 202.123.321.xxx kita anggap sebagai jaringan B, maka agar client warnet bisa terhubung ke ISP dan juga ke internet, diperlukan satu router di warnet tersebut yang memiliki setidaknya 2 port. Satu port menjadi bagian dari network A, dan satunya lagi menjadi bagian dari network B.



3.   Gateway adalah sebuah perangkat yang digunakan untuk menghubungkan satu jaringan komputer dengan satu atau lebih jaringan komputer yang menggunakan protokol komunikasi yang berbeda sehingga informasi dari satu jaringan computer dapat diberikan kepada jaringan komputer lain yang protokolnya berbeda.Istilah gateway merujuk kepada hardware atau software yang menjembatani dua aplikasi atau jaringan yang tidak kompatibel, sehingga data dapat ditransfer antar komputer yang berbeda-beda.Salah satu contoh penggunaan gateway adalah pada email, sehingga pertukaran email dapat dilakukan pada sistem yang berbeda.Definisi tersebut adalah definisi gateway yang utama. Dalam pengertian teknis, istilah ini mengacu pada pengaturan hardware maupun software yang menerjemahkan antara dua protokol yang berbeda. Pengertian yang lebih umum untuk istilah ini adalah sebuah mekanisme yang menyediakan akses ke sebuah sistem lain yang tehubung dalam sebuah network.Host yang digunakan untuk mengalihkan lalu lintas jaringan dari satu jaringan ke jaringan lain, juga digunakan untuk melewatkan lalu lintas jaringan dari satu protokol ke protokol lain. Dipergunakan untuk menghubungkan dua jenis jaringan komputer yang arsitekturnya sama sekali berbeda. Jadi gateway lebih kompleks daripada bridge. Gateway dapat diaplikasikan antara lain untuk menghubungkan IBM SNA dengan digital DNA, LAN (Local Area Network) dengan WAN (Wide AreaNetwork)


4.   Hub merupakan perangkat jaringan yang bekerja di OSI layer 1, Physical Layer. Sehingga dia hanya bekerja tak lebih sebagai penyambung atau concentrator saja, dan hanya menguatkan sinyal di kabel UTP. Karena sifatnya ini, hub tak ubahnya seperti repeater dengan banyak port. Dia tidak mengenal MAC addressing/physical addressing, sehingga tidak bisa memilah data yang harus ditransmisikan, sehingga collision tidak bisa dihindari pada metode kerja si hub ini.

Rabu, 30 Januari 2013

Awal mula ditemukannya Camera


Pesta ulang tahun, liburan bersama keluarga, ataupun berbagai moment penting lainnya sangat berharga untuk diabadikan. Tinggal ambil kamera atau kamera di handphone mu, dan “klik” moment berharga tersebut sudah dapat kalian abadikan. Nah, sebenarnya bagaimana sih awal mula ditemukan kamera? Apakah kamera tempo dulu bentuknya seperti kamera saat ini? Yuks kita menjelajah masa lalu..

Kamera merupakan alat yang berfungsi untuk menangkap dan mengabadikan gambar. Saat ini kamera dapat menghasilkan sebuah gambar yang dapat langsung kita lihat hasilnya, tidak seperti kamera pada awal mula ditemukannya yang membutuhkan berbagai proses sebelum kita dapat melihat hasilnya.

Kamera juga digunakan untuk menangkap objek yang sedang bergerak seperti kamera video, kamera mikro, kamera sensor dan lain sebagainya. Perkembangan kamera pun telah meliputi berbagai bidang, seperti pada bidang sinematografi, pendidikan, kedokteran, dan bahkan sampai pada bidang sistem pertahanan dan keamanan pun tidak terlepas dari penggunaan teknologi kamera ini.
 

Sebenarnya usaha manusia untuk mengabadikan apa yang dilihat oleh mata telah dimulai sejak 336 Sebelum Masehi (SM). Pada waktu itu Aristoteles memperkenalkan teknologi ‘lubang jarum’. Aristoteles mengatakan bahwa cahaya yang melewati lubang kecil akan membentuk kesan atau gambar atau image. Metode yang diperkenalkan Aristoteles inilah yang dijadikan prinsip dasar teori yang terus digunakan dalam pengembangan teknologi fotografi.

ali pe
Sesuai dengan prinsip kerja tersebut pada abad ke-11 ditemukan kamera yang diberi nama Camera Obscura. Obscura berasa dari bahasa Latin yang berarti ruang gelap. Kamera ini berbentuk ruangan khusus yang di dalamnya dipantulkan cahaya yang terdiri dari dua lensa konveks. Camera obscura pertama kali ditemukan oleh seorang ilmuwan muslim yang bernama Alhazen antara tahun 965-1039 Setelah Masehi. Sejak saat itu para ilmuwan arab telah disibukkan dengan penggunaan-penggunaan kamera tersebut. 

Pada tahun 1267, camera obscura disempurnakan oleh Roger Bacon. Dia menambahkan beberapa cermin untuk memantulkan cahaya yang masuk lewat lubang. Hasil pantulan tersebut menciptakan proyeksi gambar kondisi di luar. Peristiwa proyeksi kondisi yang "dibawa" cahaya tersebut, disebut sebagai ilusi optikal.

Seorang matematikawan asal Italia, Gerolomo Cardano, antara tahun 1501-1576 memperkenalkan teknologi orbem e vitro, yang kemudian disebut sebagai nenek moyang lensa kamera. Teknologi ini menggunakan dua cermin cembung yang berfungsi sebagai lensa, sehingga cahaya yang masuk mengalami dua mantulan.

Tahukah kamu bahwa lensa mempunyai peran yang penting pada sebuah kamera. Tanpa lensa, kamera tidak akan bisa mengambil gambar. Tugas lensa adalah mengambil cahaya dari subyek agar masuk ke dalam fokus sehingga bisa menghasilkan gambar yang bagus.

Pada tahun 1660-an ilmuwan Inggris yang bernama Robert Boyle dan asistennya Robert Hooke menemukan kamera portable (bisa dipindah-pindah) obscura. Pada tahun 1685, Penemuan mereka ini disempurnakan lagi oleh Johann Zahn. Kamera ini cukup praktis dan cukup kecil untuk dapat digunakan dalam bidang fotografi. Kamera ini sering kita lihat pada film-film bertema jaman dahulu. Kamera ini memakai lampu kliat yang meledak dan mengeluarkan asap. Dengan penemuan baru tersebut mulailah kamera dikenal oleh masyarakat luas.


arulah pada akhir abad ke 16, seorang ilmuwan dan penulis bernama Giovanni Battista della Porta dari Itali mengembangkan camera obscura. Ia mencoba mengadakan eksperimen dengan menggunakan sebuah lensa sederhana untuk mempertajam proyeksi bayangan yang masuk melalui lubang. Walaupun hasilnya masih jauh dari sempurna, namun langkah ini telah menandai mulai digunakannya sebuah lensa dalam pengembangan camera obscura.

Pada abad ke-17, orang-orang berpendapat bahwa tidak bisa sembarang lensa yang bisa digunakan pada camera obscura. Maka dibuatlah lensa konveks yang berfungsi untuk menghasilkan gambar yang lebih jelas dan lebih tajam. Pada waktu itu kamera obscura ini sudah berbentuk menjadi sebuah kotak yang mudah untuk dibawa dan dipindahkan.

Orang yang berjasa menyempurnakan kamera adalah Jacques Daguerre pada tahun 1837. Pada waktu itu ia menemukan lempengan yang diletakkan dalam alat camera obscura, hingga bisa langsung menyerap proyeksi gambar yang terpantul. Teknik mencetak karya Daguerre ini kemudian disebut daguerreotype. Namun teknik ini memuliki kelemahan yaitu hanya bisa bisa mencetak gambar sebanyak satu kali. Teknik ini kemudian dijual kepada pemerintah Perancis pada tahun 1839. Teknik mencetak gambar ini kemudian menjadi tersebar ke seluruh Eropa dan Amerika.

Lalu muncul teknologi baru yang bisa memperbanyak foto lewat kertas film negatif. Teknik baru yang disebut dengan calotype ini ditemukan oleh William Fox Talbot dari Inggris pada tahun 1844. Meski cetakannya tidak sebagus foto Daguerre, tapi dia bisa memperbanyak hasilnya berapapun jumlahnya. Proses ini kemudian dinamakan photography, dan kemudian diakui sebagai inspirator proses foto modern. 


Setelah Daguerre dan William Talbot, pada tahun 1852, Frederick Scott Archer membuat temuan mencetak foto yang lebih cepat. Hanya dalam waktu 3 detik saja!! Caranya adalah dengan mencetak gambar pada saat plat film masih dalam keadaan basah. Teknik ini kemudian dinamakan collodion.

Pada tahun 1871, Richard Maddox menemukan gelatin, sebuah bahan yang digunakan untuk mencetak foto. Bahan ini menggantikan piringan kaca fotografik. Dengan penemuannya ini, gambar bisa dicetak lebih banyak dan kualitasnya lebih bagus. Ketika itu, kamera sudah ada yang lebih handy alias bisa ditenteng. Ini merupakan awal dari proses produksi massal film.

Tahun 1888 kamera Kodak portable box diperkenalkan oleh Eastman ke publik. Alat ini lebih ringkas dan sederhana daripada alat-alat fotografi sebelumnya. Alat ini sudah bisa digunakan oleh setiap orang, karena mudah digunakan.

Memasuki abad ke-20, penemuan di bidang kamera terus berlanjut dan teknik-teknik dalam fotografi pun berkembang dengan pesat. Pada tahun 1924, Leitz memperkenalkan Kamera Leica yang kecil dan sederhana dalam penggunaannya. Kamera ini kemudian menjadi standar para jurnalis di masa itu. Kemudian pada tahun 1947, Edwin Land menemukan kamera Polaroid yang memungkinkan untuk mencetak gambar secara langsung tanpa memiliki negatif film, karena film instant digunakan langsung di dalam kamera tersebut. 


Kamera video yang bukan hanya bisa merekam gambar bergerak, tapi juga suaranya berhasil diciptakan oleh Philips dan Sony pada tahun 1979. Mereka juga memperkenalkan kaset video sebagai media perekamnya.

Kemudian pada tahun 1986, Kodak berhasil menemukan teknologi fotografi tanpa film, yakni melalui sebuah sensor pada kamera yang bisa merekam 1,4 juta elemen gambar. Kemampuan merekam gambar inilah yang kemudian disebut sebagai megapixles. Selanjutanya pada tahun 1990, Kodak memperkenalkan kamera digital pertama di dunia.