Minggu, 05 Desember 2010

Fungsi dan Bagian Perangkat Lunak

i

2 Votes

Quantcast

Pada postingan sebelumnya saya sudah sharing pengertian mengenai rekayasa perangkat lunak, nah berikut ini saya akan sharing lagi sedikit mengenai Model dan Paradigma Rekayasa Perangkat Lunak, mungkin dalam tulisan kali ini terdapat banyak kesalahan dan/atau perbedaan pendapat dari teman-teman, untuk itu saya mohon koreksi nya, demi kemajuan kita bersama…

oke langsung aja…

Seperti yang sudah penulis bahas pada Bab – 1 sebelumnya, bahwa banyak para pengembang perangkat lunak yang salam dalam memahami model dan paradigma, sehingga berdampak pada ambigu terhadap disiplin rekayasa perangkat lunak yang digunakan. Sebelum lebih jauh membahas model dan paradigma rekayasa perangkat lunak, penulis akan mengulangi sedikit penjelasan dasar mengeani model dan paradigma itu sendiri.

Model merupakan kerangka bagi jalur yang harus dilalui aktivitas-aktivias pengembangan perangkat lunak, sebagai contoh: waterfall, spiral, prototype dan lain sebagainya, sementara paradigma mengacu kepada cara pandang spesifik dalam usaha pencarian solusi, yaitu: menyagkut konseptualisasi permasalahan dan solusi, bukan berkaitan dengan urutan aktivitas penyelesaian.

Pada paper ini, penulis akan menjelaskan 4 (empat) model dasar yang sering digunakan dalam pengembangan prangkat lunak, yaitu:

1. 1. Linear Sequential Model
2. 2. Prototyping Model
3. 3. Rapid Application Development (RAD) Model
4. 4. Evolutionary Software Process Model

Dan 5 (lima) paradigma yang sering digunakan dalam pengembangan perangkat lunak, yaitu:

1. Paradigma Konvensional
2. Paradigma Berorientasi Objek
3. Paradigma Metode Formal
4. Paradigma Cleanroom
5. Paradigma Berbasis Komponen

Sebelum lebih jauh dalam menjelaskan model dan paradigma diatas, penulis akan menjelaskan aktivitas dasar dalam pengembangan perangkat lunak, yaitu:
No Aktifitas Artifaks Keluaran
1 Analisis kebutuhan Studi Kelayakan

Kerangka Kebutuhan
2 Pendefinisian Kebutuhan Dokumen kebutuhan
3 Spesifikasi Sistem Spesifikasi Fungsi

Rencana Pengujian Penerimaan

Draft Buku Petunjuk Pemakaian
4 Perancangan Arsitektur Spesifikasi Arsitektur

Rencana Pengujian Sistem
5 Perancangan Antarmuka Spesifikasi Antarmuka

Rencana Pengujian Integrasi
6 Perancangan Rinci Spesifikasi Rancangan

Rencana Pengujian Unit
7 Pengkodean Kode Program
8 Pengujian Unit Laporan Pengujian Unit
9 Pengujian Modul Laporan Pengujian Modul
10 Pengujian Integrasi Laporan Pengujian Integrasi

Buku Petunjuk Pemakaian oleh Pemakai
11 Pengujian Sistem Laporan Pengujian Sistem
12 Pengujian Penerimaan Sistem akhir beserta dokumentasi

Table: Daftar Aktivitas Dasar Teknis Pengembangan Perangkat Lunak (diadopsi dari: Bambang Hariyanto, 2004)

Sedangkan jika kita mengacu kepada standar IEEE Computer Society (2004), aktifitas dasar dalam pengembangan perangkat lunak secara umum adalah sebagai berikut:

Gambar: Aktifitas dasar dalam pengembangan perangkat lunak (Diadopsi dari: SWEBOK 2004)

Berdasarkan kedua referensi mengenai aktifitas dasar dalam pengembangan perangkat lunak diatas, berikut ini akan penulis jelaskan kempat model pengembang perangkat, yaitu:

Linear Sequential Model,

Nama lain dari linear sequential model adalah waterfall yang merupakan model rekayasa perangkat lunak tertua. Dalam model ini terdapat seluruh aktivitas dasar dalam pengembangan perangkat lunak yang sudah penulis jelaskan diatas. Tahapan proses dari setiap aktivitas adalah secara berurutan, sebagai ilustrasi perhatikan gambar berikut:

Gambar: Model pengembangan perangkat lunak Linear Sequential (Waterfall)

Kelemahan dari model ini adalah:

1. Kebanyakan proyek yang terjadi dilapangan tidak mengikuti alur sequen yang sudah ditetapkan, meskipun pengembang bisa melakukan iterasi terhadap proses, namun model melakukannya secara tidak langsung yang menyebabkan perubahan-perubahan yang terjadi sering membuat para tim pengembang mengalami kebingungan.
2. User harus menyatakan kebutuhannya secara explisit pada saat awal proyek, dan hal ini hampir tidak mungkin dilakukan mengingat keterbatasan manusia dalam mengakomodir kemungkinan-kemungkinan yang akan terjadi dimasa yang akan datang.
3. User harus memiliki kesabaran, karena versi yang dapat bekerja dari program tidak akan tersedia sebelum proyek diselesaikan.

Walaupun demikian, model ini mengakomodir semua aktifitas dasar yang terdapat dalam pengembangan perangkat lunak, sehingga bisa dijadikan acuan dasar dalam pengembangan perangkat lunak. Model-model yang lain adalah merupakan pengembangan dari model linear sequential.

Prototyping Model

