Kamis, 22 April 2010

JARINGAN KOMPUTER

Komponen dan Topologi Fisik Jaringan

• Perangkat keras yang dibutuhkan
– host yang akan menjadi terminal pengirim dan penerima
– media komunikasi yang menghubungkan host dengan media transmisi
– media transmisi yang digunakan untuk melewatkan sinyal data
– serta piranti komunikasi yang digunakan untuk menghubungkan satu sama lainnya

• Perangkat keras yang dibutuhkan
– DTE (Data Terminal Equipment), DCE (Data Communication Equipment), dan media transmisi

• Terminal
– piranti jaringan yang memiliki kemampuan untuk menerima atau mengirim data dalam jaringan
– memiliki alamat jaringan sehingga terminal lain dapat menghubunginya dengan mengacu pada alamat tersebut
– jenis
• Server
• Client/Workstation
• Piranti Lain
• Terminal - Server
– biasanya merupakan komputer high-end yang memiliki kemampuan tinggi, dimana di dalamnya terinstall program server yang siap melayani permintaan layanan dari client
• tidak harus komputer high-end
– hanya dibutuhkan dalam jaringan yang memakai model konektifitas client-server dan tidak dibutuhkan dalam jaringan peer to peer
• Terminal - Client/Workstation
– setiap komputer pada jaringan yang terhubung ke server dan digunakan oleh pengguna untuk melakukan aktivitasnya
• komputer personal biasa yang menjalankan sistem operasinya sendiri-sendiri
– dilengkapi dengan kartu antar muka jaringan & secara fisik terhubung ke server melalui media komunikasi
– bisa berkomunikasi dengan server, workstation lain, dan peralatan jaringan lainnya


Topologi Fisik

• Topologi Bus
– setiap terminal terhubung melalui sebuah media kabel tunggal sehingga lebih hemat dalam pengkabelannya

– kelebihan
• layout kabel sederhana
• pengembangannya cukup mudah
• tidak membutuhkan kendali pusat,
• penambahan atau pengurangan terminal dapat dilakukan tanpa mengganggu operasi yang sedang berjalan

– kekurangan
• deteksi dan isolasi kesalahan terbatas
• kepadatan lalu lintas padat
• keamanan data kurang terjamin
• kecepatan akan menurun apabila pengguna bertambah banyak

• Topologi Ring
– setiap terminal yang terhubung dengan kabel akan membentuk cincin atau lingkaran

– kelebihan
• hemat kabel
• tidak perlu penanganan bundel kabel secara khusus
• dapat melayani lalu lintas yang padat

– kekurangan
• peka kesalahan
• pengembangan jaringan lebih kaku
• kerusakan pada media atau terminal dapat melumpuhkan seluruh jaringan
• lambat karena menunggu giliran token

• Topologi Star
– memerlukan sebuah terminal pusat sebagai pusat kendali, sehingga setiap terminal yang ada akan terhubung dengan terminal tersebut

– kelebihan
• pemasangan kabel mudah
• penambahan atau pengurangan terminal sangat mudah dan tidak mengganggu beban jaringan yang lain
• memudahkan deteksi dan isolasi kesalahan
• memudahkan pengelolaan jaringan

– kekurangan
• borosnya kabel
• perlu penanganan khusus bundel kabel
• karena terpusat maka hub akan menjadi elemen yang kritis

• Topologi Tree
– terminal dalam tree dihubungkan ke central hub yang mengendalikan lalu lintas jaringan, tetapi tidak semua terminal terhubung ke central hub
– penambahan secondary hub, memberi kelebihan tambahan
• memungkinkan terminal yang terhubung ke central hub lebih banyak dan menambah jarak jangkauan sinyal
• dimungkinkan melakukan isolasi dan prioritas komunikasi dari komputer lain

• Topologi Fully-Connected
– setiap terminal memiliki jalur khusus point-to-point ke terminal lainnya
• jalur yang memang hanya digunakan untuk mentransfer data antara kedua terminal
– memiliki n(n – 1)/2 jalur fisik untuk menghubungkan n terminal

– kekurangan
• pengkabelan yang rumit
• butuh biaya besar
• jumlah I/O port yang dibutuhkan

– kelebihan
• minimnya masalah lalulintas jaringan karena penggunaan jalur khusus
• handal, kerusakan suatu jalur tidak akan mengganggu keseluruhan sistem
• privasi dan keamanan juga terjamin, karena data tidak akan melalui komputer lain
• identifikasi dan isolasi kerusakan juga lebih mudah dilakukan

Terminal - Piranti Lain
– printer yang dilengkapi dengan jet-direct
– handphone yang dapat mengakses sistem jaringan
• seseorang dapat mengirim permintaan layanan sebuah web server atau mail server melalui handphone menggunakan protokol WAP (Wireless Application Protocol)
• Media Komunikasi
– piranti tambahan yang dipasang di terminal untuk menghubungkan terminal dengan media transmisi
– berfungsi untuk membentuk sinyal data berdasarkan data dari terminal dan, di sisi penerima, menerjemahkan sinyal-sinyal data yang masuk menjadi data dengan format yang dipahami oleh terminal
– jenis
• Network Interface Card (NIC)
• Modem
• Media Komunikasi - NIC
– berfungsi untuk mengirim dan menerima sinyal data ke/dari komputer, melalui media transmisi
– biasanya dipasang pada slot ekspansi di motherboard atau sudah on board pada motherboard
– jenis NIC tergantung dari slot ekspansi yang tersedia dalam komputer, jenis kabel yang digunakan, dan metode akses yang dipilih

