Anda di halaman 1dari 17

MAKALAH PEMROGRAMAN ALGORITMA

“Algoritma Shorting, Algoritma Searching, Konsep Dasar Object


Oriented Programing”
Diajukan Untuk Memenuhi Salah Satu Tugas Pada Mata Kuliah Pemrogaman Algoritma

Di Susun Oleh
Kelompok 4 :
Ayasy Izzul Haq (13220008)
Erick Ade Hending Firmansyah (12220003)
Lukman Hidayat ( 12220010)
Sheilta Salsabila Saharani (12220001)

Dosen Pengampu :
Ibu Neneng Rachmalia Feta, S.Kom. M.Kom.
CYBER UNIVERSITY
2022/2023
DAFTAR ISI

KATA PENGANTAR....................................................................................................- 3 -

BAB 1.............................................................................................................................- 4 -

ALGORITMA SHORTING..........................................................................................- 4 -

A. PENGERTIAN SHORTING..........................................................................................- 4 -
B. JENIS-JENIS SHORTING..........................................................................................- 4 -
C. MANFAAT SHORTING.............................................................................................- 5 -

BAB 2.............................................................................................................................- 6 -

ALGORITMA SEARCHING........................................................................................- 6 -

A. PENGERTIAN SEARCHING.......................................................................................- 6 -
B. METODE SEARCHING.............................................................................................- 6 -

BAB 3...........................................................................................................................- 10 -

KONSEP DASAR OBJECT ORIENTED PROGRAMING.......................................- 10 -

A. PENGERTIAN OOP...............................................................................................- 10 -
B. KONSEP OOP.......................................................................................................- 10 -

BAB 4...........................................................................................................................- 15 -

PENUTUP....................................................................................................................- 15 -

A. KESIMPULAN...................................................................................................- 15 -

DAFTAR PUSTAKA...................................................................................................- 16 -

2
KATA PENGANTAR

Syukur Alhamdulillah senantiasa kami panjatkan kehadirat Allah SWT yang


telah melimpahkan rahmat dan karunia-Nya, sehingga kami dapat menyelesaikan
makalah ini guna memenuhi tugas kelompok untuk mata kuliah Algoritma dan
Pemrograman.
Kami menyadari sepenuhnya bahwa makalah ini masih jauh dari sempurna
dikarenakan terbatasnya pengalaman dan pengetahuan yang kami miliki. Oleh karena
itu kami mengharapkan segala bentuk saran serta masukan bahkan kritik yang
membangun dari berbagai pihak. Akhirnya kami berharap semoga makalah ini dapat
bernilai baik serta memberikan manfaat bagi perkembangan dunia pendidikan

Jakarta, 12 Oktober 2022

3
BAB 1

ALGORITMA SHORTING

A. Pengertian Shorting
Algoritma Sorting adalah kumpulan langkah sistematis atau secara
berurutan untuk memperoleh hasil yang diinginkan. Sorting dapat
didefinisikan sebagai pengurutan sejumlah data berdasarkan nilai tertentu.
Pengurutan dapat dilakukan dari nilai terkecil ke nilai terbesar (ascending)
atau sebaliknya dan menempatkan elemen list pada urutan tertentu, urutan
yang sering dipakai adalah urutan numerik dan leksikografis. Sorting dapat
dibedakan menjadi dua, yaitu :
 Comparasion Sort / penggurutan dengan pembandingan
 Non-Comparasion Sort / pengurutan tanpa pembandingan

B. Jenis-Jenis Shorting
 Bubble short
Ide dari algoritma bubble sort adalah mengulang proses pembandingan
antara tiap-tiap elemen array dan menukarnya apabila urutannya
salah.Teknik ini menyusun data yang diinginkan secara berurutan
dengan membandingkan elemen data yang ada dan terus diulang
hingga tidak perlu dilakukan penukaran lagi
 Quick short
