• Tidak ada hasil yang ditemukan

Depth First Search Antara Fungsional Dan Imperatif

N/A
N/A
Protected

Academic year: 2016

Membagikan "Depth First Search Antara Fungsional Dan Imperatif"

Copied!
9
0
0

Teks penuh

(1)

D EPTH FI RST SEARCH

AN TARA FUN GSI ON AL D AN I M PERATI F

SUYAN TO

Fa k u lt a s M a t e m a t ik a D a n I lm u Pe n ge t a h u a n Ala m Ju r u sa n M a t e m a t ik a

Un iv e r sit a s Su m a t e r a Ut a r a

Abst r a k

Beber apa sifat dasar dar i pem r ogr am an secar a fungsional seper t i ket er sediaan fungsi- fungsi ber or de t inggi ( higher - or der funct ions) dan sifat lazy evaluat ion, m enj anj ikan pendekat an bar u dalam r ekayasa per angkat lunak dengan banyak kem udahan baik dalam r ase disain dan im plem ent asi ( r apid pr ot o t yping) m aupun dalam fuse penget esan dan pelacakan kesalahan yang pada akhir nya ak an m engur angi biaya pem r ogr am an. Nam un dem ikian ada pendekat an dasar yang ber beda yang digunakan pada pem r ogr am an fungsional dibandingkan pem r ogr am an im per at if yang sudah m em ber ikan banyak kont r ibusi pada per kem bangan dan k em aj uan aplik asi k om put er sepert i y ang sudah kit a r asakan hingga sekar ang ini. Per bedaan t er sebut bukan hanya per bedaan pada sint aks pem r ogr am an t et api lebih dar i it u adalah per bedaan dalam ker angka ber fik ir. Dengan m encoba m ener apkan algor it m a gr aph, lebih khususnya DFS pada kedua pendekat an t er sebut , paper ini ber m aksud unt uk m em ber ikan beber apa ar ahan dan per spekt if pada par a pem r ogr am yang ber asal dar i kom unit as im per at if unt uk dapat j uga m elakukan elabor asi dar i kem am puan bahasa fungsional.

1 . Pe n da h u lu a n

Pem r ogr am an Fungsional disebut dem ikian kar ena m em ang dalam sebuah pr ogr am selur uhnya hanya t er diri dar i fungsi- fungsi. Progr am ut am a it u sendir i dit ulis sebagai fungsi yang m ener im a m asukan pr ogr am sebagai ar gum ent dan m enghasilkan keluar an pr ogr am sebagai r esult . Biasanya pr ogr am ut am a didefinisikan dalam fungsi- fungsi ber or de t inggi, dan fungsi- fungsi t er sebut didefinisikan dalam fungsi- fungsi lain yang m em punyai orde lebih r endah, dem ikian set erusny a hingga pada lev el y ang paling rendah y ait u language prim it iv es.

Kar akt er ist ik dan keunt ungan pem r ogr am an fungsional ser ing dir angkum sebagai ber ikut . Pem r ogr am an fungsional t idak m engandung pem yat aan assignm ent s, sehingga var iabel- var iabelnya, sekali diber i har ga t idak akan per nah ber ubah. Dengan dem ikian secar a um um pem r ogr am an fungsional sam a- sekali t idak m engandung side- effect s. Suat u pem anggilan fungsi t idak m em puny ai efek selain penghit ungan hasilny a. Hal ini m engelim inasi peny ebab ut am a adany a bugs dan sem ua hal yang m em buat ur ut an pengeksekusian m enj adi t idak r elevan kar ena t idak per nah ada side- effect yang dapat m er ubah har ga dar i suat u ekspr esi, sehingga dapat dievaluasi kapan saj a kit a m at i. Hal ini m em bebaskan pem rogram dari beban unt uk m endefinisik an flow of cont rol.

(2)

Per kem bangan t er akhir dibidang kom put asi t eorit is, khususnya dibidang t ype t heor y dan cat egory t heor y, t elah m enyar ankan pendekat an bar u yang m em ungkinkan unt uk m engint egr asikan kelebihan- kelebihan dar i bahasa m ur ni dan t idak m ur ni yait u dengan m enggunakan m onads ; yang m engint egr asik an efek- efek im pur e kedalam bahasa fungsional yang pur e.