Model ini diawali dengan penentuan kebutuhan oleh user. Pengembang akan mengumpulkan informasi-informasi mengenai kebutuhan user tersebut dan kemudian membuat sebuah prototype dari perangkat lunak yang akan dikembangkan. Model ini sangat cocok bagi user awam, sehingga dengan adanya prototype pemahaman mereka akan terbantu dan mereka mempunyai landasan dan acuan dalam tahapan selanjutnya, misalnya pada tahapan pengujian perangkat lunak.

McLeod dan Schell (2007) mendifiniskan 2 (dua) tipe dari prototype yaitu:

1. 1. Evolutionary Prototype
2. 2. Requirements Prototype

Evolutionary prototype yaitu, prototype yang secara terus menerus dikembangkan hingga prototype tersebut memenuhi fungsi dan prosedur yang dibutuhkan oleh sistem. Berikut gambar dari tahapan evolutionary prototype:

Gambar: Evolutionary Prototyping Model.

1. Analisis kebutuhan user, pengembang dan pengguna atau pemilik sistem melakukan diskusi dimana pengguna atau pemilik sistem menjelaskan kepada pengembang tentang kebutuhan sistem yang mereka inginkan.
2. Membuat prototype, pengembang membuat prototype dari sistem yang telah dijelaskan oleh pengguna atau pemilik sistem.
3. Menyesuaikan prototype dengan keinginan user, pengembang menanyakan kepada pengguna atau pemilik sistem tentang prototype yang sudah dibuat, apakah sesuai atau tidak dengan kebutuhan sistem.
4. Menggunakan prototype, sistem mulai dikembangkan dengan prototype yang sudah dibuat.

Requirement prototype merupakan prototype yang dibuat oleh pengembang dengan mendifiniskan fungsi dan prosedur sistem dimana pengguna atau pemilik sistem tidak bisa mendefinisikan sistem tersebut. Berikut ini langkah-langkah dari requirement prototype :

Gambar: Requirement Prototype Model

1. Analisis kebutuhan user, pengembang dan pengguna atau pemilik sistem melakukan diskusi dimana pengguna atau pemilik sistem menjelaskan kepada pengembang tentang kebutuhan sistem yang mereka inginkan.
2. Membuat prototype, pengembang membuat prototype dari sistem yang telah dijelaskan oleh pengguna atau pemilik sistem.
3. Menyesuaikan prototype dengan keinginan user, pengembang menanyakan kepada pengguna atau pemilik sistem tentang prototype yang sudah dibuat, apakah sesuai atau tidak dengan kebutuhan sistem.
4. Membuat sistem baru, pengembang menggunakan prototype yang sudah dibuat untuk membuat sistem baru.
5. Melakukan testing sistem, pengguna atau pemilik sistem melakukan uji coba terhadap sistem yang dikembangkan
6. Menyesuaikan dengan keinginan user, sistem disesuaikan dengan keinginan user dan kebutuhan sistem, jika sudah sesuai sistem siap digunakan.
7. Menggunakan sistem.

Kelebihan dari teknik pengembangan prototyping yaitu :

1. Menghemat waktu pengembangan.
2. Menghemat biaya pengembangan.
3. Pengguna atau pemilik sistem ikut terlibat dalam pengembangan, sehingga kemungkinan-kemungkinan terjadinya kesalahpahaman dalam sistem bisa diminimalisir.
4. Implementasi akan menjadi mudah, karena pengguna atau pemilik sistem sudah mempunyai gambaran tentang sistem.
5. Kualitas sistem yang dihasilkan baik.
6. Memungkinan tim pengembang sistem memprediksi dan memperkirakan pengembangan-pengembangan sistem selanjutnya.

Sedangkan kelemahannya adalah :

Pengguna atau pemilik sistem bisa terus menerus menambah kompleksitas sitem hingga sistem menjadi sangat kompleks, hal ini bisa menyebabkan pengembang meninggalkan pekerjaanya sehingga sistem yang dikerjaan tidak akan pernah terselesaikan.

Rapid Application Development (RAD) Model

Sistem yang semakin komplek dan waktu pengembangan yang dibutuhkan semakin cepat, membuat para pengembang sistem berfikir keras dan berusaha untuk mencari solusi teknik pengembangan yang cepat tanpa mengurangi kualitas sistem yang dihasilkan. Dengan kondisi ini, dikembangkanlah Rapid Aplication Development (RAD).

McLeod dan Schell (2007) berpendapat bahwa RAD merupakan metode yang memfokuskan pada kecepatan dalam pengembangan sistem untuk memenuhi kebutuhan pengguna atau pemilik sistem seperti prototyping namun mempunyai cangkupan yang lebih luas.

Nama RAD dikenalkan oleh James Martin pada tahun 1991, yang mengacu pada life cycle pengembangan sistem. RAD mengadopsi teknik waterfall dan prototyping yang menggunakan manajemen, metode dan tools yang cukup kompleks, selain itu pengembang yang menggunakan teknik ini harus merupakan pengembang yang professional, sehingga Martin memberikan istilah SWAT (skilled with advanced tools) Team untuk pengembang yang menggunakan sistem ini. Berikut ini ilustrasi RAD

Gambar: Rapid Application Development (RAD) Model

Yang membedakan antara antara waterfall dengan RAD adalah dimana pada teknik waterfall pengguna atau pemilik sistem akan ikut berpartisipasi dalam tahap cutover sedangkan pada RAD pada tahap construction. Hal ini menyebabkan tahap cutover akan lebih cepat dibandingkan pada waterfall, sedangkan urutan tahapan pada RAD sama dengan waterfall.

McLeod dan Schell (2007) mengatakan ada 4 (empat) komponen pada RAD yaitu

