DIJKSTRA ALGORITHM IMPLEMENTATION TO SEARCH ROOM LOCATION Objective : Yogyakarta Bethesda Hospital

  

IMPLEMENTASI ALGORITMA DIJKSTRA

UNTUK PENCARIAN LOKASI RUANGAN

Studi Kasus : RS. Bethesda Yogyakarta

  Skripsi Diajukan untuk Memenuhi Salah Satu Syarat

  Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

  Oleh :

  

Agnes Christy Mara Devvi

NIM : 045314070

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

  

2008

  

DIJKSTRA ALGORITHM IMPLEMENTATION

TO SEARCH ROOM LOCATION

Objective : Yogyakarta Bethesda Hospital

  FINAL ASSIGNMENT Presented as a Meaning

  For Gaining Engineering Holder In Informatics Enginering Study Program

  By :

  

Agnes Christy Mara Devvi

NIM : 045314070

  

INFORMATICS ENGINEERING DEPARTMENT

SCIENCE AND TECHNOLOGY FACULTY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

  

INTISARI

  Pencarian lokasi ruangan di rumah sakit, khususnya RS. Bethesda, merupakan suatu masalah yang dihadapi pengunjung awam pada umumnya. Dalam skripsi ini di buat suatu program bantu dengan mengimplementasikan algoritma dijkstra untuk pencarian lokasi ruangan di rumah sakit dengan studi kasus di RS. Bethesda. Algoritma dijkstra ini, diimplementasikan dengan bahasa pemrograman Visual Basic 6.0 dan untuk penyimpanan data-data ruangannya, di gunakan MySQL 5.0.

  Masukan untuk program bantu ini, berupa nama ruangan yang ingin di tuju dan pintu masuk. Keluaran dari program bantu ini berupa letak ruangan tersebut, lengkap dengan petunjuk berupa gambar denah yang disertai dengan jalur terpendek untuk sampai ke ruangan tersebut.

  

ABSTRACT

  Searching room location in a hospital, especially in Bethesda Hospital, is one of the common problems faced by new visitor. From this Thesis, an assistance program is made by implementing dijkstra algorithm to search location of rooms in hospital, with Bethesda Hospital as the objective. This djikstra algorithm, was implemented by using Visual Basic 6.0 and to store the data of rooms, MySQL 5.0 is used.

  The Input of this assistance program is the name of the room desired and entrance, and the output of this assistance program is the location of the room, with direction drawn in the map, showing the shortest route to the desired room.

KATA PENGANTAR

  Puji syukur saya ucapkan ke hadirat Allah, SWT atas berkat dan limpahan kasih karunia yang telah diberikan-Nya sehingga penulis bisa menyelesaikan tugas akhir dan menyusun laporan ini dengan judul “Implementasi Algoritma

  

Dijkstra Untuk Pencarian Lokasi Ruangan dengan Studi Kasus di RS Bethesda

Yogyakarta ”.

  Dorongan serta nasehat dari berbagai pihak sangat membantu dalam pembuatan tugas akhir ini sampai tersusunnya laporan ini. Untuk itu, penulis ingin mengucapkan terima kasih kepada :

  1. Bapak Puspaningtyas Sanjoyo Adi, S.T.,M.T selaku Ketua Jurusan Teknik Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

  2. Bapak Drs.Jong Jek Siang, M.Sc selaku Dosen Pembimbing Tugas Akhir yang telah membimbing dan menyediakan waktu dalam memberikan pengarahan selama pembuatan tugas akhir dan penulisan laporan tugas akhir ini.

  3. Pihak RS. Bethesda yang telah memberikan ijin pada penulis untuk melakukan penelitian di Rs. Bethesda Yogyakarta.

  4. Ibu dan Bapakku tercinta, yang selalu memberikan dorongan pada penulis untuk selalu maju dan terus berjuang untuk menggapai masa depan yang lebih baik. Terima kasih atas doa yang senantiasa selalu menemani langkahku.

  5. Papa tersayang ku, yang selalu memberikanku motivasi untuk maju, untuk selalu berusaha menjadi yang terbaik. “ I love u, my father….. I miss u

  6. Nenek dan Kakek ku tersayang yang senantiasa memberikan saran, doa dan dukungan untuk penulis.

  7. Eko Budi Kuncoro atas kritik, masukan dan semangat untuk segera menyelesaikan tugas akhir ini, yang tak pernah lelah menjadi tempat keluh kesahku. Kakak dan adekku tersayang, mbak wiwik dan mas aan ( kakak terhebatku ) yang selalu menemaniku, yang selalu menjadi tempatku berkeluh kesah. Buat

  DAFTAR ISI

  Halaman

  

HALAMAN JUDUL ............................................................................................ i

HALAMAN JUDUL ( DALAM B.INGGRIS ) ................................................. ii

HALAMAN PERSETUJUAN PEMBIMBING ................................................ iii

HALAMAN PENGESAHAN.............................................................................. iv

  

INTISARI ............................................................................................................. v

ABSTRACT .......................................................................................................... vi

KATA PENGANTAR.......................................................................................... vii

PERNYATAAN KEASLIAN KARYA .............................................................. ix

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA

  

ILMIAH UNTUK KEPENTINGAN AKADEMIS ........................................... x

DAFTAR ISI......................................................................................................... xi

DAFTAR GAMBAR............................................................................................ xiv

DAFTAR TABEL ................................................................................................ xv

