bab ii landasan teori - sir.stikom.edusir.stikom.edu/1525/4/bab_ii.pdfbab ii . landasan teori ....

23
BAB II LANDASAN TEORI Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan rumah makan berbasis aplikasi mobile yang menggunakan J2ME ini, digunakan beberapa landasan teori, yaitu: 2.1 Sistem Pendukung Keputusan Sistem pendukung keputusan atau yang disebut juga Decision Support System (DSS) adalah suatu sistem terdiri dari prosedur-prosedur yang berkaitan dan melakukan pemrosesan data untuk memberikan saran-saran yang dapat membantu user dalam pengambilan keputusan tentang suatu masalah. Input yang berasal dari user diproses dengan teknik Knowledge Based System (KBS) atau sistem berbasis pengetahuan yang memiliki data-data yang disimpan dalam database kemudian disusun menjadi informasi, untuk menghasilkan saran atau rekomendasi yang diberikan kembali kepada user. Setiap sistem pasti memiliki struktur, begitu juga dengan sistem pendukung keputusan, semua komponen-komponen struktur tersebut saling berkaitan untuk membentuk suatu sistem yang dapat memberikan hasil yang diinginkan user, yaitu input, proses, dan output. Input adalah elemen yang dimasukkan pada sistem, proses adalah semua elemen yang digunakan untuk merubah input menjadi output, sedangkan output adalah hasil akhir atau keputusan akhir yang merupakan hasil pengolahan dari input. Berikut ini adalah gambar dari struktur dasar sistem pendukung keputusan. 5

Upload: hoangquynh

Post on 21-Mar-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

BAB II

LANDASAN TEORI

Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung

keputusan penentuan rumah makan berbasis aplikasi mobile yang menggunakan

J2ME ini, digunakan beberapa landasan teori, yaitu:

2.1 Sistem Pendukung Keputusan

Sistem pendukung keputusan atau yang disebut juga Decision Support

System (DSS) adalah suatu sistem terdiri dari prosedur-prosedur yang berkaitan

dan melakukan pemrosesan data untuk memberikan saran-saran yang dapat

membantu user dalam pengambilan keputusan tentang suatu masalah. Input yang

berasal dari user diproses dengan teknik Knowledge Based System (KBS) atau

sistem berbasis pengetahuan yang memiliki data-data yang disimpan dalam

database kemudian disusun menjadi informasi, untuk menghasilkan saran atau

rekomendasi yang diberikan kembali kepada user.

Setiap sistem pasti memiliki struktur, begitu juga dengan sistem

pendukung keputusan, semua komponen-komponen struktur tersebut saling

berkaitan untuk membentuk suatu sistem yang dapat memberikan hasil yang

diinginkan user, yaitu input, proses, dan output. Input adalah elemen yang

dimasukkan pada sistem, proses adalah semua elemen yang digunakan untuk

merubah input menjadi output, sedangkan output adalah hasil akhir atau

keputusan akhir yang merupakan hasil pengolahan dari input. Berikut ini adalah

gambar dari struktur dasar sistem pendukung keputusan.

5

Page 2: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

6

Input OutputProses

Pembuatkeputusan

Feedback

Gambar 2.1 Struktur dasar sistem pendukung keputusan

Penggunaan sistem pendukung keputusan sebagai metode dalam

pembuatan rancang bangun sistem pendukung keputusan penentuan rumah makan

berbasis aplikasi mobile ini, karena sistem pendukung keputusan memiliki

berbagai kelebihan, yaitu:

1. Sistem pendukung keputusan dapat digunakan untuk menyelesaikan suatu

masalah khusus yang diharapkan penyelesaiannya. Dalam rancang bangun

sistem ini adalah masalah yang berkaitan dengan rumah makan.

2. Sebuah sistem pendukung keputusan dapat mempresentasikan keadaan yang

ada pada dunia nyata kedalam suatu sistem berbasis komputer.

3. Sistem pendukung keputusan dapat menyediakan keputusan atau saran yang

diharapkan dalam waktu yang singkat.

4. Sistem pendukung keputusan dapat meningkatkan kemampuan pemecahan

masalah dari pembuat keputusan.

5. Sistem pendukung keputusan dapat dioperasikan hanya dengan data yang

sederhana tetapi lengkap.

Didalam sistem pendukung keputusan, untuk memecahkan suatu masalah

didasarkan pada tahapan-tahapan untuk memecahkan suatu masalah, yaitu:

