0% menganggap dokumen ini bermanfaat (0 suara)
308 tayangan5 halaman

Tugas Algoritma 2

Flowchart membuat gaji karyawan menjelaskan proses perhitungan gaji mingguan dan lembur berdasarkan jam kerja normal dan lebih. Metode searching data pada array meliputi sequential search yang menelusuri secara berurut dan binary search untuk data terurut.

Diunggah oleh

febrijuanda
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
308 tayangan5 halaman

Tugas Algoritma 2

Flowchart membuat gaji karyawan menjelaskan proses perhitungan gaji mingguan dan lembur berdasarkan jam kerja normal dan lebih. Metode searching data pada array meliputi sequential search yang menelusuri secara berurut dan binary search untuk data terurut.

Diunggah oleh

febrijuanda
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 5

FLOWCHART MEMBUAT GAJI KARYAWAN

TUGAS 1
Studi kasus
seorang karyawan bekerja di Pt.KARYA PEKANBARU dan mendapatkan gaji serta
lemburan :
gaji minngguan (GM) = RP.900.000

lemburan (lem) = RP.20.000/jam

jumlah jam kerja dalam satu minggu normal (JN) = 40 jam

jika dia bekerja lebih dari 40 jam dalam satu minggu, maka dihitung lembur (JK)

jika dia bekerja kurang dari 40 jam dalam seminggu maka diterima total gaji
mingguan (TGM)

Jumlah Pegawai (JP)

Jumlah Lembur (JL)

Star

GM,LEM,JN,JK,TGM

JP=LEM*(JN-JK) JK>JN JL=LEM*(JK-JN)


GM=GM-JP GM=GM+JL

JK<JN

TGM=GM

Print TGM

SELESAI
TUGAS 2

TEKNIK SEARCHING PADA ARAY

Searching adalah pencarian data dengan cara menelusuri data-data tersebut.

Sequential Search (Pencarian berurutan)


Adalah suatu teknik pencarian data dalam array (1 dimensi) yang akan menelusuri semua
elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih
dahulu. Pencarian berurutan menggunakan prinsip sebagai berikut : data yang ada dibandingkan
satu per satu secara berurutan dengan yang dicari sampai data tersebut ditemukan atau tidak
ditemukan.

Algoritma pencarian berurutan dapat dituliskan sebagai berikut :

kita mencari data 5 dari array [,1,2,4,3,5]

maka akan mengecek dari awal sampai data ketemu, jadi akan di periksa satu persatu ,
dengan cara membandingkan seperti ini

apakah 5 = 1 False
apakah 5 = 2 False
apakah 5 = 4 False
apakah 5 = 3 False
apakah 5 = 5 True

jika ada ada di tengah maka akan berhenti ketika kondis menjadi true, dan tidak akan di ualang lagi
contoh kita mencari data 5 dari array [,1,2,5,3,4]

apakah 5 = 1 False
apakah 5 = 2 False
apakah 5 = 5 True

Jika data sudah ketemu maka tdk akan diproses lagi :-)

oke kita cari dengan perulangan ekarang dengan soal di bawah , carilah data 40

100 50 40 60 20 10

didefinisikan
diatas adalah aray X
x[0] = 100
x[1] = 50
x[2] = 40
x[3] = 66
x[4] = 20
x[5] = 10
kita cari dengan cara mengurutkan dengen perulangan

i=0;
while(i <= 5){
if(x[i]==40){
alert("Data Ketemu");
}else{
i++;
}
}

dari perulangan di atas akan mengecek satu persatu data array dan menyamakannya dengan data yg
akan di cari .......
oke itu sedikit penjelasan tentang Sequential Search (Pencarian berurutan)

Binary Search)
Merupakan salah satu metode pencarian yang menangani kasus terburuk (worst case)
pada pencarian secara berurutan. Proses pencarian binary search hanya dapat dilakukan pada
data yang sudah berurutan. Cara pencarian binary ini adalah dengan membagi dua elemen
penampung nilai dan membandingkan nilainya.
Algoritma dari binary search adalah:
1. Tentukan posisi awal = 0 dan posisi akhir = N – 1
2. Hitung posisi tengah = (posisi awal + posisi akhir) / 2
3. Bandingkan data yang dicari dengan elemen posisi tengah
 Jika data yang dicari sama maka catat posisi dan cetak kemudian berhenti
 Jika lebih besar maka akan dilakukan pencarian kembali ke bagian kiri dengan nilai posisi
awal = posisi tengah + 1 dan posisi akhir tetap kemudian ulangi mulai poin 2
 Jika nilai datanya lebih kecil maka akan dilakukan pencarian kembali ke bagian kiri dengan
nilai posisi awal tetap dan nilai posisi akhir = posisi tengah – 1 kemudian ulangi mulai poin
2.

Contoh soal

16 17 23 45 50 78 99 100

Carilah dengan menggunakan metode Sequansial search dan Binary search

1. Mencari x[17]
 Sequansial Search
1. 17 != x[0] = yes = indeks ++
2. 17 != x[1] = no = Temukan x[1] x[1] = 17

 Binary Search
1. 0 + 7/2 = 3,5 = 3
16 17 23 45 50 78 99 100
2. 0 + 3/2 = 1,5 = 1

16 17 23 45

2. Mencari x[23]
 Sequensial Search
1. 23 != x[0] = yes = indeks ++
2. 23 != x[1] = yes = indeks ++
3. 23 != x[2] = no = Temukan x[2] x[2] = 23
 Binary Search
1. 0 + 7/2 = 3,5 = 3

16 17 23 45 50 78 99 100

2. 0 + 4/2 = 2

16 17 23 45

3. Mencari x[78]
 Sequansial Search
1. 78 != x[0] = yes = indeks ++
2. 78 != x[1] = yes = indeks ++
3. 78 != x[2] = yes = indeks ++
4. 78 != x[3] = yes = indeks ++
5. 78 != x[4] = yes = indeks ++
6. 78 != x[5] = no = Ketemu x[5]

 Binary Search
1. 0 + 7/2 = 3,5 = 3

16 17 23 45 50 78 99 100

2. 0 + 5/2 = 2,5 = 2

50 78 99 100

Kesimpulan :
Dari pembahasan contoh soal di atas dapat disimpulkan bahwa jika mencari data yang sudah
terurut maka metode yang paling efisien digunakan adalah metode Binary Search dan
sebaliknya jika kita ingin mencari data yang teracak metode yang sebaiknya digunakan
adalah metode Sequantial Search

febrijuanda
17071003
Algoritma 2

Anda mungkin juga menyukai