DAFTAR LAMPIRAN ........................................................................................ xvi

  BAB I PENDAHULUAN........................................................................................ 1 1.1 Latar Belakang Masalah....................................................................

  1 1.2 Rumusan Masalah .............................................................................

  2 1.3 Batasan Masalah ...............................................................................

  2 1.4 Tujuan Penelitian ..............................................................................

  3 1.5 Metode Penelitian .............................................................................

  3 1.6 Sistematika Penyusunan Laporan .....................................................

  3 BAB II

  LANDASAN TEORI................................................................................... 5 2.1 Pengenalan Graf ................................................................................

  5 2.2 Lintasan Terpendek...........................................................................

  6 2.3 Algoritma Dijkstra ............................................................................

  7

  2.4 Visual Basic 6.0 ................................................................................

  12 2.5 MYSQL 5.0.......................................................................................

  13 BAB III

  ANALISA DAN PERANCANGAN SISTEM........................................... 15 3.1 Gambaran Sistem ..............................................................................

  15 3.2 Fase Definisi .....................................................................................

  17 3.3 Fase Analisis Masalah.......................................................................

  18 3.4 Gambaran Sistem Baru .....................................................................

  20 3.5 Requirement Analisis ........................................................................

  23 3.6 Perancangan Basis Data ....................................................................

  23 3.6.1. Pemodelan Proses..............................................................

  23 3.6.2. Pemodelan Data ................................................................

  30 3.7 Desain Input Output .........................................................................

  31 3.7.1. Desain Input ......................................................................

  31 3.7.2. Desain Output ...................................................................

  33 3.8 Perancangan Proses ..........................................................................

  33 3.8.1. Pembuatan Matrik Jarak....................................................

  34 3.8.2. Pembagian Ruang Lingkup ...............................................

  35 BAB IV

  IMPLEMENTASI DAN ANALISA .......................................................... 42 4.1 Implementasi Program ......................................................................

  42 4.1.1. Implementasi Algoritma Dijkstra......................................

  42 4.1.1.1. Menentukan Titik Awal ..................................

  43 4.1.1.2. Menentukan Titik Tujuan................................

  44 4.1.1.3. Menentukan Ruang Lingkup...........................

  45 4.1.1.4. Iterasi Algoritma Dijkstra ...............................

  46 4.1.2. Implementasi Pembuatan Output ......................................

  50

  4.1.2.1. Output Berupa Kode Ruangan dan Nama

  4.1.2.2. Output Berupa Denah RS. Bethesda Disertai Jalur Terpendek.............................................

  54 4.2 Hasil Implementasi............................................................................

  56 4.2.1. Menu Utama......................................................................

  56 4.2.2. Menu Input Titik Awal dan Titik Tujuan..........................

  57 4.2.3. Tampilan Output ...............................................................

  58 4.3 Analisa Hasil .....................................................................................

  61 4.3.1. Pengaruh Pembagian Ruang Lingkup...............................

  61 4.3.2. Waktu Iterasi Algoritma Dijkstra......................................

  63 BAB V

  KESIMPULAN DAN SARAN ................................................................... 65 5.1 Kesimpulan .......................................................................................

  65 5.2 Saran..................................................................................................

  65

  DAFTAR GAMBAR

  30 Gambar 3.11. Relational Model .............................................................................

  60 Gambar 4.5. Tampilan Menu Ketika Output pada Gambar 4.3 Ditutup................

  59 Gambar 4.4. Tampilan Output Jalur Terpendek Yang Berupa Kode Ruangan dan Nama Ruangan .................................................................................

  58 Gambar 4.3. Tampilan Output Yang Berupa Gambar Denah RS. Bethesda Dilengkapi dengan Jalur Terpendek.......................................................

  57 Gambar 4.2 Tampilan Menu Untuk Kategori Fasilitas Umum.............................

  41 Gambar 4.1. Tampilan Menu Utama......................................................................

  40 Gambar 3.14 Graf Gedung IGD & IRJ Rumah Sakit Bethesda Lantai 3………...

  39 Gambar 3.13 Graf Gedung IGD & IRJ Rumah Sakit Bethesda Lantai 2 ..............

  30 Gambar 3.12 Graf Keseluruhan Rumah Sakit Bethesda Lantai 1..........................

  29 Gambar 3.10. E-R Diagram ...................................................................................

  Halaman Gambar 2.1 Gambar Graf Kasus Implementasi Algoritma Dijkstra......................

  28 Gambar 3.9. Data Flow Diagram Level 2 Proses 5 ...............................................

  27 Gambar 3.8. Data Flow Diagram Level 2 Proses 3 ...............................................

  26 Gambar 3.7. Data Flow Diagram Level 2 Proses 1 ...............................................

  25 Gambar 3.6. Data Flow Diagram Level 1 ..............................................................

  24 Gambar 3.5 Diagram Berjenjang ...........................................................................

  23 Gambar 3.4 Context Diagram ................................................................................

  22 Gambar 3.3 Use Case Diagram..............................................................................

  16 Gambar 3.2 Flowchart Pencarian Jalur Terpendek ................................................

  8 Gambar 3.1. Denah Rumah Sakit Bethesda Yogyakarta .......................................

  61

  DAFTAR TABEL

  Halaman Tabel 2.1. Tabel Perhitungan Algoritma Dijkstra..................................................

  11 Tabel 3.1. Tabel Couses dan Effects ...................................................................... 18 Tabel 3.1. Tabel Contoh Kasus Penyempitan Ruang Lingkup ..............................

  36 Tabel 3.2. Tabel Aturan Ruang Lingkup Pengecekan Titik...................................

  37 Tabel 4.1. Tabel Pengaruh Pembagian Ruang Lingkup.........................................

  62 Tabel 4.2.Tabel Percobaan Yang Mempengaruhi Waktu Iterasi Algoritma Dijkstra................................................................................................. 63