Algoritma quick short ditemukan oleh E. Hoare. Algoritma ini
menggunakan metode rekursi sampai habis. Prinsipnya membagi data
menjadi dua bagian yang sama (kiri dan kanan).Dimana data tengah
menjadi pivot (pusat operasi). Kemudian kita akan mengumpulkan
data dengan nilai lebih kecil dari pivot disebelah kiri pivot, dan di
kanan untuk yang lebih besar.Karena dimungkinkan bagian kiri dan
kanan pivot tidak sama besarnya. maka dari itu tiap bagian di bagi
menjadi dua lagi sehingga mempunyai pivot yang baru.
 Shell Short
Metode ini disebut juga dengan metode pertambahan menurun
(diminishing increment). Metode ini dikembangkan oleh Donald L.
Shell pada tahun 1959, Metode ini mengurutkan data dengan cara
membandingkan suatu data dengan data lain yang memiliki jarak
tertentu, kemudian dilakukan penukaran bila diperlukan.
 Selection Short
Selection short merupakan sebuah Teknik pengurutan dengan cara
mencari nilai tertinggi/terendah di dalam array kemudian
menempatkan nilai tersebut di tempat semestinya. Algoritma ini dapat

4
mengurutkan data dari besar ke kecil (Ascending) dan kecil ke besar
(Descending). Algoritma ini tidak cocok untuk set data dengan jumlah
besar karena kompleksitas dari algoritma ini adalah O(x2) dimana n
adalah jumlah item.
 Insertion Short
Algoritma insertion short pada dasarnya memilih data yang akan
diurutkan menjadi dua bagian, yang belum diurutkan dan yang sudah
diurutkan. Elemen pertama diambil dari bagian array yang belum
diurutkan dan kemudian diletakkan sesuai posisinya pada bagian lain
dari array yang telah diurutkan. Langkah ini dilakukan secara berulang
hingga tidak ada lagi elemen yang tersisa pada bagian array yang
belum diurutkan.
 Merge Short
Algoritma merge short merupakan algoritma yang menggunakan cara
divide and conquer dimana memecah kemudian menyelesaikan setiap
bagian dan menggabungkannya kembali.
 Heap Sort
Algoritma heap sort merupakan algoritma sorting menggunakan
struktur data heap, dengan nilai parent selalu lebih besar dari pada
nilai childnya.
C. Manfaat Shorting
Kelebihan Sorting adalah untuk memudahkan dalam pencarian data,
dan juga agar data lebih sestematis karena terurut. Sehingga metode
pengurutan dengan menggunakan sorting sangat bermanfaat dalam pencarian
data.

5
BAB 2

ALGORITMA SEARCHING

A. Pengertian Searching
Searching (pencarian) merupakan proses yang fundamental dalam
pengolahan data. Proses pencarian diartikan sebagai sebuah cara atau prosedur
untuk nilai (data) tertentu di dalam sekumpulan data yang bertipe data sama
(baik bertipe dasar atau bertipe bentukan).

B. Metode Searching
Pencarian dapat dilakukan dengan berbagai metode, yaitu sequential search,
binary search, dan interpolation search. Berikut ini akan dijelaskan lebih
lanjut tentang tiga metode tersebut :
 Sequential search (pencarian beruntun) adalah proses pencarian
dengan membandingkan setiap elemen larik satu per satu secara
beruntun, mulai dari elemen pertama sampai elemen yang dicari
ditemukan atau seluruh elemen sudah diperiksa. Berikut Langkah-
langkahnya :
1) Mulai.

2) Masukkan banyak data (N).

3) Menampilkan banyak kolom pada tabel Data (DATA).

4) Masukkan nilai-nilai pada tabel Data (DATA).

5) Masukkan nilai data yang dicari (C).

6) Menampilkan hasil pencarian

 Membandingkan nilai data pada kolom data a[i] dengan

nilai data yang dicari (C), untuk i=1 sampai N,

 Ketika (i<N) dan (a[i]< >C), lakukan

- Jika a[i]=C, maka MS.Lines.Add('Data ditemukan'),

- Selainnya, maka MS.Lines.Add('Data tidak

ditemukan').

6
7) Selesai

 Binary search (pencarian bagi dua) adalah metode pencarian yang


