Konsep Dasar Name Service

Dalam sistem terdistribusi, name service digunakan untuk menunjuk ke suatu sesumber yang beragam dan tersebar seperti komputer, layanan (services), file, remote object, use yang dapat memudahkan pengguna.

Contoh penamaan pada aplikasi sistem terdistribusi:
– URL untuk mengakses suatu halaman web.
– Alamat e-mail utk komunikasi antar pemakai.

Selain itu name service juga merupakan layanan penamaan yang berfungsi untuk menyimpan naming context, yakni kumpulan binding nama dengan objek, tugasnya untuk me-resolve nama. Kebutuhan akan penamaan juga memicu munculnya layanan penamaan (Naming Services) yang menyediakan mekanisme dan struktur penamaan objek itu sendiri. Contohnya DNS (Domain Name Service), X.500, COBRA, dan GNS.

Name Resolution, Binding, Attributes
• Name resolution: Nama ditranslasikan ke data ttg resource/object tsb.
• Binding: Asosiasi antara nama & obyek. Dan biasanya nama diikat (bound) ke
attributes dari suatu obyek.
• Address: atribut kunci dari sebuah entitas dalam sistem terdistribusi
• Attribute: nilai suatu object property.

Didalam setiap name objek terdapat juga beberapa atribut yang merupakan properti suatu
objek. Contoh :
  • DNS : memetakan dari nama ke atribut alamat IP host
  • X.500 : memetakan suatu nama seseorang ke beberapa atribut, seperti email, telepon, dsb.
  • CORBA Naming Service yang memetakan nama remote objek ke remote object reference.


Name Service and the Domain Name System
Suatu name service dapat menyimpan kumpulan satu atau lebih kontek penamaan yaitu sehimpunan keterkaitan antara nama dan atribut objek, seperti user, komputer, services dan remote object.

Yang dibutuhkan dari suatu Name Services adalah :
– penamaan unik yang standard
– scalability
– consistency
– performance dan availability
– mudah menyesuaikan terhadap perubahan
– perlindungan kegagalan

Dalam rangka memenuhi kebutuhan tersebut, sebuah name server setidaknya dapat menerapkan mekanisme berikut :
o Partitioning
- Tidak ada satu name server yang dapat menyimpan seluruhnama dan atribut untuk seluruh jaringan.
- Data nama dipartisi berdasarkan domain.

o Replication
- Sebuah domain biasanya memiliki lebih dari satu name server
- Untuk meningkatkan availability dan performance

o Caching
- Sebuah name server dapat melakukan mekanisme caching terhadap data nama dari name server lain
- Hal ini dilakukan untuk mencegah operasi permintaan sama berulangulang

Name servers and navigation
Navigasi dan name servers di sini memiliki arti petunjuk pengaksesan nama data dari lebih dari satu name server untuk menyelesaikan suatu pemetaan nama (resolve a name). Yang didalamnya terdapat 3 metode, yaitu:
- Iterative Navigation
- Non-recursive, server-controlled
- recursive, server-controlled

1. Iterative Navigation

Agent tetap memegang kendali proses resolusi sebuah nama. Serve mengembalikan status resolusi dan alamat server yang harus dihubungi selanjutnya. Agent bekerja lebih keras dari cara pertama, dan perlu sedikit pintar.


Transitive Navigation hampir sama dengan resolusi rekursif. Return address dari agent diteruskan oleh server, sehingga jika informasi lokasi obyek ditemukan, informasi tersebut langsung diteruskan ke agent. Kelebihan : berkurangnya pengiriman pesan, server tidak perlu menyimpan status on going resolution. Kekurangan: pengirim tidak menerima ACK.

2. Non-recursive and Recursive server-controlled navigation

3. Rekursif

Adalah aktifitas berpindah dari server ke server, shg nama selalu di-resolve dalam konteks yang baru. Multiple servers transparan bagi name agent. Agent tidak sibuk. Servers harus menyimpan return address untuk setiap outgoing lookup, dan secara keseluruhan bekerja keras.

id.wikipedia.org/wiki/Sistem_Penamaan_Domain
deris.unsri.ac.id/materi/jarkom/domain&DNS.pdf
te.ugm.ac.id/~risanuri/distributed/ringk/bab09.pdf

Definisi Proses dan Thread

Proses