Gofer adalah envir onm ent ( dengan kat a lain, sebuah int er pr et er ) unt uk pem r ogr am an pur e fungsional yang pada pr insipnya sam a dan dalam beber apa hal ber usaha m enir u Haskel com piler. Tet api t idak sepert i Hask el y ang k om ersial, Gofer m er upakan pr ogr am publik . Pener apan DFS fungsional dalam paper ini dit ulis dalam Gofer dan DFS im per at if dit ulis dengan C.

2 . Algor it m a Gr a ph

Algor it m a gr aph t idak m em punyai sej ar ah yang m engunt ungkan dalam bahasa fungsional yang pur e. Belum sem uanya t er j elaskan seper t i m isalnya bagaim ana car a unt uk m engekspresikan algor it m a t anpa m enggunakan side- effect s unt uk m eningkat k an efisiensi dan bahasa yang ber sifat lazy ,yang secar a alam i m enghindari side- effect s t er sebut . Menur ut Launcbur r y, r epr esent asi gr aph yang sudah dlakukan or ang secar a m ur ni t er kadang lebih bur uk dibandingkan dengan represent asiny a dalam secara im perat if t r adisional, baik dalam uk uran graph ( m enj adi kuadr at ik) m aupun com pact ness dar i pr ogr am . Oleh kar ena it u ia m anaw ar kan pendekat an bar u dalam pener apan algor it m a gr aph secar a fungsional dim ana pendekat an t er sebut dipakai sebagai acuan pada paper ini.

Per hat ian kit a pusat kan pada algor it m a DFS. Algor it m a DFS per t am a kali diper kenalk an oleh Tar j an dan Hopcr oft 20 t ahun yang lalu. Mer eka m enunj ukkan bagaim ana DFS dapat digunakan unt uk m engkonst r aksikan sej ur nlah algor it m a gr aph yang efisien. Dalam pr akt eknya hal ini dilakukan dengan m enem pelkan code fr agm ent s yang dibut uhkan unt uk algor it m a t er sebut kedalam pr osedur DFS sehingga dapat kit a dapat m enghasilkan inform asi y ang relev an k et ik a penelusur an/ pencar ian ( sear ch) ber langsung. Walaupun pendekat an im per at if t r adisional t er sebut diat as cukup elegan t er nyat a pendekat an t er sebut m em punyai beber apa kelem ahan. Per t am a, kode pr ogr am DFS j alin- m enj alin ( int er t w inned) dengan kode pr ogr am dar i algor it m a yang gr aph t ert ent u ( rnisalnya colour ing/ pew ar naan edges) sehingga program m enj adi m onolit ik. Kode program t idak dibangun dengan kom ponen- kom ponen yang dapat digunakan kem bali ( r e-use) , dan t idak ada pem isahan ant ar a r ase- r ase yang sebenarnya secar a logis t er pisah. Kedua, unt uk dapat m enur unkan algor it m a DFS, kit a har us m engasum sikan suat u pr oses dinam ik apa dan kapan sesuat u t er j adi dan pem ikir an seper t i it u adalah sangat kom pleks.

Kadang- kadang, DFS for est diper kenalkan dalam r angka unt uk m enyediakan sebuah harga st at ic unt uk m em bant u penalar an. Kit a m em bangunnya diat as ide t er sebut . Jika kit a m em punyai suat u DFS for est yang eksplisit , adalah m em bant u penalar an kit a, m aka selam a over heads m asih dapat dit er im a, hat t er sebut baik unt uk pem r ogr am an. Pada paper ini kit a m enyaj ikan beber apa algor it m a DFS sebagai kom binasi dar i kom ponen- kom ponen st andar, m elew at kan har ga- har ga int erm ediat e dari sat u fungsi k e fungsi lain secara ek splisit , dan hasilny a adalah t ingk at m odularit as y ang lebih baik dibanding algor it m a t radisional.