diterapkan pada sekumpulan data yang sudah terurut (terurut menaik
atau terurut menurun). Berikut Langkah-langkah Binary search :
1) Mulai.

2) Masukkan banyak data (N).

3) Menampilkan banyak kolom pada tabel Data (DATA).

4) Masukkan nilai-nilai pada tabel Data (DATA).

5) Masukkan nilai data yang dicari (C).

6) Mengurutkan nilai-nilai data,

 Membandingkan data ke-i dengan data ke-j, dengan

(j=i+1), untuk i=1 sampai N,

- Jika (data ke-i)>(data ke-j), maka (data ke-i) dan

(data ke-j) ditukar.

7) Menampilkan nilai-nilai data yang sudah terurut pada tabel

Data Terurut (DA).

8) Membandingkan nilai data pada kolom data terurut a[i] dengan

nilai data yang dicari (C), untuk i=1 sampai N dan j=N,

 Ketika (i<=j) dan (a[i]< >C), cari posisi nilai data

tengah (k) dengan rumus k = (i+j) div 2

- Jika a[k]=C, maka i=k,

- Jika a[k]>C, maka j=k-1,

- Selainnya, maka i=k+1.

9) Menampilkan hasil pencarian

7
- Jika a[i]=C, maka MS.Lines.Add('Data

ditemukan'),

- Selainnya, maka MS.Lines.Add('Data tidak

ditemukan').

10) Selesai

 Interpolation search (pencarian interpolasi), pencarian juga dilakukan


pada kumpulan data yang sudah urut. Jika data belum urut, maka data
yang akan dipakai harus diurutkan terlebih dahulu, sebelum dapat
dilakukan pencarian dengan metode ini. Berikut Langkah-langkahnya :
Mulai.

1) Masukkan banyak data (N).

2) Menampilkan banyak kolom pada tabel Data (DATA).

3) Masukkan nilai-nilai pada tabel Data (DATA).

4) Masukkan nilai data yang dicari (C).

5) Mengurutkan nilai-nilai data,

6) Membandingkan data ke-i dengan data ke-j, dengan (j=i+1),

untuk i=1 sampai N,

- Jika (data ke-i)>(data ke-j), maka (data ke-i) dan (data

ke-j) ditukar.

7) Menampilkan nilai-nilai data yang sudah terurut pada tabel

Data Terurut (DA).

8) Membandingkan nilai data pada kolom data terurut a[i] dengan

nilai data yang dicari (C), untuk i=1 sampai N, dengan nilai data

terendah (low) = 1 dan nilai data tertinggi (high) = N

8
 Ketika (a[low]<=C) dan (a[high]>=C) dan (a[i]< >C),

cari posisi nilai data tengah (pos) dengan rumus:

pos = ( (C-a[low]) div (a[high]-a[low]) ) * (high-low) + low,

- Jika a[pos] = C, maka I = pos,

- Jika a[pos] < C, maka low = pos+1,

- Selainnya, maka high = pos-1.

9) Menampilkan hasil pencarian

- Jika a[i]=C, maka MS.Lines.Add('Data ditemukan'),

- Selainnya, maka MS.Lines.Add('Data tidak

ditemukan').

10) Selesai

9
BAB 3

KONSEP DASAR OBJECT ORIENTED PROGRAMING

A. Pengertian OOP
Object Oriented Programing (OOP) adalah kumpulan objek
berinteraksi, yang bertentangan dengan model konvensional, dimana program
dipandang sebagai daftar tugas (subrutin) untuk melakukan.

B. Konsep OOP
Ada beberapa contoh konsep dari pemrograman orientasi object
(Object Oriented Programing) yaitu sebagai berikut :
1. Kelas atau Class
Dalam object oriented programming, class (kelas) adalah
blueprint atau prototype, yang mendefinisikan variabel dan method-
method pada seluruh object tertentu untuk membuat anggota dirinya
sendiri mengarah kepada class instance, class object, instance object
atau simply object. Suatu class (kelas) mendefinisikan unsur anggota
yang memungkinkan contoh class (kelas) ini memiliki perilaku dan
kemampuan khusus sendiri. Sebuah class merupakan dasar dari
modularitas dan struktur dalam pemrograman berorientasi object.
Jika diilustrasikan hubungan antara class dan object seperti
pada gambar dibawah ini :

