• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
12
0
0

Teks penuh

(1)

 

BAB 2

LANDAS AN TEORI

2.1 Simulasi

M enurut Suryani(2006),simulasi merupakan proses aplikasi membangun model

dari sistem nyata atau usulan sistem, melakukan eksperimen dengan model tersebut untuk menjelaskan perilaku sistem, atau untuk membangun sistem baru sesuai dengan kinerja yang diinginkan.

2.2 Algoritma

M enurut Weisstein,algoritma adalah satu set instruksi khusus untuk

melaksanakan prosedur atau pemecahan masalah, biasanya dengan persyaratan bahwa prosedur berakhir pada beberapa titik. Beberapa algoritma terkadang juga disebut metode, prosedur, atau teknik. Kata "Algoritma" adalah penyimpangan dari al-Khwārizmī, seorang matematikawan Persia yang menulis sebuah risalah tentang metode aljabar. Proses penerapan algoritma kedalam suatu input untuk memperoleh output disebut sebagai perhitungan.

2.3 Teori Graf

M enurut Munir (2005), graf digunakan untuk merepresentasikan objek-objek

diskrit dan hubungan antara objek-objek tersebut. Graf (G) merupakan pasangan himpunan (V,E) dengan V=himpunan tidak kosong dari titik (vertex), dan E=himpunan