Satu selingan pada diskusi kita mengenai sistem operasi yaitu bahwa ada sebuah pertanyaan mengenai apa untuk menyebut semua aktivitas CPU. Sistem batch mengeksekusi jobs, sebagaimana suatu sistem time-shared telah menggunakan program pengguna, atau tugas-tugas/ pekerjaan-pekerjaan. Bahkan pada sistem tunggal, seperti Microsoft Windows dan Macintosh OS, seorang pengguna mampu untuk menjalankan beberapa program pada saat yang sama: sebuah Word Processor, Web Browser, dan paket e-mail. Bahkan jika pengguna dapat melakukan hanya satu program pada satu waktu, sistem operasi perlu untuk mendukung aktivitas program internalnya sendiri, seperti managemen memori. Dalam banyak hal, seluruh aktivitas ini adalah serupa, maka kita menyebut seluruh program itu proses-proses (processes).

Istilah job dan proses digunakan hampir dapat dipertukarkan pada tulisan ini. Walau kami pribadi lebih mneyukai istilah proses, banyak teori dan terminologi sistem-operasi dikembangkan selama suatu waktu ketika aktivitas utama sistem operasi adalah job processing. Akan menyesatkan untuk menghindari penggunaan istilah umum yang telah diterima bahwa memasukkn kata job (seperti penjadualan job) hanya karena proses memiliki job pengganti/ pendahulu.

Konsep Dasar dan Definisi Proses

Secara informal; proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor's register. Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global.

Kami tekankan bahwa program itu sendiri bukanlah sebuah proses; suatu program adalah satu entitas pasif; seperti isi dari sebuah berkas yang disimpan didalam disket, sebagaimana sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang mengkhususkan pada instruksi selanjutnya untuk dijalankan dan seperangkat sumber daya/ resource yang berkenaan dengannya.

Walau dua proses dapat dihubungkan dengan program yang sama, program tersebut dianggap dua urutan eksekusi yang berbeda. Sebagai contoh, beberapa pengguna dapat menjalankan copy yang berbeda pada mail program, atau pengguna yang sama dapat meminta banyak copy dari program editor. Tiap-tiap proses ini adakah proses yang berbeda dan walau bagian tulisan-text adalah sama, data section bervariasi. Juga adalah umum untuk memiliki proses yang menghasilkan banyak proses begitu ia bekerja.

Keadaan Proses

Sebagaimana proses bekerja, maka proses tersebut merubah state (keadaan statis/ asal). Status dari sebuah proses didefinisikan dalam bagian oleh aktivitas yang ada dari proses tersebut. Tiap proses mungkin adalah satu dari keadaan berikut ini:

  • New: Proses sedang dikerjakan/ dibuat.
  • Running: Instruksi sedang dikerjakan.
  • Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/O atau penerimaan sebuah tanda/ signal).
  • Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
  • Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.

Nama-nama tersebut adalah arbitrer/ berdasar opini, istilah tersebut bervariasi disepanjang sistem operasi. Keadaan yang mereka gambarkan ditemukan pada seluruh sistem. Namun, sistem operasi tertentu juga lebih baik menggambarkan keadaan/ status proses. Adalah penting untuk menyadari bahwa hanya satu proses dapat berjalan pada prosesor mana pun pada waktu kapan pun. Namun, banyak proses yang dapat ready atau waiting. Keadaan diagram yang berkaitan dangan keadaan tersebut dijelaskan pada Gambar 2-1.

Gambar 2-1. Keadaan Proses. Sumber: . . .

Process Control Block

Tiap proses digambarkan dalam sistem operasi oleh sebuah process control block (PCB) - juga disebut sebuah control block. Sebuah PCB ditunjukkan dalam Gambar 2-2. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk ini:

  • Keadaan proses: Keadaan mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.
  • Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk proses ini.
  • CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register tersebut termasuk accumulator, index register, stack pointer, general-puposes register, ditambah code information pada kondisi apa pun. Besertaan dengan program counter, keadaan/ status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/ bekerja dengan benar setelahnya (lihat Gambar 2-3).
  • Informasi managemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi .
  • Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
  • Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini, suatu daftar open berkas dan banyak lagi.
  • PCB hanya berfungsi sebagai tempat menyimpan/ gudang untuk informasi apa pun yang dapat bervariasi dari prose ke proses.

Gambar 2-2. Process Control Block. Sumber: . . .

Gambar 2-3. CPU Register. Sumber: . . .

Threads

Model proses yang didiskusikan sejauh ini telah menunjukkan bahwa suatu proses adalah sebuah program yang menjalankan eksekusi thread tunggal. Sebagai contoh, jika sebuah proses menjalankan sebuah program Word Processor, ada sebuah thread tunggal dari instruksi-instruksi yang sedang dilaksanakan.

Kontrol thread tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu. Banyak sistem operasi modern telah memiliki konsep yang dikembangkan agar memungkinkan sebuah proses untuk memiliki eksekusi multithreads, agar dapat dapat secara terus menerus mengetik dalam karakter dan menjalankan pengecek ejaan didalam proses yang sama. Maka sistem operasi tersebut memungkinkan proses untuk menjalankan lebih dari satu tugas pada satu waktu.

