• Tidak ada hasil yang ditemukan

Berisi kesimpulan dan saran yang sudah diperoleh dari hasil penulisan tugas akhir.

BAB II

TINJ AUAN PUSTAKA

2.1. Algorithma Dan Pemr ograman

Pada era tahun 1950 –1960, kecepatan komputer sangat rendah dan disertai juga dengan keterbatasan dari media penyimpan, sehingga tentunya berakibat juga dengan keterbatasan dalam penulisan program-program komputer. Namun di era saat ini, dengan kecepatan komputer yang cukup handal demikian juga ketersediaan dari media penyimpan yang cukup handal dan besar, serta didukung juga dengan perkembangan bahasa pemrograman yang ada sehingga peneliti dapat dengan mudah membuat suatu program. Permasalahan yang timbul dalam pembuatan program tersebut adalah bagaimana peneliti dapat memahaminya, sehingga apabila terdapat perubahan yang akan dilakukan peneliti dapat memperbaikinya secara mudah. Hal ini tentu saja harus peneliti perhatikan terutama apabila peneliti melihat dari biaya yang harus dikeluarkan dalam pembuatan program tersebut. Istilah Pemrograman Terstruktur (Structured

Programming) mengacu dari suatu kumpulan tehnik yang dikemukan oleh Edsger

Dijkstra. Dengan tehnik ini akan meningkatkan produktifitas programmer, dengan mengurangi waktu yang dibutuhkan dalam penulisan (write), pengujian (test), penelusuran kesalahan (debug) dan pemeliharan (maintain) suatu program. Pada pembahasan berikut ini kita akan melihat bagaimana tehnik ini yang pendekatan yang dilakukan secara modular, dapat membantu kita dalam membangun suatu program.

Dalam pemrograman secara modular, suatu program akan dipilah kedalam sejumlah modul, dimana setiap modul menjalankan fungsinya sendiri. Tentunya fungsi yang dijalankan oleh setiap modul sangat terbatas sesuai dengan ruang lingkup yang akan dikerjakan. Dengan adanya sejumlah modul program ini tentu saja kesalahan yang timbul dapat dikurangi. Setiap program tentu akan memiliki program utamanya, yang kemudian akan memanggil sejumlah modul-modul yang ada.

Pemrograman secara modular ini dapat diimplementasikan dengan penggunaan subroutine, suatu kelompok instruksi yang menjalankan suatu pengolahan yang sifatnya terbatas seperti pencetakan, pembacaan untuk proses input atau untuk proses penghitungan. Subroutine dapat dikelompokkan menjadi

internal subroutine dan external subroutine. ( Sumber Pustaka : Roger S.

Pressman, 2003).

2.1.1. Internal Subr outines

Internal Subroutines adalah bagian dari suatu program yang digunakan.

Dideklarasikan cukup sekali saja, untuk sejumlah proses yang sama akan dilakukan oleh program tersebut. Program akan memanggil subroutines tersebut jika diperlukan dan apabila telah selesai, kontrol selanjutnya dikembalikan ke instruksi berikutnya. Instruksi yang mengendalikan kontrol transfer ke suatu

subroutine umumnya dikenal sebagai call dan return.

2.1.2. External Subroutines

Diletakkan secara terpisah dari program yang menggunakan subroutine tersebut. Subroutine ini dideklarasikan supaya bisa dipakai oleh program yang lain. Untuk menggunakannya tentu seorang programmer harus mengetahui

dimana ? , apa namanya ?, bagaimana pengiriman datanya ?, bagaimana jawaban yang akan diperoleh ?. Subroutine ini biasanya digunakan untuk pemrosesan yang komplek, yang dibutuhkan oleh banyak user.

2.1.3. Pendekatan Top Down

Pemrograman terstruktur mempergunakan Pendekatan Top-Down dalam perencanaan program. Merupakan pendekatan yang menggambarkan pemecahan modul kompleks/besar menjadi modul-modul yang lebih sederhana/kecil Berbentuk Struktur Hirarki. Di dalam pemrograman terstruktur, terdapat 3 bentuk struktur perintah yang dipergunakan :

a. Sequence Structure

b. Loop Structure

c. Selection Structure

Struktur perintah yang instruksinya dieksekusi berdasarkan urutannya. Dimulai dari bagian atas dan diakhiri di bagian bawahnya. Digambarkan dengan bujur sangkar, sebagai simbol untuk : Input dan Output Operasi aritmatika. Operasi pemindahan data dalam memori komputer. Menggambarkan perulangan eksekusi dari satu atau lebih instruksi Menggambarkan struktur yang mengeksekusi suatu instruksi hanya apabila kondisinya terpenuhi.