• Media Komunikasi - Modem
– sebuah piranti yang digunakan untuk mengkonversi data digital menjadi sinyal analog (atau gelombang) untuk tranmisi melalui jaringan analog, seperti jaringan telepon (PSTN)
• modulator
– mengkonversi sinyal analog yang diterima menjadi data digital yang akan digunakan oleh komputer
• demodulator


TEKNOLOGI BLUETOOTH

Bluetooth adalah spesifikasi industri untuk jaringan kawasan pribadi (personal area networks atau PAN) tanpa kabel. Bluetooth menghubungkan dan dapat dipakai untuk melakukan tukar-menukar informasi di antara peralatan-peralatan. Spesifiksi dari peralatan Bluetooth ini dikembangkan dan didistribusikan oleh kelompok Bluetooth Special Interest Group.
Beroperasi dalam pita frekuensi 2,4 Ghz
Menggunakan sebuah frequency hopping traceiver yang mampu menyediakan layanan komunikasi data dan suara secara real time antara host-host bluetooth

Asal nama bluetooth dan lambangnya

Nama "bluetooth" berasal dari nama raja di akhir abad sepuluh, Harald Blatand yang di Inggris juga dijuluki Harald Bluetooth Special Interest Group.
Beroperasi dalam pita frekuensi 2,4 Ghz
Menggunakan sebuah frequency hopping traceiver yang mampu menyediakan layanan komunikasi data dan suara secara real time antara host-host bluetooth
logo bluetooth berasal dari penyatuan dua huruf Jerman yang analog dengan huruf H dan B (singkatan dari Harald Bluetooth), yaitu (Hagall) dan (Berkanan) yang kemudian digabungkan.

Sejarah Perkembangan Bluetooth
Pembentukan Bluetooth dipromotori oleh 5 perusahaan besar Ericsson, IBM, Intel, Nokia dan Toshiba membentuk sebuah Special Interest Group (SIG) Bulan Juli 1999 dokumen spesifikasi bluetooth versi 1.0 mulai diluncurkan.
Pada bulan Desember 1999 dimulai lagi pembuatan dokumen spesifikasi bluetooth versi 2.0 dengan tambahan 4 promotor baru yaitu 3Com, Lucent Technologies, Microsoft dan Motorola.
Saat ini sudah dipromotori oleh >1800 perusahaan besar dari berbagai bidang

Fitur Keamanan
Bluetooth dirancang untuk memiliki fitur-fitur keamanan sehingga dapat digunakan secara aman baik dalam lingkungan bisnis maupun rumah tangga. Fitur-fitur yang disediakan bluetooth antara lain sebagai berikut:
Enkripsi data.
Autentikasi user


Kelebihan

Bluetooth dapat menembus dinding, kotak, dan berbagai rintangan lain walaupun jarak transmisinya hanya sekitar 30 kaki atau 10 meter
Bluetooth tidak memerlukan kabel ataupun kawat
Bluetooth dapat mensinkronisasi database dari handphone ke komputer
Dapat digunakan sebagai perantara modem
Di Indonesia, perkembangan bluetooth mengacu pada negara-negara maju dan sudah banyak sekali perangkat yang dilengkapi dengan sistem bluetooth sehingga memudahkan berbagai proses transfer data

Kekurangan

Sistem ini menggunakan frekuensi yang sama dengan gelombang LAN standar
Apabila dalam suatu ruangan terlalu banyak koneksi Bluetooth yang digunakan, akan menyulitkan pengguna untuk menemukan penerima yang diharapkan
Sistem ini menggunakan frekuensi yang sama dengan gelombang LAN standar
Apabila dalam suatu ruangan terlalu banyak koneksi Bluetooth yang digunakan, akan menyulitkan pengguna untuk menemukan penerima yang diharapkan
Banyak mekanisme keamanan Bluetooth yang harus diperhatikan untuk mencegah kegagalan pengiriman atau penerimaan informasi.
Di Indonesia, sudah banyak beredar virus-virus yang disebarkan melalui bluetooth dari handphone



JARINGAN NIRKABEL Wireless Fidelity (Wi-Fi)
Wi-Fi adalah singkatan dari Wireless Fidelity, suatu rangkaian produk yang didesain untuk penggunaan teknologi Wireless Local Area Networks (WLAN) berdasarkan standar spesifikasi IEEE802.11.
(Institute Electronic and Electrical Enginering)

Spesifikasi

Wi-Fi dirancang berdasarkan spesifikasi IEEE 802.11. Sekarang ini ada empat variasi dari 802.11, yaitu: 802.11a, 802.11b, 802.11g, and 802.11n. Spesifikasi b merupakan produk pertama Wi-Fi. Variasi g dan n merupakan salah satu produk yang memiliki penjualan terbanyak pada 2005.

Spesifikasi Wifi
Spesifikasi Kecepatan Frekuensi Band Cocok dengan
802.11b 11 Mb/s 2.4 GHz b
802.11a 54 Mb/s 5 GHz a
802.11g 54 Mb/s 2.4 GHz b,g
802.11n 100 Mb/s 2.4 GHz b,g,n

