• Tidak ada hasil yang ditemukan

BAB 2 TINJAUAN PUSTAKA

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 TINJAUAN PUSTAKA"

Copied!
15
0
0

Teks penuh

(1)

BAB 2

TINJAUAN PUSTAKA

2.1 Pengertian Graf

Graf adalah kumpulan titik (vertex) yang dihubungkan satu sama lain melalui sisi/busur (edges). Suatu graf G terdiri dari dua himpunan yaitu himpunan V dan himpunan E. [10] a. Vertex : V adalah himpunan vertex yang terbatas dan tidak kosong

b. Edge (sisi/busur): E adalah himpunan busur yang menghubungkan sepasang vertex.

Vertex-vertex pada graf dapat merupakan obyek sembarang seperti kota, atom-atom suatu zat, nama anak, jenis buah, komponen alat elektronik dan sebagainya. Busur dapat menunjukkan hubungan (relasi) sembarang seperti rute penerbangan, jalan raya, sambungan telepon, ikatan kimia, dan lain-lain. Notasi graf: G(V,E) artinya graf G memiliki V vertex dan E busur.

Dari penjelasan di atas graf adalah pasangan himpunan (V, E) yang dinotasikan dengan G = (V, E), V adalah himpunan titik, atau vertex dari G yaitu V= {v

1 , v2 , v3 ,…, vn}

dan E adalah himpunan rusuk, edges, atau sisi dari G, yaitu E= {e

1 , e2 , e3 ,…, em}.. Sebuah

graf dimungkinkan tidak mempunyai edge satu buah pun, tetapi vertexnya harus ada minimal satu. Graf yang hanya memiliki satu buah vertex tanpa sebuah edge pun dinamakan graf trivial. [3]

2.1.1 Jenis-jenis Graf

Graf dikelompokkan menurut ada tidaknya edges-nya yang paralel atau loop, jumlah vertexnya, berdasarkan ada tidaknya arah pada edgesnya, atau ada tidaknya bobot pada edges -nya. [10]

(2)

Graf sederhana adalah graf yang tidak mempunyai paralel edges atau edges ganda dan atau loop. Loop adalah edge yang menghubungkan sebuah vertex dengan dirinya sendiri. Berikut adalah contoh graf sederhana :

A D C B e1 e4 e2 e3 Gambar 2.1 Contoh Graf Sederhana

2. Graf Tak-Sederhana

Graf tak-sederhana adalah graf yang memiliki edges ganda dan atau loops. Graf tak sederhana dapat dibagi dua yaitu:

a. Graf ganda (multi graph) adalah graf yang mengandung edge ganda. Sisi ganda yang menghubungkan sepasang vertex bisa lebih dari dua buah.

A B C D e1 e2 e3 e4 e5 e6 e7

Gambar 2.2 Contoh Graf Ganda

b. Graf semu (pseudograph) adalah graf yang mempunyi loop, termasuk juga graf yang mempunyai loop dan edge ganda karena itu graf semu lebih umum daripada graf ganda, karena graf semu edgenya dapat terhubung dengan dirinya sendiri.

(3)

A B C D e1 e2 e3 e4 e5 e6 e7 e8

Gambar 2.3 Contoh Graf Semu

Selain berdasarkan ada tidaknya edge yang paralel atau loop, graf dapat juga dikelompokkan berdasarkan orientasi arah atau panah yaitu:

1. Graf Tak Berarah (undirected graph)

Graf tak berarah adalah graf yang edgenya tidak mempunyai orientasi arah atau panah. Pada graf ini, urutan pasangan vertex yang dihubungkan oleh edge tidak diperhatikan. Jadi (vj, vk) = (vk, vj) adalah edge yang sama.

A B C D e1 e2 e3 e4 e5 e6

Gambar 2.4 Contoh Graf Tak Berarah

2. Graf Berarah (directed graph atau digraph)

Graf berarah adalah graf yang setiap edgenya memiliki orientasi arah atau panah. Pada graf berarah (vj, vk) ≠ (vk, vj).

(4)

B C D E e1 e2 e4 e5 e6 e7 e8

