0:02 Baik. Asalamualaikum warahmatullahi wabarakatuh. Selamat siang teman-teman dari semester 2 Prodi Ilmu Komputer Universitas Muhammadiyah HR Fahrudin di mata kuliah Algoritma dan Pemprograman 1. Alhamdulillah kita sudah masuk ke pertemuan terakhir di kelas Minggu. Adapun di pertemuan kita kali ini yang pertama adalah saya mengucapkan terima kasih sudah berproses dari pertemuan satu hingga pertemuan akhir ini. Semoga ilmu yang sudah diturikan mendapatkan manfaat dan dapat menjadi pondasi Anda untuk menapak kembali ke jenjang
0:49 semester berikutnya. Di pertemuan kali ini saya akan memberikan dua materi secara singkat. algoritma dan pemprograman satu tentu dengan secara belajar mandiri melalui e-learning.ac.id. Langsung saja pada kesempatan pagi hari ini atau siang hari ini saya akan memberikan dua pokok bahasan. Yang pertama adalah bahasan tentang sorting. Nah, kalau Anda mendengar kata sorting ini pernah kita sampaikan di mata kuliah logika informatika di semester sebelumnya. Saya akan mengulang kembali apa yang sudah Anda peroleh di pertemuan berikutnya atau di semester berikutnya
1:35 atau di semester sebelumnya, mohon maaf, tentang sorting dan searching. Ya, dua materi ini akan saya angkat kembali karena dua materi ini memang di dalam algoritma dan pemrograman itu ee sangat dibutuhkan sekali dalam rangka implementasi dalam bahasa pemrograman. Nah, kalau kita lihat sorting ini adalah pengurutan data dalam struktur data itu sangat penting ya. Sebetulnya materi ini ada di mata kuliah struktur data ya. Jadi dalam pengurutan data, dalam struktur data ini sangat penting baik untuk data yang bertipe data numerik maupun karakter. Nah, kita selalu menemukan data-data ini kan ada dua macam, baik yang secara angka maupun secara huruf. Nah, maka kalau angka itu
2:21 berarti numerik. Kalau huruf itu adalah karakter. Adapun pengurutan dapat dilakukan secara naik scanding dari terkecil hingga terbesar maupun descanding dari yang terbesar ke yang terkecil turun dia. Nah, pengurutan ini adalah proses menyusun kembali data yang acak menjadi susunan yang teratur menurut aturan tertentu. Nah, kalau kita bicara tentang pengertiannya, sorting ini adalah mengurutkan pengurutan ya diurutkan. Kalau short itu terurut atau menurut kaidah atau aturan tertentu. Nah, data ini pada umumnya kan disajikan dalam bentuk sortit ya. Contoh misalkan data mahasiswa,
3:07 kata-kata dalam kamus, file di dalam sebuah direktory, indeks sebuah buku, data mutasir pening tabungan, ya dan lain-lain. Nah, bayangkan jika data di atas itu tidak terurut, berantakan, random, dan lain sebagainya, mungkin akan sulit kita ee mengecek data atau melihat secara data itu secara rapi. Nah, tujuan dari sorting ini adalah tujuannya adalah paling simpel, mudah dalam membaca data, mudah dalam menemukan data, penyajian data lebih terukur. Nah, algoritma sorting ini dibagi menjadi berbagai macam algoritma. Nah, yang pertama ada exchange short, selection short, insert short, bubble
3:54 short, quick short, sell short, bannery, insert short, dan masih banyak lain. Nah, kita akan bahas tentang algoritma sorting yang pertama ya. Algoritma sorting yang pertama algoritma sorting berdasarkan priority Q eh dia selection short dulu dan hip short. Algoritma penyisipan dalam keterurutan itu masuknya kategori insert short dan tree. Kalau algoritma transposisi itu bubble short, algoritma instrument itu sell short, algoritma dengan device dan concot eh dan merge short. Algoritma-algoritma
4:39 penghitungan alamat itu radik short atau proximity mapsot. Nah, kita masuk ke bubble short dulu. Nah, bubble ini metode sorting termudah. Nah, bubble short ini mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya. Jadi, dibandingin dulu dia elemen yang sekarang berapa nih. Nah, dibandingkan dengan elemen berikutnya. Sedangkan kalau askend jika elemen sekarang lebih besar dari elemen berikutnya, lalu kedua elemen itu ditukar itu askanding. Jadi kalau elemen sekarang itu lebih besar dari elemen berikutnya maka kedua elemen itu ditukar. Sedangkan kalau descanding jika elemen sekarang lebih kecil dari elemen
5:26 berikutnya maka kedua elemen itu ditukar. ini sistemnya tukar dia ya tukar untuk diurutkan gitu ya maksudnya. Nah di sini untuk bubble shot membandingkan data kesatu dengan data kedua dibandingin kira-kira lebih besar atau lebih kecil. Maka menggunakan konsep yang tadi ascanding atau descanding. Jika data kesatu lebih besar maka kedua data ditukar. Nah, kemudian membandingkan data kesatu dengan data ketiga. Jika data sori membandingkan data kedua dengan data ketiga, jika data kedua lebih besar, kedua data ditukar lagi. Demikian seterusnya sampai data terakhir
6:11 sehingga data kedudukannya akan bergeser ya sampai dia ngurut. Apakah ngurut dari yang terkecil ke terbesar atau sebaliknya. Untuk proses dua pembandingan ya atau pergeseran data hanya sampai pada data terakhir dikurangi 1 gitu ya. Nah, algoritma dari bubble short dia akan banyaknya data. Nah, dianalogikan nata diurutkan atau disorting dari yang bernilai besar. Prosesnya gini. Step pertama, periksalah nilai dua elemen mulai urutan yang ke n sampai urutan kesatu. Jika nilai kiri lebih kecil kanan, tukar
7:01 gitu ya. Step dua, periksalah nilai dua elemen ya. Mulai dari urutan ke n sampai urutan kedua. Jika nilai kanan lebih kecil sori jika nilai kiri lebih kecil kanan tukarkan kedua data itu. Nah, step yang berikutnya yang n -1. Periksalah nilai dua elemen mulai dari urutan ke n sampai urutan ke n -1. Jika nilai kiri lebih kecil kanan, tukarkan kedua data itu. Nah, analoginya seperti ini, Teman-tem. Nah, kalau kita perhatikan di sini proses yang pertama itu kan nilainya adalah 22 10 1582.
7:49 Nah, maka proses yang kedua dia melakukan pertukaran dulu karena kan ingin angka dua itu nanti akan ada di depan. Nah, berarti akan terjadi proses ini akan terjadi sampai dengan proses keenam ya. di sini berarti alurnya adalah supaya angka dua itu berpindah ke awal berpindah ke angka 22 maka dia tukar tukar tuh digeser ya. Nah, kalau Anda perhatikan nih di sini ee proses 1 dia tukar nih angka 2 dengan angka 8, tukar lagi angka 2 dengan angka 3, tukar lagi angka 2 dengan angka 15 tukar lagi angka 2 dengan angka 10 tukar lagi angka 2 dengan angka 22 nuker dia.
8:38 Itu kalau nilainya memang lebih kecil dari yang besar gitu ya. Begitu pun proses yang kedua sampai angka yang ketiga bertukar. terus gitu ya. Nah, berarti kalau diperhatikan dalam proses ini dia melakukan proses itu sampai dengan jumlah angka yang akan diurutkan. Kalau kita hitung dari jumlah ini ada 6 ya angkanya kan 22. Angka pertama nih angka awalnya 22. 10 15 3 8 2. Kalau kita urutkan dari yang terkecil, maka bergesernya adalah harusnya yang pertama itu angka 2, angka 3, angka [berdehem] 8, angka 10, angka 15 dan terakhir angka
9:25 22. Nah, berarti akan terjadi proses sampai dengan proses yang keenam gitu ya. Ini Bapak hanya menampilkan sampai proses dua saja ya. supaya paham dulu konsep dari bubble sal. Nah, selanjutnya ada yang namanya exchange short. Nah, exchange short ini mirip seperti bubble short ya. Banyak yang mengatakan bubble short ini sama dengan action short. Perbedaannya dalam hal bagaimana membandingkan antara elemen-elemennya. Nah, poin pertama extens ini membandingkan suatu elemen dengan elemen-elemen lain dalam aray tersebut dan melakukan pertukaran elemen jika perlu. Jadi, ada elemen yang selalu menjadi elemen pusatnya atau five. Nah,
10:11 sedangkan bubble short akan membandingkan elemen pertama atau terakhir dengan elemen sebelumnya atau sesudahnya. Kemudian elemen tersebut itu akan menjadi pusat vot untuk dibandingkan dengan elemen sebelumnya atau sesudahnya lagi. Begitu seterusnya ya, Teman-teman ya. Selanjutnya ada yang namanya exchange short. Nah, semua data dibandingkan dengan data pembanding di mana pada akhir proses data terbesar akan berada pada akhir urutan. Pada proses satu data kesatu ini dibandingkan data kedua. Jika data kesatu lebih besar, maka kedua data langsung ditukar. Kemudian data kesatu dibandingkan lagi dengan data ketiga.
10:57 Lebih besarkah tukar. Demikian seterusnya. Pada proses du kedua dibandingkan dengan data ketiga. Jika data kedua lebih besar maka kedua data langsung ditukar. Kemudian data kedua dibandingkan lagi dengan data keempat. Lebih besarkah? Tukar demikian seterusnya dan seterusnya. Nah, seperti ini teman-teman nih. Kalau kita perhatikan data awalnya kan 84 69 76 86 94 91. Nah, ini data awalnya. Berarti kalau kita lakukan prosesnya ini akan terjadi en kali proses ya. Nah, en kali proses ini berarti dia akan melakukan prosesnya.
11:42 Nah, kalau kita mau mengurutkan dari angka terkecil berarti 69 ini ada di depan ya gitu ya. 69 di depan. Jadi dia akan melakukan prosesnya terus sampai dengan proses yang ke 6 gitu kan. Nah, kenapa bisa mengatakan 6? Karena jumlah angka yang akan kita geser itu adalah sebanyak 6. Nah, Anda perhatikan saja ini jumlah apa cara menggesernya sesuai aturan tadi ya. Nah, ini proses kedua. Oke, ini proses ketiga. Nah, ini proses keempat. Ini proses kelima. Nah, sampai lima ya nanti karena kan dia ingin mengambil angka yang terkecil yaitu 69 ya prosesnya. Nah, yang berikutnya ada selection
12:28 short. Eh, hampir sama dengan exchange short. Bedanya yang ditukar adalah indeksnya. Berarti konsepnya konsep arah ini ya. indeksnya. Penukaran data dilakukan di akhir proses. Pada proses satu, variabel indeks ini diberi nilai satu, data kesatu. Kemudian data indeks dibandingkan dengan data kedua. Jika data indeks lebih besar maka nilai indeks adalah 2. Kemudian data indeks dibandingkan lagi dengan data ketiga lebih besar. Nilai indeks ditukar demikian seterusnya. Setelah selesai nilai indeks diperiksa apakah nilai indeks berubah atau tidak. Jika nilai indeks mengalami perubahan, maka data kesatu ditukar dengan data
13:14 indeks. Dari proses du tadi proses satu ya, proses duanya variabel indeks diberi nilai dua, kedua kemudian data indeks dibandingkan dengan data ketiga. Nah, jika data indeks lebih besar maka nilai indeks adalah 3. Kemudian data indeks dibandingkan lagi dengan data keempat lebih besar nilai indeksnya ditukar demikian seterusnya. Setelah selesai nilai indeks ini diperiksa apakah nilai indeks berubah atau tidak. Jika nilai indeks mengalami perubahan maka data kesatu ditukar dengan data indeks dan seterusnya. Nah, ini adalah selection short. Nah, caranya seperti ini, Teman-teman. Dibandingkan dulu, ya. Misalkan data
13:59 pertama prosesnya adalah kita memiliki data 32 75 40. Baru kita berikan indeksnya dulu. Nah, karena ini konsepnya aray berarti 32 ini adalah indeks yang ke-0. 75 indeks ke1 69 indeks kedu 58 indeks ketig 21 indeks ke4 dan 40 indeks kelima. dibandingin dulu 32 ini dengan 75 dibandingin apakah 32 itu lebih kecil dari 75. Nah, berarti dia tukar posisi ya. Terus [mendengus] 32 ini dibandingkan lagi dengan 69. Oh, ditukar posisi dia. Terus sampai nanti akan berakhir pada proses keenam
14:46 nih sebetulnya ya. Ada proses keenam nih sampai proses empat aja nih. Eh, proses 5 sori sampai [mendengus] nanti urutannya adalah tetap 21. Urutan yang diinginkan 21 40 58 69 dan diakhiri 75. Nah, diamati ya teman-teman ya [mendengus] untuk selection short. Selanjutnya insert short mirip dengan cara orang mengurutkan kartu selembar demi lembar. Kartu diambil dan disisipkan. Insert di situ kan disisipkan namanya ke tempat seharusnya. Nah, pengurutan dimulai dari data kedua. sampai dengan data terakhir. [mendengus] Jika ditemukan data yang lebih kecil, maka ditempatkanlah diinsert di
15:32 posisikan yang seharusnya. Pada penyisipan elemen, maka elemen-elemen lain akan bergeser ke belakang. Nah, ini set. Jadi disisipkan misalkan datanya 22 10 1582. Nah, kita mau kan urutannya itu di depannya adalah 2, 3, 8, 10, 15, dan 22. Jumlah data angka yang ada adalah 6. Nah, dia akan coba menyisipkan. Nah, kalau kita lihat nih posisi yang pertama dia mendapatkan posisi ke aray sisipkan. Jadi, geser dia ya sama aja konsepnya geser ya. 10 geser ke 22-2.
16:18 Nanti ee geser lagi 22 ke 15 nanti 15 bergeser ke angka berapa nih? Angka 3 ya. Geser. Geser lagi. Terus sampai nanti angka 3 ada di depan angka dua akan di proses yang awal. Sama konsepnya dia bergeser gitu ya. Nah, ini ins short ini yang proses terakhir proses kelima ini. Proses keenam nanti akan muncul. Nah, ini untuk penjelasan sorting, Teman-teman. Selanjutnya penjelasan tentang eh searching. Searching pencarian. Searching ini dibagi menjadi dua. Ada yang namanya linear search, ada binary search. Nah, pencarian ini secara konsep adalah
17:05 pada suatu data seringkiali dibutuhkan pembacaan kembali informasi dengan cara searching. Pencarian. Searching adalah proses pencarian data yang ada pada suatu deret data dengan cara menelusuri data-data tersebut. Tahapan paling penting dalam searching adalah memeriksa jika data yang dicari sama dengan data yang ada pada deret data. Nah, algoritma pencariannya misalkan input x. X ini adalah data yang dicari. Dibandingkan x-nya dengan deret data. Jika ada data yang sama, cetak pesan ada. Jika tidak ada data yang sama, cetak pesan tidak ada. Geser terus ke bawah.
17:50 Algoritma pencariannya adalah macam-macam algoritma pencarian. Ada yang sekuensial, ada yang binary. Nah, kita lihat yang sekual search dulu. disebut juga dengan linear search atau metode pencarian secara beruntun adalah suatu teknik pencarian data yang akan menelusuri tiap elemen satu persatu dari awal sampai akhir. Nah, data awal ini tidak harus dalam kondisi terurut. Nah, selanjutnya kalau algoritma sekuensial ini pertama dia input x data yang dicari. Bandingkan x dengan data ke n ke i sampai dengan n. Jika ada data
18:38 yang sama dengan x maka cetak pesan ada. Nah, kasih notif dia pesan ada. Jika tidak ada yang sama dengan x, cetak pesan tidak ada. Nah, ilustrasinya seperti ini, Teman-teman. Konsepnya sama seperti konsep aray. Jadi, aray satu dimensi ya. Misalkan terdapat aray satu dimensi sebagai berikut. Angkanya itu 8 10 6 -2 11 7 1 100. Indeksnya ada 7 ya. Kemudian program akan meminta data yang dicari. Misalkan kita mau cari ini bukan ngurutin ya, mencari. Ingat mencari. mencari itu misalkan tentukan dulu apa angka yang mau dicari. Misalkan angka yang dicari angka 6. Nah, iterasinya
19:24 adalah 6 itu sama enggak sama 8? Beda tidak? Ya. Jadi tentukan dulu x-nya adalah 6. 6 ini sama enggak dengan 10? Oh, tidak. Nah, ketika angka 6 dalam program ketemu dengan angka 6 ya. Maka output-nya ada. Jadi ada di bagian indeks berapa? Oh, dia ada di indeks kedua. Jadi kan namanya pencarian. Jadi tentukan dulu x-nya. Jika sampai data terakhir tidak ditemukan data yang sama, maka output-nya data yang dicari tidak ada. Ya, maksud data dicari tidak ada adalah dia akan melakukan proses ee dari indeks ke neno sampai indeks keet7uh. Sebetulnya di indeks kedua
20:10 sudah ketemu tuh ada data X itu 6 now. Jadi dia akan terus mencari dulu sampai terakhir. Nah walaupun data ditemukan di ada di indeks kedua gitu ya. Nah ini ada question dan answer. Problemnya apakah cara di atas efisien jika datanya ada 10.000 dan semua data dipastikan unik. Nah, solusinya gimana? Nah, untuk meningkatkan efisiensi seharusnya jika data yang dicari sudah ditemukan, maka perulangannya harus dihentikan. Nah, dengan cara hint atau gunakan break. Nah, itu ada di s case nanti ada break. Nah, berhenti dia. Kalau kita
20:55 milih angka satu udah berhenti klik. Nah, question-nya bagaimana cara menghitung ada berapa data di dalam aray yang tidak unik yang nilainya sama dengan data yang dicari oleh user? Nah, gunakan variabel counter yang nilainya akan selalu bertambah jika ada data yang ditemukan ya. Nah, ini konsep sequensial search with sentinel. Misalkan terdapat en buah data dalam aray data indeks keol sampai indeks kelima. Ah, terdapat satu indeks arah tambahan nih, indeks keenam yang masih kosong belum berisi data itu disebut dengan sentinel. Jadi data yang kosong itu disebut dengan sentinel. Belum diisi atau bukan kosong, belum diisi. Aray
21:42 pada indeks keenam berguna untuk menjaga agar indeks data berada pada indeks 0 sampai 5 saja. Nah, bila pencarian data sudah sampai arah indeks yang keenam, maka berarti data tidak ada. Sedangkan jika pencariannya tidak mencapai indeks keenam, maka data ada gitu ya. Tentukan dulu eh data yang mau dicari. Nah, ada yang namanya base and was case. Kalau base case jika data yang dicari terletak di depan sehingga waktu yang dibutuhkan minimal. Word case. Jika data yang dicari terletak di akhir sehingga waktu yang dibutuhkan maksimal. Contoh misalkan datanya ada angka 5 6 9 2 8 1 7 4. Nah,
22:32 berarti base case-nya ketika x-nya sama 5 depan ya word case-nya. Nah, base case tadi kan jika data yang dicari terletak di depan. Nah, dalam data ini kan yang paling depan ada lima. Kalau worst case berarti data yang dicari terletak di akhir. Nah, dalam data ini kan ada angka 4 itu akhir ya. Jadi x atau key data yang dicarinya tergantung dari eh base case yang depan atau w case yang belakang. Nah, selanjutnya biner search-nya adalah teknik pencarian data dibagi menjadi dua bagian untuk setiap kali proses pencarian. Nah, data awal harus dalam kondisi terurut sehingga harus dilakukan proses
23:19 sorting dulu untuk data awal. Mencari posisi setengah itu pertama posisi setengah sama dengan posisi awal. Nah, berapa angkanya? Ditambah posisi akhir berapa angkanya? Dibagi 2 gitu ya. Nah, algoritma binary search data diambil dari posisi awal satu dan posisi akhir yang ke N. Kemudian cari posisi data tengah dengan rumus posisi awal ditambah posisi akhir dibagi 2. Kemudian data yang dicari dibandingkan dengan data yang di tengah. Apakah sama atau lebih kecil atau lebih besar? Jika datanya sama berarti ketemu. Jika lebih besar maka ulangi langkah dua
24:07 dengan posisi awal adalah posisi tengah + 1. Jika lebih kecil maka ulangi langkah kedua dengan posisi akhir adalah posisi tengah dikurangi 1 gitu ya. Ilustrasinya gini. Misalkan contoh nih, saya punya data angkanya adalah 3 9 11 12 17 23 dan 35. Nah, kita bikinkan dulu e indeksnya. 3 itu indeks 0, 1 itu 9, 2 itu 11, 3 itu 12 ya. 39 ini depan bukan
24:54 angka 39 ya, tapi indeks 0 itu 3, indeks 1 itu 9 karena ini mungkin ee tampilan dari PowerPoint-nya ya. Lanjut 2 itu 11 indeks kedua, indeks ketiga 12, indeks ke4 15, indeks kelima 17 dan sampai indeks ke-8 35. Nah, kita tentukan dulu mana batas awal. Berarti A, batas akhir itu C. Nah, yang A-nya 3. Yang akhir itu berarti indeks ke-8 35. Nah, dari jumlah 8 ini kita ambil nih tengah-tengahnya. Nah, tengah-tengahnya kan kalau 8 / 2 berarti 4 kan. Nah, kita dapat di sini nih B-nya berarti. Nah, karena 17 dengan
25:39 15 itu data tengah, maka data awalnya di tengah itu tambah 1. Nah, tambah 1. Berarti 15 4 + 1 kan 5. Nah, berarti geser kita mulai di angka 17. A tentukan A-nya geser ke A. 6 itu berarti B. 8 itu indeks ke-6 itu B. Angkanya 23. Indeks ke-8 itu 35. itu kita anggap sebagai C. Karena 17 le 23 data tengahnya, maka akhirnya adalah dikurangi 1 sampai nanti datanya ditemu ya. Karena 17 = 17 data tengahnya maka ketemu. Nah, jadi kalau di sini kita kan mau mencari
26:26 data 17 kan. Nah, 17 ketemunya itu konsepnya tuh seperti itu ya. Jadi kita kan belajar bagaimana ee cara si algoritma ini bekerja teman-temati dulu. [mendengus] Nah, base dan wor case-nya kalau base cas-nya berarti kalau yang ini jika data yang dicari terletak di posisi setengah itu base case. Kalau word case jika data yang dicari tidak ditemukan. Nah, malah word case itu data yang tidak dicari tidak ditemukan ya. Terus ada lagi interpolation search. Ini Anda baca saja. Nah, kondisi berhentinya juga seperti ini. Ini ada contoh kasus. Nah, ini enggak usah ya, Anda kerjakan. Ini hanya sebagai ini aja ee apa ee
27:11 baca-baca saja ini enggak usah dikerjakan. Nah, seperti itu teman-teman sekalian penjelasan dari dua topik yang Bapak berikan. Nah, karena ini adalah pertemuan akhir di pertemuan kita di semester ini, Bapak akan berikan kisi-kisi untuk ujian akhir semester. Yang pertama adalah soalnya bentuknya adalah esai, jumlahnya ada 10 bersumber dari modul setelah UTS. Hingga hari ini pertemuan akhir dari pertemuan setelah UTS. hingga pertemuan hari ini akan Bapak jadikan menjadi soal ujian akhir semester
27:59 gitu ya teman-teman ya. Silakan Anda pelajari, Anda amati modul setelah UTS hingga pertemuan hari ini karena nanti akan Bapak berikan atau diambil soalnya dari situs sumbernya. Demikian teman-teman ee penjelasan Bapak di kesempatan ee siang hari ini. Silakan dipelajari secara mandiri dan ditonton kembali video ini dan nanti akan Bapak berikan absensi untuk perkuliahan kita di siang hari ini. Sekian, terima kasih atas perhatiannya, mohon maaf atas kekurangannya. Sekian dari Bapak. Asalamualaikum warahmatullahi wabarakatuh.