Description: Linkhttp://ikc.unimal.ac.id/umum/ibam/ibam-os-html/i2.html

http://www.idfreelance.net/pemrograman/proses-threading-dalam-pemrograman/

http://ekohandoyo.blog.undip.ac.id/2009/12/08/proses-dan-thread/

Software, Technology, dan Komunikasi Antar Agent

Perangkat lunak adalah istilah umum untuk data yang diformat dan disimpan secara digital, termasuk program komputer, dokumentasinya, dan berbagai informasi yang bisa dibaca dan ditulis oleh komputer. Dengan kata lain, bagian sistem komputer yang tidak berwujud. Istilah ini menonjolkan perbedaan dengan perangkat keras komputer.

Di bawah ini ada beberapa contoh macam perangkat lunak, yaitu:

  • Perangkat lunak aplikasi (application software) seperti pengolah kata, lembar tabel hitung, pemutar media, dan paket aplikasi perkantoran seperti OpenOffice.org.
  • Sistem operasi (operating system) misalnya Ubuntu.
  • Perkakas pengembangan perangkat lunak (software development tool) seperti Kompilator untuk bahasa pemrograman tingkat tinggi seperti Pascal dan bahasa pemrograman tingkat rendah yaitu bahasa rakitan.
  • Pengendali perangkat keras (device driver) yaitu penghubung antara perangkat perangkat keras pembantu dan komputer adalah software yang banyak dipakai di swalayan dan juga sekolah, yaitu penggunaan barcode scanner pada aplikasi database lainnya.
  • Perangkat lunak menetap (firmware) seperti yang dipasang dalam jam tangan digital dan pengendali jarak jauh.
  • Perangkat lunak bebas (free ‘libre’ software) dan Perangkat lunak sumber terbuka (open source software)
  • Perangkat lunak gratis (freeware)
  • Perangkat lunak uji coba (shareware / ‘trialware)
  • Perangkat lunak perusak (malware)

Teknologi adalah metode ilmiah untuk mencapai tujuan praktis; ilmu pengetahuan terapan atau dapat pula diterjemahkan sebagai keseluruhan sarana untuk menyediakan barang-barang yg diperlukan bagi kelangsungan dan kenyamanan hidup manusia.

Dalam memasuki Era Industrialisasi, pencapaiannya sangat ditentukan oleh penguasaan teknologi karena teknologi adalah mesin penggerak pertumbuhan melalui industri.

Sebagian beranggapan teknologi adalah barang atau sesuatu yang baru. namun, teknologi itu telah berumur sangat panjang dan merupakan suatu gejala kontemporer. Setiap zaman memiliki teknologinya sendiri.

Teknologi adalah metode ilmiah untuk mencapai tujuan praktis; ilmu pengetahuan terapan atau dapat pula diterjemahkan sebagai keseluruhan sarana untuk menyediakan barang-barang yg diperlukan bagi kelangsungan dan kenyamanan hidup manusia.

Dalam memasuki Era Industrialisasi, pencapaiannya sangat ditentukan oleh penguasaan teknologi karena teknologi adalah mesin penggerak pertumbuhan melalui industri.

Sebagian beranggapan teknologi adalah barang atau sesuatu yang baru, namun, teknologi itu telah berumur sangat panjang dan merupakan suatu gejala kontemporer. Setiap zaman memiliki teknologinya sendiri.


Komunikasi Antar Agent

Komunitas jaringan sosial pada agent merupakan aspek penting dalam berbahasa. Jejaring sosial dapat diartikan sebagai struktur sosial yang menghubungkan agent yang satu dengan agent yang bersifat sama. Jadi pada intinya, jika sebuah agent akan berkomunikasi, maka ia secara otomatis membentuk kelompok-kelompok tertentu yang memiliki kesamaansifat, baru kemudian agent itu akan saling berkomunikasi. Jejaring sosial ini dapat kita gambarkan seperti Linksebuah pohon.



http://id.wikipedia.org/

lipi

http://harajes.com

Protokol Komunikasi Data

Protokol merupakan himpunan aturan yang mengatur komunikasi data. Secara umum mendefinisikan apa yang dikomunikasikan, kapan dikomunikasikan, bagaimana dikomunikasikan. Jadi protokol adalah kumpulan aturan yang mengedalikan pengoperasian unit-unit fungsional untuk melakukan hubungan komunikasi.

Tiga elemen kunci dalam protokol yaitu :

· Sintaks, yaitu struktur atau format data yang dikomunikasikan

· Semantik, yaitu mengartikulasikan setiap blok aliran bit, sebagaimana diketahui bahwa data yang akan dikomunikasikan sebagai serangkaian aliran bit 0 dan 1