FITUR KEAMANAN Wi-Fi

Fitur keamanan dasar

1.1. Service Set Id (SSID)
SSID adalah sebuah string yang digunakan untuk mendefinisikan domain roaming umum diantara sekelompok AP. SSID yang berbeda pada sekumpulan AP memperbolehkan overlapping di jaringan wireless. SSID juga dapat disebut sebagai password dasar.
dimana seorang user tidak akan dapat mengakses jaringan tanpanya. Kelemahan dari fitur ini adalah bahwa AP mengirimkan secara broadcast SSID-nya beberapa kali per detik sehingga alat penganalisa 802.11 dapat digunakan untuk membacanya. Agar seseorang tidak dapat masuk ke jaringan secara kebetulan belaka, maka SSID harus diubah dari nilai default-nya.

1.2. Wired Equivalent Protocol (WEP)

Untuk mengurangi masalah keamanan, 802.11b mendefinisikan metode autentikasi dan enkripsi yang dinamakan WEP. Enkripsi WEP didasarkan pada algoritma RC4, yang menggunakan kunci 40 bit dan initializing vector (IV) sebanyak 24 bit acak.


Mode Akses Koneksi Wi-Fi
Ad-Hoc
Mode koneksi ini adalah mode dimana beberapa komputer terhubung secara langsung, dan salah satu dari komputer - komputer tersebut berfungsi menjadi server dan lainnya menjadi client, atau lebih dikenal dengan istilah Peer-to--Peer. Keuntungannya, lebih murah dan praktis bila yang terkoneksi cuma 2 atau 3 komputer, tanpa harus membeli access point

Infrastruktur
Menggunakan Access Point yang berfungsi sebagai pengatur lalu lintas data, sehingga memungkinkan banyak Client dapat terhubung dengan jaringan (Network).

Keunggulan Wi-Fi

Keunggulan yang di miliki oleh Wi-Fi antara lain adalah :

Memungkinkan Local Area Network untuk di pasang tanpa kabel, hal ini juga sekaligus akan mampu mengurangi biaya untuk pemasangan dan perluasan jaringan. Selain itu juga Wi-Fi dapat dipasang di area yang tidak dapat di akses oleh kabel, seperti area outdoor
Wi-Fi merupakan pilihan jaringan yang sangat ekonomis karena harga paket ship Wi-Fi yang terus menurun
Produk Wi-Fi tersedia secara luas di pasaran
Wi-Fi adalah kumpulan standard global di mana klien Wi-Fi yang sama dapat bekerja di negara-negara yang berbeda di seluruh dunia
Protocol baru untuk kualitas pelayanan damn mekanisme untuk penghematan tenaga membuat Wi-Fi sangat cocok untuk alat yang bentuknya sangat kecil dan aplikasi yang latency-sensitif (contohnya : suara dan video)
Network ini di desiagn untuk punya symmetric up and down speed


Kelemahan Wi-Fi

Wi-Fi juga memiliki kelemahan antara lain :

Pengguanaan baterai relative lebih tinggi apabila dibandingkan dengan penggunaan standar, sehingga menyebabkan baterai cepat lemah atau habis (mempersingkat daya tahan baterai) dan menyebabkan panas
Bentuk Wireless enkripsi standar yang paling terkemuka , Wired Equivalent Privacy atau di persingkat WEP, telah menunjukkan fakta bahwa ia dapat di hancurkan (dikacaukan sinyal atau frekuensinya) meskipun telah di konfirmasikan secara benar
Jaringan Wi-Fi bisa di monitor dan di gunakan untuk membaca dan menduplikasikan data (termasuk di dalamnya data0data pribadi) yang disalurkan melalui jaringan ketika tidak ada akses tertutup, seperti VPN
Jika tembok batas akses Wi-Fi tidak terproteksi secara kuat untuk sebatas pada pemakai intern, maka network Wi-Fi bisa di akses bebas berinternet


Dapat disimpulkan bahwa Wi-Fi dapat digunakan sebagai infrastruktur informasi, komunikasi dan pendidikan di Indonesia dengan memperhatikan sistem keamanan, QoS, peningkatan cakupannya serta dilakukan audit sistem dengan baik. Dari segi bisnis, Wi-Fi dapat dijadikan lahan bisnis yang menguntungkan tergantung dari pemilihan model bisnis yang sesuai. Diharapkan, pemanfaatan teknologi ini dpat menuju e-prosperity bagi seluruh masayarakat
Indonesia.

Kamis, 01 April 2010

MODEL ATAU PARADIGMA UMUM PADA PROSES PL

1. Model air terjun (waterfall)

Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasi, dan evolusi dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya. Biasa juga disebut siklus hidup perangkat lunak. Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasi, dan evolusi dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya.

1. Spesifikikasi Perangkat Lunak à Fungsionalitas perangkat lunak dan batasan kemampuan operasinya harus didefinisikan.
2. Pengembangan (Perancangan dan Implementasi) Perangkat Lunak à Perangkat lunak yang memenuhi spesifikasi harus di produksi
3. Validasi Perangkat Lunak à Perangkat lunak harus divalidasi untuk menjamin bahwa perangkat lunak bekerja sesuai dengan apa yang diinginkan oleh pelanggan.
4. Evolusi Perangkat Lunak à Perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan.