10
Penamaan suatu class mempunyai aturan umum :
a. Tidak menggunakan spasi atau menggunakan spasi dengan diganti
“_” (misal class Sarjana_Mipa)
b. Tidak menggunakan kata-kata yang telah dipakai oleh compiler
(reserved Word, lihat bab sebelumnya)
Modifier saat deklarasi kelas adalah :
a. Tidak ditentukan (default) Kelas tersebut dapat diakses oleh kelas
lain dalam satu package.
b. Public
 Main Class/ Class Induk
Modifier1 Class Namaclass modifier2 {
//tipedata namaatribut/variable
Public static void main (String[ ] args){
//character yang akan di tampilkan
}
}
2. Object
Object adalah elemen dasar dari konsep pemrograman,
merupakan sesuatu yang memiliki identitas (nama), pada umumnya
juga memiliki data tentang dirinya maupun object lain dan mempunyai

11
kemampuan untuk melakukan sesuatu dan bisa bekerja sama dengan
objek lainnya. Pada dasarnya semua benda yang ada di dunia dapat
dianggap sebagai sebuah object. Rumah, mobil, sepeda motor, meja,
dan komputer merupakan contoh-contoh object yang ada di dunia
nyata. Setiap object memiliki dua karakteristik yang utama yaitu,
atribut dan behavior. Atribut merupakan status object dan behavior
merupakan tingkah laku dari object tersebut.
3. Abstraksi
Abstraksi adalah pengabstrakan atau penyembunyian
kerumitan dari suatu proses. Sebagai contoh abstraksi dalam model
pemrograman berorientasi objek, kita sebagai programmer atau
pengembang program tidak perlu tahu secara detail bagaimana cara
membuat sebuah tombol, yang perlu kita ketahui adalah bagaimana
cara menggunakan objek tombol yang sudah ada (baik data/propeti
maupun method-nya). dalam kasus ini, si pembuat objek telah
mengabstraksikan semua proses yang berkaitan dengan pembuatan
tombol.
4. Pembungkusan (Encapsulation)
Pembungkusan merupakan cara atau mekanisme untuk
melakukan abstraksi. Dalam pemrograman tradisional, proses
semacam ini dinamakan dengan penyembunyian informasi
(information Hidding). Dalam melakukan pembungkusan kode dan
data didalam java, terdapat 3 tingkat akses, yaitu :
 Tingkat Akses Private, Dengan mendeklarasikan data dan method
menggunakan tingkat akses private, maka data dan method
tersebut hanya dapat diakses oleh kelas yang memilikinya saja.
Untuk mendeklarasikan suatu data atau method dengan tingkat
akses pivate, gunakan kata kunci ” private “.

12
Private : Memberikan hak akses hanya kepada anggota class
tersebut untuk menggunakan dan/atau mengubah nilai dari
property atau method tersebut.
 Tingkat Akses Protected, Suatu data maupun method, yang di
deklarasikan dengan tingkat akses protected dapat diakses oleh
kelas yang memilikinya dan juga oleh kelas–kelas yang masih
memiliki hubungan turunan. Untuk mendeklarasikan suatu data
atau method dengan tingkat akses protected, gunakan kata kuci
”protected“.
Protected : Memberikan hak akses kepada anggota class nya dan
anggota class hasil inheritance (penurunan sifat) dari class
tersebut.
 Tingkat Akses Public, merupakan kebalikan dari tingkat akses