· Waktu, yaitu keterkaitan dengan kapan data harus dikirim dan seberapa cepat dapat dikirimkan

Standarisasi Protokol (ISO 7498)

ISO (International Standard Organization) mengajukan struktur dan fungsi protocol komunikasi data. Model tersebut dikenal sebagai OSI (Open System Interconnection) Reference Model

Terdiri atas 7 layer (lapisan) yang mendefinisikan fungsi. Untuk tiap layernya dapat terdiri atas sejumlah protocol yang berbeda, masing-masing menyediakan pelayanan yang sesuai dengan fungsi layer tersebut.

1. Application Layer: interface antara aplikasi yang dihadapi user and resource jaringan yang diakses. Kelompok aplikasi dengan jaringan:

o File transfer dan metode akses

o Pertukaran job dan manipulasi

o Pertukaran pesan

2. Presentation Layer: rutin standard me-presentasi-kan data.

o Negosiasi sintaksis untuk transfer

o Transformasi representasi data

3. Session Layer: membagi presentasi data ke dalam babak-babak (sesi)

o Kontrol dialog dan sinkronisasi

o Hubungan antara aplikasi yang berkomunikasi

4. Transport Layer:

o Transfer pesan (message) ujung-ke-ujung

o Manajemen koneksi

o Kontrol kesalahan

o Fragmentasi

o Kontrol aliran

5. Network Layer: Pengalamatan dan pengiriman paket data.

o Routing

o Pengalamatan secara lojik

o setup dan clearing (pembentukan dan pemutusan)

6. Data-link Layer: pengiriman data melintasi jaringan fisik.

o Penyusunan frame

o Transparansi data

o Kontrol kesalahan (error-detection)

o Kontrol aliran (flow)

7. Physical Layer: karakteristik perangkat keras yang mentransmisikan sinyal data.

Permasalahan Pada Sistem Terdistribusi

Tujuan dari komputasi terdistribusi adalah menyatukan kemampuan dari sumber daya (sumber komputasi atau sumber informasi) yang terpisah secara fisik, ke dalam suatu sistem gabungan yang terkoordinasi dengan kapasitas yang jauh melebihi dari kapasitas individual komponen-komponennya.
Tujuan lain yang ingin dicapai dalam komputasi terdistribusi adalah transparansi. Kenyataan bahwa sumber daya yang dipakai oleh pengguna sistem terdistribusi berada pada lokasi fisik yang terpisah, tidak perlu diketahui oleh pengguna tersebut. Transparansi ini memungkinkan pengguna sistem terdistribusi untuk melihat sumber daya yang terpisah tersebut seolah-olah sebagai satu sistem komputer tunggal, seperti yang biasa digunakannya.
Beberapa masalah yang dihadapi :
  • Usaha menyatukan sumber daya yang terpisah ini antara lain adalah skalabilitas, dapat atau tidaknya sistem tersebut dikembangkan lebih jauh untuk mencakup sumber daya komputasi yang lebih banyak.
  • Software Masalah yang timbul adalah bagaimana kita merancang dan mengatur software yang tepat dalam distribusi sistem.
  • Ketergantungan pada infrastruktur jaringanInfrastruktur sangat mempengaruhi sistem terdisribusi bila tidak direncanakan dengan baik, hal ini dapat menimbulkan gangguan-gangguan yang diakibatkan bentuk infrastruktur yang kurang baik sehingga menggangu dari kinerja sistem tersebut. Secara umum masalah infrastruktur jaringan sering terjadi, namun dengan perencanaan yang baik permasalahan ini sangat mudah untuk dicari sumber kesalahannya dan memudahkan proses perbaikan.
  • Kemudahan akses ke data yang dishare, memunculkan masalah keamanan. Sistem terdistribusi sangat dipengaruhi oleh jaringan komputer. Permasalahan akan timbul jika suatu jaringan sistem tersebut tidak aman, dimana tidak terdapat firewall atau proteksi terhadap data di dalam jaringan tersebut. Firewall dapat digunakan untuk menentukan host mana yang dapat mengakses data atau memberi batasan terhadap host dalam mengakses data sedangkan proteksi terhadap data dilakukan dengan penggunaan password atau enkripsi, namun hal ini tidak menjamin data tersebut dalam keadaan aman.

Referensi

Pemodelan Desain Grafis UML

Unified Modelling Language
( Sebuah Telaah Referensi )

Abstract, the shifting of software development orientation. From the ordered software to an object was ariring various methodology in conucting analysis and software design. This matter makes Boach. Rambaugh and Ivar Jacobson to collaborate in regard to create a language that can brigde variour thore methodolog. This language is then to be called as Unified Modelling Language and stood for UML