Gambar 2.5 Contoh Graf Berarah

Berdasarkan jumlah vertex pada suatu graf, maka secara umum graf dapat digolongkan menjadi dua jenis:

1.

Graf Berhingga (

limited graph

).

Graf berhingga adalah graf yang jumlah

vertex

nya berhingga, n.

A B C D e1 e2 e3 e4 e5

Gambar 2.6 Contoh Graf Berhingga

2.

Graf Tak Berhingga (

unlimited graph

).

Graf tak berhingga adalah graf yang jumlah vertexnya, n tidak berhingga.

(5)

Graf juga ada yang mempunyai bobot atau nilai. Berdasarkan bobotnya, graf dibagi

menjadi dua jenis, yaitu:

1. Graf tidak berbobot (

unweighted

graph

) adalah graf yang tidak mempunyai bobot

atau nilai.

C A B D E

Gambar 2.8 Contoh Graf Tidak Berbobot

2. Graf berbobot (

weighted graph

) adalah graf yang masing-masing busurnya

mempunyai bobot atau nilai tertentu.

C A B D E 3 2 8 10 6 9 5

Gambar 2.9 Contoh Graf Berbobot

2.2 Lintasan Terpendek (Shortest Path)

Lintasan Terpendek (Shortest Path) merupakan lintasan minimum yang diperlukan untuk mencapai suatu titik dari titik tertentu. Dalam pencarian lintasan terpendek masalah yang dihadapi adalah mancari lintasan mana yang akan dilalui sehingga didapat lintasan yang paling pendek dari satu vertex ke vertex yang lain.[1]

(6)

Ada beberapa macam persoalan lintasan terpendek, antara lain : 1. Lintasan terpendek antara dua buah vertex.

2. Lintasan terpendek antara semua pasangan vertex.

3. Lintasan terpendek dari vertex tertentu ke semua vertex yang lain

4. Lintasan terpendek antara dua buah vertex yang melalui beberapa vertex tertentu.

Pada tugas akhir ini persoalan lintasan terpendek yang menjadi masalah adalah

lintasan terpendek antara dua buah

vertex

dimana bobot pada setiap

edge

graf

digunakan untuk menyatakan jarak antar rak buku pada sebuah perpustakaan dalam

satuan meter (m). Algoritma yang digunakan adalah algoritma A* dalam menentukan

lintasan terpendek.

2.3

Algoritma A*

Algoritma A* (

A Star

) adalah algoritma pencarian yang merupakan

pengembangan

dari algoritma

Best First Search

(BFS). Seperti halnya pada BFS, untuk menemukan

solusi, A* juga dituntun oleh fungsi heuristik, yang menentukan urutan titik mana

yang akan dikunjungi terlebih dahulu. Heuristik merupakan penilai yang memberi

harga pada tiap

vertex

yang memandu A* mendapatkan solusi yang diinginkan. [2]

Algoritma ini pertama kali ditemukan pada tahun 1968 oleh Peter Hart, Nils Nilsson dan Bertram Raphael. Dalam tulisan mereka, Algoritma ini dinamakan Algoritma A. Penggunaan Algoritma ini dengan fungsi heuristik yang tepat dapat memberikan hasil yang optimal, maka Algoritma inipun disebut A*. [4]

Beberapa terminologi dasar yang terdapat pada algoritma ini yaitu: 1. Starting point adalah sebuah terminologi untuk posisi awal sebuah benda.

2. A adalah vertex yang sedang dijalankan dalam algortimapencarian jalan terpendek.

3. Vertex adalah petak-petak kecil sebagai representasidari area pathfinding. Bentuknya dapat berupa persegi, lingkaran, maupun segitiga.

4. Open list adalah tempat menyimpan data vertex yang mungkin diakses dari starting point maupun vertex yang sedang dijalankan.

(7)

5. Closed list adalah tempat menyimpan data vertex sebelum A yang juga merupakan bagian dari jalur terpendek yang telah berhasil didapatkan.