DAFTAR LAMPIRAN

  Lampiran A. Tabel Ruangan Lampiran B. Tabel Jarak

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

  Para pengunjung rumah sakit biasanya menginginkan sampai ke ruangan yang ingin dikunjungi dengan cepat, hal ini disebabkan karena biasanya orang datang ke rumah sakit dalam keadaan terburu – buru ingin mengunjungi teman atau saudaranya yang sedang sakit. Kejadian dimana seorang pengunjung tersesat sewaktu mencari ruangan dirumah sakit, terjadi jika pengunjung tersebut tidak mengetahui dimana lokasi ruangan yang ingin dituju, sedangkan rumah sakit yang dikunjungi memiliki area yang sangat luas dengan lorong – lorong yang sangat banyak.

  Sebenarnya tiap – tiap ruangan di rumah sakit mempunyai jalur terpendek sendiri – sendiri dari pintu masuk rumah sakit, hanya saja mungkin bagi pengunjung yang baru pertama kali datang ke rumah sakit tersebut tidak mengetahui jalur terpendek tersebut. Sehingga timbul masalah bagaimana agar pengunjung rumah sakit yang baru datang pertama kali ke rumah sakit tidak tersesat ketika mencari salah satu ruangan yang ada di rumah sakit dan agar para pengunjung dapat menemukan ruangan yang ingin dikunjunginya dengan cepat dengan memanfaatkan jalur terpendek untuk menuju ke ruangan tersebut.

  1.2 Rumusan Masalah

  Dari latar belakang masalah diatas dapat dirumuskan menjadi masalah sebagai berikut : Bagaimana mengimplementasikan algoritma dijkstra dalam pencarian jalur terpendek suatu lokasi ruangan di Rumah Sakit Bethesda dengan cepat ?

  1.3 Batasan Masalah

  Dalam pembuatan program Bantu pencarian lokasi di rumah sakit dilakukan beberapa batasan masalah sebagai berikut :

  1. Studi kasus dilaksanakan di Rumah Sakit Bethesda Yogyakarta.

  2. Data ruangan dan jarak antar ruangan yang ada merupakan data Rumah Sakit Bethesda Yogyakarta tahun 2003.

  3. Ruangan yang bisa dituju adalah Ruang Rawat Inap Pasien, Klinik, Laboratorium, Ruang Administrasi, ATM, Ruang Operasional, Farmasi, IGD, Staff Bethesda dan fasilitas umum.

  4. Program dibuat dengan bahasa pemrograman Visual Basic 6.0 dengan database MYSQL 5.0

  5. Dalam melakukan pencarian jarak terpendek algoritma yang di gunakan adalah algoritma dijkstra.

  1.4 Tujuan Penelitian

  Tujuan penyusunan skripsi : Membuat suatu program Bantu dengan mengimplementasikan algoritma dijkstra, untuk mencari jalur terpendek menuju ruangan – ruangan yang ada di

  Rumah Sakit Bethesda.

  1.5 Metode Penelitian

  Metode Penelitian :

  1. Studi pustaka tentang metode dijkstra, bahasa pemograman VB 6.0, database MySQL 5.0.

  2. Survey lokasi di rumah sakit Bethesda untuk mengetahui secara langsung jalur-jalur tiap ruangan di rumah sakit.

  3. Implementasi pencarian jarak terpendek dengan menggunakan metode dijkstra dalam suatu program

  1.6 Sistematika Penyusunan Laporan

  BAB I PENDAHULUAN Bab ini berisi latar belakang masalah, rumusan masalah, batasan

  masalah, tujuan penelitian, metodologi penelitian dan sistematika penyusunan laporan.

  BAB II LANDASAN TEORI Bab ini secara umum berisi tentang landasan teori yang mendukung pembuatan program.

  BAB III ANALISA DAN PERANCANGAN SISTEM Bab ini berisi tentang gambaran sistem baru, pembahasan analisis

  terhadap sistem informasi yang dibuat, analisis kebutuhan sistem dan desain perancangan sistem.

  BAB IV IMPLEMENTASI DAN ANALISA HASIL Bab ini berisi tentang pengimplementasian dari rancangan sistem yang

  telah dibuat pada bab III dengan menggunakan bahasa pemrograman VB6.0 dan database MYSQL 5.0 dan analisa dari hasil pengimplementasian algoritma dijkstra dalam pencarian jalur terpendek.

  BAB V PENUTUP Bab ini berisi tentang hasil implementasi yang mencakup kesimpulan dan saran dari penyusunan laporan Tugas Akhir .

BAB II LANDASAN TEORI

2.1 Pengenalan Graf

  Graf adalah himpunan titik yang dihubungkan dengan garis-garis. Dalam kehidupan sehari-hari banyak sekali persoalan yang diimplementasikan dengan graf. Bidang-bidang yang menggunakan penerapan graf antara lain Switching

  

network, Coding theory, Electrical analysis, Operation research, Aljabar,

Computer science , dan Kimia. Suatu graf G terdiri dari 2 himpunan yang

  berhingga, yaitu himpunan titik-titik tidak kosong yang disimbolkan dengan V(G) dan himpunan garis-garis yang disimbolkan dengan E(G) sehingga dapat ditulis menjadi notasi G = (V,E).

  Terdapat beberapa istilah penting yang berkaitan dengan graf. Berikut ini didefinisikan beberapa terminologi yang sering digunakan:

  • Derajat ( Degree )

  Derajat suatu simpul pada graf tak berarah adalah jumlah sisi yang bersisian dengan simpul tersebut. Pada graf berarah, derajat simpul v dinyatakan dengan d (v) dan d (v), yang dalam hal ini:

  in out

  d (v) = derajat masuk (in-degree) , jumlah simpul yang masuk ke simpul v

  in

  d (v) = derajat keluar (in-degree), jumlah simpul yang keluar dari simpul v

  out Dimana, d(v) = d (v) + d (v). in out

  • Vertex atau node
  • Edge ( garis ) Adalah sebuah garis yang menghubungkan 2 titik.
  • Walk Adalah barisan titik – titik dan garis secara berselang seling.
  • Lintasan ( Path )

  Adalah sebuah walk dimana yang semua garisnya harus berbeda,

  • Siklus ( Cycle ) atau Sirkuit ( Circuit ) Adalah sebuah lintasan yang berawal dan berakhir pada titik yang sama.
  • Distance ( jarak )

  Adalah panjang garis antara kedua titik

  • Graf Berbobot ( Weighted Graph ) Adalah graf yang setiap sisinya diberi harga (bobot).