Abstrak, bergesernya orientasi pembangunan perangkat lunak dari terstruktur ke objek telah memunculkan berbagai metodologi dalam melakukan analisis dan desain perangkat lunak. Hal ini melatarbelakangi Boach, Rambaugh dan Ivar Jacobson untuk berkolaborasi dalam rangka menciptakan sebuah bahasa yang menjebatani berbagai metodologi tersebut. Bahasa ini kemudian diberi nama Unified Modelling Language yang disingkat dengan UML



1. Latar Belakang
Unified Modelling Language atau lazim disebut dengan UML adalah sebuah bahasa yang digunakan dalam Analisis dan Desain Berorientasu Object. Bahasa ini dikembangkan untuk memberikan standar notasi terhadap berbagai metodologi yang diterapkan dalam OOAD. UML merupakan bahasa pemodelan yang dihasilkan oleh kolaborasi tiga orang yang telah memberikan metodologi untuk OOAD yang telah ada sebelumnya, yakni Grady Booch ( Object Oriented Design Methodology ), James Rumbaugh ( Object Modelling Technique ), dan Ivar Jacobson ( Object Oriented Software Engineering ). Penciptaan UML dimaksudkan untuk memberikan solusi terhadap tiga permasalahan pokok yang umum dihadapi dalam pengembangan sistem dengan paradigma berorientasi object, yakni pemodelan sistem, sistem-sistem yang mission critical dan bahasa pemodelan yang dapat menjembatani pemikiran manusia dan mesin.

2. Overview UML
Dalam kaitannya sebagai bahasa standar, maka terdapat empat aspek pokok yang diberikan oleh UML, yakni :
a. Visualisasi
b. Spesifikasi
c. Konstruksi
d. Dokumentasi
a. Visualisasi
Visualisasi adalah proses menggambarkan blueprint suatu sistem secara grafis. Visualisasi terdiri dari beberapa komponen ,interface, dan koneksi-koneksi yang ada dalam sistem tersebut. Tujuan dari visualisasi ini adalah agar permasalahan lebih mudah untuk dipahami dan dikomunikasikan. UML adalah kumpulan dari simbol- simbol di dalam notasi UML merupakan suatu semantik yang terdefinisi dengan baik. Dalam kaitan sebagai bahasa untuk visualisasi, maka ada dua model yang dapat dikerjakan di dalam UML, yakni :
1. Business Modelling, merupakan teknik-teknik yang digunakan untuk menggambarkan model sebuah bisnis. Terdapat dua jenis business modelling, yakni business use case model dan business object model. Business object model menggambarkan realisasi dari business use case model.
2. Model untuk rekayasa sistem merupakan teknik grafis untuk menggambarkan sistem yang akan dibangun secara keseluruhan. Model ini bertujuan untuk :
a. Mendefinisikasi reguerements yang dibutuhkan dalam perekayasaan sistem.
b. Melihat bagaimana komponen-komponen saling berinteraksi
c. Memudahkan komunikasi antar anggota tim perekayasaan dalam memahami pemasalahan

b. Spesifikasi
Dalam konteks sebagai bahasa untuk spesifikasi, UML ditujukan untuk membangun suatu model yang persis, tidak ambigu dan komplet. Spesifikasi dalam UML dimaksudkan untuk semua bagian penting pada tahap analisis, desain dan implementasi. Dalam hal ini spesifikasi harus diputuskan dan dibuat dalam pembangunan sistem perangkat lunak.
c. Konstruksi
UML bukanlah sebuah bahasa pemprograman visual, tetapi merupakan model bahasa yang dapat secara langsung dihubungkan dengan berbagai varitas bahasa pemprograman. Kondisi ini dimasudkan agar model-model yang ada dalam UML dapat dipetakan secara langsung ke sebuah bahasa pemprograman seperti Java, C ++, dan lain sebagainya. Disamping itu model-model di dalam UML juga dapat dipetakan ke dalam sebuah database relasional atau Object Oriented Database.
d. Dokumentasi
UML dialamatkan kepada dokumentasi dari arsitektur sistem dan semua artifact secara detail dari Perangkat Lunak . UML juga menyediakan suatu bahasa untuk mengungkapkan requirements dan pengajuan. Selanjutnya, UML menyediakan sebuah bahasa untuk memodelkan aktivitas dari perencanaan proyek dan release management.
3. Prinsip-Pridinsip UML
Berkaitan dengan prinsip, maka terdapat empat prinsip yang ada didalam UML, yakni :
a. Pemilihan apakah model-model yang dibuat memiliki suatu pengaruh yang besar
terhadap bagaimana sebuah permasalahan dipecahkan dan bagaimana sebuah penyelesaian
ditentukan.
b. Setiap model dapat diekspresikan pada level-level yang berbeda dan dibuat secara cermat.
c. Model-model terbaik memiliki koneksi untuk realitas
d. Model tidak tunggal cukup maksudnya adalah setiap sistem nontrivial merupakan pendekatan dari sebuah himpunan sederhana model- model yang hampir bebas.
4. Konseptual UML
Untuk memahami UML dibutuhkan form suatu model suatu konsep dari sebuah bahasa dan ini membawa kepada tiga elemen dasar, yaitu : The UML basic building blocks, rules that dictate how those building blocks may be put together dan some common mechanism that apply throughout the UML.
4.1 The UML Basic Building Blocks
Vocabulary UML mencakup tiga macam building blocks, yaitu :
a. Things, dalam kaitannya dengan things, maka dapat ditinjau dari empat pokok, yaitu :
1. Structur Things, adalah kata benda dari model-model UML. Merupakan bagian statik dari sebuah model, elemen-elemennya mempresentasikan salah satu dari konseptual atau fisik. Terdapat tujuh macam struktur things yang meliputi :
a. Class, sebuah kelas adalah deskripsi dari sebuah himpunan objek yang memiliki kesamaan atribut,operasi, relasi dan semantik. Secara grafis sebuah kelas diterjahkan sebagai sebuah persegi yang didalamnya terdapat nama kelas, atribut dan operasi. Ilustrasi dari sebuah kelas dapat dilihat dari gambar berikut :