6. Harga (F) adalah nilai yang diperoleh dari penjumlahan, nilai (G) merupakan jumlah nilai tiap vertex dalam jalur terpendek dari starting point ke A, dan (H) adalah jumlah nilai perkiraan dari sebuah vertex ke vertex tujuan.

7. Vertex tujuan yaitu vertex yang dituju.

8. Halangan adalah sebuah atribut yang menyatakan bahwa sebuah vertex tidak dapat dilalui oleh A.

2.3.1 Fungsi Heuristik untuk A*

Heuristik merupakan penilai yang memberi harga pada tiap vertex yang memandu A* mendapatkan solusi yang diinginkan. Heuristik yang paling umum digunakan adalah Manhattan Distance. Fungsi heuristik ini hanya akan menjumlahkan selisih nilai x dan nilai y dari dua buah titik. Heuristik ini dinamakan Manhattan karena di kota Manhattan di Amerika, jarak dari dua lokasi umumnya dihitung dari blok-blok yang harus dilalui saja dan tentunya tidak bisa dilintasi secara diagonal.[4]

Perhitungannya dapat ditulis sebagai berikut: h(n) = abs(n.x-tujuan.x) + abs(n.y-tujuan.y) Keterangan:

h(n): perkiraan jarak dari vertex sekarang (yang sedang dikunjungi) ke vertex tujuan. n.x: koordinat x dari vertex n.

tujuan.x: koordinat x dari vertex tujuan. n.y: koordinat y dari vertex n.

tujuan.y: koordinat y dari vertex tujuan.

Fungsi heuristik sangat berpengaruh terhadap kelakuan Algoritma A*:

1. 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.

(8)

tujuan, maka A* dijamin akan selalu menemukan jalur terpendek. Semakin rendah nilai h(n), semakin banyak titik-titik yang diperiksa A*, membuatnya semakin lambat.

3. Apabila h(n) tepat sama dengan ongkos perpindahan dari n ke tujuan, maka A* hanya akan mengikuti jalur terbaik dan tidak pernah memeriksa satupun titik lainnya, membuatnya sangat cepat. Walaupun hal ini belum tentu bisa diaplikasikan ke semua kasus, ada beberapa kasus khusus yang dapat menggunakannya.

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

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

2.4 Pengertian Database

Basis data terdiri dari 2 kata, yaitu data dan base. Base berarti markas atau gudang, tempat bersarang/berkumpul. Sedang data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya.[12]

Basis Data dapat didefenisikan dalam sejumlah sudut pandang seperti :

a. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.

b. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (Redudance) yang tidak perlu, untuk memenuhi berbagai kebutuhan.

c. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.

Basis Data dan lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan yang sama. Prinsip utamanya adalah pengaturan data/arsip. Dan tujuan utamanya adalah kemudahan dan kecepatan dalam mengambil kembali data/arsip. Perbedaannya hanya terdapat pada media penyimpanan yang digunakan. Jika lemari arsip menggunakan lemari dari besi atau kayu sebagai media penyimpanan, maka basis data menggunakan media penyimpanan

(9)

elektronis seperti disk (disket atau harddisk). Hal ini merupakan konsekuensi yang logis, karena lemari arsip langsung dikelola/ditangani manusia, sementara basis data dikelola/ditangani melalui perantaraan alat/mesin pintar elektronik (yang kita kenal sebagai komputer).

Istilah-istilah yang dipergunakan dalam sistem basis data :

a. Enterprise, suatu bentuk organisasi, seperti: Perpustakaan, Kategori, Penerbit, Percetakan, Kode Buku dan lain-lain.

Data yang disimpan di dalam basis data merupakan data operasional suatu enterprise. Contoh data operasional adalah:

Perpustakaan Kategori buku

Kategori buku Penerbit

Penerbit Percetakaan

b. Entity (Entitas), suatu obyek yang dapat dibedakan dengan obyek lainnya yang dapat diwujudkan di dalam basis data, sebagai contoh adalah:

- Entitas dilingkungan Perpustakaan (Buku)

- Entitas di lingkungan Buku (Judul buku, Penerbit, Percetakan) Kumpulan entitas disebut himpunan entitas.