2.2 Lintasan Terpendek

  Lintasan terpendek merupakan salah satu dari masalah yang dapat diselesaikan dengan graf. Beberapa algoritma yang digunakan untuk menyelesaikan persoalan pencarian lintasan terpendek adalah: 1.

  Algoritma Dijkstra

  2. Algoritma Bellman-Ford 3. Algoritma Floyd-Warshall.

  Dari ke tiga algoritma di atas Algoritma Dijkstra merupakan algoritma yang paling tepat untuk menangani masalah pencarian lintasan terpendek pada

2.3 Algoritma Dijkstra

  Algoritma ini ditemerupakan salah satu algoritma dalam memecahkan permasalahan jarak terpendek (shortest path

  

problem ) untuk sebuah graf berarah (directed graph) dengan bobot-bobot sisi

(edge weights) yang bernilai tidak-negatif.

  Untuk lebih jelasnya maka dapat digambarkan sebagai berikut : Misalkan G adalah graf berarah berlabel dengan titik-titik V(G) = { v

  1 ,v 2 ,v 3 ,………,v n } dan

  path terpendek yang dicari adalah dari v ke v . Algoritma Dijkstra dimulai dari

  1 n

  titik v

  1 . Dalam iterasinya, algoritma akan mencari satu titik yang jumlah

  bobotnya dari titik 1 terkecil. Titik-titik yang terpilih dipisahkan dan tidak diperhatikan lagi dalam iterasi berikutnya. Misalkan : V(G) = { v

  1 ,v 2 ,v 3 ,………,v n }

  L = Himpunan titik-titik € V(G) yang sudah terpilih dalam alur path terpendek D(j) = Jumlah bobot path terkecil dari v ke v 1 j. w(I,j) = Bobot garis dari titik v i ke titik v j . w*(1,j) = Jumlah bobot path terkecil dari v 1 ke v j. Secara formal, algoritma Dijkstra untuk mencari path terpendek adalah sebagai berikut :