1. Mendefinisikan masalah yang dihadapi.

Page 3: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

7

2. Mengklasifikasi masalah yang dihadapi pada kategori yang mendasar dan

mudah untuk dipahami.

3. Menyusun sebuah model dari masalah yang mendeskripsikan kenyataan yang

sebenarnya dari suatu masalah.

4. Menentukan solusi-solusi yang mungkin berhasil untuk diujicobakan pada

model masalah yang dibuat tadi, selanjutnya mengevaluasi hasilnya.

5. Dari ujicoba solusi-solusi tersebut, lalu menentukan salah satu solusi yang

dapat menghasilkan pemecahan yang paling baik.

Sistem pendukung keputusan memiliki beberapa karakteristik dan

kapabilitas yang saling berhubungan dan menunjang satu dengan lainnya dalam

menghasilkan saran yang nantinya dapat digunakan oleh user sebagai bahan

dalam membuat keputusan, yang diuraikan pada gambar berikut ini.

SistemPendukungKeputusan

Program yangsemiterstruktur

Bagi pengambilkeputusan diberbagai level

Digunakankelompok danperorangan

Keputusan tidakbergantung pada

satu urutan

Dapatmengembangkan

desain, pilihan dankemampuan

Mendukungberbagai carapemecahan

masalah & proses

Mampuberadaptasi dan

fleksibel

Interaktif danmudah digunakan

Efektif tetapi tidakefisien

User mengontrolsistem

Mudah digunakanoleh end-user

Analisa danpemodelan

Kemampuandalam mengakses

data1

2

3

4

5

67

8

9

10

11

12

13

Gambar 2.2 Karakteristik dan kapabilitas sistem pendukung keputusan

Page 4: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

8

2.2 Java 2 Micro Edition (J2ME)

Java 2 Micro Edition (J2ME) adalah salah satu dari tiga kategori Java

versi 1.2 atau yang lebih dikenal dengan Java 2, dikembangkan oleh Sun

Microsystem. Ketiga kategori Java 2 tersebut adalah:

1. Java 2 Standard Edition (J2SE)

J2SE adalah Java yang pertama kali dihasilkan oleh Sun Microsystem. J2SE

merupakan teknolologi Java yang utama, sedangkan Java yang lain, yaitu

J2ME dan J2EE dikembangkan berdasarkan J2SE dengan penyesuaian

terhadap peralatan komputasi yang menjadi sasaran. Kategori Java ini

digunakan untuk menjalankan dan mengembangkan aplikasi-aplikasi Java

pada level Personal Computer (PC) dengan berbagai macam sistem operasi.

J2SE memiliki kemampuan untuk membuat program seperti halnya bahasa-

bahasa pemrograman yang lain, seperti Pascal, C/C++, Delphi, Visual Basic,

dan lain-lain.

2. Java 2 Enterprise Edition (J2EE)

Kategori ini digunakan untuk menjalankan dan mengembangkan aplikasi-

aplikasi Java pada lingkungan Enterprise, dengan menambah komponen yang

diperlukan pada J2EE, yaitu semacam Enterprise Java Bean (EJB), Java

CORBA, Servlet dan Java Server Pages (JSP), serta Java Extensible Markup

Language (XML).

3. Java 2 Micro Edition (J2ME)

Kategori ini digunakan untuk menjalankan dan mengembangkan aplikasi-

aplikasi Java pada handheld devices atau perangkat-perangkat semacam

Page 5: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

9

handphone, Palm, Personal Data Assistant (PDA), dan PocketPC. Pada

kategori ketiga inilah sistem pendukung keputusan ini akan dibangun.

Seperti yang disebutkan sebelumnya, J2ME dirancang untuk dapat

menjalankan program Java pada perangkat-perangkat mobile semacam handphone

dan PDA, yang memiliki karakteristik berbeda dibanding dengan sebuah

komputer biasa, misalnya kecilnya jumlah memori, keterbatasan resolusi dan

lebar layar atau display pada handphone dan PDA. J2ME terdiri atas komponen-

komponen yang membentuknya sehingga aplikasi yang dibuat dengan J2ME

dapat dijalankan pada perangkat mobile, komponen tersebut adalah sebagai

berikut:

1. Java Virtual Machine (JVM)

Komponen ini untuk menjalankan program-program Java pada emulator atau

handheld devices.

2. Java API (Aplication Programming Interface)