c. Attribute/field, karakteristik entitas tertentu. Contoh :

Entity Buku  atributnya adalah Kode, Nama Buku, Penerbit, Percetakan, Edisi dan Tanggal Terbit

d. Data Value (nilai atau isi data) merupakan data aktual atau informasi yang disimpan di tiap data elemen atau atribut. Isi atribut disebut nilai data.

Contoh :

Atribut Kategori  Fiksi, Ilmiah.

e. Record/Tuple, kumpulan isi elemen data (atribute) yang saling berhubungan menginformasikan tentang suatu entity secara lengkap.

Contoh: kumpulan atribut Kode Buku, Nama Buku, Penerbit, Edisi berisikan “BK01”, Pemrograman Visual Basic 6.0, NADI Yogyakarta, 2010.

(10)

namun berbeda-beda valuenya.

g. Kunci elemen data, sebagai tanda pengenal yang secara unik mengidentifikasi entitas dari suatu kumpulan entitas.

Contoh: Entitas Pegawai mempunyai atribute-atribute NIP, NmPegawai, Alamat, menggunakan NIP sebagai kunci elemen data.

h. Database Management System (DBMS), kemudian yang saling berkaitan bersama dengan program untuk pengelolanya.

Basis data dapat terdiri dari ratusan field yang dibutuhkan untuk informasi dan basis data juga dapat diakses/dipakai secara bersama-sama oleh lebih dari beberapa ratus pemakai (user). Karena basis data dipergunakan secara bersama-sama, mungkin dalam waktu yang bersamaan, maka diperlukan suatu pengontrol dan pengelola data yang ada didalam suatu basis data.

Pengontrol ini dilakukan oleh DBMS ( Database Management System) yang merupakan kumpulan software yang mengkoordinasikan semua kegiatan yang berhubungan dengan basis data agar data dapat diakses/dipakai oleh pengguna. Tujuannya adalah efisiensi dan kenyamanan dalam memperoleh dan menyimpan informasi di dalam basis data.

2.5 Microsoft Visual Basic

Pada pemrograman Visual Basic, perancangan program dimulai dengan perencanaan dan pendefenisian tujuan program, lalu merancang keluaran dan media hubungan dengan pemakai, dan langkah terakhir adalah penulisan kode program tersebut (Alam, 2000). Visual Basic menyediakan IDE (Integrated Development Environment) sebagai lingkungan tempat bekerja untuk menghasilkan program aplikasi. Komponen-komponen IDE terdiri dari control menu, baris menu, toolbar, toolbox, form window, form layout window, properties window, project explorer, kode window, object window dan event window. Yang mana setiap komponen memiliki tujuan dan kegunaan masing-masing. Dalam pembuatan aplikasi Simulasi Pencarian Jarak Terdekat (Shortest Path) Dengan Menggunakan Algoritma A * (Studi Kasus Pada Perpustakaan Politeknik Negeri Medan) penulis menggunakan komponen pada Visual Basic yaitu:

(11)

1. Form, berfungsi untuk tempat meletakkan komponen aplikasi, antara lain: a. Picture box yang berfungsi untuk menampilkan peta Sumatera Utara. b. Grid menampilkan data rute-rute jalan.

c. List View yang berfungsi untuk menampilkan hasil pencarian rute terpendek. d. Line yang berfungsi untuk menampilkan garis.

2. Window Project, berfungsi untuk meletakkan form-form.

3. Window Properties , berfungsi untuk menampilkan atribut sebuah komponen.

Gambar 2.13 Menu Utama pada Visual Basic

2.6 Flow Chart

Flowchart adalah bagan alir yang menggambarkan arus data dari program. Fungsi dari bagan alir ini adalah untuk memudahkan programmer di dalam perancangan program aplikasi [13]. Simbol-simbol yang digunakan pada bagan flowchart ini antara lain seperti pada Tabel 2.1.

Picture box Grid List View Line Window Project Window Properties

(12)

Simbol Fungsi Terminator

Menunjukkan awal dan akhir suatu proses. Data

Digunakan untuk mewakili data input/output. Process