Model ini telah diperoleh dari proses engineering lainnya. Model ini menawarkan cara pembuatan perangkat lunak secara lebih nyata.

Langkah-langkah yang penting dalam model ini adalah

Penentuan dan analisis spesifikasi
Jasa, kendala dan tujuan dihasilkan dari konsultasi dengan pengguna sistem. Kemudian semuanya itu dibuat dalam bentuk yang dapat dimengerti oleh user dan staf pengembang.

Desain sistem dan perangkat lunak
Proses desain sistem membagi kebutuhan-kebutuhan menjadi sistem perangkat lunak atau perangkat keras. Proses tersebut menghasilkan sebuah arsitektur sistem keseluhan. Desain perangkat lunak termasuk menghasilkan fungsi sistem perangkat lunak dalam bentuk yang mungkin ditransformasi ke dalam satu atau lebih program yang dapat dijalankan.

Implementasi dan ujicoba unit
Selama tahap ini desain perangkat lunak disadari sebagai sebuah program lengkap atau unit program. Uji unit termasuk pengujian bahwa setiap unit sesuai spesifikasi.

Integrasi dan ujicoba sistem
Unit program diintegrasikan dan diuji menjadi sistem yang lengkap untuk menyakinkan bahwa persyaratan perangkat lunak telah dipenuhi. Setelah ujicoba, sistem disampaikan ke kastamer

Operasi dan pemeliharaan
Normalnya, ini adalah phase yang terpanjang. Sistem dipasang dan digunakan.
Pemeliharaan termasuk pembetulan kesalahan yang tidak ditemukan pada langkah sebelumnya. Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai kebutuhan baru ditemukan.


Dalam prakteknya, setiap langkah sering tumpang tindih dan saling memberi informasi satu sama lain. Proses perangkat lunak tidak linier dan sederhana tapi mengandung urutan iterasi dari aktivitas pengembangan. Selama di langkah terakhir, perangkat lunak telah digunakan. Kesalahan dan kelalaian dalam menentukan kebutuhan perangkat lunak original dapat diatasi.

Sayangnya, model yang banyak mengandung iterasi sehingga membuat sulit bagi pihak manajemen untuk memeriksa seluruh rencana dan laporan. Maka dari itu, setelah sedikit iterasi, biasanya bagian yang telah dikembangkan akan dihentikan dan dilanjutkan dengan langkah pengembangan selanjutnya. Masalah-masalah selama resolusi selanjutnya, dibiarkan atau diprogram. Pemberhentian yang prematur dari persyaratan akan berarti bahwa sistem tidak akan sesuai dengan keinginan user. Mungkin juga sistem terstruktur secara jelek yang sebenarnya merupakan masalah desain akan dibiarkan karena terkalahkan oleh trik implementasi.

Masalah dalam waterfall
- Masalah pendekatan waterfall adalah ketidakluwesan pembagian project ke dalam langkah yang nyata/jelas. Sistem yang disampaikan kadang-kadang tidak dapat digunakan sesuai keinginan kastamer. Namun demikian model waterfall mencerminkan kepraktisan engineering. Konsekuensinya, model proses perangkat lunak yang berdasarkan pada pendekatan ini digunakan dalam pengembangan sistem perangkat lunak dan hardware yang luas.
- Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
- Hal ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna (user).
- Model air terjun harus digunakan hanya ketika persyaratan dipahami dengan baik.

2. Pengembangan evolusioner

Pendekatan ini berhimpitan dengan kegiatan spesifikasi, pengembangan, dan validasi. Sistem awal dikembangkan dengan cepat dari spesifikasi abstrak. Sistem ini kemudian di perbaiki dengan masukan dari pelanggan untuk menghasilkan sistem yang memuaskan kebutuhan pelanggan. Berdasarkan pada ide untuk mengembangkan implementasi awal, memperlihatkannya kepada user untuk dikomentari, dan memperbaikinya versi demi versi sampai sistem yang memenuhi persyaratan diperoleh. Tidak ada kegiatan spesifikasi, pengembangan, dan validasi yang terpisah. Kegiatan2 ini dilakukan pada saat yang bersamaan dengan umpan balik yang cepat untuk masing2 kegiatan.

Ada 2 jenis pengembangan evolusioner
a. Pengembangan Eksplotari à Tujuan proses ini adalah bekerja dengan pelanggan untuk menyelidiki persyaratan mereka dan mengirimkan sistem akhir. Harusnya diawali dengan kebutuhan yang sudah dimengerti.
b. Prototipe yang dapat dibuang (throw-away) à Berkonsentrasi pada eksperimen, dengan persyaratan pelanggan yang tidak dipahami dengan baik.

Terdapat 2 tipe pada model ini

1. Pemprograman evolusioner
Dimana tujuan proses adalah bekerjasama dengan kastamer untuk menghasilkan kebutuhan-kebutuhan dan menyampaikan sistem akhir kepada pemakai/kastamer. Pengembangan dimulai dengan bagian-bagian sistem yang dimengerti. Sistem dikembangkan melalui penambahan features sesuai yang diusulkan oleh kastamer.