Komponen ini merupakan kumpulan library untuk menjalankan dan

mengembangkan program Java pada handheld devices.

3. Tools lain untuk pengembangan aplikasi Java, yaitu sejenis emulator Java

Phone.

Dalam J2ME dibagi menjadi dua bagian yang dikenal dengan istilah

configuration dan profile. Dua buah istilah tersebut sangat penting dalam

perkembangan aplikasi wireless dengan Java, yaitu:

Page 6: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

10

2.2.1 J2ME Configuration

J2ME Configuration mendefinisikan lingkungan kerja J2ME runtime,

oleh karena setiap handheld devices memiliki fitur-fitur yang berbeda-beda, J2ME

Configuration ini dirancang untuk menyediakan library standar yang

mengimplementasikan fitur standar dari sebuah handheld devices. J2ME

Configuration bisa dikatakan adalah JRE (Java Runtime Environment) pada

handheld devices, karena lingkungan kerja yang dimaksud meliputi Java Virtual

Machine yang digunakan untuk menjalankan program Java, dan Java Virtual

Machine pada J2ME ini berbeda dengan J2ME pada Java Development Kit (JDK)

yang ada pada PC. Artinya J2ME yang ada pada handheld devices hanya memiliki

fitur-fitur yang berkaitan dengan perangkat wireless saja yang diimplementasikan.

Ada dua kategori J2ME Configuration saat ini, yaitu:

1. CLDC (Connected Limited Device Configuration)

Kategori ini umumnya digunakan untuk aplikasi Java pada handphone

semacam Nokia, Siemens, Java Phone, organizer/PDA (Personal Digital

Assistant) semacam PALM, PocketPC, dan two way pagers. Umumnya

perangkat-perangkat tersebut hanya memiliki memori berukuran 160-512 Kilo

Bytes.

2. CDC (Connected Device Configuration)

Kategori ini pada umumnya digunakan untuk aplikasi Java pada perangkat-

perangkat handheld devices dengan ukuran memori paling tidak 2 Mega

Bytes. Contohnya adalah internet TV, Nokia Communicator, Sony Ericsson

P800, dan TV pada mobil.

Page 7: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

11

Berikut adalah beberapa perbedaan antara CDC (Connected Device

Configuration) dan CLDC (Connected Limited Device Configuration), yang

diuraikan pada tabel berikut ini.

Tabel 2.1 Perbedaan CLDC dan CDC

CLDC CDC

Mengimplementasikan subset dari

J2SE

Mengimplementasikan seluruh fitur

pada J2SE

JVM yang digunakan dikenal dengan

nama KVM (Kilobytes Virtual

Machine)

JVM yang digunakan dikenal dengan

nama CVM (Capable Virtual

Machine)

Digunakan pada perangkat handheld

dengan ukuran memori terbatas (160-

512 Kbytes)

Digunakan pada perangkat handheld

dengan ukuran memori minimal 2

Mbytes

Prosesor : 16 Bit atau 32 Bit Prosesor : 32 Bit

2.2.2 J2ME Profile

Jika J2ME Configuration menyediakan Library Java untuk implementasi

fitur-fitur standar dari sebuah handheld devices, J2ME Profile menyediakan

implementasi-implementasi tambahan yang sangat spesifik dari sebuah handheld

devices. Sebagai analogi sebuah handphone Nokia/Siemens/Motorola dan lain-

lain memiliki kemampuan untuk menelepon ke suatu PSTN (Public Switch

Telephone Network) atau handphone lain karena ini merupakan kemampuan

standar dari sebuah handphone. Namun masing-masing handphone tentulah ada

fitur-fitur tersendiri yang membedakan dengan tipe yang lain. Kemampuan

Page 8: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

12

standar itulah yang diimplementasikan oleh J2ME Configuration, sedangkan

kemampuan lain yang sangat bergantung pada jenis perangkat handheld devices

yang digunakan, akan diimplementasikan oleh J2ME Profile.

Ada lima kategori J2ME Profile saat ini, yaitu:

1. Mobile Information Device Profile (MIDP)

Adalah profile yang menyediakan user interface, media penyimpanan,

jaringan, dan model aplikasi API untuk wireless devices, antara lain telepon

selular dan pager dua arah.

2. Foundation Profile (FP)

Adalah profile yang digunakan untuk implementasi yang lengkap dari Java

Virtual Machine termasuk didalamnya Platform Java 2 dan Standard Edition