Digunakan untuk mewakili proses. Decision

Digunakan untuk suatu seleksi kondisi didalam program. Predefined Process

Menunjukkan suatu operasi yang rinciannya ditunjukkan di tempat lain.

Preparation

Digunakan untuk memberi nilai awal variabel. Flow Lines Symbol

Menunjukkan arah dari proses. Connector

Menunjukkan penghubung ke halaman yang sama. Menunjukkan penghubung ke halaman yang baru. Sumber: Jogiyanto, 2005

2.7 Simulasi

Simulasi adalah merancang model dari suatu sistem yang nyata, mengadakan percobaan-percobaan terhadap model tersebut dan mengevaluasi hasil percobaan-percobaan tersebut. Simulasi

(13)

merupakan teknik atau cara penyelesaian persoalan melalui pengolahan data operasi sistem imitasi untuk memperoleh data output penyelidikan atau percobaan penelitian sebagai bahan solusi persoalan ataupun sebagai bahan masukan dalam rangka pengembangan dan perbaikan struktur dan operasi sistem yang nyata. [6]

2.7.1 Manfaat Simulasi

Manfaat simulasi bagi kehidupan nyata adalah untuk: 1. Menjelaskan kelakuan sistem.

2. Menirukan bekerjanya suatu sistem melalui melalui suatu model. 3. Memecahkan suatu persoalan matematik dengan analisis numerik. 4. Mempelajari dinamika suatu sistem.

5. Memberikan suatu deskripsi perilaku sistem dalam perkembangan sejalan dengan bertambahnya waktu.

6. Membangun teori atau hipotesa yang mempertanggungjawabkan kelakuan dari sistem yang diamati.

7. Meramalkan kelakuan sistem yang akan datang yaitu pengaruh yang dihasilkan oleh perubahan-perubahan sistem atau perubahan operasinya.

Pengertian simulasi merupakan imitasi dari benda nyata, status dari pengolahan, ataupun proses. Tindakan dari mensimulasikan sesuatu pada umumnya mewakili karateristik kunci tertentu atau sifat dari fisikal terpilih atau sistem abstrak. Simulasi dipakai di berbagai konteks, termasuk pemberlakuan model dari sistem alamiah atau sistem manusia dengan tujuan untuk mendapatkan gambaran ke dalam fungsi yang ada. Konteks lain termasuk ke dalamnya simulasi dari teknologi untuk optimasi perfomansi, rekayasa keamanan, pengetesan, pelatihan dan edukasi. Simulasi dapat dipakai untuk menunjukkan efek kejadian sebenar dari kondisi alternatif dan arah dari tindakan.

Dengan melakukan sebuah simulasi pada kejadian nyata, dapat diketahui hasil yang diaplikasikan secara semu, walau deviasi pasti terjadi antara simulasi dengan kejadian nyata, namun nilai deviasi minimal sudah dapat diperhitungkan lebih jauh. Isu kunci dari simulasi termasuk akuisisi dari informasi sumber yang sah tentang referensi, pemilihan kunci karateristik dan sifat, penggunaan pencapaian yang disederhanakan dan asumsi di dalam simulasi, dan ketelitian dan validasi dari hasil simulasi. Simulasi sering dipakai di dalam pelatihan dari sipil dan personel militer. Hal ini biasanya muncul saat peralatan mahal dan

(14)

sebenar. Di dalam situasi tertentu maka akan dilakukan pembelajaran pelajaran berharga di dalam lingkungan virtual yang “aman”. Seringnya kenyamanan untuk memberikan kesalahan selama pelatihan untuk sistem keamanan kritikal.

Pelatihan simulasi pada umumnya terdiri dari 3 kategori:

1. Simulasi “hidup” adalah dimana orang nyata menggunakan peralatan tersimulasi di dalam dunia nyata

2. Simulasi “virtual” adalah dimana orang nyata menggunakan peralatan tersimulasi di dalam dunia simulasi atau lingkungan simulasi

