BAB II DASAR TEORI PENELITIAN

dokumen-dokumen yang mirip
BAB I PENDAHULUAN 1.1 Latar Belakang

BAB III PELAKSANAAN PENELITIAN

BAB I. Pendahuluan Latar Belakang

BAB 2 LANDASAN TEORI

KONSEP MANAJEMEN BASIS DATA Sistem Informasi Geografis

MODEL PENENTUAN JALUR PENGANGKUTAN SAMPAH PERKOTAAN DENGAN SISTEM INFORMASI GEOGRAFIS (Studi Kasus: Wilayah Bandung Barat)

PEMANFAATAN DATA SPACIAL UNTUK REFRENSI KERUANGAN

BAB II TINJAUAN PUSTAKA. a) Purwadhi (1994) dalam Husein (2006) menyatakan: perangkat keras (hardware), perangkat lunak (software), dan data, serta

PERANCANGAN SISTEM INFORMASI GEOGRAFIS PENENTUAN JALUR JALAN OPTIMUM KODYA YOGYAKARTA

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

PERANCANGAN SISTEM INFORMASI GEOGRAFIS PENENTUAN JALUR JALAN OPTIMUM KODYA YOGYAKARTA MENGGUNAKAN ALGORITMA DIJKSTRA

ROUTING. Budhi Irawan, S.Si, M.T

PERANCANGAN SISTEM INFORMASI GEOGRAFIS PENENTUAN JALUR JALAN OPTIMUM KODYA YOGYAKARTA MENGGUNAKAN ALGORITMA DIJKSTRA

Implementasi Algoritma Dijkstra pada Peta Spasial

ANALISIS PENCARIAN JALUR JALAN DALAM KAMPUS ITB DENGAN MENGGUNAKAN BASIS DATA SPASIAL 3 DIMENSI

BAB 2 LANDASAN TEORI

Tujuan. Model Data pada SIG. Arna fariza. Mengerti sumber data dan model data spasial Mengerti perbedaan data Raster dan Vektor 4/7/2016

BAB 2 LANDASAN TEORI

BAB V. dimengerti, mudah dipelihara, mudah memprosesnya, dan mudah untuk dikembangkan sesuai kebutuhan baru

3/17/2011. Sistem Informasi Geografis

OPTIMASI RUTE PERJALANAN AMBULANCE MENGGUNAKAN ALGORITMA A-STAR. Marhaendro Bayu Setyawan

Perbandingan Pencarian Rute Optimal Pada Sistem Navigasi Lalu Lintas Kota Semarang Dengan Menggunakan Algoritma A* Dan Algoritma Djikstra

Sistem Informasi Geografis Untuk Pemetaan Daerah Rawan Gempa Tektonik Dan Jalur Evakuasi di Yogyakarta

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN DESAIN SISTEM

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar

BAB 2 LANDASAN TEORI

1. Pengantar Teori Graph

Apa itu DATA? Apa bedanya DATA & INFORMASI?

BAB III ANALISIS DAN DESAIN SISTEM

BAB II TINJAUAN PUSTAKA

LANDASAN TEORI. Bab Konsep Dasar Graf. Definisi Graf

BAB III ANALISA DAN DESAIN SISTEM

3. File Laporan (Report file) File ini bisa disebut output file, yaitu file yang berisi informasi yang akan ditampilkan.

BASIS DATA MODEL BASIS DATA

Aplikasi Penentuan Rute Terbaik Berbasis Sistem Informasi Geografis

BAB I PENDAHULUAN. Semakin cepat waktu yang ditempuh maka semakin pendek pula jalur yang

MODEL DATA SPASIAL DALAM SIG

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

APLIKASI PEWARNAAN GRAF PADA PENGATURAN LAMPU LALU LINTAS

BAB 2 TINJAUAN PUSTAKA

DESAIN DATABASE. Pertemuan 06 3 SKS

Pencarian Jalur Terpendek dengan Algoritma Dijkstra

SIMULATOR UNTUK MENENTUKAN DISTRIBUSI TEKANAN DAN HEATING VALUE PADA SISTEM JARINGAN PIPA GAS ABSTRAK

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