Algoritma merupakan sekumpulan langkah-langkah untuk menyelesaikan suatu tugas. Penamaan “Algoritma” diambil dari seorang ahli matematika bernama Al-Khwarizmi. Sebuah algoritma harus:

a. Jelas, tepat dan tidak membingungkan. b. Memberikan penyelesaian yang tepat. c. Mempunyai akhir.

Tujuh langkah dasar dalam pengembangan program : a. Definisi Masalah.

b. Outline Solusi.

c. Pengembangan outline ke dalam algoritma. d. Melakukan test terhadap algoritma.

e. Memindahkan algoritma ke dalam bahasa pemrograman. f. Menjalankan program pada komputer.

g. Dokumentasi dan pemeliharaan program.

h. Pada tahap ini memerlukan pemahaman terhadap permasalahan dengan membaca berulang kali sampai dengan mengerti apa yang dibutuhkan.

Setelah permasalahan didefinisikan, permasalahan dapat di bagi kedalam tugas tugas atau langkah langkah yang lebih kecil dan menghasilkan outline solusi. Outline solusi pada langkah kedua dikembangakan menjadi algoritma yaitu sebuah set langkah yang menggambarkan tugas yang akan dikerjakan dan urutan pengerjaannya.

Tujuan utama dari melakukan test terhadap algoritma adalah adalah untuk menemukan kesalahan utama logika sejak awal, sehingga akan lebih mudah diperbaiki. Data test diperlukan untuk melakukan test terhadap algoritma ini. Setelah ke-empat langkah sebelumnya dilakukan, maka pencodingan dapat dimulai dengan menggunakan bahasa pemrograman yang dipilih. Setelah pengcodingan, maka program dapat dijalankan pada komputer. Jika Program sudah didesain dengan baik, maka akan mengurangi tingkat kesalahan dalam melakukan testing program. Langkah ini perlu dilakukan beberapa kali, sehingga program yang dijalankan dapat berfungsi dengan benar. Dokumentasi melibatkan

eksternal dokumentasi (hierarchy chart, algoritma solusi, dan hasil data test) dan internal dokumentasi (coding program). Pemeliharaan program meliputi perubahan yang dialami oleh program (perbaikan ataupun penambahan modul, dan lain-lain). ( Sumber Pustaka : Roger S. Pressman, 2003).

2.2. Konsep Dasar Infor masi

Konsep dasar informasi adalah data yang kemudian diolah dengan kriteria tertentu untuk menghasilkan informasi yang dibutuhkan. Data dapat diartikan segala sesuatu yang perlu diolah terlebih dahulu untuk mendapatkan suatu informasi. Definisi Sistem Informasi Informasi merupakan hal yang sangat penting bagi manajemen dalam mengambil suatu keputusan. Suatu informasi dapat diperoleh dari sistem informasi atau juga disebut dengan Processing system atau information Processing system atau

information-generating system. Sistem informasi didefinisikan oleh Robert A.

Leitchdan K. Roscoe Davis adalah “suatu sistem didalam sebuah organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung orperasi, bersifat menejerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan”. Penggunaan teknologi komputer sangat diperlukan untuk membantu pengolahan data yang bersifat rutin dan membutuhkan ketelitian yang tinggi diantaranya : siklus informasi, kualitas informasi, nilai informasi.

a. Siklus Informasi

Siklus informasi data merupakan bentuk yang masih mentah sehingga perlu diolah untuk proses lebih lanjut. Data diolah melalui suatu model untuk dihasilkan informasi.Data yang diolah untuk menghasilkan informasi menggunakan suatu

model prosestetentu agar dapat lebih berguna dalam bentuk informasi. Data yang diolah melalui suatu model menjadi informasi, penerima kemudian menerima informasi tersebut, membuat suatu keputusan dan melakukan tindakan dan menghasilkan suatu tindakan yang akan membuat sejumlah data kembali. Data tersebut akan ditangkap sebagai input, diproses kembali melalui suatu model sampai membentuk suatu siklus informasi.

Gambar 2.1 Siklus Informasi ( Sumber Pustaka : Dikatara, 2011).

b. Kualitas Informasi

Kualitas informasi merupakan bagian dari karakteristik informasi,diukur

berdasarkan Relevansi, Tepat waktu, dan Akurasi hal ini dapat digambarkan pada gambar 2.2 dibawah ini