(3)

2 .1 Re pr e se n t a si Gr a ph Adj a ce n cy List s

Kit a m er epresent asikan gr aph sebagai im m ut able array , y ang diindek s dengan vert eks- ver t eksnya, dim ana set iap kom ponen dar i ar r ay adalah sebuah list dari v ert ek s- v ert ek s yang 'reachable' sepanj ang edge t unggal. Hal ini m em berik an w ak t u pengak sesan y ang k onst an.

Gr aph dapat dipandang sebagai sebuah t abel yang diindeks oleh ver t eks-ver t eks.

t ype Table a = Ar r ay Ver t ex a t ype Gr aph = Table [ Vert ex]

Tipe dar i Ver t ex dapat ber upa sebar ang t ipe yang dipunyai oleh kelas indeks I x dar i Gofer, sepert i I nt , char, t uples of indices, dan lain- lain. Unt uk saat ini k it a ak an m engasum sikan :

t ype Ver t ex = Char

Kit a akan m em buat penyeder hanaan asum si bahw a ver t eks- vert eks dar i gr aph adalah t ipe k ont inyu ( m isalny a angka dar i 0 - 59, at au kar akt er dar i 'a' sam pai 'z' dan lain- lain) . Jika t idak m aka suat u fungsi hash har us dipakai unt uk pem et aan. Kar ena kit a m engasum sikan kont inuit as, biasanya kit a akan m er epr esent asikan list of ver t ices dengan sebuah pasangan t it ik t epi :

t ype Bounds = ( Ver t ex, Ver t ex)

ar r ay pada Gofer dilengkapi dengan oper at or pengindeksan ( ! ) dan fungsi- fungsi : indices ( m engem balik an sebuah list dar i indeks- indeks) dan bounds ( yang

m engem balikan sebuah pasangan indeks t erk ecil clan indek s t erbesar) .

Unt uk m em anipulasi t abel- t abel ( t er m asuk gr aphs) kit a m endefinisikan suat u fungssi num er ik gener ik yat u m apT yang m engaplik asikan ar gum en fungsiny a pada set iap t abel pasangan indeks/ ent r y, dan m encipt akan t abel bar u.

m apT : : ( Ver t ex - > a - > b) - > Table a - > Table b

m apT f t = ar r ay ( bounds t ) [ v : = f v ( t ! v) ⏐v < - indices t ]

fungsi ar r ay dar i Gofer m engam bil t epi- t epi at as dan baw ah dan sebuah list dar i pasangan indeks/ har ga, dan m em bangun array dariny a dalam w at u y ang linier.

Akhir nya, kadang- kadang ber guna unt uk m ent erj em ahk an sebuah list berurut an dalam look - t ip- t able y ang m em perlihat k an posisi dar i v ert ex dalam list . Unt uk keper luan kit a dapat m enggunak an fungsi t abulat e:

Tabulat e : : Bounds - > [ Ver t ex] - > Table I nt Tabulat e bnds vs = ar r ay bnds ( zip vs [ i ..] )

yang m er ingkas ver t eks- ver t eks ber sam a dengan bilangan bulat posit if 1,2,3,... dan m em bangun sebuah ar r ay dar i angka- angka t er sebut ( dalam w akt u t inier ) , yang diindeks oleh ver t eks- ver t eksnya.

2 .2 . Edge s

(4)

adalah spar se, kit a j uga per lu m enget ahui pasangan- pasangan vert eks it u secar a t er pisah.

t ype VE = ( Bounds, [ Ver t eks : = Ver t eks ] ) edges : : Graph - > VE

edges g = ( bounds g, [ v: = w ⏐ v < - indices g, w < - g! v] )

Unt uk m em bangun sebuah gr aph dar i sebuah list of edges k it a m endefinisik an sebuah fungsi

BuildG.

BuildG : : VE - > Graph

BuildG ( bnds,s) = accum Ar r ay snoc [ ] bnds es w here snoc x s x = x : xs

2 .3 Ope r a si- ope r a si se de r h a n a