<=== Nama kelas


<=== Atribut



<=== Operasi / Methoda


Gambar 3.1 Kelas




b. Interface, adalah suatu kumpulan dari operasi yang menentukan sebuah layanan dari sebuah kelas atau komponen. Sebuah interface selanjutnya melukiskan kelakuan eksternal dari suatu elemen. Sebuah interface dapat mewakili sebuah kelas atau komponen atau hanya sebuah bagian dari tingkah laku. Interface mendefinisikan sebuah himpunan spesifikasi operasi. Secara grafis interface diterjemahkan dengan sebuah lingkaran bersama-sama dengan namanya.


Ispelling <===== Nama Interface
c. Collaboration, mendefinisikan suatu intraksi dari sekumpulan objek dalam melakukan pekerjaan secara bersama. Collaboration diagram digunakan sebagai alat keputusan tentang perilaku sistem. Secara grafis collaboration diterjemahkan dengan sebuah ellips ( lingkaran ) yang memiliki garis terputus-putus.

<=== nama collaboration


d. Use Case, adalah suatu gambaran dari himpunan serangkaian kemampuan aksi yang dapat diberikan oleh sistem atau disebut juga dengan gambaran fungsional sistem jika dipandang oleh user yang berada diluar sistem ( actor ). Use case digunakan sebagai kerangka behavioral dari things di dalam model. Sebuah use case direalisasikan oleh collaboration. Secara grafis use case diterjemahkan dengan sebuah ellips

<=== nama use case


5. Active Class, adalah sebuah kelas yang objek-objeknya digunakan oleh satu atau lebih proses atau thread. Lebih lanjut active class juga dapat berupa inisial dari aktivitas kontrol. Selain itu active class dapat berupa class except, yaitu kelas yang object-objectnya merepsentasikan elemen-elemen yang lain. Secara grafis active class diterjemahkan seperti diagram class, tetapi memiliki garis kasar yang memiliki garis terputus-putus

<=== nama kelas

<=== atribut

<=== operasi / methode


6. Componen, adalah sebuah physical dan bagian yang dapat diganti dari sebuah sistem sesuai dengan realisasi dari himpunan interface. Sebuah komponen secara khusus merepsentasikan physical packging dari elemen logic yang lain, seperti sebuah kelas, interface dan collaboration. Secara grafis component diterjemahkan dengan persegi panjang dengan label ( tabs ) dan di dalamnya terdapat nama dari component tersebut.

<== nama componen

7. Node, adalah sebuah elemen fisik yang ada pada saat run time dan merepsentasikan sebuah resource computational, secara umum memiliki paling sedikit beberapa memori dan seringkali menunjukkan kemampuan pemprosesan. Sebuah himpunan componen dapat terletak pada satu node dan dapat juga berpindah dari satu node ke node yang lain. Secara grafis node diterjemahkan dengan kubus di dalamnya terdapat nama dari node tersebut.

nama node

b. Behavioral Things, adalah bagian-bagian dinamik dari model-model UML. Behavioral things dapat dibagi menjadi :
1. Interaction, adalah sebuah behavioral yang terdiri dari kumpulan pesan ( message ) yang saling bertukaran antar himpunan objek dalam suatu konteks khusus untuk menyelesaikan suatu maksud tertentu. Sebuah interfection melibatkan sejumlah elemen, yakni pesan, urutan aksi dan link.. Intraction terdiri dari dua macam, yaitu sequence diagram dan collaboration diagram, gambar yang digunanakan sebagai notasi untuk sebuah pesan.
display