sisi (edge) yang menghubungkan sepasang titik atau dapat ditulis dengan notasi G=(V,

(2)

untuk melambangkan jalan penghubung antara dua objek. Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan E boleh kosong. Jadi, sebuah graf dimungkinkan tidak mempunyai sisi satu buah pun, tetapi titiknya harus ada minimal satu. Graf dengan satu titik dan tidak mempunyai sisi disebut graf trivial. Titik pada graf dapat dinomori dengan huruf, seperti a, b, c, … dengan bilangan asli 1, 2, 3, ... atau gabungan keduanya. Sedangkan E adalah sisi yang menghubungkan titik Vi dengan titik Vj, maka E dapat ditulis sebagai E = (Vi, Vj) atau E = (Vi Vj). Secara geometri graf dapat digambarkan sebagai sekumpulan titik di dalam bidang dua dimensi yang dihubungkan dengan sekumpulan sisi.

2.4 Traveling S alesman Problem

M enurut Munir (2005), Traveling Salesman Problem (TSP) merupakan

permasalahan optimasi yang tergolong dalam NP-complete problem. TSP adalah permasalahan seorang sales dalam menentukan urutan dari sejumlah kota yang harus dilalui, di mana setiap kota hanya boleh dilalui sekali dan perjalanan berakhir pada kota awal di mana seorang sales memulai perjalanan. Permasalahan matematik yang berkaitan dengan Traveling Salesman Problem ini mulai muncul sekitar tahun 1800-an. M asalah ini dikemukakan oleh dua orang matematikawan, yaitu Sir William Rowan Hamilton yang berasal dari Irlandia dan Thomas Penyngton Kirkman yang berasal dari Inggris. TSP adalah permasalahan dalam bidang diskrit dan optimasi kombinatorial dengan kemungkinan penyelesaian yang sangat banyak. TSP dengan n kota (1,2,3,4,5,…,n) mempunyai (n-1)!/2 kemungkinan. TSP dengan nilai n yang besar tidak dapat diselesaikan dengan metode pencarian satu-satu karena membutuhkan waktu yang sangat lama. Oleh karena itu, dibutuhkan komputer dengan algoritma yang dapat

(3)

melakukan perhitungan yang cepat dengan tingkat kesalahan yang lebih kecil daripada dengan melakukan pencarian satu-satu.

2.5 Pencarian (Searching)

M enurut Munir (2009), pencarian merupakan kegiatan mendefinisikan ruang

masalah untuk masalah yang dihadapai. Ruang masalah ini dapat digambarkan sebagai himpunan keadaan (state) atau bisa juga sebagai himpunan rute dari keadaan awal

(initial state) menuju keadaan tujuan (goal state). Langkah kedua adalah mendefinisikan

aturan produksi yang digunakan untuk mengubah suatu state ke state lainnya. Langkah terakhir adalah memilih metode pencarian yang tepat sehingga dapat menemukan solusi terbaik dengan usaha yang minimal.

Ada dua metode searching, yaitu:

a. Blind atau un-informed search (pencarian buta atau tidak berbekal informasi)

b. Heuristic atau informed search (pencarian dengan berbekal informasi).

2.5.1 Metode Pencarian Heuristik

M enurut Munir (2009), Kata Heuristic berasal dari sebuah kata kerja Yunani, heuriskein, yang berarti ‘mencari’ atau ‘menemukan’. Dalam dunia pemrograman,

sebagian orang menggunakan kata heuristic sebagai lawan kata dari algoritmik, di mana kata heuristic ini diartikan sebagai suatu proses yang mungkin dapat menyelesaikan suatu masalah tetapi tidak ada jaminan bahwa solusi yang dicari selalu dapat ditemukan.

Heuristic memperbaiki proses pencarian solusi walaupun tidak harus sampai

mengatasi kasus terburuk (worst case scenario). Heuristik ini mengembangkan efisiensi

(4)

(completeness). Algoritma ini biasanya mencari solusi yang dekat dengan solusi terbaik

dan proses pencariannya cepat dan mudah. Terkadang algoritma ini dapat menjadi akurat dan menemukan solusi terbaik, tetapi algoritma ini tetap disebut heuristic hingga

solusi terbaik itu terbukti untuk menjadi yang terbaik. Fungsi heuristic h(n) adalah

perkiraan biaya termurah dari node n ke node tujuan. Fungsi heuristic melambangkan

cost yang akan dikeluarkan agent jika memilih node tertentu.

2.5.2 Metode A* Heuristik

M enurut Munir (2009), M etode A* tanpa fungsi heuristic yang baik akan

memperlambat pencarian dan dapat menghasilkan rute yang tidak tepat. Fungsi heuristic yang sempurna akan membuat metode A* langsung menuju final node tanpa harus mencari kearah lain. Sehingga jika fungsi heuristic-nya terlalu underestimate akan

menyebabkan algoritma ini beranggapan bahwa ada rute lain yang lebih baik. Untuk fungsi heuristic yang underestimate, bila nilainya terlalu rendah akan menyebabkan

algoritma ini seperti algortima Djikstra’s yang mencari ke segala arah yang mungkin. Hal ini dikarenakan tidak ada informasi yang cukup mengenai masalah yang dihadapi, sehingga menyebabkan metode A* melakukan pencarian lebih banyak dan lebih lama.

Dalam ilmu komputer, A* (disebut “A star”) adalah sebuah graph atau metode tree search yang digunakan untuk mencari jalan dari sebuah node awal ke node tujuan

(goal node) yang telah ditentukan, metode ini menggunakan “estimasi heuristic” h(x)

pada setiap node untuk mengurutkan setiap node x berdasarkan estimasi rute terbaik yang melalu node tersebut. Dalam prosesnya metode ini akan mengunjungi setiap node berdasarkan urutan yang dihasilkan dari estimasi heuristic ini.

(5)

M etode A* adalah salah satu contoh dari metode best-first search. M etode A*

dikembangkan oleh Peter Hart, Nils Nilsson, dan Bertram Raphael, mereka juga menyebut metode tersebut dengan sebutan algoritma A, dengan menggunakan metode ini dan dengan heuristic yang tepat menghasilkan sebuah hasil yang optimal, yaitu A*.

Secara umum, depth-first search (DFS) dan breadth-first search (BFS) adalah dua kasus

spesial dari metode A*. Algoritma Djikstra’s merupakan kasus yang paling special dari A*, di mana h(x) = 0 untuk semua x.

Dalam masalah pencarian rute di mana metode A* sering digunakan, A* secara bertahap membangun semua rute yang mengarah mulai dari titik awal sampai akhirnya mencapai titik akhir. M etode A* hanya membangun rute yang mungkin digunakan untuk mencapai tujuan. Untuk mengetahui rute mana yang memungkinkan mengarah ke titik akhir, A* menggunakan estimasi heuristic jarak dari sembarang node ke node tujuan.

Dalam kasus pencarian rute, ini bisa jadi sama dengan jarak lurus antara dua titik, di mana biasanya merupakan perkiraan dari jarak jalan.

Hubungan antara heuristic dengan algoritma A*:

a. Apabila h(n) selalu bernilai 0, maka hanya g(n) yang akan berperan, dan A* berubah menjadi Algoritma Dijkstra, yang menjamin selalu akan menemukan jalur terpendek.

b. Apabila h(n) selalu lebih rendah atau sama dengan ongkos perpindahan dari titik n ke tujuan, maka A* dijamin akan selalu menemukan jalur terpendek. Semakin rendah nilai h(n), semakin banyak titik-titik yang diperiksa A*, membuatnya semakin lambat.

c. Apabila h(n) tepat sama dengan ongkos perpindahan dari n ke tujuan, maka A* hanya akan mengikuti jalur terbaik dan tidak pernah memeriksa satupun

(6)

titik lainnya, membuatnya sangat cepat. Walaupun hal ini belum tentu bisa diaplikasikan ke semua kasus, ada beberapa kasus khusus yang dapat menggunakannya.

d. Apabila h(n) kadangkala lebih besar dari ongkos perpindahan dari n ke tujuan, maka A* tidak menjamin ditemukannya jalur terpendek, tapi prosesnya cepat.

e. Apabila h(n) secara relatif jauh lebih besar dari g(n), maka hanya h(n) yang memainkan peran, dan A* berubah menjadi BFS.

OPEN = priority queue containing START 

CLOSED = empty set 

while lowest rank in OPEN is not the GOAL:    current = remove lowest rank item from OPEN    add current to CLOSED 

  for neighbors of current: 

    cost = g(current) + movementcost(current, neighbor)      if neighbor in OPEN and cost less than g(neighbor): 

      remove neighbor from OPEN, because new path is better 

    if neighbor in CLOSED and cost less than g(neighbor): ** 

      remove neighbor from CLOSED 

    if neighbor not in OPEN and neighbor not in CLOSED: 

      set g(neighbor) to cost 

      add neighbor to OPEN 

      set priority queue rank to g(neighbor) + h(neighbor) 

      set neighbor's parent to current 

 

reconstruct reverse path from goal to start 

by following parent pointers 

Gambar 2.1 Pseudocode algoritma A*

(7)

2.6 Sistem Operasi (Operating System)

M enurut Kusrini(2007), sistem operasi merupakan suatu software sistem yang

bertugas melakukan kontrol dan manajemen hardware serta operasi-operasi dasar

sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web. Secara umum, Sistem Operasi adalah software pada lapisan pertama

yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sementara software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, scheduling task, dan

antar-muka user. Dengan demikian masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Contoh dari Sistem Operasi yang ada sekarang ini, yaitu DOS, Windows, Linux, M acintosh, dan lain-lain.

2.6.1 Sistem Operasi Mobile

M enurut Putra (2010), Sistem operasi mobile adalah software utama yang

melakukan manajemen dan kontrol terhadap hardware secara langsung serta manajemen dan mengontrol software-software lain sehingga software-software lain tersebut dapat bekerja.

Sehingga suatu sistem operasi mobile akan bertanggung jawab dalam mengoperasikan berbagai fungsi dan fitur yang tersedia dalam perangkat ponsel tersebut seperti, schedulling task, keyboard, WAP, email, text message, sinkronisasi dengan

(8)

Selain berfungsi untuk mengkontrol sumber daya hardware dan software ponsel seperti keypad, layar, phonebook, baterai, dan koneksi ke jaringan, sistem operasi juga mengontrol agar semua aplikasi bisa berjalan stabil dan konsisten. Sistem operasi harus dirancang fleksibel sehingga para software developer lebih mudah menciptakan aplikasi-aplikasi baru yang canggih.

Banyak perusahaan ponsel yang membenamkan sistem operasi dalam produknya baik pada PDA, Smartphone maupun handphone. Perkembangan aplikasi atau game selular (mobile content) sangat cepat, perusahaan pembuat mobile Operating System (OS) telah berlomba untuk memasarkan produk-produk mereka dengan menciptakan fungsi-fungsi dan teknologi yang kian hari kian memanjakan pengguna smartphone dari segi entertainment dan fungsionalitas penggunaan selular untuk memudahkan tugas sehari-hari.

Beberapa Mobile Operating System yang umum dipakai pada saat ini

(9)

Gambar 2.2 Pangsa Pasar Sistem Operasi M obile sampai Kuartal 3, 2011. (Sumber: Gartner, Inc., 2011)

Berdasarkan grafik pada Gambar 2.2, cukup jelas bahwa pertumbuhan smartphone yang menggunakan sistem operasi Android sangatlah besar. Dengan dukungan komunitas developer yang besar, pilihan perangkat yang beragam, dan harga

yang terjangkau membuat penulis untuk memilih sistem operasi Android sebagai pendukung penelitian ini.

2.7 Perancangan Basis Data

M enurut Kusrini(2007), basis data adalah kumpulan data yang saling berelasi.

Data sendiri merupakan fakta mengenai objek, orang, dan lain-lain. Data dinyatakan dengan nilai (angka, deretan karakter, atau symbol). Basis data bertujuan untuk

(10)

mengatur data sehingga diperoleh kemudahan, ketepatan, dan kecepatan dalam pengambilan kembali.

2.7.1 DBMS (Database Management System)

M enurut Kusrini(2007), DBM S adalah software yang menangani semua akses ke

sistem basis data. Contoh dari DBM S ini yaitu antara lain M icrosoft SQL Server 2000, Oracle, M ySQL, Interbase, Paradox, M icrosoft Access, dan lain-lain.

2.7.2 SQLite

M enurut Prastowo (2010), SQLite merupakan sebuah terobosan baru dalam

implementasi database disisi client dan mempunyai kemampuan untuk berjalan lintas platform. Pada platformWindows, dikenal banyak database berbasis file, seperti dbase, foxbase, serta yang sampai sekarang sering digunakan yakni MS Access. Standar de facto pemrograman database sekarang adalah menggunakan bahasa SQL. SQLite tidak

memerlukan server tersendiri, sehingga akan sangat membantu untuk membuat aplikasi prototipe atau demo. M inimal kebutuhan untuk mengakses file SQLite adalah dengan

memasang librarySQLite. Hal ini pun sangat mudah dilakukan, baik di platform

Windows, M ac, ataupun *Nix

2.8 SoftwareDevelopment Life Cycle

M enurut Sulianta (2010), Software Development Life Cycle (SDLC) adalah frase

yang meliputi perencanaan, analisis, desain, dan tahap pelaksanaan siklus hidup sistem. SDLC melibatkan banyak komponen agar berhasil, mencakup spesialisasi sistem

(11)

infromasi, pemakai sistem (user) juga sepesialis informasi di luar perusahaan yang akan memberikan peran konsultasi.

Akuisisi atau  Pengembangan Implementasi Operasi Evaluasi Pemeliharaan Investigasi Sistem Analisis Sistem dan Studi Kelayakan

Analisis Logikal dan Desain

Kembali ke tahap selanjutnya atau tidak dilanjutkan

  Gambar 2.3 Delapan tahapan SDLC

(Sumber: Turban, McLean, dan Wetherbe, 2001. Diterjemahkan oleh: Sulianta, 2010)

2.9 Unified Modelling Language

M enurut Dharwiyanti, Wahono (2006), Unified Modelling Language (UML)

adalah sebuah "bahasa" yg telah menjadi standar dalamindustri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UM Lmenawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UM L kita dapat membuat model untuk semua jenis aplikasi piranti lunak,dimana aplikasi tersebut dapat

(12)

berjalan pada piranti keras, sistem operasi dan jaringan apapun, sertaditulis dalam bahasa pemrograman apapun. Tetapi karena UM L juga menggunakan class danoperation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasabahasaberorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun

demikian, UM L tetapdapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.

Seperti bahasa-bahasa lainnya, UM L mendefinisikan notasi dan syntax/semantik. Notasi UM Lmerupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak.Setiap bentuk memiliki makna tertentu, dan UM L syntax

mendefinisikan bagaimana bentuk-bentuktersebut dapat dikombinasikan. Notasi UM L terutama diturunkan dari 3 notasi yang telah adasebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object ModelingTechnique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).