API pada perangkat mobile.

3. Personal Profile

Profile yang merupakan perkembangan lebih lanjut dari Personal Java yang

menyediakan kompabilitas dengan aplikasi yang dibangun untuk versi 1.1.x

dan 1.2.x dari Personal Java.

4. Remote Method Invocation (RMI) Profile

Profile yang mendefinisikan subset yang minimal dari J2SE 1.3 RMI API.

5. Personal Digital Assistance Profile (PDAP)

Pada hal ini PDAP khusus dibuat pada handheld devices yang berbasis Palm

OS, misal Palm Pilots dan Visors.

2.3 Bahasa Pemrograman Web JSP (Java Server Pages)

JSP (Java Server Pages) merupakan penerus dari teknologi Java yang

merupakan produk dari Sun Microsystem. JSP merupakan bahasa pemrograman

Page 9: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

13

web yang bahasanya mengapdosi dari bahasa Java. Keunggulan dari JSP adalah

menyediakan model pemrograman baru dan infrastruktur untuk aplikasi yang

lebih aman, skalabel, dan stabil.

Dalam sistem pendukung keputusan penentuan rumah makan berbasis

aplikasi mobile ini, JSP digunakan sebagai penghubung antara aplikasi MIDlet

dengan server web untuk melakukan request data dan query data pada server

database, yang kemudian dikembalikan kepada aplikasi MIDlet untuk ditampilkan

pada handheld devices.

2.4 Komunikasi Data Tanpa Kabel

Komunikasi data tanpa kabel sangat cepat perkembangannya karena

sekarang mobilitas manusia semakin tinggi. Jaringan tanpa kabel mempunyai

berbagai manfaat, misalnya kantor portable. Orang yang sedang dalam perjalanan

sering ingin menggunakan peralatan elektronik portablenya untuk mengirim dan

menerima telepon, fax, dan email, membaca file jarak jauh, akses ke komputer

jarak jauh, dan sebagainya dan juga ingin bisa melakukan hal-hal tersebut dari

manapun, baik darat, laut, atau udara.

Dalam sistem pendukung keputusan penentuan rumah makan ini,

komunikasi data tanpa kabel merupakan sasaran yang ingin dituju, karena aplikasi

pada sistem ini dikhususkan bagi perangkat mobile, yaitu handphone yang

memiliki fitur Java Enable. Saat ini komunikasi data tanpa kabel pada umumnya

menggunakan telepon selular digital atau yang disebut Global System for Mobile

Communication (GSM) dan Code division Multiple Access (CDMA). Kedua

sistem tersebut mampu menghubungkan perangkat mobile dengan internet.

Page 10: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

14

Adapun protokol yang dipakai untuk menghubungkan perangkat mobile dengan

internet yaitu General Packet Radio Service (GPRS) dan Circuit Switched Data

(CSD). Kedua sistem protokol tersebut memiliki beberapa perbedaan yang sangat

mencolok yaitu pada biaya, untuk GPRS penghitungan biaya berdasar besarnya

paket data yang diterima atau dikirim, sedangkan untuk CSD penghitungan biaya

berdasar lamanya akses untuk pertukaran data tanpa memperhatikan ukuran data,

sistem CSD mirip dengan sistem dial up PC kepada Internet Services Provider

(ISP), sehingga pemborosan biaya sering terjadi pada CSD. Prinsip kerja

pertukaran data tanpa kabel pada telepon selular adalah sebagai berikut.

ME

SIM

Mobillestation

ME

SIM

Mobillestation

BaseTransceiver

Station

BaseTransceiver

Station

Base StationContoller

Base Station Subsystem

Mobilleswitching

center Operation andmaintenance center

Data communicationnetwork

VLR AuC EIR HLR

Network subsystem

PSTN

Um Abis A

Auc Autentication centerEIR Equipment identity registerHLR Home location registerME Mobille equipmentPSTN Public switched telephone networkSIM Subscriber identity moduleVLR Visitor location register

Gambar 2.3 Arus pertukaran data pada telepon selular

Mobile Station atau handphone yang memiliki SIM Card (Subscriber

Identity Module), mengirim dan menerima sinyal dari Base Transceiver Station

(BTS) terdekat, kemudian dilanjutkan pada Base Station Controller (BSC) yang

Page 11: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

15

juga masih berada dekat BTS yaitu pada satu Base Station Subsystem (BSS).