2. State Machine, merupakan suatu behaviour yang menetapkan urut-urutan keadaaan suatu objek atau suatu interaction dari awal sampai akhir selama lifetime respon terhadap berbagai kejadian dan tanggapannya untuk kejadian-kejadian itu. State machine melibatkan berbagai elemen yang lain, termasuk didalam state machine, transisi ( aliran server nama node orderform.java nama component display 6 dari state ke state ), events ( things yang men-trigger suatu transmisi ) dan aktivitas ( tanggapan pada suatu transisi ). State machine secara grafis digambarkan sbk :


c. Grouping Things, merupakan bagian organisasi dari UML, dalam hal ini ada satu macam grouping things, yakni yang diberi nama package. Sebuah package merupakan suatu mekanisme kegunaan umum untuk mengelompokkan elemen-elemen ke dalam suatu group. Structure things, behavioral things dan grouping things yang lain secara lengkap dapat diletakkan ke dalam suatu package. Package tidak sama dengan component. Package semata-mata yang ada waktu pemgangunan perangkat lunak. Secara grafis package diterjemahkan dengan tabbed folder yang selalu diberi nama.
Sebagai illustrasi dapat digambarkan sebagai berikut :

nama packege
d. Annotation Things, adalah bagian-bagian yang bersifat menjelaskan ( explanatory ) didalam UML. Bagian ini menggambarkan, menjelaskan dan berisi komentar-komentar tentang berbagai elemen di dalam model. Notasi yang digunakan untuk menggambarkan lampiran ulasan atau kumpulan ulasan adalah persegi yang di ikuti oleh lipatan ke dalam salah satu sudutnya


3. Arsitektur, adalah kumpulan keputusan signifikasi tentang :
a. Organisasi dari sebuah sistem perangkat lunak.
b. Pemilihan elemen-elemen struktur dan interfece-nya oleh sistem adalah nyaman
c. Behavioral sistem ditetapkan didalam kolaborasi antar elemen-elemen.
d. Komposisi dari struktur dan behavioral elemen-elemen ke dala subsistem yang lebih luas.
e. Corak arsitektur mengarahkan organisasi:elemen-elemen statik dan dinamik, interfacenya, kolaborasinya dan komposisinya.
Arsitektur perangkat lunak tidak hanya menyangkut tentang struktur dan behavioral, tetapi juga berkaitan dengan pemakaian, fungsionalitas, kemampuan, kekenalan ( resilience ), reuse, komprehensif, ekonomis dan teknologi mendesak serta trade-offs dan perhatian estetis.
Use case view dari sebuah sistem meliputi use case-use case yang menggambarkan behavioral dari sistem yang tampak oleh pemakai ( end user ), analisis, dan tester. View ini bukanlah benar-benar menetapkan organisasi dari sebuah sistem perangkat lunak. Tetapi use case ada untuk menetapkan bentuk arsitektur sistem. Dengan UML aspek statik dari view ini diberikan oleh diagram interaction, diagram statecart dan diagram activity.
Diagram view, dari sebuah sistem meliputi kelas, interface, dan collaboration. View ini utamanya mendukung requirement fungsional dari sistem, yang berarti menyediakan layanan sistem untuk pemakainya ( end user ). Dengan UML aspek statik dari view ini diberikan oleh diagram kelas dan diagram object, sedangkan aspek dinamik diberikan oleh diagram interaction, diagram statecart dan diagram activity.
Process view dari sebuah sistem meliputi thread dan proses-proses yang berbentuk konkruen dan mekanisme sinkronisasi sistem. View ini utamanya ditujukan untuk performansi, scability, dan throughput dari sistem. Dengan UML aspek statik dan dinamik dari view ini diberikan oleh diagram yang sama dengan aspek statik dan dinamik pada view desain, tetapi difokuskan pada active class yang mempresentasikan thread-thread dan proses-proses.
Implementasi view dari sebuah sistem meliputi komponen dan file yang digunakan untuk memasang dan peluncuran sistem secara fisik. View ini utamanya ditujukan untuk manajemen konfigurasi dari peluncuran sistem, membuat komponen-komponen bebas dan file dapat dipasang dalam bermacam-macam jalan untuk membuat sistem berjalan. Dengan UML aspek statik dari view ini diberikan oleh diagram component. Sedangkan untuk aspek dinamik diberikan diagram interaction, diagram statecart dan diagram activity.
Development view, dari sebuah sistem meliputi node dan topologi perangkat keras sistem pada saat eksekusi sistem. View ini utamanya ditujukan untuk distribusi, pengiriman, pemasangan dari berbagai pembuatan sistem fisik. Dengan UML aspek statik dari view ini diberikan oleh diagram-diagram deplayment, sedangkan aspek dinamik diberikan oleh diagram interaction, diagram statecart dan diagram activity.
4. Siklus Hidup Pembangunan Perangkat Lunak
Pada dasarnya UML tidak terlalu terkait dengan siklus hidup pembangunan perangkat lunak. Walaupun demikian untuk memperoleh sisi positif yang lebih banyak dari UML, maka hal-hal berikut ini perlu dipertimbangkan, yakni:
a. Use case driven
b. Arsithecture centric
c. Interative and incremental