Analisa Spasial. by: Ahmad Syauqi Ahsan

Tujuan. Dunia Nyata dan SIG. Arna fariza. Mengubah dunia nyata menjadi informasi geografis di komputer 3/17/2016

PENENTUAN RUTE OPTIMAL PADA KEGIATAN PENJEMPUTAN PENUMPANG TRAVEL MENGGUNAKAN ANT COLONY SYSTEM

SISTEM INFORMASI NAVIGASI DARAT DENGAN VISUALISASI TIGA DIMENSI

Matematik tika Di Disk i r t it 2

Karena tidak pernah ada proyek yang dimulai tanpa terlebih dahulu menanyakan: DIMANA?

Aplikasi Pewarnaan Graf untuk Sistem Penjadwalan On-Air Stasiun Radio

RANCANG BANGUN SISTEM INFORMASI RUTE WISATA TERPENDEK BERBASIS ALGORITMA FLOYD-WARSHALL

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. Sistem adalah suatu kesatuan yang terdiri dari bagian-bagian (yang disebut

BAB II LANDASAN TEORI

Konsep Pemodelan data.

SIMULATOR UNTUK MENENTUKAN DISTRIBUSI TEKANAN DAN HEATING VALUE PADA SISTEM JARINGAN PIPA GAS

SISTEM INFORMASI SUMBER DAYA LAHAN

BAB 2 LANDASAN TEORI

BAB IV IMPLEMENTASI DAN ANALISA. Dalam aplikasi ini, node yang dimaksud dalam Algoritma Dijkstra adalah dapat berupa :

BAB 1 PENDAHULUAN. bertambah pula fasilitas umum Stasiun Pengisian Bahan bakar Umum

IMPLEMENTASI ALGORITMA DIJKSTRA UNTUK PENCARIAN RUTE TERPENDEK MENUJU PELABUHAN BELAWAN BERBASIS SISTEM INFORMASI GEOGRAFIS SKRIPSI

BAB 2 LANDASAN TEORI

BAB III METODOLOGI PENELITIAN

BAB I PENDAHULUAN. Di tengah masyarakat dengan aktivitas yang tinggi, mobilitas menjadi hal yang penting.

2/6/2017. Pertemuan Kedua JARINGAN SENTRIPETAL DAN SENTRIFUGAL. Prodi S1 Teknik Sipil, Departemen Teknik Sipil dan Lingkungan Universitas Gadjah Mada

Oleh : CAHYA GUNAWAN JURUSAN SISTEM INFORMASI FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS KOMPUTER INDONESIA BANDUNG 2012

BAB I PENDAHULUAN 1.1 Latar belakang

RINGKASAN SKRIPSI. Telkom Flexi merupakan salah satu perusahaan yang bergerak di bidang Teknologi

Membangun Basisdata dengan NORMALISASI TABEL MUHAMMAD BANDA SELAMAT

BAB 1 PENDAHULUAN. adalah uang. Salah satu yang menunjang aktivitas manusia adalah alat

Pada perkembangannya ternyata model transportasi ini dapat juga digambarkan dan diselesaikan dalam suatu bentuk jaringan

BAB 1 PENDAHULUAN. langsung berbagai jenis pohon yang ada. Untuk itu, kami ingin. di akses melalui komputer baik oleh pengurus ataupun pengunjung.

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

MAKALAH PERANCANGAN BASIS DATA MODEL DATA. Disusun oleh: Ainun Aisyiyah Iman Safuad Ismi Fadhilah

BAB III LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB II LANDASAN TEORI. Teori graf dikenal sejak abad ke-18 Masehi. Saat ini teori graf telah

BAB I PENDAHULUAN. nirkabel dan merupakan turunan dari MANET (Mobile Ad hoc Network). Tujuan

PERANCANGAN BASIS DATA. Alif Finandhita, S.Kom

BAB 1 PENDAHULUAN. memasukkan, menyimpan, memanggil kembali, mengolah, menganalisa, dan

BAB III ANALISIS DAN PERANCANGAN

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Informasi Geografis Pencarian Apotik terdekat di Kota Yogyakarta. Pada

BASIS DATA (BS203) NORMALISASI. fb: NDoro Edi. Page 1

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. tempat tujuan berikutnya dari sebuah kendaraan pengangkut baik pengiriman melalui

Perancangan Basis Data

Sistem Informasi Geografis. Model Data Spasial

BAB 1 PENDAHULUAN. akan membuahkan hasil yang maksimal. Di sektor transaksi jual-beli saham. keuntungan yang maksimal dan kerugian yang minimum.

Transkripsi:

BAB II DASAR TEORI PENELITIAN 2.1 Pengangkutan Sampah Pengangkutan sampah adalah kegiatan membawa sampah dari lokasi tempat pembuangan sampah sementara (TPS) atau langsung dari sumber sampah menuju tempat pembuangan akhir (TPA) menggunakan peralatan berupa truk pengangkut (Agustino, 1998). Pengangkutan sampah dilakukan dengan tiga cara (Agustino, 1998): 1. Pengangkutan langsung dari sumber sampah ke tempat pembuangan akhir (TPA). Pengangkutan seperti ini dilakukan karena daerah sumber sampah mempunyai jalan yang cukup lebar untuk dilalui truk pengangkut. Metode ini dilaksanakan pada daerah dengan kepadatan penduduk dan produktivitas sampah rendah. 2. Pengangkutan dari tempat pembuangan sementara (TPS) ke tempat pembuangan akhir (TPA). Sampah yang terkumpul di tempat pembuangan sementara (TPS) dipindahkan ke dalam truk pengangkut lalu diangkut untuk dibuang di tempat pembuangan akhir (TPA). Metode ini cocok untuk daerah dengan kepadatan penduduk serta produktivitas sampah tinggi. 3. Pelaksanaan dilakukan oleh pihak penghasil sampah. Penghasil sampah membuang sampahnya langsung ke tempat pembuangan akhir (TPA), dikarenakan jumlah sampah yang cukup besar dan mempunyai angkutan sampah sendiri, misalnya pada kompleks perumahan, sekolah, dll. Pada dasarnya, sebuah truk pengangkut sampah dalam melaksanakan tugasnya melalui rute berikut (Yosef, 2007): Pool TPS (1) TPA TPS (2) TPA Pool Berikut ilustrasinya: 7

Gambar (2.1): Proses pengangkutan sampah perkotaan. Keterangan: 1. Setiap truk dari pool membawa container kosong menuju TPS (1), mengganti container sampah yang sudah penuh dengan container yang kosong. 2. Truk membawa container ke TPA untuk dibuang isinya. 3. Dari TPA, truk menuju TPS (2) membawa container yang sudah kosong, untuk mengganti container yang penuh pada TPS (2). 4. Setelah diganti dengan container yang kosong, container di TPS (2) dibawa ke TPA untuk dikosongkan. 5. Truk kembali ke pool membawa container kosong. Dengan demikian, kelancaran pengangkutan sampah akan tergantung pada: Jarak antara pool truk pengangkut sampah dengan sumber sampah (TPS). Kondisi lokasi sumber sampah (TPS). Jarak antara sumber sampah (TPS) dengan TPA. Kondisi rute pengangkutan. 8

2.2 Sistem Informasi Geografis (SIG) 2.2.1 Definisi SIG Pada kenyataannya Sistem Informasi Geografis (SIG) mempunyai banyak sekali definisi. Namun pada pembahasan dalam tugas akhir ini, definisi SIG akan dititik beratkan pada dua definisi berikut: Menurut Rice (2000), Sistem Informasi Geografis (SIG) adalah sistem komputer yang digunakan untuk memasukkan (capturing), menyimpan, memeriksa, mengintegrasikan, memanipulasi, menganalisis, dan menampilkan data-data yang berhubungan dengan posisi-posisi di permukaan bumi (Prahasta, 2002). Gistut (1994) menyebutkan bahwa SIG adalah sistem yang dapat mendukung pengambilan keputusan spasial dan mampu mengintegrasikan deskripsi-deskripsi lokasi dengan karakteristik-karakteristik fenomena yag ditemukan di lokasi tersebut (Prahasta, 2002). 2.2.2 Tipe Data SIG Dalam SIG terdapat dua jenis data, yaitu data spasial dan data atribut. Data spasial adalah data yang menggambarkan posisi suatu objek di dunia nyata. Data spasial dapat bereferensi pada suatu sistem tertentu (bergeoreferensi) maupun tidak. Sedangkan data atribut adalah data yang menggambarkan karakteristik suatu objek selain dari faktor lokasinya. Data spasial menyatakan objek geografis yang ada pada dunia nyata/real world menggunakan representasi grafis sebagai berikut (Prahasta, 2002): 1. Titik/point (tanpa dimensi) Representasi grafis paling sederhana dari suatu objek. Titik tidak memiliki dimensi namun dapat ditampilkan di atas peta dan pada layar monitor menggunakan simbol-simbol tertentu. 2. Garis/line (satu dimensi) Merupakan bentuk linier yang menghubungkan minimal dua titik dan digunakan untuk merepresentasikan objek-objek satu dimensi. 3. Poligon/polygon (dua dimensi) 9

Merepresentasikan objek-objek berbentuk luasan atau area (dua dimensi). Suatu poligon paling sedikit dibatasi oleh tiga garis yang saling berhubungan. Gambaran dari representasi-representasi grafis tersebut adalah sebagai berikut: Gambar (2.2): Representasi grafis objek dalam SIG. (Sumber: Raharja, 2006) 2.2.3 Basis Data SIG Basis data adalah suatu kumpulan data dan informasi yang menggambarkan aktivitas-aktivitas dalam suatu enterprise yang saling terkait yang disimpan dalam suatu common pool (tempat penyimpanan bersama), tidak mengandung redundansi (pengulangan data yang tidak perlu)/non-redundant, dan dapat digunakan bersama oleh sistem-sistem aplikasi berbeda (shareable). Dimana enterprise adalah bagian dari real world yang dimodelkan oleh basis data. Pemodelan bisa jadi menyangkut seluruh organisasi (mis. perusahaan, universitas, rumah sakit, dll.), sebagian dari organisasi, atau salah satu proses atau sistem yang ada pada organisasi tsb (Deliar, 2007). Dari pengertian basis data tersebut dapat dilihat bahwa terdapat tiga sifat utama dari basis data, yaitu: 1. common pool 2. non-redundant 3. shareable Secara fisik, basis data terdiri dari tabel-tabel yang saling behubungan. Dimana tabel terdiri baris dan kolom dan data-data disimpan dalam pertemuan baris dan kolom pada setiap tabel (perpotongan baris dan kolom memiliki nilai tertentu). Agar dapat 10

digunakan dalam basis data, suatu tabel harus memiliki syarat-syarat berikut (Deliar, 2007): Urutan baris boleh sembarang dan dapat dipertukarkan tanpa mempengaruhi nilai informasi tabel. Urutan kolom boleh sembarang dan tiap kolom memiliki nama/jenis atribut (item name) yang berbeda (unik). Perpotongan baris dan kolom berisikan hanya satu nilai atribut/data. Banyak nilai pada perpotongan baris/kolom tidak diperbolehkan. Penampilan tiap baris dalam satu tabel harus berbeda, tidak boleh persis sama. Bagian yang paling penting dalam membangun basis data adalah desain konseptual basis data. Dari tahapan ini didapatkan struktur tabel yang sudah ternormalisasi secara penuh (fully normalized table) untuk digunakan dalam basis data. Terdapat dua cara dalam perancangan model konseptual basis data, yaitu: 1. Proses Normalisasi Proses penyusunan model konseptual basis data berdasarkan hubungan antar attribut (kolom/item). Disebut pemodelan basis data secara bottom-up. Tahapan proses normalisasi dapat dilihat pada ilustrasi berikut: 11

1 st NF: Repeating group 2 nd NF: Ketergantungan attribut 3 rd NF: Ketergantungan transitif Tabel Belum normal (unnormalised table) Tabel Bentuk Normal 1 Tabel Bentuk Normal 2 Tabel Bentuk Normal 3 Tabel Bentuk Normal 4 Tabel Bentuk Normal 5 4 th NF: Determinan multi-valued 5 th NF: Join depedency Gambar (2.3): Proses Normalisasi (Sumber: Deliar, 2007) 2. Proses Entity Relationship Memecah enterprise ke dalam entitas-entitas, dimana hubungan di antara entitas-entitas tersebut dinyatakan dengan jelas. Entitas dapat direpresentasikan sebagai tabel dengan (Deliar, 2007): Nama entitas = nama tabel Karakteristik entitas = attribut tabel (kolom) Anggota entitas = baris/record Untuk membedakan anggota entitas diperlukan suatu kode yang disebut sebagai ID Entitas. Contoh: Entitas Mahasiswa memiliki ID Entitas NIM Entitas Dosen memiliki ID Entitas NIP Basis data yang akan digunakan dalam pelaksanaan tugas akhir ini dibangun menggunakan proses entity relationship. Adapun tahapan yang dikerjakan pada metode ini adalah: 12

1. Tahap Konseptual Pada proses ini dilakukan identifikasi dari entitas yang dibutuhkan untuk pelaksanaan analisis. Menurut Korth (1991), entitas adalah suatu objek yang dapat dibedakan dengan objek-objek lainnya berdasarkan atribut-atributnya (Prahasta, 2002). Entitas juga didefinisikan oleh Kristanto (1999) sebagai orang, tempat, kejadian atau konsep ayng informasinya direkam (Prahasta, 2002). 2. Tahap Logikal Pada tahap ini diperlihatkan bagaimana hubungan antar relasi yang digambarkan melalui diagram ER (entity relationship). 3. Tahap Fisikal Model fisikal memperlihatkan tabel sekeleton dengan atribut yang sesuai. Tabel skeleton adalah representasi jenis tabel untuk setiap entitas dan jenis relasinya yang berupa tabel normal penuh (belum berisi attribut lainnya) (Deliar, 2007). 2.3 Network Analysis Jaringan (network) ditinjau dari bentuk presentasi grafis adalah suatu sistem yang menghubungkan suatu objek feature secara linier (Ristandi, 2004). Pada sistem ini terdapat objek yang bergerak, berpindah dari satu kedudukan ke kedudukan lain melalui objek jaringan yang menghubungkan antar kedudukan tersebut. Hal ini merupakan ciri khas dari sistem jaringan. Contoh sederhana dari sistem jaringan adalah jaringan transportasi. Dimana terdapat kendaraan yang berpindah dari satu kedudukan ke kedudukan lain melalui media jaringan jalan raya. 2.3.1 Model Data Objek Jaringan Jalan Raya Model data objek jaringan jalan merupakan representasi dari komponen dan karakteristik real world jaringan jalan (Ristandi, 2004). Komponen pembentuk data jaringan jalan yaitu: a. Links/Arcs Dalam bentuk garis. Merupakan data dari struktur topologi jaring, yang pada real world-nya adalah segmen jalan. 13

b. Nodes Dalam bentuk titik. Merupakan komponen pada setiap ujung link. Nodes merepresentasikan persimpangan jalan atau awal/akhir dari suatu segmen jalan. Node 2 Link 1 Link 2 Node 4 Node 1 Link 3 Node 3 Link 4 Gambar (2.4): Nodes sebagai komponen pembentuk links. (Sumber: Ristandi, 2004) c. Stops Merupakan kedudukan awal dan akhir bergeraknya objek pada jaringan. Stops menentukan suatu rute kendaraan. d. Center Merupakan pusat yang menjadi lokasi objek-objek bergerak dalam menerima dan mendistribusikan resources. Misal: terminal dan gudang. e. Turns Merupakan kedudukan dimana terjadi perubahan arah gerak objek antar link yang berbeda. Menurut Olivera (2001), terdapat tiga tipe turn (belokan), yaitu (Ristandi, 2004): TurnLeft (belok kiri) TurnRight (belok kanan) U_Turn (belokan dalam bentuk U) f. Under/Over pass Merupakan pertemuan link yang saling menyilang tapi tidak membentuk persimpangan, sehingga link tidak akan bertemu pada suatu node, tapi berkedudukan di atas atau di bawah link yang lain. g. Intersection Merupakan persimpangan tempat pertemuan dua link atau lebih pada suatu node. 14

2.3.2 Prinsip Dasar Aplikasi Penentuan Jalur Tercepat/Terpendek Data tabular tentang komponen dan krakteristik jalan digabungkan dengan data atribut yang memuat informasi deskriptif jalan. Penggabungan ini akan menghasilkan data spasial jalan yang akan digunakan dalam analisis jaringan untuk mendapatkan informasi penelusuran jalur jalan terpendek atau tercepat (atau dengan parameter lain) dari suatu kedudukan ke kedudukan lain. Penelusuran jalur pada perangkat lunak GIS secara konseptual memiliki prinsip dasar yang sama, yaitu menerapkan teori Graph kedalam jaringan jalan. Dalam bidang matematika dan ilmu komputer, teori Graph adalah cabang ilmu yang mempelajari sifatsifat graph. Secara umum, suatu graph adalah himpunan objek-objek yang disebut vertice (atau node) yang dihubungkan oleh edges/arcs. Biasanya graph digambarkan sebagai kumpulan titik-titik (melambangkan vertice) yang dihubungkan oleh garis-garis (melambangkan edge). Gambar (2.5): Graph dengan 6 verteks dan 7 edge. Sebuah struktur graph bisa dikembangkan dengan memberi bobot pada tiap edge. Graph berbobot dapat digunakan untuk melambangkan banyak konsep berbeda. Sebagai contoh jika suatu graph melambangkan jaringan jalan maka bobotnya bisa berarti panjang jalan maupun batas kecepatan tertinggi pada jalan tertentu. Isu lain pada graph adalah dengan membuat edge-nya berarah, yang secara teknis disebut graph berarah atau digraph (directed graph). Digraph dengan edge berbobot disebut jaringan. Suatu graph G dapat dinyatakan sebagai G = < V,E >. Graph G terdiri atas himpunan V yang berisikan vertice/node pada graph tersebut dan himpunan dari E yang berisi edge pada graph tersebut. Himpunan E dinyatakan sebagai pasangan dari vertice yang ada dalam V. Sebagai contoh definisi dari graph pada gambar diatas adalah: 15

V = {1,2,3,4,5,6} dan E = {(1,2),(1,5),(2,3),(3,4),(4,5),(5,2),(4,6)} Pada digraph maka pasangan-pasangan ini merupakan pasangan terurut. Himpunan edge berikut dapat digunakan untuk menyatakan digraph pada Gambar (2.8): E = { < 1,2 >, < 1,5 >, < 2,5 >, < 3,2 >, < 4,3 >, < 5,4 >, < 4,6 > } Dalam himpunan edge untuk digraf, urutan pasangan verteks menentukan arah dari edge tersebut. Gambar (2.6): Contoh digraph. Terdapat dua tipe algoritma dari teori Graph yang digunakan pada perangkat lunak SIG untuk penelusuran jalur, yaitu: a. Model local routing algorithm Perhitungan jalur terdekat (least cost path) dilakukan dari node dengan edge terhubung secara langsung ke node lainnya. Lalu untuk menghitung edge lainnya, digantikan oleh tetangganya (neighbour node), sehingga tidak ada proses iterasi untuk mendapatkan jalur dari node awal ke node yang dituju. Dalam keperluan praktis, model ini disebut dengan Distance Vector Algorithm. b. Model global routing algorithm Penelusuran jalur terdekat (least cost path) dari node awal ke node yang akan dituju melibatkan jaringan lengkap di semua link beserta nilai cost-nya (kecepatan/panjang/ongkos) dengan melakukan proses iterasi. Model ini memungkinkan penelusuran jalur dengan berbagai parameter seperti waktu dan ongkos biaya perjalanan. Model ini dikenal juga dengan Link State Routing Algorithm. 16