Gambar 2.2. Komponen Kualitas Informasi ( Sumber Pustaka : Dikatara, 2011).

Proses Out put Input Penerima Data Keput usan Hasil Tindakan Dasar Data R E L E V A N T E P A T A K U R A S I

c. Nilai Informasi

Nilai dari informasi ditentukan dari dua hal, yaitu manfaat dan biaya untuk mendapatkannya. Suatu informasi dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya untuk mendapatkannya. Akan tetapi perlu diperhatikan bahwa informasi yang digunakan didalam suatu sistem informasi umumnya digunakan untuk beberapa kegunaan. Sehingga tidak memungkinkan dan sulit untuk menghubungkan suatu bagian informasi pada suatu masalah tertentu dengan biaya untuk memperolehnya. Pengukuran nilai informasi biasanya dihubungkan dengan analisis Cost Effectiveness atau Cost Benefit. ( Sumber

Pustaka : Dikatara, 2011).

2.3. Teorema Graph

Dalam matematika dan ilmu komputer, teori grafik adalah studi tentang grafik, struktur matematis yang digunakan untuk model hubungan berpasangan antara objek dari koleksi tertentu. Sebuah "grafik" dalam konteks ini mengacu pada koleksi simpul atau 'node' dan koleksi tepi yang menghubungkan pasangan

vertex. Sebuah grafik dapat diarahkan, yang berarti bahwa tidak ada perbedaan

antara dua simpul yang terkait dengan setiap sisi, atau tepi yang dapat diarahkan dari satu titik ke yang lain; lihat grafik (matematika) untuk definisi yang lebih rinci dan untuk variasi lain dalam jenis grafik yang biasanya dipertimbangkan. Grafik dipelajari dalam teori graf tidak harus bingung dengan grafik fungsi atau jenis lain dari grafik.

Grafik adalah salah satu model yang paling fleksibel untuk struktur alam dan buatan manusia. Mereka dapat digunakan untuk model berbagai jenis hubungan dan dinamika proses secara fisik, biologis dan sistem sosial. Banyak

masalah kepentingan praktis dapat diwakili oleh grafik. Dalam ilmu komputer, grafik digunakan untuk mewakili jaringan komunikasi, data organisasi, perangkat komputasi, perhitungan aliran, dan lain-lain Salah satu contoh praktis: Struktur link dari sebuah situs web dapat diwakili oleh sebuah grafik diarahkan. Simpul adalah halaman web tersedia di situs web dan tepi diarahkan dari halaman A ke B Halaman ada jika dan hanya jika A berisi link ke B. Pendekatan yang sama dapat diambil untuk masalah dalam perjalanan, biologi, desain chip komputer, dan banyak bidang lainnya. Perkembangan algoritma untuk menangani grafik karenanya kepentingan utama dalam ilmu komputer. Ada, transformasi grafik sering diformalkan dan diwakili oleh sistem menulis ulang grafik. Mereka baik secara langsung digunakan atau sifat dari sistem menulis ulang (misalnya pertemuan) yang dipelajari. Melengkapi sistem transformasi grafik fokus pada aturan-yang berbasis di-memori manipulasi grafik diarahkan database transaksi-aman, penyimpanan persisten dan query dari grafik-terstruktur.

Ada banyak literatur pada teori grafis. Beberapa diantaranya ditemukan dibuat oleh Harary dan Palmer (1973). Masalah yang umum, yang disebut masalah isomorfisme subgraf, adalah menemukan grafik tetap sebagai suatu subgraf dalam grafik yang diberikan. Salah satu alasan untuk tertarik pada pertanyaan seperti itu adalah bahwa sifat-sifat grafik banyak keturunan untuk

subgraphs, yang berarti bahwa grafik memiliki properti jika dan hanya jika semua

subgraphs memilikinya juga. Sayangnya, menemukan subgraphs maksimal dari jenis tertentu seringkali merupakan masalah NP-complete. Masalah yang sama adalah menemukan subgraphs diinduksi dalam grafik yang diberikan. Sekali lagi, beberapa sifat grafik penting adalah keturunan sehubungan dengan subgraphs

diinduksi, yang berarti bahwa grafik memiliki properti jika dan hanya jika semua

subgraphs diinduksi juga memilikinya. Mencari subgraphs diinduksi maksimal

dari jenis tertentu juga sering disebut NP-complete. Berikut ini merupakan salah contoh model graph berbobot dan tidak berbobot :