3. Simulasi “konstruktif” adalah dimana orang tersimulasi menggunakan peralatan tersimulasi di dalam lingkungan simulasi. Simulasi konstruktif sering ditujukan kepada “dunia perang-perangan” karena merujuk kepada permainan perang dimana pemain melakukan komando terhadap kumpulan pasukan dan peralatan untuk menggerakan papan.

2.7.2 Jenis-jenis Simulasi

Jenis-jenis simulasi dapat dikategorikan sebagai berikut .[6]

1. Model Simulasi Statik dan Model Simulasi Dinamik : Model simulasi statik adalah representasi dari sistem dimana waktu tidak memegang peranan penting. Sebagai contoh adalah model Monte Carlo yang merupakan metode komputasi numerik yang melibatkan pengambilan sampel eksperimental dengan bilangan acak (random number), sedangkan model simulasi dinamik merepresentasikan sistem yang berubah pada suatu waktu tertentu, contohnya adalah sistem ban berjalan pembawa barang pada pabrik.

2. Model Simulasi Deterministik dan Model Simulasi Stokastik : Model simulasi Deterministik adalah model simulasi yang tidak mengandung komponen probabilitas atau bilangan random. Model diferensial dari sebuah reaksi kimia dapat dikatakan sebagai model deterministik. Keluaran (output) pada model deterministik dapat langsung diketahui jika kumpulan-kumpulan masukan dan hubungan-hubungan dalam model tersebut telah ditentukan, walaupun mungkin memerlukan sedikit banyak waktu komputer mengevaluasinya. Pada kebanyakan sistem diperlukan beberapa komponen masukan

(15)

(input) yang acak. Sebagian besar sistem antrian dan sistem persediaan dimodelkan dalam model simulasi stokastik. Model simulasi stokastik menghasilkan keluaran yang acak sehingga keluaran dari model stokastik dipandang sebagai estimasi dari karakteristik nyata dari model tersebut.

3. Model Simulasi Kontinu dan Model Simulasi Diskrit. Model simulasi Kontinu berkaitan dengan pemodelan dari sistem ditandai dengan variabel keadaan yang berubah secara kontinu sepanjang waktu. Sedangkan model simulasi diskrit berkaitan dengan pemodelan simulasi sebuall sistem ditandai dengan perubahan variabel keadaan secara seketika pada beberapa titik tertentu.

Gambar

Gambar 2.3 Contoh Graf Semu
Gambar 2.5 Contoh Graf Berarah
Gambar 2.8 Contoh Graf Tidak Berbobot
Gambar 2.13 Menu Utama pada Visual Basic

Referensi

Dokumen terkait

Beragamnya tipe ekosistem ini sangat mendukung sebagai habitat satwa maupun flora khususnya berbagai jenis tumbuhan paku-pakuan.Tujuan penelitian ini yaitu untuk

Buatlah model partikel- partikel penyusun atom (proton, neutron, dan elektron) menggunakan plastisin atau kertas yang telah disediakan. Buatlah masing-masing partikel

Perubahan budaya merupakan variasi terhadap cara-cara hidup yang telah baku. Perubahan ini dapat disebabkan oleh pengaruh geografis, kebudayaan material, komposisi penduduk,

 Komite tidak menyetujui penggunaan Tokoferol (INS. 150d) pada draft regional standard for non-fermented soybean product karena batas maksimum yang diajukan

Permintaan marjinal dan elastisitas permintaan parsial Perusahaan dg 2 produk dan biaya produksi gabungan..

Dengan demikian, setiap mahasiswa ITB dituntut untuk dapat menyelesaikan studinya sesuai dengan waktu yang dialokasikan dalam kurikulum, mencapai Indeks Prestasi yang tinggi,

Kodrat kita sebagai seorang manusia diawali dari tumbum dan berkembang, dimana manusia dikenal sebagai makhluk individu dan juga makhluk sosial (zoon politicon), dimana seorang

bahwa dengan telah dikeluarkannya Peraturan Pemerintah Nomor 21 Tahun 2007 tentang Perubahan Ketiga Atas Peraturan Pemerintah Nomor 24 Tahun 2004 tentang Kedudukan Protokoler