Praktikum ASD: Basic Sorting

dokumen-dokumen yang mirip
yang mendukung untuk mengakses website perangkat ajar Algorithfun. menggunakan perangkat ajar Algorthfun Cara Menggunakan Algorithfun

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

BAB VI SORTIR ATAU PENGURUTAN

Agar lebih mudah mengerti, cobalah untuk melakukan hal-hal berikut ini: 1. Bacalah terlebih dahulu ide dasar dari masing-masing algoritma.

Variabel, Operator Dan Ekspresi. Agus Priyanto, M.Kom

OLIMPIADE SAINS NASIONAL VIII

Algoritma Sorting (Selection Insertion)

Politeknik Elektronika Negeri Surabaya

Modul 8 SORTING (PENGURUTAN)

MODUL 6 PERULANGAN. A. String. 1. Instansiasi dan Inisialisasi. M0601xxyyy.jar

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

Faktorial. Kode Soal: OSN601 Batas Run-time: 1 detik / test-case Batas Memori: 32 MB Masukan: Standard input Keluaran: Standard output

KURSUS ONLINE JASA WEBMASTERS

A. Bayar atau Kabur. Format Masukan. Format Keluaran. Contoh Masukan

A. TUJUAN PEMBELAJARAN

Sorting Algorithms. Divide and Conquer

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

BAB 1 PENDAHULUAN Latar Belakang

Programmer dan Meeting

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1)

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

ARRAY STATIS. Type namatype_array = array [1..maks_array] of tipedata. nama_var_array : namatype_array {indeks array dari 1 sampai maksimum array}

Algoritma dan Pemrograman Sorting (Pengurutan) IS1313. Oleh: Eddy Prasetyo N

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

Berkas Soal Final Competitive Programming Tingkat SMA. CompFest Kontributor: Irwan Mulyawan Ricky Suryadharma Verdiyanto Saputra William Gozali

Bundel Soal Sesi 1 Bidang Informatika Olimpiade Sains Nasional X

TIPE DATA DAN OPERASI I/O

INFORMATIKA/KOMPUTER. Hari 0 (Sesi Latihan) 1. Empek-empek 2. Gunting Kertas 3. Matriks Biner

JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : VOL. 6 NO. 1 Maret 2013

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

Bab 2 Editor vi 9. BAB 2 EDITOR vi TUJUAN PRAKTIKUM

MODUL IV PENCARIAN DAN PENGURUTAN

Berkas Soal Final Competitive Programming Tingkat Mahasiswa. CompFest 2013

PENGURUTAN (SORTING) 1. Introduction 2. Bubble Sort 3. Selection Sort 4. Insertion Sort

A. TUJUAN PEMBELAJARAN

Gambar 13.1 Ilustrasi proses algoritma sorting

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

BAB 8 SORTIR. Pengurutan data (sorting) adalah suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu.

PERTEMUAN 10 METODE DEVIDE AND CONQUER

Nama : Suseno Rudiansyah NPM : Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2

Struktur Data. PDE - Struktur Data 1

OLIMPIADE SAINS NASIONAL VII

SOAL BABAK PENYISIHAN TAHAP Informatic Logical Programming Competition 2010

Lecture Notes Algoritma dan Pemrograman

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi :

OLIMPIADE SAINS NASIONAL IX

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

Pengenalan Visual Basic

BAB III ANALISIS, ALGORITMA, DAN CONTOH PENERAPAN

A. Jangkauan Terbesar

Operasi File. Chapter 13

PERTEMUAN 10 METODE DEVIDE AND CONQUER

Fungsi Aritmatika, Fungsi Konversi dan Fungsi Karakter. M. Saefudin SKom, MMSI

Algoritma dan Pemrograman

Bundel Soal Sesi 3 Bidang Informatika Olimpiade Sains Nasional X

SEQUENTIAL SEARCH 11/11/2010. Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut

Informasi Umum. Misalkan soalnya seperti demikian:

OLIMPIADE SAINS NASIONAL VII

Sang Pelompat. Batas Waktu 1 detik. Batas Memori 64 MB

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

BACKWARD INDUCTION (4) N = 4. Kemungkinan langkah awal pemain pertama: 1, 2, atau 3 keping. 03 Juli 2012 Tugas Akhir KI091391

Berkas Soal Penyisihan Competitive Programming Tingkat Mahasiswa. CompFest 2013

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

Operasi Input Output

Kombinatorial. Matematika Diskrit Pertemuan ke - 4

OLIMPIADE SAINS NASIONAL VIII

KOMBINATORIKA. (Latihan Soal) Kus Prihantoso Krisnawan. August 30, 2012 PEMBINAAN OLIMPIADE MATEMATIKA SMA 1 KALASAN

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

SOAL BABAK PENYISIHAN Programming Contest Sessions JOINTS 2008 BAGIAN PERTAMA : ANALITIK

Kuliah ke : 4 Algoritma & Stuktur Data. Pengurutan (Sorting)

Bundel Soal Sesi 2 Bidang Informatika Olimpiade Sains Nasional X

Pertemuan 2. Editor vi