Gambar 2.3. Contoh Model Graph Tanpa Bobot( Sumber Pustaka :

Wikipedia, 2011).

Gambar 2.4. Contoh Model Graph Dengan Bobot ( Sumber Pustaka : Elnico,

2011).

Banyak terminologi yang akan sering digunakan dalam pembahasan graph, diantaranya :

a. Bertetangga (Adjacent) : Dua buah simpul pada graf tak-berarah G dikatakan bertetangga jika keduanya terhubung langsung dengan sebuah sisi.

b. Bersisian (Incident) : Untuk sembarang sisi e = (vj, vk), sisi e dikatakan bersisian dengan simpul vj dan vk.

c. Simpul Terpencil (Isolated Vertex) : Simpul yang tidak mempunyai sisi yang bersisian dengannya disebut simpul terpencil.

d. Graf Kosong (Null Graph atau Empty Graph) : Graf yang himpunan sisinya merupakan himpunan kosong disebut graf kosong.

e. Derajat (Degree) : Derajat suatu simpul pada graf tak berarah adalah jumlah sisi yang bersisian dengan simpul tersebut. Pada graf berarah, derajat suatu simpul ialah jumlah busur yang masuk ke simpul ditambah dengan jumlah busur yang keluar dari simpul.

f. Lintasan (Path) : Lintasan yang panjangnya n dari simpul awal vo ke simpul tujuan vn di dalam graf G ialah barisan berselang-seling simpul-simpul dan sisi-sisi yang berbentuk v0, e1, v1, e2, v2, … , vn-1, en, vn, sedemikian sehingga e1 = (v0,v1), e2 = (v1,v2), … , en = (vn-1,vn) adalah sisi-sisi dari graf G dengan panjang lintasan adalah jumlah sisi dalam lintasan tersebut. g. Siklus (Cycle) atau Sirkuit (Circuit) : Lintasan yang berawal dan berakhir

pada simpul yang sama disebut sirkuit atau siklus. Panjang sirkuit adalah jumlah sisi di dalam sirkuit tersebut.

h. Terhubung (Connected) : Graf tak berarah G disebut graf terhubung jika untuk setiap pasang simpul vi dan vj dalam himpunan V terdapat lintasan dari vi ke vj. Jika tidak, maka graf G tak terhubung.

i. Upagraf (Subgraph) dan Komplemen Upagraf : Misalkan G = (V,E) adalah sebuah graf. G1 = (V1, E1) adalah upagraf dari G jika V1 ⊆ V dan E1 ⊆ E. Maka, komplemen dari upagraf G1 terhadap graf G adalah graf G2 = (V2, E2) sedemikian sehingga E2 = E – E1 dan V2 adalah himpunan simpul yang anggota-anggota E2 bersisian dengannya.

j. Upagraf Merentang (Spanning Subgraph) : Upagraf G1 = (V1, E1) dari G = (V,E) dikatakan upagraf merentang jika V1 = V (yaitu G1 mengandung semua simpul dari G)

k. Cut-Set : Cut-set dari graf terhubung G adalah himpunan sisi yang bila

dibuang dari G menyebabkan G tidak terhubung. Jadi, cut-set selalu menghasilkan dua buah komponen terhubung. Nama lain untuk cut-set ialah bridge (jembatan).

l. Graf Berbobot (Weighted Graph) : Graf berbobot adalah graf yang setiap sisinya diberi sebuah harga (bobot). Graf inilah yang digunakan untuk mencari lintasan terpendek. ( Sumber Pustaka : Syaifulhamzah, 2011 )

2.4. Pemanfaatan J alur Terpendek

Pencarian jalur terpendek diterapkan untuk secara otomatis mencari arah antara lokasi fisik, seperti mengemudi petunjuk pada pemetaan situs web seperti

MapQuest atau Google Maps. Jika salah satu merupakan mesin abstrak

nondeterministic sebagai grafik di mana simpul menggambarkan keadaan dan tepi

menggambarkan transisi mungkin, algoritma jalur terpendek dapat digunakan untuk menemukan urutan optimal pilihan untuk mencapai keadaan tujuan tertentu, atau untuk menetapkan batas bawah pada waktu yang dibutuhkan untuk mencapai

keadaan tertentu. Dalam pola pikir jaringan atau telekomunikasi, ini masalah jalan terpendek adalah kadang-kadang disebut masalah jalan min-delay dan biasanya diikat dengan masalah jalan terluas. Sebagai contoh, algoritma dapat mencari jalan terpendek terluas, atau terluas terpendek. ( Sumber Pustaka : Syaifulhamzah,

2011 )

