Algoritma dan Pemograman Pendekatan pemograman Modular
Algoritma dan Pemograman Pendekatan pemograman Modular
bismillah
KATA PENGANTAR
Dengan memanjatkan do'a dan puji syukur kehadirat Allah SWT serta sholawat serta salam tercurahkan ke junjungan kita Nabi Muhammad SAW, sehingga penulis dapat menyelesaikan makalah dengan judul Algoritma dan Pemograman Pendekatan pemograman Modular .Adapun penulisan makalah ini dapat terselesaikan berkat bantuan dari segala pihak yang menyelesaikan makalah ini.
Teknologi Informasi adalah salah satu jurusan di Fakultas Ilmu Pendidikan Universitas Almuslim yang lulusannya diharapkan menjadi pendidik yang profesional dibidangnya.. Teknologi Informasi dan Komunikasi adalah mata kuliah yang sangat perlu dikembangkan mengingat begitu besar peranannya dalam pendidikan, khususnya pada pembelajaran disekolah dengan menggunakan media.
Penulis menyadari akan kekurangan dalam penysunan makalah ini. Karena itu kami sangat mengharapkan kritik dan saran yang bersifat membangun dari semua pihak demi kesempurnaan makalah ini.
Matang, 1 Januari 2011
Penyusun
DAFTAR ISI
Kata Pengantar ................................................................................................... i
Daftar Isi ............................................................................................................ ii
Bab I Pendahuluan ............................................................................................. 1
1.1.Latar Belakang ..................................................................................... 1
1.2.Tehnik pemograman ............................................................................. 1
1.3.Bentuk sub modul ................................................................................ 2
Bab II Pembahasa ............................................................................................... 3
2.1.Model Top-Down ................................................................................ 3
2.2 Pendekatan Pemograman Modular .................................................... 4
2.3 Algoritma Welsh & Powell ................................................................ 9
2.4 Algoritma Prim .................................................................................... 11
Bab III Penutup .................................................................................................. 13
........ 3.1. Kesimpulan ......................................................................................... 13
3.2. Saran ................................................................................................... 13
Daftar Pustaka
BAB I
PENDAHULUAN
1.1. Latar Belakang
Pengertian LOGIKA:
Logika berasal dari bahasa Yunani yaitu LOGOS yang berarti ilmu. Logika pada dasarnya filsafat berpikir. Berpikir berarti melakukan suatu tindakan yang memiliki suatu tujuan. Jadi pengertian Logika adalah ilmu berpikir / cara berpikir dengan berbagai tindakan yang memiliki tujuan tertentu.
Pengertian ALGORITMA:
Pada Merriam-Webster’s Collegiate Dictionary, istilah algoritma diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau menyelesaikan suatu tugas. Kamus Besar Bahasa Indonesia (KBBI) mendefinisikan algoritma sebagai urutan logis pengambilan keputusan untuk pemecahan masalah.
Algoritma & Modular Programming Merupakan paradigma pemrograman yang pertama kali diperkenalkan oleh Information Ciri:
1. ada keyword return
2. ada tipe data yang mengawali fungsi
3 Pemrograman Modular:
Program dipecah-pecah kedalam modul-modul, dimana setiap modul Ciri-ciri pemrograman terstruktur. Mengandung teknik pemecahan masalah yang tepat Algoritma Pemrograman Yang Baik. Ciri-ciri algoritma pemrograman yang baik adalah : dapat membantu memecahkan masalah antara lain teknik Top Down dan teknik Modular. Mengenal Pemrograman Berbasis Obyek (OOP) pada C++ yang akan kita buat menjadi lebih modular Ciri -ciri dasar OOP.
B.Teknik Pemrograman
Penekanan pada pemrograman terstruktur
Struktur dasar
Menggunakan flow chart dan pseudocode
Menggunakan sistem modular.
Program dibuat dalam bentuk modul-modul untuk fungsi tertentu maupun
subroutine tertentu.
Modul-modul dikendalikan oleh modul utama (program utama
Modul bersifat independen (tidak ada modul yang dapat akses langsung
ke modul lain, kecuali modul pemanggil dan submodulnya sendiri)
Modul dapat diubah secara radikal tanpa mempengaruhi modul lain sejauh fungsi modul tidak berubah
Implementasi pemrograman modul menggunakan subroutine-subroutine digambarkan
sebagai berikut;
1.3. Bentuk sub module
Internal subroutine; berupa bagian dari program yang
menggunakannya
External subroutine;
bukan bagian dari program yang menggunakan modul itu.
Modul tersimpan dalam library dalam bentuk ”object module” yang siap
digunakan oleh modul-modul yang akan menggunakan.
Modul dapat digunakan untuk tugas lebih dari satu program
Dalam menggunakan, pemrograman perlu mengetahui di mana
diperoleh, namanya, bagaimana mengirim data padanya, dan
jabawan baliknya.
BAB II
PEMBAHASAN
2.1 MODEL TOP-DOWN
modul utama tunggal
sub modul dari suatu modul minimum dua. Bila hanya satu ditijau kembali seperti
contoh berikut ;
Teori Graf
Siklus Hamilton (Hamiltonian cycle) adalah siklus dalam graf G yang
mengandung setiap verteks di G tepat satu kali.
Contoh 10.1 :
Untuk graf G = (V,E) dalam Gambar 10.1, carilah sebuah siklus
Hamilton.
,,,,,.png
Penyelesaian :
Sebuah siklus Hamilton untuk graf G adalah siklus (a, b, c, d, e, f, g, a).
Masalah Perjalanan Wiraniaga
Soal perjalanan wiraniaga berkaitan dengan masalah pencarian siklus
Hamilton dengan panjang minimum dalam sebuah graf berbobot G.
Jika kita menganggap verteks-verteks dalam graf berbobot sebagai kota
dan bobot rusuk sebagai jarak, masalah perjalanan wiraniaga adalah
mencari sebuah rute terpendek sehingga wiraniaga tersebut dapat
mengunjungi setiap kota satu kali, berawal dan berakhir pada kota
yang sama.
Contoh 10.2 :
Selesaikanlah masalah perjalanan wiraniaga untuk graf berikut.
,,,,,,;l.png
Kita lihat bahwa siklus
Hamilton (a, b, c, d, a) dan
(a, d, c, b, a) merupakan
siklus Hamilton dengan
panjang minimum untuk G.
Penyelesaian :
Siklus Hamilton
Panjang
(a, b, c, d, a)
(a, b, d, c, a)
(a, c, b, d, a)
(a, c, d, b, a)
(a, d, b, c, a)
(a, d, c, b, a)
2+3+3+2 = 10
2+11+3+11 = 27
11+3+11+2 = 27
11+3+11+2 = 27
2+11+3+11 = 27
2+3+3+2 = 10
2.2 PENDEKATAN PEMROGRAMAN MODULAR
GRAPH
Graph terdiri dari simpul-simpul dan lintasan-lintasan.
Simpul
VERTEX : dapat mewakili peristiwa kata, sasaran, dan sebagainya.
Lintasan
Lintasan i j : menghubungkan simpul i dan j
Lintasan bearah ij : menunjujkkan lintasan yang dilewati 9ditunjukan dengan
anak panah) dari simpul i menuju j
Lintasan langsung i j: lintasan dari i ke j tanpabmelewati simpul yang lain.
Lintasan tak langsung ij : lintasan dari I ke j dengan melewati simpul lain.
GRAPH
3. Derajat simpul (vertex) :
k : menunujukkan cacah lintasan yang terhubung dengan simpul yang
bersangkutan.
Derajat simpul masuk k1 : menunjukkan cacah lintasan yang masuk menuju simpul
Derajat simpul keluar k2 : cacah lintasan yang keluar
Graph dapat mewakili :
jaringan transportasi
jaringan kegiatan suatu proyek dan lain-lain
Lintasan dapat mewakili : biaya operasi, jarak antara simpul
(kota), profit, dan sebagainya. Besaran dalam dimensinya
masing-masing
Graph dapat direpresentasikan dalam bentuk matrik lintasan
1 = ada lintasan
0 = tidak ada
simpul y Graph dapat
direpresentasikan dalam bentuk matrik
lintasan ang bersangkutan
→ 1 = TRUE
0 = FALSE
Graph dengan lintasan berarah = directed graph = diagraph
Graph dengan lintasan tak berarah = undirect graph = undiagraph
Disini hanya muncul ada atau tidak hubungan antara dua vertex ( dalam undirect graph
(undiagraph) lintasan tak berarah, matriks lintasannya simetris
Matrik lintasan tak berarah
1 = ada hubungan
0 = tidak ada hubungan
atau vertex itu sendir
bobot lintasan menunjukkan harga besaran yang diwakilinya. Dalam banyak kasus nilai
dalam lintasan menunjukkan harga besaran yang diwakilikinya.
Misalnya untuk masalah transportasi ada unsur-unsur matriks lintasan menunjukkan
biaya ( dalam satuan mata uang). Untuk vertex i ke j bila tidak ada lintasannya, biaya
= ∞ dan bila i biaya = 0
Nilai 0 dan ~
Tak ditulis
Dalam lintasan berarah, bobot lintasan yang dicantumkan dalam matrik lintasan hanya
bila ada lintasan ( matrik lintasan mungkin tidak simetris).
→ matrik lintasan mungkin tidak simetris
Contoh kasus :
mencari lintasan terpendek atau biaya termurah dari suatu perjalanan
perjalanan diawali dari salah satu vertex, menuju kepada semua vertex lain
Algoritma untuk menemukan lintasan terpendek dikenalkan oleh
E.Dijkstra
3. Awali pada lintasan (i) pada simpul (vo),
lintasan terpendek dari vo-v1. lingkup S→Vo.
5. Pilih vertex (v-s) sedemikian sehingga lintasan (v) minimu dari
semua lintasan dalam (v-s)
6. Untuk setiap u dalam 1-s, diperbarui lintasan (u) = min,
lintasan u, lintasan w, lintasan (v,w)
7. Ulangi langkah 2
Representasi dalam linklist
· Graph coloring adalah problem klasik algoritma tentang bagaimana caranya mewarnai graph dengan warna berbeda untuk setiap node yang ”berdekatan”
o Berdekatan berarti ada edge yang menghubungkan kedua node tersebut
o Nilai adjacency-nya lebih besar dari 0
· Tantangan dari problem ini adalah bagaimana caranya mengusahakan agar jumlah warna yang diperlukan seminimal mungkin.
· Edge coloring
o Bukan node yang diwarnai melainkan edge-nya. Sejumlah edge yang bertemu di node tertentu tidak boleh diberi warna yang sama.
· Region coloring
o Mewarnai sebidang wilayah yang terbagi atas sub-wilayah kecil.Setiap sub-wilayah yang memiliki perbatasan tidak boleh diberiwarna yang sama. Problem ini lebih terkenal dengan sebutan map coloring.
o Map coloring dapat diselesaikan dengan mengubahnya menjadi graph, mewarnai graph, kemudian dipetakan kembali.
CHROMATIC NUMBER
Diperlukan 3 warna untuk mewarnai graph di atas
Jumlah warna minimal yang harus dipakai untuk mewarnai sebuah
graph disebut chromatic number.
MAP COLORING
KONVERSI MAP KE GRAPH
2.3 ALGORITMA WELSH & POWELL
1. Urutkan node dalam sebuah graph berdasarkan jumlah edge yang terhubung padanya, secara descending (dari besar ke kecil)
2. Berdasarkan urutan di atas, warnai semua node dalam graph dengan warna 1
3. jika sebuah node tidak berbatasan dengan node yang sudah berwarna 1
4. Ulangi proses ini untuk warna 2, warna 3, dst hingga semua node telah diberi
5. Warna
Merupakan salah satu contoh algoritma Metode Greedy
Hasilnya belum tentu optimal
Penyelesaian secara optimal adalah NP-Complete problem
Baca bab 6.6 di buku untuk penjelasan detil langkah per langkah jalannya
algoritma Welsh & Powell
HASIL GRAPH COLORING
MAP COLORING
2.4 Algoritma Prim
Sebuah algoritma dalam teori graf untuk mencari pohon rentang minimum untuk sebuah graf berbobot yang saling terhubung. Ini berarti bahwa sebuah himpunan bagian dari edge yang membentuk suatu pohon yang mengandung node, di mana bobot keseluruhan dari semua edge dalam pohon diminimalisasikan. Bila graf tersebut tidak terhubung, maka graf itu hanya memiliki satu pohon rentang minimum untuk satu dari komponen yang terhubung. Algoritma ini ditemukan pada 1930 oleh matematikawan V.Jarnik dan kemudian secara terpisah oleh computer scientist Robert C.Prim pada 1957 dan ditemukan kembali oleh Dijkstra pada 1959. Karena itu algoritma ini sering dinamai algoritma DJP atau algoritma Jarnik.
Algoritma Prim
Untuk menentukan minimum spanning tree
Algoritmanya:
Inisialisasi tree T
T diperbaharui bila lintasan adalah minimum yang
menghubungkan vertex, dan vertex tak di T, maka T←T+e
Bila E(T) = p – 1 (p= cacah vertex maka output adalah E(T)).
Bila tidak, ke langkah 2.
Algoritma Prim.
Contoh :
Algoritma Bouruvka
Untuk menentukan minimum spanning tree
Algoritmanya:
4. Inisialisasi spanning Forest . F→Fp
5. Forest F diperbaharui. Untuk tiap komponen F’ dari hubungan
vertex F’ ke vertex lain dari F dengan lintasan minimum.
Set lintasan adalah S, sehingga F → F+ S
7. Lintasan |E(F)|=p-1 [ p cacah vertex maka output E(F),
sebaliknya ke langkah 2.
Algoritma Bouruvka
Contoh
BAB III
PENUTUP
3.1. Kesimpulan
Logika berasal dari bahasa Yunani yaitu LOGOS yang berarti ilmu. Logika pada dasarnya filsafat berpikir. Berpikir berarti melakukan suatu tindakan yang memiliki suatu tujuan. Jadi pengertian Logika adalah ilmu berpikir / cara berpikir dengan berbagai tindakan yang memiliki tujuan tertentu.
istilah algoritma diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau menyelesaikan suatu tugas
Algoritma & Modular Programming Merupakan paradigma pemrograman yang pertama kali diperkenalkan oleh Information
3.2. S a r a n
Penyusunan makalah ini dapat dianggap cukup,namun masih diperlukan tambahan perbaikan – perbaikan untuk menghasilkan makalah yang lebih baik lagi dan lengkap.
Adapun saran dari penyusun adalah perlu adanya perbaikan – perbaikan tambahan dari pembaca untuk kesempurnaan dalam pembuatan makalah ini
DAFTAR PUSTAKA
Oky Dwi Nurhayati, ST, MT (email: okydn@undip.ac.id)
|^_^| :)) :)] ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} ~x( :-t b-( x( =))