1. L = { }

  V = { v 2, v

  3 ,…., v n }

  2. Untuk i= 2,……, n , lakukan D(i) = w(1,i) 3. ∉ L lakukan :

  Selama v n a. k € V-L dengan D(k) terkecil Pilih titik v

  L = L U { v k }

  b. € V-L lakukan : Untuk setiap v j

  Jika D(j) > D(k) +W(k,j) maka ganti D(j) dengan D(k) + W(k,j)

  4. Untuk setiap v j € V, w*(1,j) = D(j) Menurut alagoritma diatas, path terpendek dari titik v

  1 ke v n adalah melalui

  titik titik dalam L secara berurutan, dalam jumlah bobot path terkecilnya adalah D(n). Untuk lebih memahami algoritma dijkstra, maka berikut contoh soal pencarian jalur terpendek dari graf pada gambar 2.1 di bawah ini . d

  5 7 e

  4

  3

  8

  6

  6 c

  7

  4 a b

  5 Gambar 2.1 Gambar graf kasus implementasi algoritma dijkstra Kasus :

  Dari gambar graf 2.1 diatas maka carilah jalur terpendek dari titik a sampai dengan titik e.

  Penyelesaian : Va Vb Vc Vd Ve

  Va ∞ 5 4 6 7

  Vb 5 ∞ 7 8 6

  W = Vc 4 7 ∞ 3 4

  Vd 6 8 3 ∞ 5

  Ada 4 langkah yang dilakukan untuk menyelesaikan masalah diatas, yaitu :

  1. Mula- mula L= { } dan V= { Vb,Vc,Vd,Ve}

  2. D(c) = W(a,c) = 4 D(b) = W(a,b) = 5 ;

  D(d) = W(a,d) = 6 ; D(e) = W(a,e) = 7

  3. V – L = { Vb,Vc,Vd,Ve } – { } = { Vb,Vc,Vd,Ve } V n = Ve ∉ L, sehingga langkah 3(a) – 3(b) dilakukan.

  3(a) : D(k) terkecil adalah D(c) sehingga v k = Vc L = L ∪ {v k } = { } ∪ { Vc } = { Vc }

  3(b) : V-L = { Vb,Vc,Vd,Ve } – { Vc } = { Vb,Vd,Ve } k = c ( dari langkah 3(a) ) Diselidiki tiap titik dalam V-L

  Untuk j = b : D(j) = D(b) = 5 ; D(k) + W(k,j) = D(c) + W(c,b) = 4 + 7 = 11 Karena D(b) > D(c) + W(c,b) maka D(b) tetap = 5

  Untuk j = d : D(j) = D(d) = 6 ; D(k) + W(k,j) = D(c) + W(c,d) = 4 + 3 = 7

  Karena D(d) > D(c) + W(c,d) maka D(d) tetap = 6 Untuk j = e :

  D(j) = D(e) = 7 ; D(k) + W(k,j) = D(c) + W(c,e) = 4 + 4 = 8 Karena D(e)

  > D(c) + W(c,e) maka D(e) tetap = 7 Langkah selanjutnya kembali ke langkah 3(a), kerena Ve ∉ L V-L = { Vb,Vd,Ve }

  ≠ ∅ Diantara D(k) ( k = b,d,e ) hasil iterasi langkah 3(b), D(k) yang terkecil adalah D(b), sehingga V k =Vb Maka sekarang, L = L ∪ { Vb } = { Vc } ∪ { Vb } = { Vb,Vc } 3(b) : V- L = { Vb,Vc,Vd,Ve } – { Vb,Vc } = { Vd,Ve } Langkah 3(b) untuk mengecek setiap titik dalam V-L diulangi lagi.

  Langkah 3(a) dan 3(b) di ulang-ulang terus hingga Ve ∈ L. Hasil iterasi selengkapnya dapat dilihat pada tabel 2.1. Indeks k shg L V-L D(b) D(c) D(d) D(e) D(k) minuman

  ∅ {Vb,Vc,Vd, - W(a,b) = 5 W(a,c) = 4 W(a,d) = 6 W(a,e) = 7 Ve }

  Min Min Min c {Vc} {Vb,Vd,Ve} (D(b),D(c)+W(c,b)) 4( tetap ) (D(d),D(c)+W(c,d)) (D(e),D(c)+W(c,e)) = Min(5, 4 + 7) = 5 = Min(6,4+3) = 6 = Min (7,4+4) = 7 Min Min b {Vb,Vc} {Vd,Ve} 5( tetap ) 4( tetap ) (D(d),D(b)+W(b,d) (D(e),D(b)+W(b,e) = Min(6,5+8) = 6 = Min(7,5+6) = 7

  Min d {Vb,Vc,Vd} {Ve} 5( tetap ) 4( tetap ) 6( tetap ) D(e),D(d)+W(d,e) = Min(7,6+5) = 7 e {Vb,Vc,Vd,Ve}

Tabel 2.1 Perhitungan Algoritma Dijkstra Dari tabel perhitungan algoritma yang ditunjukkan pada tabel 2.1 dapat dilihat karena v n = Ve ∈ L, maka iterasi dihentikan. Path terpendek dari Va sampai ke Ve adalah 7 dengan jalur yang dibaca mundur sebagai berikut :

  Pada iterasi k = d tidak terjadi penurunan jarak ( dari 7 tetap 7 ). Ini berarti bahwa titik pada indeks k = d (Vd) bukan jalur path. Naik 1 baris diatasnya pada iterasi k = b tidak terjadi penurunan jarak ( dari 7 tetap 7 ), Ini berarti bahwa titik pada indeks k = b (Vb) bukan jalur path. Naik 1 baris diatasnya pada iterasi k = c juga tidak terjadi penurunan jarak ( dari 7 tetap 7 ), Ini berarti bahwa titik pada indeks k = c (Vc) bukan jalur path.

  Jadi path terpendek adalah Va → Ve dengan total jarak = 7.

2.4 Visual Basic 6.0

  Microsof Visual Basic 6.0 adalah salah suatu developement tools untuk membangun aplikasi dalam lingkungan Windows. Dalam pengembangan aplikasi, Visual Basic menggunakan pendekatan Visual untuk merancang user interface dalam bentuk form, sedangkan untuk kodingnya menggunakan bahasa Basic yang cenderung mudah dipelajari. Kelebihan dari Visual Basic adalah kemampuannya untuk mengkompilasi program dalam bentuk Native Code, yaitu optimisasi pada saat prosesor mengkompilasi dan menjalankan program tersebut. Selain itu Visual Basic juga menyediakan fasilitas antar muka penulisan kode program yang lebih mudah dimengerti dan dipakai sehingga berbagai tipe program dapat dikembangkan didalamnya, misalnya EXE,DLL dan OCX, bahkan program –

2.5 MYSQL 5.0

  SQL adalah bahasa terstruktur yang digunakan untuk query, meng-update dan memanipulasi database. Tabel adalah suatu struktur dalam database yang dipakai untuk menyimpan data. Primary Key adalah suatu indeks pengurutan data yang secara fisik bergabung dengan table. Primary key diperlukan SQL Server untuk menjaga suatu table , agar mengikuti aturan tertentu dan untuk mempercepat pencarian berdasarkan primary key. String adalah rangkaian karakter, angka dan symbol-simbol lainnya. Banyak fungsi string yang disediakan MySQL untuk memanipulasi data string sehingga memudahkan pengolahan data.

  ƒ Insert(str,pos,len,newstr) Menyisipkan string ke dalam string lain dimulai pada posisi tertentu sebanyak panjang string tertentu.

  ƒ Substring(str,pos,len) Untuk mengambil sebagian string mulai dari posisi tertentu sebanyak panjang tertentu.

  Stored Procedure adalah suatu sub program atau sekelompok perintah atau sekelompok perintah SQL tersimpan dan menyatu dalam suatu database. Store Prosedur dan Trigger adalah fasilitas baru yang ditambahkan dalam MySQL versi

  5.0. Dengan adanya fasilitas ini menjadikan MySQL sebagai aplikasi database yang secara penuh dapat menerapkan konsep pemrograman Client-Server, bukan hanya Multi-User. ODBC ( Open Database onectivity ) merupakan standart yang digunakan oleh Microsoft untuk melakukan koneksi database melalui driver – driver yang independent terhadap suatu produk. ODBC bekerja dalam lingkup system operasi windows. Konektor ODBC adalah program dan driver yang bisa mengaitkan suatu program ( termasuk program database server, misalnya MySQL ) dengan ODBC.

BAB III ANALISIS DAN PERANCANGAN SISTEM

  3.1 Gambaran Sistem

  Rumah Sakit Bethesda merupakan salah satu rumah sakit terbesar yang ada di Yogyakarta. Rumah sakit ini melayani pengobatan pasien rawat inap dan rawat jalan, konsultasi kesehatan, layanan laboratorium dan layanan kesehatan lainnya. Ruangan yang ada di rumah sakit ini sangat banyak sehingga sering menimbulkan kebingungan bagi para pengunjung untuk mencari lokasi suatu ruangan. Ruangan yang ada di rumah sakit ini antara lain ruang rawat inap pasien, laboratorium, klinik, kas bank, ATM dan lain sebagainya. Pintu masuk yang disediakan di rumah sakit ini ada 3, yaitu : pintu masuk IGD & IRJ, pintu masuk pengunjung pasien rawat inap dan pintu masuk samping paviliun Srikandi. Untuk pengunjung yang baru pertama kali datang ke Rumah Sakit Bethesda mungkin akan merasa kebingungan untuk mencari lokasi ruangan yang ingin mereka kunjungi. Sehingga pihak rumah sakit menyediakan fasilitas layanan informasi untuk memudahkan para pengunjung untuk menemukan ruangan yang ingin dikunjunginya. Mereka dapat menanyakan lokasi ruangan tersebut pada petugas informasi, sehingga pengunjung akan memperoleh informasi yang diinginkannya. Pengunjung akan menemukan ruangan yang ingin dikunjungi dengan bantuan petunjuk yang ada di setiap lorong Rumah Sakit Bethesda. Gambaran mengenai lokasi ruangan yang ada di Rumah Sakit Bethesda ini dapat dilihat pada gambar

Gambar 3.1 Denah Rumah Sakit Bethesda Yogyakarta

3.2 Fase Definisi

  Masalah pokok yang terjadi pada Rumah Sakit Bethesda ini adalah bagaimana cara untuk memberikan informasi mengenai lokasi ruangan yang ada dirumah sakit ini dengan cara yang mudah di mengerti oleh pengunjung secara efektif dan efisien. Masalah-masalah tersebut dapat dikategorikan pada PIECES sebagai berikut :

  1. Performance Pada sistem lama yang masih manual, pengunjung harus mencari petunjuk yang ada pada tiap-tiap lorong rumah sakit untuk sampai ke lokasi ruangan yang ingin dikunjungi.

2. Information

  Kemungkinan pengunjung akan merasa kebingungan dalam menemukan lokasi yang ingin dikunjungi jika lokasi ruangan tersebut cukup jauh dari pintu masuk. Karena saat mereka menanyakan informasi mengenai lokasi tersebut pada petugas rumah sakit maka informasi yang didapat, hanya berupa petunjuk yang panjang berupa kata-kata yang susah untuk diingat.

  3. Economics Tidak ada masalah dalam hal economics.

  4. Control Kemungkinan pengunjung tersesat pada saat mencari lokasi ruangan yang ingin dikunjungi besar apalagi jika pengunjung tersebut baru pertama kali datang ke RS. Bethesda.

5. Efficiency

  Membutuhkan waktu yang lama (kurang efisien) bagi pengunjung untuk mencari lokasi ruangan yang ingin dikujungi, jika pengunjung harus menanyakan lokasi tersebut pada petugas dan pengunjung harus mencari lokasi tersebut dengan berpedoman pada papan petunjuk yang ada pada tiap lorong rumah sakit

  6. Service Pelayanan tidak maksimal, karena sistem yang masih manual dapat memungkinkan pengunjung merasa kebingungan saat ingin mencari lokasi ruangan yang baru pertama kali dikunjungi.

3.3 Fase Analisis Masalah Pada fase ini dapat di gambarkan dengan tabel 3.1 dibawah ini.

  

Problem or oportunity Couses and effects System objectives System constraint

1.

  Pada sistem lama yang masih manual pengunjung harus menanyakan lokasi ruangan pada petugas layanan informasi dan mencari petunjuk yang ada pada 1.

  Proses pencarian lokasi dengan menanyakan lokasi ruangan pada petugas layanan informasi dan mencari petunjuk yang ada pada 1.

  Mempermudah staff RS.

  Bethesda dalam melayani pengunjung untuk menemukan lokasi ruangan 1.

  Sistem berjalan pada sistem operasi Windows 2. Database engine berjalan pada platform setiap lorong rumah sakit untuk sampai ke lokasi ruangan yang ingin dikunjungi.

  2. Kemungkinan pengunjung akan merasa kebingungan dalam mencari lokasi ruangan

  3. Kemungkinan pengunjung akan tersesat saat mencari lokasi ruangan yang ingin dikunjungi besar.

  4. Pelayanan tidak maksimal setiap lorong rumah sakit memakan banyak waktu dan kurang efisien.

  2. Informasi yang tidak jelas dapat membuat pengunjung tersesat dan kebingungan pada saat mencari lokasi ruangan yang ada dirumah sakit ini. yang ingin dikunjungi

  2. Mempermudah pengunjung untuk menemukan lokasi ruangan yang ingin dikunjungi MySQL.

  3. Sistem dirancang untuk single user.

Tabel 3.1 Tabel Couses dan Effects

  3.4 Gambaran Umum Sistem Baru

  Sistem ini dibuat untuk mempermudah proses pencarian lokasi ruangan di Rumah Sakit Bethesda Yogyakarta, karena system ini merupakan system yang sudah terkomputerisasi. Ada 2 macam pengguna yang dapat mengakses progam bantu ini, yaitu : pengunjung RS. Bethesda dan admin.

  Proses untuk pengunjung RS. Bethesda diawali ketika pengunjung memilih salah satu kategori ruangan yang di tawarkan pada program bantu ini.

  Dimana pengunjung akan ditawarkan berbagai pilihan kategori ruangan yang ada dirumah sakit ini. Kemudian setelah pengunjung memilih salah satu kategori yang ditawarkan maka sistem akan memberikan output yang berupa nama-nama ruangan yang termasuk dalam kategori ruangan yang telah dipilih. Pengunjung bisa memilih nama ruangan yang ingin di kunjungi atau juga bisa kembali ke menu sebelumnya. Setelah nama ruangan dipilih maka pengunjung harus menentukan dari pintu mana pengunjung tersebut masuk . Dimana ada 3 pintu masuk yang tersedia di rumah sakit ini yaitu pintu masuk IGD & IRJ, pintu masuk pengunjung pasien rawat inap dan pintu masuk samping paviliun Srikandi. Sebagai hasilnya maka sistem akan memberikan output berupa jarak dan jalur terpendek dari pintu masuk sampai ke ruangan yang ingin di kunjungi yang dilengkapi dengan denah RS. Bethesda.

  Admin mempunyai hak akses lebih pada program bantu ini. Pada program bantu ini ada 2 macam admin, yaitu admin dan super admin. Dimana super admin mempunyai hak lebih dari pada admin. Admin hanya bisa mengolah data ruangan dan mengedit password admin itu sendiri. Pengolahan data ruangan disini adalah admin dapat melihat semua data ruangan yang ada di RS. Bethesda dan meng-

  

update data ruangan yang ada. Update data ruangan, di gunakan jika ada suatu

  ruangan yang sedang di renovasi sehingga ruangan tersebut untuk sementara tidak dapat digunakan. Sehingga ketika ruangan tersebut diakses oleh pengunjung RS.Bethesda maka pengunjung tersebut akan memperoleh informasi bahwa ruangan tersebut sedang di renovasi dan jika ruangan tersebut telah selesai direnovasi, maka admin dapat mengembalikan data ruangan tersebut. Untuk super admin, selain bisa mengolah data ruangan, super admin juga bisa mengolah data admin. Yang dimaksud mengolah data admin adalah super admin bisa melihat semua data admin, memasukan data admin baru dan menghapus data admin. Flow chart system yang dibuat untuk pencarian jalur terpendek tampak pada gambar3.2.

  Start Input kategori ruangan Input ruangan yang ingin dikunjungi

  Pilih pintu masuk Inisialisasi titik awal, titik tujuan Penentuan ruang lingkup Iterasi algoritma Dijkstra

  Jarak dan jalur terpendek dari titik awal ke titik tujuan END

Gambar 3.2 Flowchart Pencarian Jalur Terpendek

  3.5 Requirement Analysis

  Use case diagram program bantu pencarian lokasi ruangan di RS. Bethesda dapat digambarkan pada gambar 3.3 dibawah ini.

  Login Lihat Data Admin << depend on >> Register data

  << extends >> admin baru Pengolahan data admin Hapus data admin

  Edit password admin Pengolahan data ruangan << extends >> Lihat Data Ruangan

  Edit Data Ruangan Pilih kategori ruangan yang ditawarkan Hapus Data Ruangan

  << depend on >> User Restore Data Ruangan Admin

  Pilih ruangan yang ingin dituju Tentukan pintu masuk

Gambar 3.3 Use Case Diagram

  3.6 Perancangan Basis Data Pemodelan Proses

3.6.1 Pemodelan proses pada sistem yang dibuat dapat digambarkan pada

  context diagram, diagram berjenjang dan data flow diagram, ketiganya nampak kategori ruangan, nama ruangan,pintu masuk, kategori ruangan, data admin baru nama ruangan

  Program bantu dan data ruangan baru dan pintu masuk pencarian lokasi ruangan di RS

  Admin User jarak dan jalur terpendek Bethesda jarak dan jalur terpendek lengkap dengan denah

  Yogyakarta lengkap dengan denah RS.Bethesda, data admin baru RS.Betehsda dan data ruangan baru

Gambar 3.4 Context Diagram

  • PROGRAM BANTU PENCARIAN LOKASI RUANGAN DI RS.BETHESDA YOGYAKARTA

  1

  4P

  6P

  3

  2P

  5

      • PEMILIHAN

  EDIT LOGOUT PENGOLAHAN

  VALIDASI ADMIN PENGOLAHAN KATEGORI

  PASSWORD DATA ADMIN DATA RUANGAN ADMIN RUANGAN

  1.1P

  1.2P

  1.3P

  3.1P

  3.2P

  3.3P

  3.4P

  5.1P

  5.2P

  5.3P

  5.4P

  • PEMILIHAN PENENTUAN NAMA PENENTUAN JALUR

  VALIDASI LIHAT DATA REGISTER HAPUS DATA LIHAT DATA EDIT DATA HAPUS DATA RESTORE RUANGAN PINTU MASUK TERPENDEK KE SUPER ADMIN DATA ADMIN ADMIN RUANGAN RUANGAN RUANGAN DATA YANG INGIN RUANGAN ADMIN BARU RUANGAN DITUJU YANG INGIN DITUJU

Gambar 3.5 Diagram Berjenjang

  u s e rn a m e ,p a s s w d b a ru

  4 P

  • u s e rn a m e ,p a s s w d b a ru E D IT P A S S W O R D A D M IN u se r va lid u s e rn a m e ,p a s s w d u s e rn a m e , p a s s w d

  2 A d m in 3 . a d m in

  • u s e rn a m e , p a s s w d

  V A L ID A S I A D M IN u se r va lid d a ta a d m in b a ru

  3

  • d a ta a d m in b a ru

  d a ta a d m in b a ru P E N G O L A H A N D A T A A D M IN

  6

  • p e rin ta h lo g o u t

  L O G O U T d a ta ru a n g a n b a ru

  5

  • d a ta ru a n g a n b a ru P E N G O L A H A N D A T A R U A N G A N K a te g o ri_ ru a n g a n y a n g p ilih a n

  1 . ru a n g a n d a ta ru a n g a n b a ru

  1

  • k a te g o ri_ ru a n g a n p ilih a n P E M IL IH A N k a te g o ri_ ru a n g a n p ilih a n U se r K A T E G O R I d a ta ru a n g a n s e s u a i R U A N G A N d a ta ru a n g a n s e s u a i k a te g o ri_ ru a n g a n p ilih a n k a te g o ri_ ru a n g a n p ilih a n

Gambar 3.6 Data Flow Diagram Level 1

  1

  • nama ruangan pilihan Nama ruangan pilihan

  1.1P

  • kode_ruangan PEMILIHAN NAMA RUANGAN YANG INGIN DITUJU

  nama ruangan pilihan 1. ruangan nama pintu masuk User jarak, jalur terpendek

  1.2P kode_ruangan

  • Pintu masuk pilihan titik tujuan PENENTUAN 2. jarak PINTU MASUK pintu masuk piliahan Admin

  jarak titik awal

  1.3P kode_ruangan_asal

  • PENENTUAN JALUR TERPENDEK KE RUANGAN YANG Kode_ruangan_tujuan

  INGIN DITUJU jarak, jalur terpendek

Gambar 3.7 Data Flow Diagram Level 2 Proses 1

  3 ------------------------------------------------------- -----------------------------------

  3.3P --------------------------- REGISTER DATA ADMIN BARU

  3.4P --------------------------- HAPUS DATA ADMIN 3.1P --------------------------- VALIDASI SUPER ADMIN Admin username,passwd superadmin user valid data admin baru user valid data admin baru level admin, data admin baru 3.2P --------------------------- LIHAT DATA ADMIN user valid level admin data admin 3. admin username,password username,password level admin data admin baru level admin, data admin baru data admin baru

Gambar 3.8 Data Flow Diagram Level 2 Proses 3

    • LIHAT D ATA RU AN G AN
    • ED IT DATA R UAN G AN

  Adm in 1. ruangan

  5

  5.1P

  5.2P

  5.3P

  status ruangan data ruangan data ruangan baru perubahan status ruangan perubahan status ruangan user valid Status ruangan data ruangan baru status ruangan baru status ruangan baru data ruangan baru status ruangan baru status ruangan baru

  • H APU S D ATA R U ANAN

  5.4P

  • R ESTO R E DATA R UAN AN usernam e, passw ord

Gambar 3.9 Data Flow Diagram Level 2 Proses 5

3.6.2 Pemodelan Data

  Pemodelan data untuk sistem yang dibuat nampak pada gambar 3.10 dan 3.11 dibawah ini.

  jarak (1,N) (1,N) Jarak passwd username level (1,1) (1,N) status Ruangan pengolahan Admin y1 line x1 kategori_ruangan kode_ruangan nama_ruangan

Gambar 3.10 E-R Diagram

  Ruangan Jarak Admin PK kode_ruangan

  PK username nama_ruangan **kode_ruangan_asal passwd kategori_ruangan **kode_ruangan_tujuan level jarak x1 y1 status line

Gambar 3.11 Relational Model

3.7 Desain Input Output Desain Input

3.7.1 Ada 11 kategori ruangan yang disediakan pada program bantu ini. Dimana

  tiap kategori terdiri dari beberapa ruangan. Isi dari tiap-tiap kategori tersebut adalah :

  1. Kategori Ruangan Pasien Yang terdiri dari 2 kategori, yaitu paviliun dan ruangan biasa.

  ƒ Paviliun : Paviliun Srikandi, Shinta, Anggrek, Gardena, Flamboyan, Hibiscus, Dahlia, Bakung, Canna, Edelweis dan Jasmine.

  ƒ Ruangan Biasa : Ruang Bayi, Galilea ,I, III, IV,VI,VII, A, B, C, D, E, F , G, H, I, J, dan N.

  2. Kategori Klinik Terdiri dari semua klinik yang ada di RS.Bethesda yaitu klinik laktasi, gizi, akupuntur, psikiatri, karyawan, psikologi, CB anak sehat, mata, kulit, gigi & mulut, THT, alergi, kebidanan, fisioterapi, saraf, penyakit dalam, bedah, dan polikinik Kartini.

  3. Kategori IGD Terdiri dari pintu masuk ruang IGD, tempat pendaftaran pasien IGD dan ruang IRD.

  4. Kategori Laboratorium Terdiri dari laboratorium anatomi & patologi, mikrobiologi, radiologi, klinik dan patologi klinik.

  5. Kategori Farmasi Terdiri dari medical record, satelit farmasi rawat jalan dan farmasi pusat pasien rawat inap.

  6. Kategori Staff Bethesda Terdiri dari ruang dokter, sekretariat, wakil direktur & direktur, kepala

  IRD, kantor IRJ, humas & pemasaran, bagian kepegawaian, panitia rekam medik, PDI, PSMRS, PSP, PYC, PKPKY, PKBRS, BMKK, IDI, PDE, komite bidang diklat, komite gerejani, komite dana pension YAKKUM, komite medis.

  7. Kategori Operasional Terdiri dari dapur, instansi gizi, petrollena, ruang diklat, kantor elektromedik, ruang senam & fitness, studio, unit jahit, liner bersih, liner kotor, ruang operasional, PSPM dan ruang rapat.

  8. Kategori Staff Administrasi Terdiri dari loket administrasi, ruang akutansi & keuangan, loket askes, kantor piutang.

  9. Kategori ATM Terdiri dari ATM BRI, kas BRI, kas Lippo Bank dan kas BPD DIY.

  10. Kategori Fasilitas Umum Terdiri dari toilet, café, lift, tempat layanan informasi dan mini market.

  11. Kategori Lain-lain Terdiri dari unit perawatan ginjal dan ruang cuci darah, ruang bersalin, ruang pemulihan dan ruang fisioteraphi.

3.7.2 Desain Output

  Desain output dari program bantu ini adalah berupa jarak terpendek dan jalur terpendek dari pintu masuk sampai ke ruangan yang ingin di kunjungi oleh pengguna program bantu yang disertai dengan denah RS.Bethesda.

3.8 Perancangan Proses

  Untuk menemukan jalur terpendek ke setiap ruangan yang ada di rumah sakit ini, digunakan suatu algoritma pencarian jarak terpendek yaitu algoritma dijkstra. Untuk mengimplementasikan algoritma ini, maka denah rumah sakit di ubah ke dalam bentuk graf. Data jarak dan ruangan didapat dari pihak Bethesda Yogyakarta berbentuk denah rumah sakit dengan skala 1 : 125 cm untuk gedung lantai 1 kecuali gedung IGD dan IRJ, karena untuk gedung IRJ dan IGD di berikan data asli tanpa skala.