Unt uk m enem ukan im m ediat e sucessor s dari sebuah ver t eks dalam sebuah gr aph g kit a secar a seder hana akan m enghit ung g ! v, yang m engem balikan a list of ver t ices.

M e n t r a n spose gr a ph

Menggabungkan fungsi edges dan buildG m em berik an k it a cara unt uk m em balik sem ua edges dalar n sebuah gr aph dengan fungsi t r asposeG :

t r ansposeG : : Gr aph - > Gr aph

t ransposeG g = buildG ( v s, ( w : = v < - es] ) w her e ( vs,es) = edges g

kit a m engekst r ak edges dar i gr aph or isinil, m em balik ar ahnya dan m em bangun kem bali gr aph dengan edges yang bar u.

Ou t D e gr e e da n I n D e gr e e

Menggunakan m apT kit a dapat m endefinisik an,

out degr ee : : Gr aph - > Table I nt out degr ee g = m apT num Edges g

w her e num Edges v w s = lengt h w s

yang m em bangun sebuah t abel yang t er diri dar i j um lah edges yang keluar dar i sebuah ver t eks.

Dengan m enggunakan t r ansposeG kit a dapat secar a cepat m endefinisikan sebuah t abel indegr ee unt uk ver t ek s- ver t eks :

indegr ee : : Gr aph - > Table I nt

lindegr ee g = out degr ee ( t r ansposeG g)

3 . D FS

(5)

ver t eks yang t idak puny a edges yang m engant ar kit a ke ver t eks- ver t eks lain yang belum dik unj ungi. Pada saat ini k it a back t rack clan m ener uskan dari ver t eks t er akhir yang m engant ar kan kepada ver t eks yang belum dikunj ungi.

Akhir nya kit a akan m encapai sebuah t it ik dim ana set iap ver t eks yang 'r eachable' dar i ver t eks aw al sudah dikunj ungi sem ua. Jika m asih ada ver t eks yang t ersisa, k it a pilih sat u dan m em ulai pencar ian lagi, sam pai akhim y a set iap vert eks sudah dikunj ungi sekali, dan set iap edge sudah diuj i.

Pada paper ini yang m engacu kepada peker j aan Launchbur r y, kit a m engkonsent r asik an pada DFS yang lebih sebagai sebuah spesifik asi unt uk sebuah har ga ( value) dar ipada sebagai sebuah proses. Har ga yang dispesifikasi adalah spanning for est yang didefinisikan oleh sebuah DF t r aver sal dar i sebuah gr aph, yakni sebuah sub- gr aph t er t ent u dar i gr aph aslinya yang ket ika m engandung sem ua ver t eks, biasanya m enghilangkan banyak edges.

3 .1 Spe sifik a si da r i D FS

Sebagai pendekat an pada algor it m a DFS yang kit a eksplor dalam paper ini adalah unt uk m em anipulasi dept h- fir st for est secar a eksplisit , t ahap per t am a adalah m engkonst r uksi dept h- fir st for est dar i sebuah gr aph. Unt uk m elakukan hal t er sebut kit a m em but uhkan definisi t r ees dan for est s.

Sebuah forest adalah a list s of t rees, dan sebuah t r ees adalah sebuah node yang m engandung beber apa value, ber sam aan dengan sebuah for est dar i sub- t r ees. Baik t rees m aupun forest s keduanya polim orphic dalam t ipe dari dat a yang boleh m er eka kandung.

Dat a Tree a = Node a ( Forest a) t ype For est a = [ Tr ee a]

Sebuah DFS dar i sebuah graph m engam bil suat u gr aph dan sebuah ur ut an aw al ver t eks- ver t eks. Sem ua ver t eks dalam graph dalam ur ut an aw alnya akan m enj adi t he r et urn for est .

dfs : : Graph - > [ Vert ex ] - > Forest Vert ex

fungsi ini m erupak an int i dari bahasan ini.

3 .2 . I m ple m e n t a si D FS