2.5. Algorithma Dijkstra

Algoritma Dijkstra, dikembangkan oleh ilmuwan komputer Belanda Edsger Dijkstra pada tahun 1956 dan diterbitkan pada tahun 1959, adalah sebuah pencarian grafik algoritma yang memecahkan masalah jalan satu sumber terpendek untuk sebuah grafik dengan bobot tepi nonnegatif, menghasilkan berupa pohon jalur terpendek. Algoritma ini sering digunakan dalam routing dan sebagai subrutin dalam algoritma grafik lainnya.

Untuk sumber simpul tertentu (node) di grafik, algoritma menemukan jalan dengan bobot terendah (yaitu lintasan terpendek) antara yang simpul dan setiap simpul lainnya. Hal ini juga dapat digunakan untuk mencari jalur terpendek dari simpul tunggal untuk tujuan tunggal simpul dengan menghentikan algoritma sekali jalur terpendek ke tujuan sebelumnya yang telah ditentukan. Misalnya, jika simpul dari grafik mewakili kota-kota dan tepi jalan merupakan jarak antara pasangan kota dihubungkan oleh jalan langsung, algoritma Dijkstra dapat digunakan untuk menemukan rute terpendek antara satu kota dan semua kota lain. Akibatnya, jalur terpendek pertama banyak digunakan dalam protokol jaringan routing, terutama IS-IS dan OSPF (Open Shortest Path First).

Algoritma Dijkstra asli tidak menggunakan antrian prioritas min-dan berjalan dalam O (| V | 2). Ide dari algoritma ini juga diberikan dalam (Leyzorek et al. 1957). Implementasi umum berdasarkan antrian min-prioritas dilaksanakan oleh tumpukan fibonacci dan berjalan dalam O (| E | + | V | log | V |) adalah hasil penelitian Fredman (Fredman & Tarjan 1984). Ini adalah asimtotik yang dikenal tercepat satu sumber-jalan terpendek algoritma untuk grafik diarahkan secara khusus dengan bobot nonnegatif terbatas.

Langkah-langkah Algoritma Dijkstra :

1. Inisialisasikan suatu nilai jarak untuk setiap vertex dengan nilai 0 untuk simpul awal dan nilai tak hingga untuk setiap simpulnya. 2. Tandailah seluruh simpul sebagai belum dikunjungi dan fentukan

simpul a sebagai simpul saat ini.

3. Untuksimpul saat ini, perhitungkan seluruh tetangga langsungnya yang belum dikunjungidan kalkulasikan jarak alternativ dari simpul

a.Jika jarak yang didapatkan lebih kecil daripada jarak yang sudah

dicatat sebumya, maka jarak yang minimum akan disimpan.

4. Jika kita sudah selesai dengan pengecekan terhadap semua tetangga terdekat dari simpul saat ini, simpul ditandai sebagai sudah dikunjungi.

5. Sebuah simpul yang sudah ditandai sebagai sudah dikunjungi tidak akan pernah diperiksa ulang dan jarak yang tercatat adalah akhir dan minimal.

6. Jika seluruh simpul sudah selesai dikunjungi, maka selesai, selain daripada itu dipilih simpul dengan jarak minimum dari simpul a

untuk ditetapkan sebagai simpul saat ini dan ulangi langkah 3.( Arie,

2009 )

Berikut ini merupakan Flowchart dari algorithma dijkstra secara umum:

Gambar 2.5. Flowchart Algoritma Dijkstra

2.6. Algorithma Bellman Ford

Algoritma Bellman-Ford menghitung satu sumber jalur terpendek dalam sebuah digraf berbobot. Untuk grafik dengan hanya non-negatif bobot tepi, algoritma Dijkstra lebih cepat juga memecahkan masalah. Jadi, Bellman-Ford

digunakan terutama untuk grafik dengan bobot tepi negatif. Algoritma ini dinamai sesuai pembuatnya, Richard Bellman dan Lester Ford Jr.

Jika graf berisi "siklus negatif", yaitu, siklus yang ujung-ujungnya jumlah untuk nilai negatif, kemudian berjalan sewenang-wenang berat badan rendah dapat dibangun, yaitu, mungkin tidak ada jalan terpendek. Bellman-Ford dapat mendeteksi siklus negatif dan melaporkan keberadaan mereka, tetapi tidak dapat menghasilkan jawaban yang benar jika siklus negatif dicapai dari sumber.