Kemudian dari BSS dilanjutkan kepada Network Subsystem (NS), didalam

network subsystem terdiri dari:

1. Mobile Switching Center (MSC), yang merupakan inti dari network

subsystem.

2. Home Location Register (HLR) database, yang berfungsi menyimpan

informasi permanen dan sementara dari tiap SIM Card.

3. Visitor Location Register (VLR) database, berfungsi menyimpan data dari

lokasi visitor atau yang akan ditelepon dan menelepon pada mobile station.

4. Authentication Center (AuC) database, fungsinya sebagai penyimpan data

tentang semua aktifitas autentifikasi dari sistem.

5. Equipment Identity Register (EIR) database, fungsinya menjaga jalur dari

mobile station. Misalnya pada keamanan, yaitu untuk menonaktivkan SIM

yang dicuri atau hilang.

2.5 Algoritma Asiklis

Algoritma asiklis adalah suatu algoritma yang digunakan dalam menentukan

rute terdekat antara titik atau node didalam suatu jaringan, yang didasari oleh

perhitungan rekursif dalam menentukan rute terpendek. Penggunaan metode

algoritma asiklis ini dikarenakan memiliki kelebihan yaitu lebih efisien, karena

hanya melibatkan sedikit perhitungan, jika dibandingkan dengan penggunaan

algoritma siklis. Yang termasuk dalam algoritma siklis adalah Algoritma Djikstra.

Pada algoritma siklis penghitungan juga menghitung rute yang telah dicek nilai

Page 12: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

16

jaraknya, sedangkan pada algoritma asiklis rute yang telah dihitung jaraknya tidak

dilakukan penghitungan kembali sehingga proses lebih cepat.

Penggunaan algoritma asiklis dalam aplikasi mobile sistem pendukung

keputusan ini adalah sebagai penentu lokasi dan jarak terdekat antara posisi user

dengan rumah makan yang diinginkan user. Algoritmanya adalah sebagai berikut:

Algoritma Asiklis

{

i = node sebelum;

j = node sekarang;

u = hasil jarak terdekat antar node i dan j;

d = jarak antar 2 node;

stopMaju, stopMundur = 0;

//Langkah-langkah:

1. Tentukan posisi node awal mulai dari posisi user label node dengan 0.

2. Tentukan posisi node tujuan, yaitu posisi rumah makan yang dicari.

3. While (cariMaju != tujuan)

{

3a. Cari node selain node asal yang terhubung dengan node asal.

3b. Dari hasil tersebut hitung jarak terdekat (u) dengan rumus uj = min

{ui + dij}.

3c. Pilih u yang minimal label dengan [uj,asalnya].

Page 13: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

17

3d. Nilai asal = uj.

3e. Nilai cariMaju = uj.

}

4. While (cariMundur != asal)

{

4a. Dari uj yang sama dengan tujuan, cari node yang mendahuluinya.

4b. Jumlahkan dengan nilai uj dari masing-masing node dari butir 1.

4c. Tampilkan node-node yang terhubung dan terjemahkan dengan nama

jalan.

}

5. Tampilkan total nilai dari jumlah uj.

6. Stop.

}

Misal user berada di wilayah node 1, ingin mencari rumah makan yang

menyediakan menu makanan dan minuman yang diinginkannya, maka sistem

akan memberikan saran dimana lokasi rumah makan dan jaraknya dari user yang

menyediakan menu pilihan user. Untuk memperjelas permasalahan tersebut dapat

dijelaskan dalam gambar sebagai berikut.

Page 14: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

18

1 4

6

5

7

2

3

2

4

10

5

1

9

68

7

11

3

Posisi user

Rumahmakan yangdisarankan

Gambar 2.4 Posisi user dengan rumah makan

Dalam gambar 2.4 tersebut posisi user pada node 1, ingin mencari menu

makanan nasi goreng seafood, dari hasil pengolahan data yang dilakukan sistem

ditemukan bahwa menu tersebut disediakan oleh rumah makan yang berada pada

node 7. Sistem lalu memberitahukan kepada user bahwa rumah makan tersebut

berada pada node 7, kemudian sistem melakukan perhitungan jarak dan rute

terpendek antara user dengan rumah makan tersebut menggunakan rumus sebagai

berikut:

uj = jarak terdekat dari node 1 ke node j

di mana u1 = 0 berdasarkan definisinya. Nilai-nilai uj, j = 1,2, …, n, dihitung