Dalam r angka m ener j em ahkan sebuah gr aph m enj adi sebuah dept h- fir st spanning t ree kit a m enggunakan suat u t eknik um um yang digunakan dalam pem r ogr am an fungsional yang bersifat lazy: gener at e t hen pr une. Diber ikan sebuah gr aph dan a list of ver t ices, per t am a kit a akan m en - gener at e sebuah for est ( m ungkin saj a infinit e) yang t er diri dar i sem ua ver t eks dan edges dalam suat u gr aph, dan kem udian pr une ( for est yang t elah k it a buat ) unt uk m enghilangk an pengulangan.

3 .2 .1 . Ge n e r a t in g

Kit a m endefinisik an fungsi generat e yang, j ika diber ikan suat u gr aph g dan sebuah vert eks v akan m em bangun sebuah t r ee yang r oot nya adalah v yang m engandung sem ua ver t eks dalam g yang 'r eachable' dar i v.

(6)

Jika gr aph g adalah siklik, m aka t r ee yang dibangkit kan akan infinit e. Tent u saj a kar ena t r ee dibangkit kan on dem and, hanya sepor si t er t ent u yang akan dibangkit kan.Bagian yang di prune t idak akan per nah dikonst r uksi.

3 .2 .2 . Pr u n in g

Tuj uan ut am a dar i pr oses pr uning adalah unt uk m engabaikan subt rees yang m em iliki akar - akar nya ( r oot s) t elah t er konst ruksi sebelum nya. Oleh kar ena it u kit a per lu m e - m aint ain sekum pulan ver t eks yang j um lahny a t erhingga ( secara t radisionil disebut dengan 'm ar ks ') dan ver t eks- ver t eks yang ak an diabaikan.

Car a yang t er m udah unt uk m encapai hal ini adalah dengan m enggunakan st at e t r ansfor m er s, dan m enir ukan t eknik im per at if yang m e- m aint ain suat u ar ray of booleans, yang diindeks oleh sekum pulan elem en. I nilah yang kit a lak ukan. I m plem ent asi dan sekum pulan ver t eks adalah sebagai ber ikut :

t ype Set s = Mut Ar r s Ver t ec Bool m k Em pt y : : Bounds - > ST s ( Set s) m kem pt y bnds = new Ar r bnds False

cont ains : : Set s - > Ver t ex - > ST s Bool cont ains m v = r eadAr r m v

include : : Set s - > Ver t ex - > ST s ( ) include m v = w rit eArr m v True

Sebuah set disaj ikan sebagai sebuah m ut able ar r ay, diindeks oleh ver t eks- vert eks, y ang m engandung nilai- nilai boolean. Unt uk m en- gener at e sebuah set t er hingga kit a m engalokasikan suat u ukur an ar r ay t er t ent u dengan sem ua elem en k it a inisialisasi dengan nilai False. Keanggot aan dari Set dapat diat ur hanya dengan m enggunakan pr osedur pem bacaan dan penulisan ar r ay.

Pr une didefinisik an sebagai ber ikut :

pr une : : Bounds - > Forest Ver t ex - > For est Ver t ex r une bnds t s = r unST ( m kEm pt y bnds 't henST' \ m - >

chop m t s)

fungsi prune dim ulai dengan m em per kenalk an sebuah t hr ead dar i st at e yg bar u, kem udian m en- gener at es sebuah ar r ay kosong didalam t hr ead t er sebut dan m em anggil 'pr osedur ' chop. Hasil akhir dar i pr une adalah har ga yang dibangkit kan oleh chop, yait u st at e akhir yang diabaikan.

chop : : Set s - > For est Ver t ex - > For est Ver t ex chop m [ ] = r et ur nST [ ]

chop m ( Node v t s : us)

= cont ains m v 't henST' \ visit ed - > if v isit ed t hen

chop m us else

(7)

Ket ika m elakukan chopping pada a list of t r ees, r oot nya yang per t am a diuj i. Jika sudah ada sebelum nya, selur uh t r ee t er sebut akan diabaikan. Kalau t idak akan dit am bah pada suat u set yang dir epr esent asikan oleh m , dan dua pem anggilan 'chop' ber ikut nya dibuat dalam sekuen.