1. Manajemen, yaitu orang-orang (dari sisi user) yang berada pada level manajemen yang mempunyai yang bisa beradaptasi dengan cepat untuk menggunakan metode baru.
2. Pengembang, yaitu tim pengembang sistem yang professional dalam menggunakan metode-metode pengembangan sistem dan tools yang dibutuhkan. Tim ini di sebut oleh Martin sebagai SWAT (skilled with advanced tools) Team.
3. Metode, yaitu metode RAD yang dikenal dengan RAD Life Cycle.
4. Tools, yaitu Computer-Aided Software Engineering (CASE) dan 4th Generation Language yang bisa memfasilitasi untuk pembuatan prototype dan pembuatan kode program. Sedangkan CASE tools lebih kepada dokumentasi dan perancangan database.

Evolutionary Software Process Model

Model ini memungkinkan perulangan (iterasi) dari setiap tahapan pengembangan perangkat lunak. Dengan model ini kompleksitas perangkat lunak yang dihasilkan akan semakin bertambah untuk setiap iterasi. Model ini terdiri dari:

1. Incremental model, yaitu: model yang mengkombinasikan linear sequential model dengan filosofi iteratif pada prototyping.
2. Spiral model, yaitu: model yang menggabungkan sifat alami iterasi pada prototyping dengan aspek sistematik dan terkendali dari linear sequential model.
3. WINWIN Spiral model, yaitu: model yang memungkinkan user dan pengembang melakukan komunikasi dalam tahap pengembangan, dimana bisa memberikan win-win solution, seperti user bisa mengemukakan sebagian besar dan/atau keseluruhan kebutuhannya sedangkan pengembang bisa mengembangkan perangkat lunak sesuai dengan kebutuhan user tersebut dalam cakupan waktu dan biaya yang sudah dispesifikasikan.
4. Concurrent development model, yaitu: model yang biasa digunakan untuk mengembangkan perangkat lunak client server.

Fungsi dan Bagian Perangkat Keras

A. Perangkat Keras dan Fungsinya
Secara fisik, Komputer terdiri dari beberapa komponen yang merupakan suatu sistem. Sistem adalah komponen-komponen yang saling bekerja sama membentuk suatu kesatuan. Apabila salah satu komponen tidak berfungsi, akan mengakibatkan tidak berfungsinya suatu komputer dengan baik. Komponen komputer ini termasuk dalam kategori elemen perangkat keras (hardware). Berdasarkan fungsinya, perangkat keras komputer dibagi menjadi :
1. input divice (unit masukan)
2. Process device (unit Pemrosesan)
3. Output device (unit keluaran)
4. Backing Storage ( unit penyimpanan)
5. Periferal ( unit tambahan)
komponen dasar komputer yang terdiri dari input, process, output dan storage. Input device terdiri dari keyboard dan mouse, Process device adalah microprocessor (ALU, Internal Communication, Registers dan control section), Output device terdiri dari monitor dan printer, Storage external memory terdiri dari harddisk, Floppy drive, CD ROM, Magnetic tape. Storage internal memory terdiri dari RAM dan ROM. Sedangkan komponen Periferal Device merupakan komponen tambahan atau sebagai komponen yang belum ada atau tidak ada sebelumnya. Komponen Periferal ini contohnya : TV Tuner Card, Modem, Capture Card.
1. Unit Masukan ( Input Device )
Unit ini berfungsi sebagai media untuk memasukkan data dari luar ke dalam suatu memori dan processor untuk diolah guna menghasilkan informasi yang diperlukan. Input devices atau unit masukan yang umumnya digunakan personal computer (PC) adalah keyboard dan mouse, keyboard dan mouse adalah unit yang menghubungkan user (pengguna) dengan komputer. Selain itu terdapat joystick, yang biasa digunakan untuk bermain games atau permainan dengan komputer. Kemudian scanner, untuk mengambil gambar sebagai gambar digital yang nantinya dapat dimanipulasi. Touch panel, dengan menggunakan sentuhan jari user dapat melakukan suatu proses akses file. Microphone, untuk merekam suara ke dalam komputer.
Input device berfungsi sebagai media untuk memasukkan data dari luar sistem ke dalam suatu memori dan processor untuk diolah dan menghasilkan informasi yang diperlukan. Data yang dimasukkan ke dalam sistem komputer dapat berbentuk signal input dan maintenance input. Signal input berbentuk data yang dimasukkan ke dalam sistem komputer, sedangkan maintenance input berbentuk program yang digunakan untuk mengolah data yang dimasukkan. Jadi Input device selain digunakan untuk memasukkan data dapat pula digunakan untuk memasukkan program. Berdasarkan sifatnya, peralatan input dapat digolongkan menjadi dua yaitu :
• Peratalan input langsung, yaitu input yang dimasukkan langsung diproses oleh alat pemroses. Contohnya : keyboard, mouse, touch screen, light pen, digitizer graphics tablet, scanner.
• Peralatan input tidak langsung, input yang melalui media tertentu sebelum suatu input diproses oleh alat pemroses. Contohnya : punched card, disket, harddisk.
Unit masukan atau peralatan input ini terdiri dari beberapa macam peranti yaitu :
a. Keyboard
Keyboard merupakan unit input yang paling penting dalam suatu pengolahan data dengan komputer. Keyboard dapat berfungsi memasukkan huruf, angka, karakter khusus serta sebagai media bagi user (pengguna) untuk melakukan perintah-perintah lainnya yang diperlukan, seperti menyimpan file dan membuka file. Penciptaan keyboard komputer berasal dari model mesin ketik yang diciptakan dan dipatentkan oleh Christopher Latham pada tahun 1868, Dan pada tahun 1887 diproduksi dan dipasarkan oleh perusahan Remington. Keyboard yang digunakanan sekarang ini adalah jenis QWERTY, pada tahun 1973, keyboard ini diresmikan sebagai keyboard standar ISO (International Standar Organization). Jumlah tombol pada keyboard ini berjumlah 104 tuts. Keyboard sekarang yang kita kenal memiliki beberapa jenis port, yaitu port serial, ps2, usb dan wireless.