Menurut Robert Sedgewick, "bobot negatif tidak hanya keingintahuan matematika, muncul dalam cara alami ketika kita mengurangi masalah lain untuk jalur terpendek ". Ketika graph G berisi siklus negatif. Satu NP-Complete varian dari masalah jalan terpendek mencari jalur terpendek di G (mengandung siklus negatif) sehingga tidak ada tepi diulang. Sedgewick memberikan pengurangan dari masalah jalan Hamiltonian ini merupkan masalah varian.

Bellman-Ford mempunyai struktur dasar yang sangat mirip dengan algoritma Dijkstra, tapi bukannya rakus memilih node minimum berat badan yang belum diproses untuk diperiksa, itu hanya melepaskan semua tepi. Pengulangan memungkinkan jarak minimum untuk secara akurat menyebarkan seluruh grafik, karena, dalam ketiadaan siklus negatif, jalur terpendek hanya dapat mengunjungi setiap node paling banyak sekali. Berbeda dengan pendekatan Greedy, yang tergantung pada asumsi-asumsi struktural tertentu berasal dari bobot positif, pendekatan langsung meluas ke kasus umum.

Struktur dasar dari Algoritma Bellman Ford sangatlah menyerupai yang ada pada Algoritma Dijkstra , akan tetapi dibandingkan dengan memilih simpul dengan bobot minimum yang belum digunakan secara greedy, algoritma Bellman

Ford secara sederhana melakukan pengecekan terhadap semua sisi dan melakukannya sejumlah V-1 kali, dimana V adalah banyaknya simpul yang terdapat didalam graf. Pengulangan ini memungkinkan jarak terpendek untuk dihitung secara akurat bertahap di dalam graf dengan kemungkinan suatu simpul dikunjungi dalam lintasan tersebut adalah sebanyak-banyaknya satu kali saja.

Bellman-Ford berjalan dalam O (| V | · | E |) waktu, dimana | V | dan | E | adalah jumlah simpul dan tepi masing-masing. ( Arie, 2009 )

Berikut ini adalah flowchart algorithma Bellman-Ford :

2.7. Unified Modelling Language

Unified Modelling Language (UML) adalah sebuah "bahasa" yang telah

menjadi standar dalam industri untuk menentukan, visualisasi, merancang dan mendokumentasikan artifact dari sistem software, untuk memodelkan bisnis dan sistem non software lainnya. UML merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam memodelkan sistem yang besar dan kompleks.

Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.

Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented

Object Management Group, Inc. (OMG) adalah sebuah organisasi

international yang dibentuk pada 1989, didukung lebih dari 800 anggota, terdiri dari perusahaan sistem informasi, software developer, dan pada user sistem komputer. Organisasi ini salah satunya bertugas membuat spesifikasi “manajemen objek” untuk menetapkan kerangka bersama dalam rekayasa software.

Gambar 2.7. Metodologi dalam UML ( Sumber Pustaka : Egadinioniputri, 2011 )

Sasaran OMG adalah membantu perkembangan object-oriented

technology dan mengarahkannya dengan mendirikan Object Management

Architecture (OMA). OMA menentukan infrastruktur konseptual yang didasarkan

pada seluruh spesifikasi yang dikeluarkan OMG.

OMG kemudian mengeluarkan UML, dimana dengan adanya UML ini diharapkan dapat mengurangi kekacauan dalam bahasa pemodelan yang selama ini terjadi dalam lingkungan industri. UML diharapkan juga dapat menjawab masalah penotasian dan mekanisme tukar menukar model yang terjadi selama ini.

Saat ini piranti lunak semakin luas dan besar lingkupnya, sehingga tidak bisa lagi dibuat asal-asalan. Piranti lunak saat ini seharusnya dirancang dengan memperhatikan hal-hal seperti scalability, security, dan eksekusi yang robust

walaupun dalam kondisi yang sulit. Selain itu arsitekturnya harus didefinisikan dengan jelas, agar bug mudah ditemukan dan diperbaiki, bahkan oleh orang lain selain programmer aslinya. Keuntungan lain dari perencanaan arsitektur yang matang adalah dimungkinkannya penggunaan kembali modul atau komponen untuk aplikasi piranti lunak lain yang membutuhkan fungsionalitas yang sama.

Pemodelan (modeling) adalah proses merancang piranti lunak sebelum melakukan pengkodean (coding). Model piranti lunak dapat dianalogikan seperti pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah

Dokumen terkait