2. Pemodelan
Dimana tujuan pengembangan evolusioner pada tipe ini adalah mengetahui kebutuhan-kebutuhan kastamer dan mengembangkan difinisi kebutuhan yang lebih baik untuk sistem. Model/contoh difikuskan pada penelitian bagian-bagian kebutuhan kastamer yang kurang dimengerti.
Pemprograman evolusioner penting saat sulit untuk membuat spesifikasi sistem secara rinci. Beberapa orang mungkin setuju bahwa semua sistem masuk dalam tipe ini. Namun, pemprograman evolusioner banyak digunakan dalam pengembangan sistem AI (artificial intelligence) yang berusaha untuk menyamai kemampuan manusia.

Kita tidak mungkin membuat spesifikasi yang rinci untuk perangkat lunak yang menyamai manusia karena kita tidak mengerti bagaimana manusia menjalankan tugas-tugas mereka.

Pendekatan evolusioner biasanya lebih efektif daripada pendekatan waterfall untuk hal pengembangan perangkat lunak yang harus dengan segera dapat memenuhi kebutuhan kastamer. Namun, dari segi teknik dan manajemen, model ini memiliki masalah mendasar yaitu:

Proses tidak visibel.
Manager-manager membutuhkan "deliverables" yang teratur untuk mengukur kemajuan. Jika sistem dikembangkan dengan cepat akan terjadi pemborosan pada pembuatan dokumen yang menggambarkan setiap versi sistem.
Sistem-sistem biasanya kurang terstruktur
Kecenderungan perubahan yang terus menerus akan mengurangi stuktrur dari perangkat lunak. Evolusi perangkat lunak terlihat sulit dan mahal.
Ketrampilan khusus jarang dimiliki
Tidak jelas batasan ketrampilan yang normal dalam rekayasa perangkat lunak yang mungkin dapat digunakan secara efektif dalam model pengembangan ini. Kebanyakan sistem yang dikembangkan melalui cara ini telah diimplementasikan oleh kelompok kecil yang memiliki ketrampilan yang tinggi dan motivasi yang kuat.
Untuk memecahkan masalah-masalah tersebut, kadang-kadang tujuan dari pengembangan evolusioner adalah mengembangkan contoh sistem. Contoh ini digunakan untuk mengerti dan mevalidasikan spesifikasi sistem. Disinilah pengembangan evolusioner merupakan bagian dari beberapa proses yang lebih luas. ( seperti model waterfall ).

Karena masalah-masalah tersebut, sistem dengan skala besar biasanya tidak dikembangkan melalui cara ini. Pengembangan evolusioner lebih tepat untuk
Pengembangan sistem yang relatif kecil.

Masalah-masalah mengenai perubahan sistem yang ada dihindari dengan meimplementasi ulang sistem keseluruhan kapanpun perubahan yang signifikan diperlukan. Jika pemodelan digunakan, tidak terlalu mahal.

Pengembangan sistem yang memiliki masa hidup yang relatif singkat.
Disini, sistem dikembangkan untuk mendukung beberapa aktivitas yang dibatasi oleh waktu. Contohnya, sebuah sistem yang mungkin dikembangkan secara khusus untuk peluncuran produk baru.

Pengembangan sistem atau bagian-bagian dari sistem yang besar dimana tidak memungkinkan untuk menyatakan spesifikasi secara rinci. Contohnya, sistem AI dan interfaces pemakai.
Spiral Boehm
Model proses nyata waterfall yang berorientasi dokumen telah diambil sebagai standar umum oleh banyak agen pemerintah dan pembuat perangkat lunak. Jadi, tidak mudah melupakan model tersebut walaupun masih terdapat masalah-masalah yang ditimbulkan dalam model tersebut. Kita membutuhkan sebuah proses yang lebih baik untuk manajemen yang dapat menggunakan semua model umum seperti yang telah kita bicarakan sebelumnya. Model perbaikan tersebut juga harus memenuhi kebutuhan-kebutuhan pembuat perangkat lunak. Pendekatan alternatif diusulkan oleh Boehm (1988). Boehm mengusulkan sebuah model yang secara eksplisit menjelaskan bahwa resiko yang disadari mungkin membentuk dasar model proses umum.

Model Boehm bebrbentuk spiral. Setiap loop mewakili sebuah tahap dari proses perangkat lunak.

Tidak ada tahap yang tetap dalam model ini. Manajemen harus memutuskan bagaimana membentuk proyek kedalam tahap-tahap. Perusahaan biasanya bekerja dengan beberapa model umum dengan tahap tambahan untuk proyek khusus atau ketika masala-masalah ditemukan selama pembuatan proyek.

Kelebihan
- Lebih efektif dari pendekatan air terjun dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
- Sementara user mendapat pemahaman yang lebih baik dari masalah mereka, sistem perangkat lunak dapat merefleksikannya.
Masalah
- Kurangnya visibilitas proses à Jika sistem dikembangkan dengan cepat, tidaklah efektif dari segi biaya jika dihasilkan dokumen yang merefleksikan setiap versi sistem.
- Sistem seringkali memiliki struktur yang buruk à Perubahan yang terus-menerus cenderung merusak struktur perangkat lunak. Penyesuaian perubahan menjadi kian sulit dan mahal.
- Membutuhkan kemampuan khusus.