secara rekursif dengan rumus berikut ini.

uj = min {ui + dij} i ui adalah jarak terdekat ui ke satu node i yang tepat mendahuluinya.

dij adalah jarak dij antara node saat ini j ke node sebelumnya i.

Rumus rekursif tersebut mengharuskan bahwa jarak terdekat uj ke node j dihitung

hanya setelah kita menghitung jarak terdekat ui ke setiap node sebelumnya i yang

dihubungkan ke j dengan sebuah busur langsung.

Page 15: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

19

Dalam pemecahan akhir dari model rute terdekat ini, adalah tidak

memadai hanya menentukan uj dari node j. Secara serempak, harus

mengidentifikasi node lain yang ditemui disepanjang rute tersebut. Agar mencapai

sasaran ini, menggunakan prosedur pelabelan yang mengkaitkan label berikut ini

dengan j:

label node j = [uj, n]

dimana n adalah node j yang tepat mendahuluinya, yang mengarah pada jarak

terdekat uj.

uj = min {ui + dij} i = un + dnj

Berdasarkan definisinya, label di node 1 adalah [0, -], yang menunjukkan bahwa

node 1 adalah sumber.

Perhitungan dilakukan dalam beberapa tahap, dengan setiap tahap

diidentifikasi dengan setiap node yang berbeda. Tabel 2.2 memberikan urutan

perhitungan yang mengarah pada pemecahan akhir.

Tabel 2.2 Perhitungan jarak antar node-node

Node j Perhitungan uj Label 1 u1 = 0 [0, -] 2 u2 = u1 + d12 = 0 + 2 = 2, dari 1 [2, 1] 3 u3 = u1 + d13 = 0 + 4 = 4, dari 1 [4, 1] 4 u4 = min {u1 + d14, u2 + d24, u3 + d34} = min {0 + 10, 2 + 11, 4 + 3} = 7, dari 3 [7, 3] 5 u5 = min {u2 + d25, u4 + d45} = min {2 + 5, 7 + 8} = 7, dari 2 [7, 2] 6 u6 = min {u3 + d36, u4 + d46} = min {4 + 1, 7 + 7} = 5, dari 3 [5, 3] 7 u7 = min {u5 + d57, u6 + d67} = min {7 + 6, 5 + 9} = 13, dari 5 [13, 5]

Page 16: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

20

Rute optimum tersebut diperoleh dengan dimulai dari node 7 dan

menelusuri ke belakang dengan menggunakan informasi label. Urutan berikut

memperlihatkan prosedur tersebut:

(7) → [13, 5] → (5) → [7, 2] → (2) →[2, 1] → (1)

Algoritma tersebut pada kenyataannya memberikan jarak terdekat antara

node 1 dan setiap node lainnya dalam jaringan ini. Jadi rute yang harus ditempuh

user dari posisinya sekarang ke rumah makan pada node 7 adalah melalui node-

node 1, 2, 5, 7. Dengan jarak 2 + 5 + 6 = 13.

Dengan menggunakan algoritma asiklis tersebut, nantinya sistem

pendukung keputusan ini juga dapat memberikan output berupa saran mengenai

posisi rumah makan dan jaraknya dari posisi user.

2.6 Database MySQL

MySQL adalah Relational Database Management System (RDBMS)

yang didistribusikan secara gratis di bawah lisensi General Public Lisence (GPL).

Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh

dijadikan produk turunan yang bersifat closed source atau komersial.

MySQL sebenarnya merupakan turunan salah satu konsep utama dalam

database sejak lama, yaitu Structured Query Language (SQL). SQL adalah sebuah

konsep pengoperasian database, terutama untuk pemilihan/seleksi dan pemasukan

data yang memungkinkan pengoperasian data dikerjakan dengan mudah secara

otomatis.

Tingkat kemampuan suatu sistem database (DBMS) dapat diketahui dari

cara kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang

Page 17: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

21

dibuat oleh user maupun program-program aplikasinya. Sebagai database server,

MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya

dalam query data. Hal ini terbukti dalam query yang dilakukan oleh single user,

kecepatan query MySQL dapat sepuluh kali lebih cepat dari PostgreSQL dan lima

kali lebih cepat dibandingkan Interbase. Hal tersebut merupakan kemampuan

yang cukup menakjubkan bagi software ini meskipun gratis.

MySQL adalah satu dari sekian banyak sistem database dan merupakan