Yang per t am a, disebut chop m t s, m elak ukan prunes t hd for est yang m er upakan akar nya adalah v, m enam bahkan sem ua for est t er sebut pada set dar i vekr t eks yang sudah dit andai. Set elah sem uanya selesai, sub- for est yang hendak di pr une diber i lam a as, dan sisanya adalah for est aslinya yang di chop. Hasilnya diber i nam a dengan bs, dan sebuah for est dikonst r uk sikan dar i kedua list t er sebut .

Sem ua ini diker j akan secar a lazy, on dem and. St at e com binat or s m em aksa k om put asi unt uk m engik ut i uruat an at au sequence yang sudah dit ent ukan sebelum nya. Pada t it ik ini kit a m ungkin her an, bagaim ana pem r ogr am an fungsional dapat dikat akan lebih m engunt ungkan. Kar ena t er nyat a, code nya t er lihat m ir ip dengan im per at if dalam beber apa hal kom ent ar yang dem ikian it u m ungkin ada benarnya, nam un perlu dicat at bahw a hal ini adalah sat u- sat unya t em pat dalam fase pengem bangan dim ana kit a m elakukan operasi dest r uk t if unt uk m eningk at k an efisiensi. Tam bahan lagi, enk apsulasi secar a sem pur na t elah disediakan oleh r unST yang m enj am in bahw a dfs m em punyai ekst er ior fungsional m ur ni.

Kom ponen- kom ponen dar i gener at e dan pr une kem udian digabungkan unt uk m enghasilk an definisi drTi dept h- first sear ch.

Dfs f vs = prune ( bounds g) ( m ap ( gener at e g) vs)

ar gum en vs adalah a list of ver t ices, sehingga fungsi gener at e di m ap ke vs. For est yang dihasilkan kem udian di pr une secar a pr eor der .

3 .3 Kom ple k sit a s

Model unt uk analisis k om plek sit as dari program im perat if st andar ( t radisional) m enyat akan bahw a algor it m a DFS adalah linier dalam ukur an gr aphnya ( oleh kar ena it u, dapat dieksekusi dalam O( V+ E) )

Model yang ber sesuaian dengan it u pada pem r ogr am an fungsional pada algor it m a y ang dit aw ar kan oleh Launcbur r y j uga linier dan w akt u pengeksekusiannya j uga konst an nam un diper kir akan akan kehilangan sebuah fakt or kira- kir a 6, j ika dibandingkan dengan im plem ent asinya dalam bahasa C.

4 . An a lisa

I m pe r a t if Fu n gsion a l ƒ Alir an par am et er fungsi t er lihat