3. Pengembangan Sistem Formal

Pendekatan inià menghasilkan suatu sistem matematis yang formal dan mentransformasikan spesifikasi ini, dengan menggunakan metode matematik menjadi sebuah program. Proses pengembangan Perangkat Lunak didasarkan pada transformasi matematis dari spesifikasi sistem menjadi program yang dapat dijalankan.

Masalah
- Memerlukan keahlian khusus dan pelatihan untuk mengaplikasikannya
- Untuk sebagian besar sistem, metode ini tidak memberikan keuntungan biaya atau kualitas yang signifikan dibandingkan dengan pendekatan yang lain.

4. Pengembangan berdasarkan pemakaian ulang (Reusable)

Teknik ini menganggap bahwa bagian-bagian sistem sudah ada. Proses pengembangan sistem terfokus pada pengintegrasian bagian-bagian sistem dan bukan pengembangannya dari awal. Bergantung pada sejumlah besar komponen perangkat lunak yang dapat dipakai ulang, yang bisa didapat, dan berapa kerangka kerja integrasi untuk komponen-komponen ini. Komponen-komponen ini dapat juga sistem yang disebut COTS (Commercial Off-The-Shelf Systems/Sistem Siap Beli Komersial) yang dapat digunakan untuk memberikan fungsionalitas khusus seperti format teks, perhitungan numerik,dll.

Tahap-tahap
1. Analisis Komponen à Spesifikasi persyaratan telah diketahui, komponen2 untuk implementasi spesifikasi tersebut akan dicari. Biasanya, tidak ada kesesuaian yang tepat dan komponen yang dapat dipakai hanya memberikan sebagian dari fungsionaliyas yang dibutuhkan.
2. Modifikasi Persyaratan à Persyaratan dianalisis menggunakan informasi tentang komponen yang didapat, kemudian dimodifikasi untuk merefleksikan komponen yang ada. Jika modifikasi tidak mungkin dilakukan, maka kegiatan analisis komponen bisa diulang untuk mencari solusi alternatif.
3. Perancangan sistem dengan pemakaian ulang à Kerangka kerja sistem dirancang, atau kerangka kerja yang telah ada dipakai ulang.
4. Pengembangan dan Integrasi à Perangkat Lunak yang tidak dapat dibeli akan dikembangkan dan komponen dan sistem COTS diintegrasikan untuk membantu sistem.

Keuntungan
- Mengurangi besarnya perangkat lunak yang akan dikembangkan
- Memperkecil biaya dan resiko
- Memungkinkan penyelesaian perangkat lunak dengan cepat

PEMODELAN BERORIENTASI OBJEK

A. Pemodelan sebagai Teknik Desain

Pemodelan adalah deskripsi lengkap mengenai satu sistem dari perspektif tertentu. Model adalah representasi abstrak dari sistem, dibangun untuk memahami sebelum dilakukan pembangunan atas sistem tersebut. Alasan utama membangun model adalah agar kita dapat memahami sistem yang akan dikembangkan secara lebih baik. Teknik pemodelan objek menggunakan tiga macam model untuk menggambarkan sistem, yaitu model objek, model dinamik, dan model fungsional. Model objek menggambarkan objek dalam sistem dan relasinya,model dinamik menggambarkan interaksi antara objek dalam sistem, sedangkan model fungsional menggambarkan transformasi data dalam sistem. Model objek menggambarkan struktur statis dari suatu objek dalam sistem dan relasinya. Model objek berisi diagram objek. Diagram objek adalah graph di mana node-nya adalah kelas yang mempunyai relasi antara kelas. Model dinamik menggambarkan aspek dari sistem yang berubah setiap saat. Model dinamik dipergunakan untuk menyatakan aspek kontrol dari sistem. Model dinamik berisi state diagram. State diagram adalah graph di mana nodenya adalah state dan arc adalah transisi antara state yang disebabkan oleh event. Model fungsional menggambarkan transformasi nilai data di dalam sistem. Model fungsional berisi data flow diagram (diagram alir data). Diagram alir data adalah suatu graph di mana node-nya adalah proses dan arc-nya adalah aliran data. Sebuah model adalah abstraksi yang perlu dipahami sebelum membangunnya. Karena sebuah model menghilangkan rincian yang tidak penting, hal ini membuat lebih mudah untuk dimanipulasi dari pada entitas. Pengembangan sistem perangkat keras dan perangkat lunak berarti membangun sistem yang kompleks, pengembang harus membuat abstraksi dalam berbagai pandangan yang berbeda dari sistem, membangun model dengan menggunakan notasi yang tepat, meneliti kembali model tersebut untuk menegaskan kebutuhan sistem dan secara garis besar menambahkan rincian untuk mentransformasikan model ke dalam suatu aplikasi.

Tujuan Model
Analis sistem menggunakan pemodelan untuk :
1. Fokus pada fitur – fitur sistem penting
2. Membahas perubahan dan koreksi kebutuhan pembeli dengan ongkos yang murah dan resiko

minimal
3. Memverifikasi pemahaman analisis sistem terhadap lingkungan pemakai.

Prinsip-prinsip Pemodelan
Prinsip-prinsip dalam pemodelan adalah :
1. Pemilihan model-model yang hendak dibangun berpengaruh pada cara penanganan masalah dan