terobosan solusi yang tepat dalam aplikasi database. Didukung oleh ribuan bahkan

jutaan komunitas pengguna di internet yang siap membantu. Selain itu juga

tersedia mailing list dan homepage khusus yang memberikan tutorial serta

dokumentasi lengkap.

MySQL dikembangkan sekitar tahun 1994 oleh sebuah perusahaan

pengembang software dan konsultan database bernama MySQL AB yang

berlokasi di Swedia. Pada waktu itu perusahaan tersebut masih bernama TcX

DataKonsult AB, dan tujuan awal dikembangkannya MySQL adalah

mengembangkan aplikasi berbasis web pada client.

Awalnya Michael Widenius “Monty”, pengembang satu-satunya di TcX,

memiliki sebuah aplikasi UNIREG dan rutin ISAM buatannya sendiri dan sedang

mencari antarmuka SQL yang cocok diimplementasikan ke dalamnya. Pada

awalnya Monty memakai miniSQL (mSQL) pada eksperimennya itu, namun

mSQL dirasa kurang sesuai, karena terlalu lambat dalam pemrosesan query.

Akhirnya Monty menghubungi David Hughes, pembuat mSQL yang

sedang merilis versi kedua dari mSQL. Kemudian Monty mencoba membuat

Page 18: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

22

sendiri mesin SQL yang memiliki antarmuka mirip dengan SQL, tetapi dengan

kemampuan yang lebih sesuai, dan lahirlah MySQL.

Tentang pengambilan nama MySQL, sampai saat ini masih belum jelas

asal-usulnya. Ada yang berpendapat nama My diambil dari huruf depan dan

belakang Monty, tetapi versi lain mengatakan nama itu diambil dari putri Monty

yang kebetulan juga bernama My.

Sebagai database server yang memiliki konsep database modern, MySQL

memiliki banyak sekali keistimewaan. Berikut ini beberapa keistimewaan yang

dimiliki oleh MySQL.

1. Portability

MySQL dapat berjalan stabil pada berbagai sistem operasi, diantaranya adalah

Microsoft Windows, Linux, FreeBSD, Mac OS X Server, Solaris, Amiga, HP-

UX dan masih banyak lagi.

2. Open Source

MySQL didistribusikan secara open source (gratis), dibawah lisensi GPL,

sehingga kita dapat menggunakannya tanpa dipungut biaya.

3. Multiuser

MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan

tanpa mengalami masalah atau konflik. Hal ini memungkinkan sebuah

database server MySQL dapat diakses client secara bersamaan.

4. Performance Tuning

MySQL memiliki kecepatan yang menakjubkan dalam menangani query

sederhana, dengan kata lain dapat memproses lebih banyak perintah SQL per

satuan waktu.

Page 19: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

23

5. Column Types

MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/unsigned

integer, float, double, char, varchar, text, blob, date, time, datetime,

timestamp, year, set serta enum.

6. Command and Functions

MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah

SELECT dan WHERE dalam query.

7. Security

MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama

host, dan izin akses user dengan sistem perizinan yang mendetail serta

password terenkripsi.

8. Scalability dan Limits

MySQL mampu menangani database dalam skala besar, dengan jumlah

records lebih dari 50 juta dan 60 ribu tabel, serta 5 miliar baris. Selain itu,

batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.

9. Connectivity

MySQL dapat melakukan koneksi dengan client menggunakan protokol

TCP/IP, Unix soket (Unix), atau Named Pipes (NT).

10. Localisation

MySQL dapat mendeteksi pesan kesalahan (error code) pada client dengan

menggunakan lebih dari dua puluh bahasa. Tetapi Bahasa Indonesia masih

belum termasuk didalamnya.

Page 20: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

24

11. Interface

MySQL memiliki interface terhadap berbagai aplikasi dan bahasa

pemrograman dengan menggunakan fungsi Application Programming

Interface (API).

12. Clients dan Tools

MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk

administrasi database, dan pada setiap tool yang ada disertakan petunjuk

online.

13. Struktur Tabel

MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani

ALTER TABLE, dibandingkan database lainnya semacam PostgreSQL

ataupun Oracle.

Saat ini MySQL merupakan software database yang memegang kendali

terbesar pada aplikasi database berbasis web. Arsitektur databasenya sangat cocok

bekerja pada lingkungan tersebut, didukung kemampuannya dalam berinteraksi

dengan berbagai bahasa pemrograman side-server seperti PHP, ASP, CGI dan