Jenis-Jenis Keyboard :
1.) QWERTY
2.) DVORAK
3.) KLOCKENBERG
Keyboard yang biasanya dipakai adalah keyboard jenis QWERTY, yang bentuknya ini mirip seperti tuts pada mesin tik. Keyboard QWERTY memiliki empat bagian yaitu :
1. typewriter key
2. numeric key
3. function key
4. special function key.
1. Typewriter Key
Tombol ini merupakan tombol utama dalam input. Tombol ini sama dengan tuts pada mesin tik yang terdiri atas alphabet dan tombol lainnya sebagaimana berikut :
• Back Space
Tombol ini berfungsi untuk menghapus 1 character di kiri cursor
• Caps Lock
Bila tombol ini ditekan, maka lampu indikator caps lock akan menyala, hal ini menunjukkan bahwa huruf yang diketik akan menjadi huruf besar atau Kapital, bila lampu indicator caps lock mati, maka huruf akan menjadi kecil.
• Delete
Tombol ini berfungsi untuk menghapus 1 karakter pada posisi cursor
• Esc
Tombol ini berfungsi untuk membatalkan suatu perintah dari suatu menu.
• End
Tombol ini berfungsi untuk memindahkan cursor ke akhir baris/halaman/lembar kerja
• Enter
Tombol ini berfungsi untuk berpindah ke baris baru atau untuk melakukan suatu proses perintah.
• Home
Untuk menuju ke awal baris atau ke sudut kiri atas layar
• Insert
Tombol ini berfungsi untuk menyisipkan character.
• Page Up
Tombol ini berfungsi untuk meggerakan cursor 1 layar ke atas
• Page Down
Tombol ini berfungsi untuk Menggerakkan cursor 1 layar ke bawah
• Tab
Tombol ini berfungsi untuk memindahkan cursor 1 tabulasi ke kanan.
2. Numeric Key
Tombol ini terletak di sebelah kanan keyboard. tombol ini terdiri atas angka dan arrow key. Jika lampu indikator num lock menyala maka tombol ini berfungsi sebagai angka. Jika lampu indikator num lock mati maka tombol ini berfungsi sebagai arrow key.
3. Function Key
Tombol ini terletak pada baris paling atas, tombol fungsi ini ini terdiri dari F1 s/d F12. Fungsi tombol ini berbeda-beda tergantung dari program komputer yang digunakan.
4. Special Function Key
Tombol ini terdiri atas tombol Ctrl, Shift, dan Alt. Tombol akan mempunyai fungsi bila ditekan secara bersamaan dengan tombol lainnya. Misalnya, untuk memblok menekan bersamaan tombol shift dan arrow key, untuk menggerakan kursor menekan bersamaan ctrl dan arrow key.
b. Mouse
Mouse adalah salah unit masukan (input device). Fungsi alat ini adalah untuk perpindahan pointer atau kursor secara cepat. Selain itu, dapat sebagai perintah praktis dan cepat dibanding dengan keyboard. Mouse mulai digunakan secara maksimal sejak sistem operasi telah berbasiskan GUI (Graphical User Interface). sinyal-sinyal listrik sebagai input device mouse ini dihasilkan oleh bola kecil di dalam mouse, sesuai dengan pergeseran atau pergerakannya. Sebagian besar mouse terdiri dari tiga tombol, umumnya hanya dua tombol yang digunakan yaitu tombol kiri dan tombol kanan. Saat ini mouse dilengkapi pula dengan tombol penggulung (scroll), dimana letak tombol ini terletak ditengah. Istilah penekanan tombol kiri disebut dengan klik (Click) dimana penekanan ini akan berfungsi bila mouse berada pada objek yang ditunjuk, tetapi bila tidak berada pada objek yang ditunjuk penekanan ini akan diabaikan. Selain itu terdapat pula istilah lainnya yang disebut dengan menggeser (drag) yaitu menekan tombol kiri mouse tanpa melepaskannya dengan sambil digeser. Drag ini akan mengakibatkan objek akan berpindah atau tersalin ke objek lain dan kemungkinan lainnya. Penekanan tombol kiri mouse dua kali secara cepat dan teratur disebut dengan klik ganda (double click) sedangkan menekan tombol kanan mouse satu kali disebut dengan klik kanan (right click)Mouse terdiri dari beberapa port yaitu mouse serial, mouse ps/2, usb dan wireless.

Gambar 2.12 Mouse Wireless
c. Touchpad
Unit masukkan ini biasanya dapat kita temukan pada laptop dan notebook, yaitu dengan menggunakan sentuhan jari. Biasanya unit ini dapat digunakan sebagai pengganti mouse. Selain touchpad adalah model unit masukkan yang sejenis yaitu pointing stick dan trackball.

Touch Pad Track Ball Pointing Stick
d. Light Pen
Light pen adalah pointer elektronik yang digunakan untuk modifikasi dan men-design gambar dengan screen (monitor). Light pen memiliki sensor yang dapat mengirimkan sinyal cahaya ke komputer yang kemudian direkam, dimana layar monitor bekerja dengan merekam enam sinyal elektronik setiap baris per detik.

Gambar Light Pen
e. Joy Stick dan Games Paddle
Alat ini biasa digunakan pada permainan (games) komputer. Joy Stick biasanya berbentuk tongkat, sedangkan games paddle biasanya berbentuk kotak atau persegi terbuat dari plastik dilengkapi dengan tombol-tombol yang akan mengatur gerak suatu objek dalam komputer.