solusi yang dibentuk.
2. Setiap model dapat diekspresikan pada level presisi yang Berbeda.
3. Model-model yang bagus adalah terhubung dengan kenyataan.
4. Tidak ada satu model tunggal yang mencukupi. Setiap sistem kompleks didekati dengan sejumlah

model yang hampir independen.

1. Penggunaan Pemodelan

Pemodelan memerlukan abstraksi, dengan tujuan membatasi aspek yang penting untuk beberapa kebutuhan dan mengabaikan aspek yang tidak penting. Model yang baik menangkap aspek krusial dari masalah dan menghilangkan yang lain.. Model menyajikan berbagai kebutuhan, di antaranya:

Testing entitas sebelum dibangun

Kemajuan komputasi memperbolehkan simulasi dari banyak struktur fisik tanpa harus membuat model secara fisik. Tidak hanya simulasi yang memerlukan biaya murah, tetapi dilengkapi dengan informasi yang tidak mungkin diakses atau diukur dari model fisik.

Komunikasi dengan kustomer

Arsitek dan desainer produk membuat model untuk memperlihatkan kepada kustomernya. Model tiruan memperlihatkan produk yang menyerupai keadaan sebenarnya.

Visualisasi

Storyboard dari film televisi memperlihatkan kepada kustomer bagaimana gagasan penulis digambarkan sebagai aliran tampilan yang akan dibuat.

2. Teknik Pemodelan

Model mempunyai dua dimensi - suatu pandangan tentang sistem (model objek, model dinamik, atau model fungsional) dan tahapan dari pengembangan (analisa, desain atau implementasi).

Model objek

Tujuan dari pembuatan model adalah menangkap konsep dari dunia nyata yang penting ke dalam aplikasi. Model desain menjelaskan bagaimana memecahkan masalah dan mungkin berisi pembangunan komputer. Model objek digambarkan secara grafik dengan diagram objek yang berisi objek dan kelas.

Model dinamik

Model dinamik menggambarkan aspek dari sistem yang berhubungan dengan waktu serta sekuens dari operasi. Model dinamik menangkap kontrol, di mana aspek dari sistem digambarkan serta sekuens dari operasi yang terjadi tanpa memperhatikan operasi apakah yang dikerjakan, terhadap apa operasi dilakukan, atau bagaimana diimplementasikan. Model dinamik digambarlan secara grafik dengan state diagram. Setiap state diagram memperlihatkan sekuens state dan event diperbolehkan dalam sistem untuk satu kelas dari objek. Aksi dalam state diagram berhubungan dengan model fungsional, event dalam state diagram menjadi operasi pada obyek dalam model obyek.

Model fungsional

Model fungsional menggambarkan aspek dari sistem yang berhubungan dengan transformasi dari nilai fungsi, pemetaan, batasan dan ketergantungan fungsional. Model fungsional menangkap apakah yang dikerjakan oleh sistem tanpa memperhatikan bagaimana dan kapan dikerjakan. Model fungsional digambarkan dengan diagram alir data.

B. Model Berorientasi Objek

Sebuah model objek menangkap struktur statis dari sistem dengan menggambarkan objek dalam sistem, hubungan antara objek, serta atribut dan operasi yang merupakan karakteristik setiap kelas dan objek. Model objek adalah hal yang paling penting dari ketiga model. Model berorientasi objek lebih mendekati keadaan nyata, dan dilengkapi dengan penyajian grafik dari sistem yang sangat bermanfaat untuk komunikasi dengan kustomer dan pembuatan dokumentasi struktur dari sistem.

1. Objek dan Kelas

Objek

Tujuan dari pemodelan objek adalah menggambarkan objek, sebagai contoh, Joe Smith, Simplex company, proses nomor 7648 adalah objek. Suatu objek adalah sesuatu yang sederhana yang membuat pengertian dalam konteks aplikasi. Objek didefinisikan sebagai konsep, abstraksi atau benda dengan dengan batasan dan arti untuk suatu masalah. Objek menjelaskan dua tujuan, yaitu pengertian tentang dunia nyata dan dilengkapi dengan dasar praktek untuk implementasi komputer. Dekomposisi dari suatu masalah ke dalam objek tergantung pada keputusan dan kenyataan dari masalah tersebut. Tak ada sesuatu penyajian yang sempurna. Semua objek mempunyai identitas yang berbeda dengan lainnya.

Kelas

Suatu object class menggambarkan kumpulan dari objek yang mempunyai sifat (atribut), perilaku umum (operasi), relasi umum dengan objek lain dan semantik umum. Orang, perusahaan, binatang, proses dan window adalah objek. Setiap orang mempunyai umur, IQ dan mungkin pekerjaan. Setiap proses mempunyai pemilik, prioritas, list dari sumber daya yang dibutuhkan. Objek dan object classes sering sama sebagai benda dalam deskripsi masalah. Istilah Kelas sering digunakan dari pada Kelas-obyek. Objek dalam kelas mempunyai atribut dan pola peri laku yang sama. Sebagian besar objek diturunkan sifatnya dari perbedaan nilai atributnya dan relasi dengan objek lain.Bagaimanapun juga, terdapat kemungkinan adanya objek dengan nilai atribut dan relasi yang identik. Setiap objek mengetahui kelasnya. Sebagian besar bahasa pemrograman berorientasi objek dapat menentukan kelas yang dimiliki oleh objek dalam run time-nya.