JSP. Seperti kita ketahui, saat ini masih belum ada yang mampu menggantikan

kedudukan bahasa-bahasa pemrograman tersebut dalam dunia web maupun

internet.

Keluwesan MySQL yang mampu berjalan pada berbagai sistem operasi

semakin menjanjikan masa depan yang cerah. Khususnya pada web database,

dimana posisi web server saat ini masih dipegang kuat oleh Linux dengan

berbagai distro-nya.

Page 21: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

25

Ringan dan cepat begitulah kesan yang melekat pada database open

source ini, meski bukan merupakan SQL server yang sesungguhnya, karena belum

memiliki semua fitur-fitur seperti yang ada pada database berbasis dekstop.

Namun pengembang MySQL sudah berniat untuk melengkapi fitur-fitur tersebut

pada versi mendatang.

Seiring dengan perkembangannya, MySQL mulai banyak dipakai

pengguna database non-web, karena selain handal pada platform web, MySQL

juga telah memenuhi syarat sebagai database dekstop. Terbukti banyaknya

pengguna database seperti Yahoo! Finance, perusahaan sekuritas Jepang Aizawa,

bahkan Badan Antariksa Amerika Serikat (NASA) menggunakan MySQL untuk

mengelola data keuangan dan transaksi bisnisnya.

2.7 SQL (Structured Query Language)

SQL adalah bahasa pemrograman terstruktur yang digunakan untuk

memproses basis data, pada umumnya dapat dipergunakan untuk mendefinisikan

basis data, memanipulasi data yang ada di dalam basis data dan untuk

mengadministrasi penggunaan basis data.

SQL pertama kali didefinisikan pada tahun 1970 oleh Dr. E.F. Codd dan

IBM San Jose Laboratory kemudian dinamakan Structured English Query

Language (SEQUEL). Pada perkembangannya SEQUEL diubah namanya

menjadi SQL dan oleh American National Standard Institute (ANSI)

didefinisikan sebagai SQL-92, dan distandarisasi oleh International Standard

Organization (ISO) sebagai ISO/IEC 9057:1992, “Database Language SQL”.

SQL adalah bahasa non-procedural yang termasuk keluarga Fourth

Generation Language (4GL) yang artinya adalah perintah-perintah SQL

Page 22: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

26

merupakan deskripsi dari hasil yang diinginkan dan bukan merupakan cara atau

prosedur untuk mengeluarkan hasil tersebut. Dalam ANSI-SQL, perintah-perintah

SQL dibagi menjadi 6 kategori, yaitu:

1. Data-Query Language

Data-Query Language dipergunakan untuk mengambil data yang diperlukan

dari basis data. Sintak yang digunakan adalah SELECT.

2. Data-Manipulation Language

Digunakan untuk melakukan manipulasi data yang akan atau telah disimpan di

dalam tabel. Perintah-perintah dari SQL jenis Data-Manipulation Language ini

adalah INSERT untuk mengisi data baru, UPDATE untuk mengubah data

lama dengan data baru, dan DELETE untuk menghapus data lama.

3. Transaction-Processing Language

Digunakan untuk menentukan apakah data yang telah diperbarui dengan

menggunakan data-manipulation language akan disimpan secara permanen di

database atau tidak. Perintah-perintah SQL yang termasuk di dalam kelompok

ini adalah BEGIN TRANSACTION, COMMIT, dan ROLLBACK.

4. Data-Control Language

Digunakan untuk menentukan hak akses individu atau group dalam

mempergunakan database. Perintah-perintah SQL yang termasuk dalam

kelompok ini adalah GRANT dan REVOKE.

5. Data-Definition Language

Digunakan untuk membuat tabel baru dalam database (CREATE TABLE),

menambah file indeks (CREATE INDEX), hubungan antar tabel (PRIMARY

Page 23: BAB II LANDASAN TEORI - sir.stikom.edusir.stikom.edu/1525/4/BAB_II.pdfBAB II . LANDASAN TEORI . Dalam penyusunan dan penyelesaian rancang bangun sistem pendukung keputusan penentuan

27

KEY, FOREIGN KEY, PREFERENCE), serta menghapus tabel dan indeks

(DROP TABLE dan DROP INDEX).

6. Cursor-Control Language

Digunakan untuk memproses record dari tiap-tiap tabel. Perintah-perintahnya

adalah FETCH INTO, UPDATE WHERE CURRENT.