Gambar Joy Stick dan Paddle Games
f. Barcode
Barcode termasuk dalam unit masukan (input device). Fungsi alat ini adalah untuk membaca suatu kode yang berbentuk kotak-kotak atau garis-garis tebal vertical yang kemudian diterjemahkan dalam bentuk angka-angka. Kode-kode ini biasanya menempel pada produk-produk makanan, minuman, alat elektronik dan buku. Sekarang ini, setiap kasir di supermarket atau pasar swalayan di Indonesia untuk mengidentifikasi produk yang dijualnya dengan barcode.
Gambar Barcode Reader
Gambar Barcode
g. Scanner
Scanner adalah sebuah alat yang dapat berfungsi untuk meng-copy atau menyalin gambar atau teks yang kemudian disimpan ke dalam memori komputer. Dari memori komputer selanjutnya, disimpan dalam harddisk ataupun floppy disk. Fungsi scanner ini mirip seperti mesin fotocopy, perbedaannya adalah mesin fotocopy hasilnya dapat dilihat pada kertas sedangkan scanner hasilnya dapat ditampilkan melalui monitor terlebih dahulu sehingga kita dapat melakukan perbaikan atau modifikasi dan kemudian dapat disimpan kembali baik dalam bentuk file text maupun file gambar. Selain scanner untuk gambar terdapat pula scan yang biasa digunakan untuk mendeteksi lembar jawaban komputer. Scanner yang biasa digunakan untuk melakukan scan lembar jawaban komputer adalah SCAN IR yang biasa digunakan untuk LJK (Lembar Jawaban Komputer) pada ulangan umum dan Ujian Nasional. Scan jenis ini terdiri dari lampu sensor yang disebut Optik, yang dapat mengenali jenis pensil 2B. Scanner yang beredar di pasaran adalah scanner untuk meng-copy gambar atau photo dan biasanya juga dilengkapi dengan fasilitas OCR (Optical Character Recognition) untuk mengcopy atau menyalin objek dalam bentuk teks.

Gambar Scanner
Saat ini telah dikembangkan scanner dengan teknologi DMR (Digital Mark Reader), dengan sistem kerja mirip seperti mesin scanner untuk koreksi lembar jawaban komputer, biodata dan formulir seperti formulir untuk pilihan sekolah. Dengan DMR lembar jawaban tidak harus dijawab menggunaan pensil 2 B, tapi dapat menggunakan alat tulis lainnya seperti pulpen dan spidol serta dapat menggunakan kertas biasa.
h. Kamera Digital
Perkembangan teknologi telah begitu canggih sehingga komputer mampu menerima input dari kamera. Kamera ini dinamakan dengan Kamera Digital dengan kualitas gambar lebih bagus dan lebih baik dibandingkan dengan cara menyalin gambar yang menggunakan scanner. Ketajaman gambar dari kamera digital ini ditentukan oleh pixel-nya. Kemudahan dan kepraktisan alat ini sangat membantu banyak kegiatan dan pekerjaan. Kamera digital tidak memerlukan film sebagaimana kamera biasa. Gambar yang diambil dengan kamera digital disimpan ke dalam memori kamera tersebut dalam bentuk file, kemudian dapat dipindahkan atau ditransfer ke komputer. Kamera digital yang beredar di pasaran saat ini ada berbagai macam jenis, mulai dari jenis kamera untuk mengambil gambar statis sampai dengan kamera yang dapat merekan gambar hidup atau bergerak seperti halnya video.

Kamera Digital
i. Mikropon dan Headphone
Unit masukan ini berfungsi untuk merekam atau memasukkan suara yang akan disimpan dalam memori komputer atau untuk mendengarkan suara. Dengan mikropon, kita dapat merekam suara ataupun dapat berbicara kepada orang yang kita inginkan pada saat chating. Penggunaan mikropon ini tentunya memerlukan perangkat keras lainnya yang berfungsi untuk menerima input suara yaitu sound card dan speaker untuk mendengarkan suara.

Gambar headphone
j. Graphics Pads
Teknologi Computer Aided Design (CAD) dapat membuat rancangan bangunan, rumah, mesin mobil, dan pesawat dengan menggunakan Graphics Pads. Graphics pads ini merupakan input masukan untuk menggambar objek pada monitor. Graphics pads yang digunakan mempunyai dua jenis. Pertama, menggunakan jarum (stylus) yang dihubungkan ke pad atau dengan memakai bantalan tegangan rendah, yang pada bantalan tersebut terdapat permukaan membrane sensitif sentuhan ( touch sensitive membrane surface). Tegangan rendah yang dikirimkan kemudian diterjemahkan menjadi koordinat X – Y. Kedua, menggunakan bantalan sensitif sentuh ( touch sensitive pad) tanpa menggunakan jarum. Cara kerjanya adalah dengan meletakkan kertas gambar pada bantalan, kemudian ditulisi dengan pensil.

Pengantar Teknologi Informasi

Sejarah Perkembangan Perangkat Lunak dan Perangkat Keras Komputer :

SEBELUM ABAD KEDUAPULUH

Alat Hitung Tertua Digital & Analog
Alat hitung tertua yang pernah ada dapat digolongkan dalam dua jenis yaitu :
-Alat penghitung Digital
Salah satu alat penghitung tertua adalah Abacus (Siphoa) yang dikenal sejak tahun 460 S.M. dan sampai saat ini masih digunakan di beberapa bagian dunia. Abacus dapat digolongkan kepada lat penghitung digital, dimana posisi akhir penghitungan diperlihatkan melalui posisi cincin ( yang terbuat dari kayu) pada seutas kawat.
-Alat penghitung Analog
Pada alat analog, kondisi akhir dari besar yang dihitung, baik berupa panjang, tegangan atau sudut menyatakan angka besaran tersebut. Alat penghitung analog yang pernah terkenal adalah mistar geser (slide rule), sebelum munculnya kalkulator saku. Mistar geser menggunakan prinsip perhitungan : hasil kalidari dua besaran adalah jumlah logaritma dari dua besaran tersebut. Dengan menyusun kedua bagiannya sedemikian rupa, mistar geser dapat digunakan untuk melakukan perkalian yang cukup rumit. Jam tangan tradisional dengan jarum dan angka adalah alat analog.