TINGGI KANDANG SUSUN

Pengurutan (Sorting) Keuntungan Data Terurut. Pengurutan Terbagi Dua Kelompok:

Problem A Divisible compfest1.c / compfest1.cpp / compfest1.pas Runtime-limit: 0.5 detik Memory-limit: 64 MB

Modul Praktikum 6 Pemograman Berorientasi Objek

SCHEMATICS 2011 SOAL SCHEMATICS

OLIMPIADE SAINS NASIONAL VIII

BAB III PERANCANGAN KECERDASAN-BUATAN ROBOT PENCARI JALUR

SOAL FINAL LOGIKA ILPC 2011

BAB V SORTING (PENGURUTAN) INTERNAL

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-8 Pengurutan (Sorting) 1

VARIABEL, OPERATOR DAN EKSPRESI

Praktikum 9. Pengurutan (Sorting) Quick Sort, Merge Sort

Algoritma dan Pemrograman DEPARTEMEN PENDIDIKAN NASIONAL UNIVERSITAS PENDIDIKAN INDONESIA 2008

INTERVAL, PERTIDAKSAMAAN, DAN NILAI MUTLAK

WORKSHOP PEMBIMBINGAN OLIMPIADE MATEMATIKA & SAINS BIDANG MATEMATIKA SMP

MATA KULIAH : LOGIKA DAN ALGORITMA KONSEP DASAR ALGORITMA

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13

Modul Praktikum Algoritma dan Struktur Data

Kompetisi Pemrograman IV Babak Final

Final Programming Competition (Mahasiswa)

FORMAT LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER TAHUN 2014

LAPORAN PRAKTIKUM SEMENTARA ALGORITMA & STRUKTUR DATA 1

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA BUBBLE SORT, SELECTION SORT, INSERTION SORT

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Transkripsi:

Praktikum ASD: Basic Sorting Median dan Modus Deskripsi Masalah Buatlah sebuah program yang menerima N buah bilangan integer dan mengembalikan nilai yang paling sering muncul (Modus) dan nilai tengahnya (Median)! Gunakanlah algoritma selection sort pada pengerjaan soal ini! Spesifikasi Masukan Masukan diawali dengan sebuah bilangan N (1 N 10.000) yang merupakan jumlah bilangan integer masukan. Masukan berikutnya adalah N buah bilangan integer dengan nilai antara -2 30 sampai dengan 2 30. Spesifikasi Keluaran Program yang dibuat akan mengembalikan nilai Modus (sebuah bilangan integer) dan nilai Median (sebuah bilangan double) dari kumpulan bilangan integer yang diberikan. Nilai Modus dan Median tersebut dipisahkan oleh sebuah spasi. Contoh Masukan 1 4 5 6 2 2 Contoh Keluaran 1 2 3.5 Contoh Masukan 2 5 5 6 2 2 6 Contoh Keluaran 2 2 5.0 Mariombat 2 Deskripsi Masalah Mariombat 2 adalah sebuah permainan dimana pemain mengontrol sebuah wombat. Wombat ini berada pada sebuah jalan lurus yang dibagi menjadi N buah daerah. Tujuan dari permainan ini adalah untuk

menggerakkan wombat dari daerah pertama ke daerah terakhir. Tiap daerah dapat memiliki ketinggian yang berbeda-beda. Wombat yang dikontrol oleh pemain hanya dapat berpindah ke daerah di sebelahnya bila perbedaan ketinggian antara daerah asal dan daerah tujuan lebih kecil atau sama dengan 2. Gambar 1 merupakan contoh dari sebuah level pada permainan Mariombat 2. Pada contoh ini dapat dilihat bahwa terdapat 3 kesalahan yang menyebabkan peta tersebut tidak dapat diselesaikan, yaitu : 1. Daerah 0 ke 1 beda ketinggian = 3 2. Daerah 1 ke 2 beda ketinggian = 6 3. Daerah 2 ke 3 beda ketinggian = 3 7 6 5 4 3 2 1 0 0 1 2 3 4 Gambar 1 Contoh Level Mariombat 2 Tiap level pada game ini disimpan sebagai kumpulan objek-objek daerah, dimana tiap objek daerah mencatat data mengenai posisinya pada jalur (bilangan bulat 0 s/d N) serta ketinggiannya (bilangan bulat positif). Sebagai contoh, level pada Gambar 1 disimpan sebagai objek-objek daerah dengan posisi dan ketinggian (0,3), (1,6), (2,0), (3,3), dan (4,4). Sebagai salah satu developer dari game ini, anda diberi tugas untuk memeriksa apakah rancangan level yang telah dibuat oleh level designer memiliki kesalahan-kesalahan seperti pada contoh di atas. Sayangnya, karena beberapa waktu yang lalu juga terjadi kesalahan pada program yang digunakan para level designer untuk merancang level, objek-objek daerah yang disimpan tidak lagi terurut berdasarkan posisinya pada jalur. Objek-objek daerah tersebut sekarang tersimpan secara acak. Buatlah sebuah program untuk mencari jumlah kesalahan yang ada pada kumpulan daerah ini! Gunakan algoritma insertion sort pada pengerjaan soal ini! Spesifikasi Masukan