private, Data maupun method yang bersifat publik dapat diakses
oleh semua bagian di dalam program. Untuk mendeklarasikan
suatu data atau method dengan tingkat akses public, gunakan
kata kunci “public“.
Public : Memberikan hak akses kepada property dan method agar
dapat digunakan diluar class tersebut.
5. Pewarisan (Inherintance)
Inheritance adalah proses pewarisan data dan method dari
suatu kelas kepada kelas yang lain. Pewarisan ini bersifat menyeluruh,
sehingga semua data dan method yang dimiliki oleh kelas asalnya
akan diturunkan kepada kelas baru. Kelas yang mewarisi disebut kelas
“SUPER (super class)” dan kelas yang diwarisi disebut “SUBKELAS
(sub class)”.
Manfaat penggunaan konsep pewarisan antara lain:
 pertama, kita dapat menggunakan kembali kelas-kelas yang kita
buat (sebagai superkelas) dan membuat kelas-kelas baru berdasar

13
superkelas tersebut dengan karakteristik yang lebih khusus dari
behaviour umum yang dimiliki superkelas.
 Kedua, kita dapat membuat superkelas yang hanya mendefinisikan
behaviour namun tidak memberi implementasi dari metode-
metode yang ada. Kelas semacam ini disebut kelas abstrak, karena
behaviournya masih abstrak dan belum diimplementasikan.
6. Polimorfism
Polimorfism merupakan kemampuan suatu objek untuk
mengungkap banyak hal melalui satu cara yang sama. Sebagai contoh,
terdapat kelas A yang diturunkan menjadi kelas B,C dan D. Dengan
konsep polimorfisme, kita dapat menjalankan method-method yang
terdapat pada kelas B,C dan D hanya dari objek yang di instansiasi
dengan kelas. Polimorfism sering dinamakan dengan dynamic binding,
late binding, maupun runtime binding.
Dengan adanya konsep dasar tersebut di atas, maka dengan menggunakan
OOP kita dapat melakukan pemecahan suatu masalah tanpa melihat bagaimana cara
menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat
melakukan pemecahan masalah tersebut.

14
BAB 4

PENUTUP

A. KESIMPULAN
Berdasarkan hasil dari makalah ini kami menyimpulkan bahwa :
 Algoritma Sorting adalah kumpulan langkah sistematis atau secara berurutan
untuk memperoleh hasil yang diinginkan. Kelebihan Sorting adalah
untuk memudahkan dalam pencarian data, dan juga agar data lebih
sestematis karena terurut.
 Searching (pencarian) merupakan proses yang fundamental dalam
pengolahan data. Pencarian dapat dilakukan dengan berbagai metode, yaitu
sequential search, binary search, dan interpolation search.
 Object Oriented Programing (OOP) adalah kumpulan objek berinteraksi,
yang bertentangan dengan model konvensional, dimana program dipandang
sebagai daftar tugas (subrutin) untuk melakukan.

15
DAFTAR PUSTAKA

https://www.princewisnu.com/2020/06/pengertian-algoritma-shell-sort.html

https://socs.binus.ac.id/2019/12/26/selection-sort/

https://se.ittelkom-pwt.ac.id/2021/06/10/jenis-jenis-algoritma-sort/

http://ilmuduniainformatika.blogspot.com/2013/01/algoritma-sorting.html?m=1#

https://kodedasar.com/blog/algoritma-sorting/

http://rahmakeys.blogspot.com/2013/03/mengenal-sejarah-konsep-contoh.html

http://luphtitaku.wordpress.com/oop-1-object-oriented-programming-tugas-1/

http://rifalnugraha.blogspot.com/

http://jadi-guru.blogspot.com/2012/02/oop-object-oriented-programming.html

https://frizalluthfi.wordpress.com/2012/07/29/konsep-pemrograman-oop-bagian-1/

http://www.academia.edu/5583014/MAKALAH_1

https://andiagusta.blogspot.com/2014/02/algoritma-pencarian-searching.html

http://devidesvitasari.blogspot.com/2016/04/interpolation-search.html

https://billymartino11.wordpress.com/2016/04/06/pencarian-interpolasi-interpolation-

searching/

16
17

Anda mungkin juga menyukai