Penemu alat hitung tertua
- Blaise Pascal (1623-1662)
Usahanya mengembangkan alat hitung adalah untuk membantu ayahnya untuk melakukan perhitungan angka-angka. Pada usia 19 tahun, dia telah merancang mesinnya dan pada tahun 1645 beliau telah mendapatkan hak paten untuk penemuannya.
- Wilhelm Schikard (1592-1635)
Dia pernah mengirimkan rancangan mesin hitung kepada Keppler, astronom yang termasyur, pada tahun 1623.
- Gottfried Leibnitz (1646-1716)
seorang ahli matematika dan pemikir terkenal, merancang apa yang banyak disebut sebagai roda Leibnitz : bagian yang penting dari alat hitung mekanis. Alat tersebut akhirnya baru terwujud pada tahun 1694; yang dapat melakukan perkalian,
pembagian, penambahan dan pengurangan. Alat ini jauh lebih efisien dari alat hitung yang ada sebelumnya. Munculnya alat hitung Leibnitz justru merangsang para ahli untuk menyempurnakannya. Dalam hal ini Leibnitz dapat mencatatkan diri sebagai
pengibar bendera pertama.

SETELAH ABAD KE DUAPULUH
Charles Babage (1792-1871)
• Mesin pengurang (Difference Engine)
seorang ahli matematika, penemu & pencetus ilmu manajemen Pada tahun 1821, beliau mulai menerjunkan diri pada perancangan apa yang beliau namakan sebagai mesin pengurang (difference engine). Mesin tersebut mengotomasikan perhitungan fungsi aljabar dengan melakukan serentetan pengurangan.
• mesin analitis (analytical engine)
Pada tahun 1836, sebelum mesin pengurangnya dapat diselesaikan, Charles Babbage merancang mesin baru, yang lebih maju dari mesin pengurang; dinamakan mesin analitis (analytical engine). Pada akhirnya tak satu pun dari kedua mesin tersebut dapat dirampungkan. Banyak factor yang menghambat, antara lain dana, kebutuhan teknis yang di luar kemampuan dan rancangan yang terlalu banyak diubah.
Fasilitas-fasilitas yang dimiliki mesin ini diantaranya :
- fasilitas pengingat (memori)
- unit aritmetika
- fasilitas masukkan keluaran melalui kartu.
- Fasilitas iterasi dengan teknik iterasi modern seperti yang dikenal pada mesin yang ada dewasa ini.
Augusta Ada (1816-1852)
Adalah seorang ahli matematika wanita.Beliau menyumbangkan banyak pikiran pada rancangan dari mesin analitis Babbage.
Perannya yang paling menonjol adalah :
- sebagai penyusun algoritma pemecahan masalah dari beberapa prinsip matematika antara lain angka Bernoulli ( Bernoulli
numbers).
- Ada, dapat disebut sebagai perintis cara pemrograman pada mesin hitung.
Pada dasarnya apa yang dipecahkan oleh mesin harus diprogram terlebih dahulu, langkah demi langkah. Prinsip ini sampai saat ini masih berlaku pada komputer modern.

Kendali komputasi
Kendali terhadap proses komputasi merupakan masalah yang muncul pada waktu Babbage merancang mesin analitisnya. Masalahnya dapat dibagi menjadi dua bagian :
a. bagaimana kita menyajikan angka dan melakukan operasi matematika terhadap angka tersebut
b. bagaimana melakukan serentetan operasi aritmatika tanpa campur tangan manusis, yang hanya akan memperlambat kecepatan pengolahan

! Basile Bouchon penemu Punched Card
Pada tahun 1725, menerapkan cara pengendalian dengan pita berlubang (perforated tape) pada proses pembuatan hiasan kain sutra. Gagasan ini terus dikembangkan oleh beberapa ahli, selama beberapa waktu. Kontribusi yang amat penting dalam bidang pengendalian proses diberikan oleh Joseph Marie Jacquard (1752-1834). Berdasarkan gagasan Bouchon dan beberapa ahli setelah masa tersebut, beliau merancang sistem kendali dengan menggunakan kartu-karu berlubang (punched cards). Kartu-kartu tadi dengan dilengkapi lubang-lubang tertentu, berhasil mengendalikan kerja alat tenun sehingga mengikuti pola kerja seperti yang diinginkan. Alat tersebut demikian terkenalnya pada saat itu, sehingga pada 1812 sudah dipakai luas di Perancis.

! Charles Babbage
Tahun 1836, Babbage menerapkan gagasan Jacquard untuk memasukkan angka- angka ke dalam mesinnya dan mengendalikan jalannya proses penghitungan. Dengan demikian kendali terhadap jalannya proses tidak lagi dilakukan dengan campur tangan manusia. Lagipula kesalahan dalam memasukkan angka atau perintah pengolahan dapat diperbaiki hanya dengan mengubah kartu. Cara ini jauh lebih mudah dari pada mengubah perangkat keras yang menyimpan angka-angka tersebut. Babbage telah berhasil menerapkan prinsip pemrograman maju, yang akhirnya berkembang menjadi prinsip pemrograman mesin masa kini.