secara eksplisit ( baik passing by value m aupun by r efer ence.

ƒ Alir an par am et er fungsi t er lihat secara im plisit y ankni t er sem bunyi dibalik definisi t ipe dar i fungsi t er sebut .

ƒ Pem r ogr am an t idak har us selalu m enggunakan fungsi st andar ( ser ingkali kit a dapat

m em buat user - defined funct ion) sehingga dalam banyak hal kit a t idak per lu m em aham i definisi fungsi st andar

ƒ Kar ena sem ua fungsi

didefinisik an oleh fungsi lain yang m em punyai or de lebih r endah, akan lebih nyam an bila k it a m engert i m endefinisik an fungsi st andar ( yakni fungsi pr im it if yang sudah disediakan)

ƒ Sangat m ungkin m asih t er dapat bugs ( r unt im e er r or s) set elah pr ogr am selesai

(8)

dikodekan kar ena var iable – var iable side effect seper t i count er , er r or det ect ion dan cont inuat ion m er upakan bagian pent ing dar i pr ogr am

( yakni r un- t im es er r or yang disebabkan oleh side effect s) t idak akan t er j adi. Nam un dem ikian hal t er sebut t idak m em bebaskan kit a dar i kesalahan dalam m endisain program .

ƒ Pr ogr am lebih sulit dibaca dan difaham i k ar ena abst r aksinya ber or de lebih r endah ( pr ogr am dit ulis dengan subt il – subt il pr ogr am yang m engahalangi pem aham an pem baca sehingga seringkali harus diser t ai dengan kom ent ar yang cukup panj ang)

ƒ Program lebih m udah dibaca dan difaham i kar ena abst raksinya berorde lebih t inggi ( dar i kode pr ogr am saj a m aksud dar i pr ogr am kar ena subt il program sudah dij elaskan pada fungsi – fungsi yang ber or de lebih r endah) .

ƒ Dar i segi uk ur an , LOC ( Lines of code) lebih banyak

ƒ Dar i segi ukur an, LOC ( Lines of code) lebih sedikit

5 . KESI M PULAN D AN SARAN

KESI M PULAN

Pada paper ini t elah di coba m engim plem ent asikan DFS dalam dua pendekat an yait u im per at if dan fungsional. Ada beber apa hat yang per lu dicat at :

1. Pem r ogr am an fungsional pada dasar nya m enaw ar kan suat u car a disain dan im plem ent asi yang lebih ber sifat alam i / nat ur al yang lebih confor m dengan car a ber fikir m anusia, nam un dem ikian ada bat asan- bat asan dalam bahasa pem r ogr am an fungsional t er ut am a yang pur e ( seper t i dihindar inya side- effect dan lazy evaluat ion) har us bet ul- bet ul difaham i t er lebih dahulu.

2. Pada im plem ent asi yang m engharuskan adanya side- effect m aka hal it u dapat disim ulasik an dengan m enggunakan m onad.

SARAN

Beber apa sar an yang ingin disam paikan pada paper ini:

1. Akan t er asa lebih m udah j ika kit a m em bandingkan pem r ogr am an im per at if dan fungsional dengan m em ulainya pada im plem ent asi seder hana.

2. Mungkin akan ada gunanya j ika kit a m encoba m enyelesaikan suat u m asalah, khususnya DFS ini dengan m em bandingkan bukan saj a ant ar a fungsional dan im per at if t api j uga ant ar apur e dan im pur e languages ( ant ar a Gofer dengan Schem e m isalnya) .

3. Paper ini dapat dilanj ut kan dengan m engadakan penguj ian lebih sek sam a t er hadap kom pleksit as baik w akt u m aupun kapasit as peny im panan.

(9)

D a ft a r Pu st a k a

Thon Launchbur r y, Gr aph Algor it hm w it h a Funct ional Flavour , Or egon Gr aduat e I nst it ut e.

Philips Wadler, Monads for funct ional program m ing, Univ ersit y of Glasgow , Scot land.

John Hughes, Why funct ional Pr ogr am m ing Mat t er s, I nst it ut ionen for Dat avet enskap, Sw eden.

Referensi

Dokumen terkait

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI... PLAGIAT MERUPAKAN TINDAKAN

Meskipun hasil dari penelitian ini menunjukan adanya hubungan yang negatif antara kecanduan bermain game online dan prestasi belajar pada siswa SMP Negeri 4 Salatiga,

[r]

TBS untuk divisi peternakan sapi potong dapat terdiri dari seorang menejer yang membawahi 5 unit yaitu unit pakan, unit produksi, unit reproduksi, unit kompos

Apabila tujuan untuk mencapai keuntungan tidak dapat direalisasikan dalam jangka waktu tetentu, maka kapital yang telah ditanam oleh para pemilik perusahaan itu akan ditarik /

Gusnawita, Yessi: Analisis Perbandingan antara Perbankan Konvensional dengan Perbankan Syariah, 2005... Gusnawita, Yessi: Analisis Perbandingan antara Perbankan Konvensional

Harga Penawaran yang diajukan telah termasuk pajak – pajak, dan semua biaya lain yang diperlukan dalam rangka pelaksanaan pekerjaan ini sesuai dengan... ketentuan Dokumen

Perlunya sebuah informasi yang mudah dicerna oleh masyarakat agar dapat membuat berkebun dengan metode hidroponik vertikultur ini bisa menjadi sebuah alternatif baru untuk