Gambar

Gambar 2.1  Pseudocode algoritma A*
Gambar 2.2  Pangsa Pasar Sistem Operasi M obile sampai Kuartal 3, 2011.

Referensi

Dokumen terkait

dengan melakukan pengukuran tingkat kecemasan khususnya pasangan infertil yang sedang menjalani pengobatan infertilitas, dan mengkaji faktor-faktor yang mempengaruhi

Profitabilitas memiliki koefisien regresi positif sebesar 0,049 yang berarti bahwa setiap kenaikan ROA sebesar 1% akan meningkatkan praktik perataan laba sebesar 0,049% atau

Meskipun terdapat pula khalayak yang memiliki reaksi yang berbeda tetapi pesan yang keluar dari peralatan komunikasi dan media massa dipusatkan terhadap sebuah peristiwa

Setelah melakukan analisis terhadap tuturan anak remaja kompleks PDAM Kabupaten Gowa terhadap transisi makna bahasa dapat disimpulkan bahwa, tuturan anak remaja

Reaksi itu tampil dalam tingkah laku malajusment, seperti, (1)agresif, melawan, keras kepala, bertengkar, berkelahi, dan senang mengganggu, dan (2) melarikan diri

47 Wahyuni P SMK Kesehatan Plus Prima MANdiri Sejahtera Makassar Makassar. 48

209 RAMIDI / SUYATINEM BULUS LOR RT.02 RW.03 PAKEM CANDIBINANGUN 210 SUHAMIN TRI PURWANTO KEMBANGAN RT.01 RW.05 PAKEM CANDIBINANGUN. 211 SUBINAR SAMBEREMBE RT03 RW.08

Kenyataan menunjukkan bahwa Indonesia masih dihadapkan pada kelangkaan tenaga ahli, spesialis, dan profesional dalam bidang logistik baik pada level manajerial maupun