2. Diagram Objek

Diagram objek melengkapi notasi grafik untuk pemodelan objek, kelas dan relasinya dengan yang lain. Diagram objek bermanfaat untuk pemodelan abstrak dan membuat perancangan program. Diagram objek sederhana, mudah dipahami dan bekerja dengan baik dalam praktek. Terdapat dua macam diagram objek, yaitu diagram kelas dan diagram instance. Diagram kelas adalah skema, pola, atau template untuk menjelaskan banyak kemungkinan data dari instance. Diagram kelas menjelaskan klas-objek. Diagram instance menjelaskan bagaimana satu set objek tertentu berhubungan dengan yang lainnya. Diagram instance menggambarkan object instance. Diagram instance bermanfaat untuk membuat dokumentasi dari suatu kasus. Diagram objek dipergunakan mulai fase analisa, desain dan implementasi. Beberapa notasi untuk objek di antaranya adalah notasi Coad/Yourdon, notasi Rumbaugh, notasi Booch dan notasi Firesmith. Menurut Coad/Yourdon notasi untuk diagram objek adalah sebagai berikut.

Kelas dan objek

Konsep fundamental dalam analisa ber-orientasi objek adalah objek itu sendiri. Sebuah objek adalah sebuah entitas yang mencakup data dan metode.Sebelum menentukan Kelas-&-Objek, terlebih dulu dimulai dengan menentukan arti dari “Kelas” dan “Objek”. Objek adalah abstraksi dari suatu problem, menggambarkan kemampuan dari sistem untuk menyimpan informasi tentang objek tersebut. Objek merupakan pembungkusan (encapsulation) antara atribut dengan metode. Metode yang biasa

disebut juga service dapat berupa fungsi atau prosedur. Kelas merupakan satu atau lebih objek dengan persamaan atribut dan metode, sedangkan Kelas-&-Objek adalah kelas dengan satu atau lebih objek di dalamnya. Nama Kelas adalah kata benda tunggal, atau kata sifat dan kata benda. Nama dari Kelas-&Objek harus dapat menjelaskan Objek tunggal dari suatu Kelas. Contohnya, bila setiap Objek menjelaskan sesuatu yang dikirimkan, maka menggunakan "Item Pengiriman" (setiap Objek adalah satu item), lebih baik dari pada menggunakan nama "Pengiriman". (dimana dapat berarti cara pengiriman misalnya pengiriman menggunakan pesawat atau kapal). Nama Kelas-&-Objek sebaiknya mudah dibaca, seperti penggunaan huruf kapital dan huruf kecil pada umunya.

Struktur objek dan hirarki kelas

Setelah menentukan Kelas maka langkah berikutnya adalah menyusunnya sehingga merupakan suatu hirarki, yang selanjutnya sangat menentukan penerapan dari inheritance. Whole-Part Structure memperlihatkan hirarki dari suatu kelas sebagai komponen dari kelas lain yang juga disebut sub objek.

Gen-Spec Structure memperlihatkan kelas sebagai spesialisasi dari kelas di atasnya. Kelas yang mempunyai sifat umum disebut Generalization, Superclass atau Topclass, sedangkan kelas yang mempunyai sifat khusus disebut Spezialization.

Atribut

Atribut menggambarkan data yang dapat memberikan informasi mengenai kelas atau objek di mana atribut tersebut berada.

Metode

Metode (method) disebut juga service atau operator adalah prosedur atau fungsi seperti yang terdapat dalam bahasa Pascal pada umumnya, tetapi cara kerjanya agak berlainan. Metode adalah subprogram yang tergabung dalam objek bersama-sama dengan atribut. Metode dipergunakan untuk pengaksesan terhadap data yang terdapat dalam objek tersebut. Metode tidak perlu mempunyai nama yang unik, dapat digunakan beberapa metode dengan nama yang sama untuk mengakses beberapa objek yang berbeda dan juga pada hirarki yang berbeda. Penulisan nama untuk metode dapat juga dibuat berbeda. Pada dasarnya sistem akan mengetahui metode yang mana dapat mengakses suatu objek, yaitu metode yang terdapat di dalam objek itu sendiri. Banyak cara yang dapat digunakan untuk menjelaskan detail metode antara lain penggunaan bahasa umum, pseudocode dan decision tree.

Penggunaan bahasa umum lebih sesuai untuk menjelaskan detail proses atau menjelaskan diagram alir data, tetapi tidak sesuai untuk menjelaskan proses secara detail. Pseudocode dapat dipergunakan untuk menjelaskan metode pada pemrograman berorientasi objek. Karena satu objek memiliki beberapa metode, penulisan pseudocode harus menyebutkan metode dan objeknya. Decision tree digunakan untuk menjelaskan aturan bisnis yang kompleks yang sulit dijelaskan dengan pseudocode.

Message

Message (pesan) merupakan cara untuk berhubungan antara satu objek dengan objek lain. Objek pengirim mengirimkan pesan kepada objek penerima supaya objek penerima melaksanakan salah satu metode yang dimilikinya.