! Kantor Sensus Amerika Serikat
Pada hakekatnya penyempurnaan karya Babbage dilakukan juga oleh para ahli di benua lain, seperti misalnya di Amerika Serikat. Pada akhir abad ke sembilan belas, Kantor Sensus di Amerika Serikat mengembangkan sejenis mesin untuk menghitung hasil sensus. Pada masa itu, sensus baru dapat diketahui hasilnya setelah diolah selama 10 tahun, saat sensus baru akan dimulai.Mesin hitung sederhana dipergunakan tahun 1870. dua orang yang dianggap sebagai perancang mesin tersebut yaitu Jhon Shaw Billings, Kepala Kantor Sensus 1880 dan Herman Hollerith (1860-1929).yang pada waktu itu juga bekerja di kantor sensus. Billing mengakui bahwa gagasannya diilhami oleh rancangan Jacquard. Mesin sensus yang berhasil dibuat
didaftarkan pada biro paten atas nama Hollerith (1889) dan memenangkan persaingan dengan mesin lainnya untuk digunakan di kantor Sensus. Akhirnya mesin ini mengolah 56 juta kartu hasil sensus pada tahun 1890. Dengan beberapa perbaikkan,
mesin Hollerith digunakan kembali untuk sensus tahun 1900. Akan tetapi sensus selanjutnya (1910) digunakan mesin buatan Kantor Sensus sendiri yang dirancang oleh James Powers.

Setelah Hollerith meninggalkan Kantor Sensus, ia membentuk perusahaan sendiri pada tahun1896 dengan nama Tabulating Machine Company. Pada tahun 1911, perusahaan itu bergabung dengan dua perusahaan lainnya menjadi Computer Tabulating Recording Company. Thomas J. Watson Sr. menjadi pimpinan perusahaan tersebut pada tahun 1914. sepuluh tahun kemudian, beliau mengubah nama perusahaan menjadi International Business Machiness (IBM). Pada tahun 1911, James Powers juga membentuk perusahaan sendiri dengan nama Powers Tabulating Machine. Perusahaan ini akhirnya bergabung dengan Remington Rand pada tahun 1927. Persaingan antara Powers & Hollerith melalui dua perusahaan mereka berlangsung cukup lama, sampai kedua perusahaan tersebut membuat komputer elektronik.







Perkembangan Internet
Teknologi Informasi dan Telekomunikasi (Information and Communication Technology/ICT) merupakan tulang punggung aplikasi Web 2.0. Perkembangan Teknologi Informasi dan Komunikasi yang fenomenal dan menjadi awal munculnya aplikasi web adalah Internet. Internet yang berawal dari riset untuk pertahanan dan keamanan serta pendidikan berkembang menjadi perangkat pendukung bisnis yang sangat berpengaruh. Dalam kaitan dengan aplikasi Web 2.0 ini, terdapat beberapa peristiwa penting dalam sejarah internet.


Berawal pada tahun 1957, melalui Advanced Research Projects Agency (ARPA), Amerika Serikat bertekad mengembangkan jaringan komunikasi terintegrasi yang saling menghubungkan komunitas sains dan keperluan militer. Hal ini dilatarbelakangi oleh terjadinya perang dingin antara Amerika Serikat dengan Uni Soviet (tahun 1957 Soviet meluncurkan sputnik).
Perkembangan besar Internet pertama adalah penemuan terpenting ARPA yaitu packet switching pada tahun 1960. Packet switching adalah pengiriman pesan yang dapat dipecah dalam paket-paket kecil yang masing-masing paketnya dapat melalui berbagai alternatif jalur jika salahsatu jalur rusak untuk mencapai tujuan yang telah ditentukan. Packet switching juga memungkinkan jaringan dapat digunakan secara bersamaan untuk melakukan banyak koneksi, berbeda dengan jalur telepon yang memerlukan jalur khusus untuk melakukan koneksi. Maka ketika ARPANET menjadi jaringan komputer nasional di Amerika Serikat pada 1969, packet switching digunakan secara menyeluruh sebagai metode komunikasinya menggantikan circuit switching yang digunakan pada sambungan telepon publik.
Perkembangan besar Internet kedua yang dicatat pada sejarah internet adalah pengembangan lapisan protokol jaringan yang terkenal karena paling banyak digunakan sekarang yaitu TCP/IP (Transmission Control Protocol/ Internet Protocol). Protokol adalah suatu kumpulan aturan untuk berhubungan antarjaringan. Protokol ini dikembangkan oleh Robert Kahn dan Vinton Cerf pada tahun 1974. Dengan protokol yang standar dan disepakati secara luas, maka jaringan lokal yang tersebar di berbagai tempat dapat saling terhubung membentuk jaringan raksasa bahkan sekarang ini menjangkau seluruh dunia. Jaringan dengan menggunakan protokol internet inilah yang sering disebut sebagai jaringan internet.
Jaringan ARPANET menjadi semakin besar sejak saat itu dan mulai dikelola oleh pihak swasta pada tahun 1984, maka semakin banyak universitas tergabung dan mulailah perusahaan komersial masuk. Protokol TCP/IP menjadi protokol umum yang disepakati sehingga dapat saling berkomunikasi pada jaringan internet ini.
Perkembangan besar Internet ketiga adalah terbangunnya aplikasi World Wide Web pada tahun 1990 oleh Tim Berners-Lee. Aplikasi World Wide Web (WWW) ini menjadi konten yang dinanti semua pengguna internet. WWW membuat semua pengguna dapat saling berbagi bermacam-macam aplikasi dan konten, serta saling mengaitkan materi-materi yang tersebar di internet. Sejak saat itu pertumbuhan pengguna internet meroket.