Masukan diawali dengan sebuah bilangan integer N (N>0) yang merupakan jumlah daerah yang ada pada level. Masukan berikutnya adalah posisi dan ketinggian dari N buah objek daerah. Posisi dan ketinggian dari sebuah objek daerah dituliskan dalam format : posisi ketinggian Spesifikasi Keluaran Keluarkan jumlah kesalahan yang ada pada level tersebut! Contoh Masukan 5 2 0 0 3 3 3 4 4 1 6 Contoh Keluaran 3 Seminar Sebagai panitia seminar yang akan dihadiri para wombat-wombat terkemuka di dunia, anda diberi tugas untuk menentukan ruang dan nomor kursi dari tiap pembicara. Ruang-ruang pada gedung tempat diadakannya seminar ini ada pada sebuah selasar dan diberi nomor dari 1 s/d R (R>0), dengan ruangan paling kiri adalah ruangan 1. Tiap ruangan mampu menampung K (K>0) buah kursi. Kursi-kursi ini ditempatkan dalam satu buah baris, dimana kursi paling kiri adalah kursi nomor 1. Ketua panitia seminar telah memberikan aturan-aturan yang harus diikuti dalam penentuan ruang dan nomor kursi. Aturan-aturan yang berhubungan dengan ruang adalah sebagai berikut : Seluruh pembicara yang membahas topik yang sama harus berada pada ruangan yang sama Bila topik-topik yang dibahas pada ruang r adalah topik X, Y, dan Z maka topik yang dibahas pada ruang-ruang di kiri ruang r haruslah topik-topik yang secara alfabetis lebih awal dibandingkan topik X, Y, dan Z Jumlah ruangan yang digunakan harus sesedikit mungkin. Aturan-aturan yang berhubungan dengan penentuan kursi tiap pembicara di dalam ruangan adalah sebagai berikut : Bila terdapat kursi yang tidak digunakan pada ruangan tersebut maka penempatan pembicara diatur sedemikian rupa sehingga seluruh kursi kosong terletak di sebelah kanan dari seluruh pembicara.

Penempatan kursi para pembicara diatur sedemikian rupa sehingga topik-topik para pembicara bila dilihat dari kursi paling kiri ke paling kanan akan terurut non menurun secara alfabetis. Bila terdapat lebih dari satu orang pembicara pada topik yang sama maka kursi yang ditempati oleh pembicara-pembicara di topik tersebut harus terurut menaik secara alfabetis bila dilihat dari kursi paling kiri ke paling kanan. Sebagai contoh, bila kapasitas ruangan-ruangan yang digunakan adalah 6 kursi, dan terdapat 13 orang pembicara, yaitu : No. Nama Topik 1 badu artificial_intelligence 2 wiederhold artificial_intelligence 3 johnson fire_control 4 clowreed fire_control 5 smith fire_control 6 ian artificial_intelligence 7 meep data_mining 8 coolidge fire_control 9 baygon fire_control 10 moole data_mining 11 meong electronics 12 norvig artificial_intelligence 13 mrkucing fire_control Maka para pembicara tersebut akan ditempatkan dengan cara di bawah ini : Ruang 1 1. badu 2. ian 3. norvig 4. wiederhold 5. meep 6. moole Ruang 2 1. meong Ruang 3 1. baygon 2. clowreed 3. coolidge 4. johnson 5. mrkucing 6. smith Buatlah sebuah program untuk menentukan penentuan ruangan dan kursi pada seminar tersebut! Spesifikasi Masukan Masukan pertama adalahsebuah bilangan bulat N (N>0) yang merupakan jumlah pembicara pada seminar ini. Masukan kedua adalah sebuah bilangan bulat K (K>0) yang merupakan jumlah kursi yang tersedia pada tiap ruangan. N buah baris berikutnya dari masukan adalah nama dari pembicara serta topiknya. Nama dan topik ini ditulis dalam format : namapembicara topikpresentasi

Nama dan topik presentasi adalah sebuah String yang tidak mengandung spasi dan tidak mengandung huruf kapital. Spesifikasi Keluaran Keluarkanlah tempat yang diberikan untuk tiap pembicara dengan secara terurut menaik berdasarkan nomor ruangan dan nomor kursinya. Tempat ini dituliskan dalam format : nomorruangan nomorkursi namapembicara Tiap data tersebut dituliskan dalam satu buah baris terpisah. Contoh Masukan 13 6 badu artificial_intelligence wiederhold artificial_intelligence johnson fire_control clowreed fire_control smith fire_control ian artificial_intelligence meep data_mining coolidge fire_control baygon fire_control moole data_mining meong electronics norvig artificial_intelligence mrkucing fire_control

Contoh Keluaran 1 1 badu 1 2 ian 1 3 norvig 1 4 wiederhold 1 5 meep 1 6 moole 2 1 meong 3 1 baygon 3 2 clowreed 3 3 coolidge 3 4 johnson 3 5 mrkucing 3 6 smith