Use case driven, menunjukkan use case-use case yang digunakan sebagai artifact utama untuk memperlihatkan behavioral dari sistem, validasi dan verifikasi arsitektur sistem, pengujian sistem dan komunikasi antar stakeholder pada proyek perangkat lunak
Arsithecture centric menunjukkan sebuah arsitektur sistem, digunakan sebagai artifact utama untuk konseptual, mengkonstruksi, mengelola dan menyusunan sistem secara terus menerus dalam rangka pengembangan sistem yang berkelanjutan.
Interative process, adalah pengaturan secara terus menerus secara terintegrasi dari arsitektur sistem untuk release-release berikutnya. Dalam hal ini masing-masing release baru akan menambah perbaikan terhadap release sebelumnya. Disamping itu, juga harus diperhatikan bersama-sama dengan interative process dan incremental process adalah pengendalian resiko. Hal ini dimasudkan agar dalam pengembangan release baru perlu difokuskan pada pemecahan dan pereduksian resiko yang signifikan dalam rangka mencapai keberhasilan proyek pengembangan perangkat lunak. Use case driven, arsithecture centric dan interative/incremental process dapat berhubungan satu sama lain dalam setiap fase pembangunan perangkat lunak, yakni fase iception, fase elaboration, fase contruction dan fase transition.

Daftar Pustaka
Al Bahra Bin Ladjamudin, Rekayasa Perangkat Lunak, Graha Ilmu, Yogyakarta, 2006

Bahrami,Ali. Object Systems Developmen. McGraw-Hill Companies, Inc.Singapore.1999

Gomma Hasan, Designing Concurent, Distributed, and Real Time Aplication With UML. Addison Wesley. Unit States
of America,2000

Domain

Apakah Domain itu ?
Domain adalah nama unik yang diberikan untuk mengidentifikasi nama server komputer seperti web server atau email server di internet.
Domain memberikan kemudahkan pengguna di internet untuk melakukan akses ke server dan mengingat server yang dikunjungi dibandingan harus mengenal deretan nomor atau yang dikenal IP.

Apa Perbedaan Domain dan Hosting
Hosting adalah space dalam server komputer yang di gunakan sebagai penempatan data dan file yang ada. Domain adalah alamat yang di gunakan untuk menuju tempat penempatan data dan file tersebut.
Dalam analogi sederhana :
Domain = Nomer kartu selular anda (081xxxxxxxx)
Hosting = Perangkat Telepon selular anda (nokia9500, motorola vrazer dll)

Level Domain
Top Level Domain adalah deretan kata dibelakang nama domain seperti

1. .com (dotcommercial)
2. .net (dotnetwork)
3. .org(dotorganization)
4. .edu(doteducation)
5. .gov(dotgoverment)
6. .mil(dotmilitary)
7. .info (dotinfo)
8. dll

Ada dua macam Top Level Domain, yaitu Global Top Level Domain (gTLD) dan Country Code Top Level Domain (ccTLD). gTLD adalah seperti yang pada di list diatas dan ccTLD adalah TLD yang diperuntukkan untuk masing-masing negara, seperti Indonesia dengan kode ID (co.id, net.id, or.id) atau Singapura dengan kode SG (com.sg, net.sg, dsb).

Second Level Domain (SLD) adalah nama domain yang anda daftarkan. Misalnya nama domain yang anda daftarkan adalah domainku.com, maka domainku adalah SLD dan .comnya adalah TLD.

Third Level Domain adalah nama setelah Second Level Domain . Misalnya nama domain yang anda miliki adalah domainku.com, maka anda dapat menambahkan nama lain sebelum domainku, yaitu mail.domainku.com atau estrex.domainku.com.
layanan yang menjual third level domain salah satunya adalah enom dengan : .us.com, .br.com, .cn.com, dll.
sementara yang memberikan secara cuma cuma adalah www.freedomain.co.nr memberikan .co.nr secara gratis dan www.co.cc yang memberikan .co.cc secara gratis