PERANGKAT LUNAK APLIKASI (APPLICATION SOFTWARE)
Perangkat lunak aplikasi membuat kita dapat mengerjakan tugas tertentu (memecahkan masalah, mengerjakan tugas, atau sekedar mencari hiburan. sebagai contoh, pada saat mempersiapkan makalah untuk kuliah, kita menggunakan program pengolah kata (misalnya Microsoft Word dan Corel WordPerfect). Dahulu, jenis perangkat lunak aplikasi tergantung pada perangkat lunak sistem yang digunakan. Misalkan, Jika kita ingin memakai microsoft Word maka kita hanya dapat menginstal perangkat lunak sistem Microsoft Windows. Tetapi jika sekarang kita dapat menginstal perangkat lunak aplikasi dapat diinstal dalam perangkat lunak sistem yang lain. sekarang Microsoft Office dapat diinstal dalam perangkat lunak aplikasi Linux, dengan menggunakan bantuan perangkat lunak aplikasi yang lain.
Perangkat lunak aplikasi dalam bentuk CD dibandel bersama instruksi untuk instalasi. Masukkan CD ke komputer dan ikuti instruksi yang tampil di layar. Selain itu, Kita juga dapat mendapatkan perangkat lunak aplikasi dengan cara download si Internet, dengan menggunakan modem atau koneksi komunikasi lainnya.

Autocad adalah perangkat lunak untuk membuat sebuah sketsa bangunan baik secara kanfas atau 3D

Winamp – Aplikasi perangkat lunak untuk mengolah audio

Selasa, 23 November 2010

10 Celah yang Mengakibatkan Web Anda Terkuasai

Keamanan Web seharusnya merupakan prioritas no.1 yang harus selalu di
pertimbangkan oleh seorang web administrator dan web developer, tetapi umumnya
para pembuat web akan memprioritaskan bagaimana membuat web yang menarik
bagi pengunjung dan menempatkan keamanan web di urutan ke-sekian. Padahal,
umumnya aplikasi web adalah penghubung terdepan antara user ataupun attacker,
sekaligus sebagai pintu masuk ke seluruh data yang relatif penting milik perusahaan
anda.
Para pembuat/penyedia web umumnya mengkategorikan keamanan web sebagai
suatu hal yang hanya perlu di pikirkan setelah web itu di buat dan siap di gunakan
oleh pengguna. Banyak ahli keamanan web bahkan menyatakan bahwa, umumnya
keseluruhan website yang ada di internet rentan untuk di kuasai oleh penyerang,
dan celah tersebut umumnya relatif gampang ditemukan bahkan untuk di
eksploitasi.
Ditahun 2007 ini suatu organisasi non-profit Open Web Application Security Project
(OWASP) telah merilis satu buah daftar berisi 10 celah teratas yang dapat
mengancam website anda, daftar ini pertama kali di rilis di tahun 2004. Daftar yang
dibuat di tahun 2007 ini telah sangat berkembang, teknologi web (2.0) baru seperti
AJAX dan RIA (Rich internet Application) yang membuat tampilan website semakin
menarik dan mengakibatkan timbul berbagai jenis celah baru pun telah di ikutkan.
Berikut adalah daftar yang di keluarkan oleh OWASP dalam “Top 10 2007″ :
A1 – Cross Site Scripting (XSS)
Celah XSS, adalah saat pengguna web aplikasi dapat memasukkan data dan
mengirimkan ke web browser tanpa harus melakukan validasi dan encoding terhadap
isi data tersebut, Celah XSS mengakibatkan penyerang dapat menjalankan potongan
kode (script) miliknya di browser target, dan memungkinkan untuk mencuri user
session milik target, bahkan sampai menciptakan Worm.
A2 – Injection Flaws
Celah Injeksi, umumnya injeksi terhadap SQL (database) dari suatu aplikasi web. Hal
ini mungkin terjadi apabila pengguna memasukkan data sebagai bagian dari perintah
(query) yang menipu interpreter untuk menjalankan perintah tersebut atau merubah
suatu data.
A3 – Malicious File Execution
Celah ini mengakibatkan penyerang dapat secara remote membuat file yang berisi
kode dan data untuk di eksekusi, salah satunya adalah Remote file inclusion (RFI).
A4 – Insecure Direct Object Reference
Adalah suatu celah yang terjadi saat pembuat aplikasi web merekspos referensi
internal penggunaan objek, seperti file, direktori, database record, dll
A5 – Cross Site Request Forgery (CSRF)
Celah ini akan memaksa browser target yang sudah log-in untuk mengirimkan “preauthenticated
request”terhadap aplikasi web yang diketahui memiliki celah, dan
memaksa browser target untuk melakukan hal yang menguntungkan penyerang.
A6 – Information Leakage and Improper Error Handling
Penyerang menggunakan informasi yang didapatkan dari celah yang di akibatkan
oleh informasi yang diberikan oleh web aplikasi seperti pesan kesalahan (error) serta
konfigurasi yang bisa di lihat.
A7 – Broken Authentication and Session Management
Celah ini merupakan akibat buruknya penanganan proses otentikasi dan manajemen
sesi, sehingga penyerang bisa mendapatkan password, atau key yang di gunakan
untuk otentikasi.
A8 – Insecure Cryptographic Storage
Aplikasi web umumnya jarang menggunakan fungsi kriptografi untuk melindungi
data penting yang dimiliki, atau menggunakan fungsi kriptografi yang di ketahui
memiliki kelemahan.
A9 – Insecure Communications
Sedikit sekali aplikasi web yang mengamankan jalur komunikasinya, hal inilah yang
dimanfaatkan oleh penyerang sebagai celah untuk mendapatkan informasi berharga.
A10 – Failure to Restrict URL Access
Seringkali, aplikasi web hanya menghilangkan tampilan link (URL) dari pengguna
yang tidak berhak, tetapi hal ini dengan sangat mudah dilewati dengan mengakses
URL tersebut secara langsung.
Untuk lebih lengkapnya dalam me-review aplikasi web anda, anda dapat membaca
langsung dari situs resmi OWASP.