SlideShare a Scribd company logo
1 of 21
MENGHITUNG MEDIAN 1
BAB I
PENDAHULUAN
A. Definisi Pengurutan
Pengurutan (sorting) adalah proses mengatur sekumpulan objek
menurut urutan atau susunan tertentu. Urutan objek tersebut dapat menaik
(ascending) atau menurun (descending). Bila N buah objek (atau data)
disimpan di dalam larik L, maka pengurutan menaik berarti menyusun
elemen larik sedemikian sehinggga :
L[1]≤L[2]≤L[3]≤....≤L[N]
Sedangkan pengurutan menurun berarti menyusun elemen larik
sedemikian sehingga :
L[1]≥L[2]≥L[3]≥....≥L[N]
Data yang diurut dapat berupa data bertipe dasar atau tipe terstruktur
(record). Jika data bertipe terstruktur, maka harus dijelaskan berdasarkan field
apa data tersebut diurutkan. Field yang dijadikan dasar pengurutan dikenal
sebagai field kunci.
B. Algoritma Pengurutan
Adanya kebutuhan terhadap proses pengurutan memunculkan
bermacam-macam algoritma pengurutan. Banyak algoritma pengurutan yang
telah ditemukan. Hal ini menunjukan bahwa persoalan pengurutan adalah
persoalan yang kaya dengan solusi algoritmik. Agoritma yang sering
ditemukan dalam literatur-literatur komputer antara lain :
1. Bubble Sort
2. Selection Sort
3. Insertion Sort
4. Heap Sort
5. Shell sort
6. Quick Sort
7. Merge Sort
MENGHITUNG MEDIAN 2
8. Radix Sort
9. Tree sort
Munculnya algoritma pengurutan yang bermacam-macam
menunjukan bahwa kajian mengenai pengurutan menarik penelitian banyak
ilmuan komputer. Algoritma pengurutan sederhana dan mendasar yang
populer antara lain ;
1. Algoritma Pengurutan Gelembung (Bubble Sort)
2. Algoritma Pengurutan Pilih (Selection Sort)
3. Algoritma Pengurutan Sisip (Insertion Sort)
Seperti halnya pada pencarian, algoritma pengurutan juga dapat
dispesifikasikan sebagai :
1. Pengurutan internal, yaitu pengurutan terhadap sekumpulan data yang
disimpan di dalam memori utama komputer. Umumnya struktur internal
yang dipakai untuk pengurutan internal adalah larik, sehingga
pengurutan internal disebut juga pengurutan larik.
2. Pengurutan eksternal, yaitu pengurutan data yang disimpan di dalam
sekunder, biasanya data bervolume besar sehingga tidak mampu dimuat
semuanya dalam memori komputer, disebut juga pengurutan arsip (file),
karena struktur eksternal yang dipakai adalah arsip.
C. Algoritma Pengurutan Bubble Sort
Metode pengurutan bubble sort diinspirasi oleh gelembung sabun
yang berada di permukaan air. Karena berat jenis gelembung sabun lebih
ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas
permukaan. Secara umum, benda-benda yang berat akan terbenam dan benda-
benda yang ringan akan terapung ke atas permukaan.
Apabila kita menginginkan larik terurut menaik, maka elemen larik
yang berharga paling kecil ”diapungkan’’, artinya diangkat ke “atas” (ke
ujung kiri larik) melalui proses pertukaran. Proses ini dilakukan sebanyak n –
1 langkah (satu langkah disebut juga satu kali pass) dengan n adalah ukuran
larik. Pada akhir setiap langkah ke-i, larik L[1..n] akan terdiri atas dua bagian
MENGHITUNG MEDIAN 3
yang sudah terurut, yaituL[1...i] dan bagian yang belum terurut, L[i+1...n].
Setelah langkah terakhir, diperoleh larik L[1...n] yang terurut menaik.
Cara pengurutan pada bubble sort :
1. Bubble Sort mengurutkan data dengan cara membandingkan elemen
sekarang dengan elemen berikutnya.
2. Ascending : Jika elemen sekarang lebih besar dari elemen berikutnya maka
kedua elemen tersebut ditukar atau swap.
3. Descending : Jika elemen sekarang lebih kecil dari elemen berikutnya,
maka kedua elemen tersebut ditukar atau swap.
1 i i+1 n
Gambar 1.1 Bagian larik yang terurut dan belum terurut pada Bubble Sort
D. Algoritma Pengurutan Selection Sort
Algoritma pengurutan ini disebut pengurutan pilih (selection sort)
karena gagasan dasarnya adalah memilih elemen maksimum atau minimum
dari larik, lalu menempatkan elemen maksimum atau minimum tersebut pada
awal atau akhir larik (elemen terujung). Selanjutnya elemen terujung tersebut
“diisolasi” dan tidak disertakan pada proses selanjutnya.
Proses yang sama diulang untuk elemen larik yang tersisa, yaitu
elemen maksimum atau minimum berikutnya dan mempertukarkannya
dengan elemen terujung larik sisa. Sebagaimana halnya pada algoritma
pengurutan gelembung, proses memilih nilai maksimum atau minimum
dilakukan pada setiap pass. Jika larik berukuran n, maka jumlah pass adalah
n-1.
Cara pengurutan pada selection sort :
1. Seleksi data yang ada kemudian dilakukan swap (pertukaran posisi).
2. Pada Ascending : seleksi data terkecil kemudian swap.
3. Pada descending : seleksi data terbesar kemudian swap.
Sudah terurut Belum terurut
MENGHITUNG MEDIAN 4
Ada dua varian algoritma pengurutan pilih ditinjau dari pemilihan
elemen maksimum atau minimum yaitu :
1. Algoritma pengurutan maksimum yaitu memilih elemen maksimum
sebagai basis pengurutan.
2. Algoritma pengurutan minimum yaitu memilih elemen minimum sebagai
basis pengurutan.
E. Algoritma Pengurutan Insertion Sort
Dari namanya, pengurutan sisip (insertion sort) adalah metode
pengurutan dengan cara menyisipkan elemen larik pada posisi yang tepat.
Pencarian posisi yang tepat dilakukan dengan menyisir larik. Selama
penyisiran dilakukan pergeseran larik. Metode pengurutan sisip cocok untuk
persoalan menyisipkan elemen baru ke dalam sekumpulan elemen yang sudah
terurut.
Cara pengurutan pada insertion sort :
1. Dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data
yang lebih kecil, maka akan ditempatkan (diinsert) diposisi yang
seharusnya.
2. Ascending : ketika perbandingan ambil data yang paling kecil.
3. Descending : ketika perbandingan ambil data yang paling besar.
Algoritma Insertion Sort (Ascending) :
1. Ambil satu data ke-i simpan di temp.
2. Bandingkan data temp dengan data yang ada disebelah kiri satu per-satu.
3. Cek apakah data temp lebih kecil dari data sebelah kiri.
4. Jika langkah nomor 3 bernilai “true” : lakukan pergeseran data satu-persatu
kemudian pada posisi yang tepat sisipkan data temp.
5. Ulangi langkah 1 sampai 4, hingga i sama dengan n.
MENGHITUNG MEDIAN 5
BAB II
DESKRIPSI KERJA
Terdapat sebuah kasus yang harus diselesaikan oleh praktikan yaitu
membuat program aplikasi untuk menghitung median atau nilai tengah dari
data yang berjumlah genap dan data yang berjumlah ganjil. Untuk
menyelesaikan kasus tersebut, praktikan akan menggunakan program aplikasi
Delphi 7. Adapun langkah-langkah yang dilakukan oleh praktikan adalah
sebagai berikut:
1. Arahkan pointer ke arah pojok kanan display PC (dalam pengoperasian
ini praktikkan menggunakan Windows 8), kemudian klik Search lalu
ketik“Delphi” di kotak pencarian tersebut. Lihat Gambar 2.1 berikut :
Gambar 2.1Membuka Aplikasi Delphi 7
2. Maka akan muncul tampilan seperti Gambar 2.2 berikut :
Gambar 2.2 Tampilan Aplikasi Delphi 7
MENGHITUNG MEDIAN 6
3. Langkah awal untuk memulai Console Delphi yaitu klik file pilih new
lalu klik other. Maka akan muncul Gambar 2.3 berikut :
Gambar 2.3 Memulai lembar kerja bar
4. Dalam other ada bermacam-macam items, lalu pilih Console Aplication
klik OK. Maka muncullah tampilan seperti berikut :
Gambar 2.4 Masuk ke ‘Console Application’
MENGHITUNG MEDIAN 7
5. Maka akan tampil Menu Editor Console Application seperti berikut :
Gambar 2.5Menu Editor Console Application
6. Praktikan menuliskan nama program, uses, const, type dan variabel
seperti berikut :
Gambar 2.6 Proses Input nama program,uses,const, type dan variabel
7. Praktikan diminta memasukkan syntak untuk di proses. syntak yang
digunakan mulai dari input, output dan pengulangan. Syntak
pengulangan untuk peng-inputan data yang akan digunakan untuk
melakukan penyortingan (pengurutan) terhadap sejumlah data genap.
Syntaknya sebagai berikut :
writeln('1. Menghitung Median Data Genap');
MENGHITUNG MEDIAN 8
write ('Banyaknya jumlah data genap yang akan diurutkan
adalah ? ');
readln (banyak);
for loop := 1 to banyak do
begin
write ('Bilangan ke ',loop:3,' = ');
readln (deret[loop]) ;
end;
for loop := 1 to banyak -1 do
for nested := loop +1 to banyak do
if (deret[nested]< deret[loop]) then
begin
tampung:= deret[nested];
deret[nested]:= deret[loop];
deret[loop]:= tampung;
end;
writeln;
writeln('Hasil pengurutan bilangan dari kecil ke
besar :');
for loop:= 1 to banyak do
begin
writeln (deret[loop]);
end;
readln;
Syntak pengulangan untuk peng-inputan sebuah rumus yang akan
digunakan untuk menghitung median data genap seperti berikut :
begin
med:= (deret[nested div 2]+deret[(nested div 2)+1])/2;
writeln('Median untuk data genapnya adalah : ', med:2:2);
readln;
Syntak pengulangan untuk peng-inputan data yang akan digunakan untuk
melakukan penyortingan (pengurutan) terhadap sejumlah data genap dan
data ganjil memiliki syntak yang sama seperti berikut :
writeln('2. Menghitung Median Data Ganjil');
MENGHITUNG MEDIAN 9
write ('Banyaknya jumlah data ganjil yang akan diurutkan
adalah ? ');
readln (banyak);
for loop := 1 to banyak do
begin
write ('Bilangan ke ',loop:3,' = ');
readln (deret[loop]) ;
end;
for loop := 1 to banyak -1 do
for nested := loop +1 to banyak do
if (deret[nested]< deret[loop]) then
begin
tampung:= deret[nested];
deret[nested]:= deret[loop];
deret[loop]:= tampung
end;
writeln;
writeln('Hasil pengurutan bilangan dari kecil ke besar :
');
for loop:= 1 to banyak do
begin
writeln (deret[loop]);
end;
readln;
Syntak pengulangan untuk peng-inputan sebuah rumus yang akan
digunakan untuk menghitung median data ganjil seperti berikut :
begin
med := deret[(nested+1) div 2];
writeln;
writeln('Median untuk data ganjilnya adalah : ',
med:2:0);
writeln;
Syntak lengkap dari program pengurutan (sorting) sejumlah data yang
dibuat adalah seperti gambar berikut :
MENGHITUNG MEDIAN 10
Gambar 2.7 Syntak Yang Akan di Eksekusi
MENGHITUNG MEDIAN 11
8. Setelah meng-input-kan syntax langkah selanjutnya adalah penginputan
data dengan mengklik F9 pada keyboard atau klik Run pada Toolbar.
Gambar 2.8 Toolbar Run
9. Komputer akan menampilakan output dari data yang telah di-input-kan.
Gambar 2.9 Tampilan Hasil Running
10. Lalu masukkan data yang diperlukan sesuai kebutuhan, setelah data
dimasukkan maka akan mendapatkan hasil seperti gambar berikut :
MENGHITUNG MEDIAN 12
Gambar 2.10 Tampilan Output
MENGHITUNG MEDIAN 13
BAB III
PEMBAHASAN
Dari hasil pemaparan deskripsi kerja pada bab II diatas, berikut
adalah bahasa program yang digunakan dalam Delphi 7 untuk melakukan
penyortingan terhadap sejumlah data baik ganjil maupun genap pada
permasalahan di atas :
1. program menghitungmedian;{Definisi Unit}
{$APPTYPE CONSOLE}
Judul program ialah sebuah statement di awal program yang
diawali dengan pengenal khusus PROGRAM di ikuti NAMA
program.Pada list program tertulis “menghitungmedian”. Nama program
ditulis sesuai dengan keinginan praktikan. Namun praktikan harus bisa
menuliskan nama program yang bersesuaian dengan aplikasi yang akan
dibuat. Pada kasus ini praktikkan akan membuat program aplikasi
pengurutan sejumlah data dan sekaligus menghitung median data tersebut,
sehingga diberi nama “menghitungmedian”. ”{$APPTYPE CONSOLE}”
merupakan compiler directive yang akan meng-compile program ditandai
dengan karakter $ .Untuk mengakhiri nama program, akhiri dengan tanda
titik koma (;), tanda titik koma akan terus digunakan dalam menyelesaikan
perintah pada setiap barisnya.
2. uses {Bagian Interface}
SysUtils;
Pada uses digunakan SysUtils yang merupakan uses dasar yang
akan digunakan pada pembuatan program ini. Kata kunci uses digunakan
untuk mendaftarkan unit-unit lain yang identifier-nya akan digunakan
dalam unit yang bersangkutan.Uses bersifat optional dan jika digunakan
harus berada pada bagian awal interface atau bagian awal implementation.
MENGHITUNG MEDIAN 14
3. const
Nmaks = 100;
type
deret = array [1..Nmaks] of integer;
var
loop, nested, banyak, tampung: integer;
med: real;
Bagian ini berisi deklarasi pengenal maupun data yang
dipergunakan di dalam program.Bagian ini walaupun tampaknya seperti
pekerjaan membuang-buang waktu, tetapi sesungguhnya merupakan
bagian yang penting dalam penyusunan suatu program yang tertib. Selain
itu juga mengumpulkan semua nama pengenal dalam satu tempat
sehingga akan memudahkan pembacaan program.
Dalam kasus ini secara lengkap ada 3 buah deklarasi, yaitu:
1. Deklarasi Const
Deklarasi ini gunanya untuk mendeklarasikan nama pengenal
tertentu yang berisi suatu konstanta. Statement di atas
memberitahukan bahwa nama pengenal Nmaks memiliki jumlah data
sebanyak 100.
2. Deklarasi Type
Deklarasi ini digunakan untuk menyusun suatu bentuk tipe data
yang baru sebagai hasil penggabungan dari tipe-tipe yang sudah ada.
Statement di atas memberitahukan bahwa “deret” sekarang adalah
jenis data baru, yaitu suatu array satu dimensi dengan dimensi 1
sampai dengan 100. Jenis datanya nya integer.
3. Deklarasi Var
Var digunakan untuk mendeklarasikan variabel objek atau
semua simbol yang akan terus digunakan pada program yang ingin
dibuat. Praktikkan menginputkan variabel sesuai dengan rumus yang
1
2
3
MENGHITUNG MEDIAN 15
akan dihitung.Bagian yang sangat penting dalam pemrograman
adalah mendefinisikan tipe data baru sesuai kebutuhan.
4.
begin
writeln('...........Assalamualaykum Wr.Wb.........');
writeln('......Ini adalah aplikasi untuk menghitung
median data genap dan data ganjil.....');
writeln('===================MENU ==================');
writeln('1. Menghitung Median Data Genap [10 Data]');
writeln('2. Menghitung Median data Ganjil [15 Data');
writeln;
Bagian ini merupakan input yang dibaca dari keyboard dan
akan ditampilkan ke layar monitor sebagai output. Diawali dengan
begin, input ini dituliskan oleh praktikan dengan maksud
memperindah tampilan, membuatnya lebih rapi dan yang lebih utama
memberikan keterangan mengenai aplikasi yang dibuat.Pengaturan
pesan atau hasil suatu program akan memperjelas tampilan pada layar
sehingga tampilan output suatu program menjadi faktor penting dalam
pemrograman.
5. writeln('1. Menghitung Median Data Genap');
write ('Banyaknya jumlah data genap yang akan
diurutkan adalah ? ');
readln (banyak);
for loop := 1 to banyak do
begin
write ('Bilangan ke ',loop:3,' = ');
readln (deret[loop]) ;
end;
for loop := 1 to banyak -1 do
for nested := loop +1 to banyak do
if (deret[nested]< deret[loop]) then
begin
tampung:= deret[nested];
deret[nested]:= deret[loop];
deret[loop]:= tampung; end;
5
1
4
2
3
6
7
MENGHITUNG MEDIAN 16
writeln;
writeln('Hasil pengurutan bilangan dari kecil ke
besar :');
for loop:= 1 to banyak do
begin
writeln (deret[loop]);
end;
readln;
[1] Perintah writeln merupakan bahasa program yang
menampilkan ‘1.Menghitung Median Data Genap’ pada layar
sebagai output bahwa akan dilakukan proses penghitungan median
data genap. [2] Pada bagian ini komputer akan menanyakan berapa
jumlah data genap yang akan di urutkan, kemuadian komputer akan
membacanya sebagai “banyak”. Pada bagian ini pula praktikkan
menginputkan jumlah data sebanyak 10 buah data [3] Bagian ini
praktikkan menggunakan perulangan for-to-do yaitu perulangan yang
dipakai untuk mengulang pengeksekusian terhadap satu atau
sejumlah pernyataan, dalam hal ini for-to-do digunakan untuk
melakukan perulangan terhadap loop maksudnya sistem akan
membaca dari 1 hingga mengulang sebanyak “banyak” kali. .
[4] Begin menandai awalnya bagian ini. Pada syntak ini
komputer akan meminta untuk menginputkan “bilangan ke 1” hingga
“bilangan ke n” sesuai dengan jumlah data yang akan di urutkan.
Kemudian komputer akan membaca pada Loop dalam jenis data baru
yaitu deret. Deret merupakan array satu dimensi dengan dimensi 1
sampai dengan 100. Setelah itu akhiri dengan menuliskan “end”. [5]
Pada bagian ini, sama seperti bagian nomor 4 terdapat perulangan for-
to-do bahkan bukan hanya satu tapi dua perulangan yaitu perulangan
pada loop dimana sistem akan membaca dari 1 hingga “banyak”
9
8
MENGHITUNG MEDIAN 17
kemudian -1. Perulangan kedua pada nested dimana sistem akan
membaca dari “loop+1” hingga mengulang sebanyak “banyak” kali.
[6] Di dalam suatu “deret” jika nested kurang dari loop maka
akan dimulai proses bubble sort ditandai dengan adanya begin. Bubble
sort dipilih karena merupakan metode pengurutan yang paling mudah
dan sederhana dan jumlah data yang digunakan praktikkan bukan
merupakan jumlah data dengan volume yang besar. [7] Bagian ini
meupakan metode penyortingan bubble sort tanpa flag (tanpa ada
status true or false) ditandai dengan adanya pertukaran posisi atau
dalam metode sorting dinamakan swap. Kemudian sertakan“end”
untuk mengakhiri proses bubble sort. [8] Di bagian inilah komputer
akan menampilkan hasil pengurutan dari data yang sudah di input-kan.
Pada bagian ini dilakukan perulangan for-to-do kembali. [9] Komputer
akan menampilkan Hasil urutan data dari bilangan terkecil ke bilangan
terbesar yang telah dilakukan proses perulangan sebelumnya.
Dalam kasus ini praktikkan diminta untuk mengurutkan sejumlah
data genap dan data ganjil. Seperti yang telah dijelaskan pada bagan
diatas mengenai syntak untuk penyortingan data genap, maka
praktikkan mengulangi keseluruhan syntak tersebut untuk
mengurutkan sejumlah data ganjil. Keseluruhan syntak penyortingan
data ganjil dan genap sam persis, hanya saja praktikkan mengganti
kata “genap” dalam syntak di atas dengan “ganjil.
6. begin
med:= (deret[nested div 2]+deret[(nested div 2)+1])/2;
writeln('Median untuk data genapnya adalah : ',
med:2:2);
readln;
end;
Bagian ini merupakan syntak rumus median untuk data genap
yang ditulis dalam bahasa pascal. Bagian ini juga komputer akan
menampilkan hasil mediannya. Untuk menyelesaikan proses maka
akhiri dengan “end”. [1] “variabel:banyak spasi:banyak koma”.
1
MENGHITUNG MEDIAN 18
7. begin
med := deret[(nested+1) div 2];
writeln;
writeln('Median untuk data ganjilnya adalah : ',
med:2:0);
writeln;
Bagian ini merupakan syntak rumus median untuk data ganjil
yang ditulis dalam bahasa pascal. Pada bagian ini juga komputer akan
menampilkan hasil mediannya. Untuk menyelesaikan proses maka
akhiri dengan “end”. [1] “variabel:banyak spasi:banyak koma”.
Langkah selanjutnya adalah menjalankan program dengan
mengklik F9 pada keyboard atau klik Run pada Toolbar.
Gambar 3.1 Toolbar Run
Menu Run digunakan untuk menjalankan program dan melihat
jalannya program. Praktikan juga dapat memantau jalannya program
dengan memperhatikan prosedur yang dijalankan. Run atau F9 berfungsi
untuk mengkompilasi dan menjalankan program aplikasi yang telah
praktikan buat.
Jika muncul lembar kerja hitam pada layar maka artinya
perhitungan yang praktikan lakukan benar. Namun jika setelah menekan
tombol F9 dan ternyata terdapat blok merah pada baris tertentu, itu artinya
ada kesalahan dalam meng-input data. Setelah mengisikan data yang ingin
dicari, maka akan muncul hasil yang diinginkan. Gambar di bawah ini
merupakan tampilan output lengkapnya dari program aplikasi yang dibuat
oleh praktikkan yaitu melakukan penyortingan terhadap sejumlah data
genap dan data ganjil yang kemudian dari masing-masingnya dihitung
mediannya.
1
MENGHITUNG MEDIAN 19
Gambar 3.2 Tampilan Output Lengkapnya
MENGHITUNG MEDIAN 20
Dalam mengerjakan suatu aplikasi program tentu saja tidak
selamanya berjalan dengan mulus. Sama seperti halnya gambar dibawah
ini, praktikan menemukan kasus eror dalam pembuatan suatu program
aplikasi untuk melakukan pengurutan data pada sejumlah data dengan
menggunakan Delphi 7.
Gambar 3.3 Kasus ‘error’ saat mendeklarasikan rumus
Kejadian error sempat terjadi pada saat praktikan melakukan
running. Block merah tepat berada dalam baris pendeklarasian rumus
“med” artinya terjadi kesalahan pada baris ‘’ med’’ tersebut. Hal tersebut
terjadi karena praktikan salah dalam mendeklarasikan syntak rumus
mediannya. [Error]menghitungmedian.dpr(48):
undeclared identifier: ‘n’“ yang berarti
“[Kesalahan]menghitungmedian.dpr(48) : Tidak Diumumkan Pengenal
‘n’. Hal tersebut jelas akan menyebabkan kesalahan karena praktikkan
mendeklarasikan pengenal pada rumus dengan mendeklarasikan
pengenal pada variabel berbeda satu sama lain. Praktikkan pada saat itu
langsung mencontoh syntak rumus median dari program orang lain,
padahal tanda pengenal pada program yang dibuat masing-masing
praktikkan pasti berbeda satu sama lain. Maka untuk itu dalam
mendeklarasikan suatu tanda pengenal walaupun dalam sebuah rumus
teliti dulu karena dapat membuat proses pemrograman terhambat atau
ada kemungkinan untuk eror.
MENGHITUNG MEDIAN 21
BAB IV
PENUTUP
Setelah praktikan melakukan praktikum untuk menyelesaikan suatu kasus
menggunakan program Delphi 7 dalam menghitung median suatu kumpulan data
genap dan ganjil, maka praktikan mendapatkan kesimpulan sebagai berikut :
1. Algoritma pengurutan pada intinya berusaha menemukan algoritma
pengurutan yang lebih cepat, karena dari hari ke hari dirasakan pentingnya
algoritma pengurutan yang cepat seiring semakin besarnya volume data yang
dikelola.
2. Pengurutan (sorting) berguna dalam mempercepat pencarian data yang
dibutuhkan dalam kehidupan sehari-hari.
3. Sorting memang sangat relevan saat ini dan merupakan aktivitas yang sangat
penting berkaitan dengan pemrosesan data.
4. Bubble sort merupakan metode pengurutan yang tidak efisien. Untuk ukuran
larik yang besar, metode bubble sort ini membutuhkan waktu yang lama.
Karena itu, metode ini jarang digunakan dalam praktek pemrograman dan
tidak direkomendasikan untuk dipakai.. Namun metode bubble sort ini
merupakan metode termudah sehingga dengan kesederhanaannya mudah
untuk dipahami.
5. Selection sort memiliki kinerja yang lebih baik. Alasannya, operasi
pertukaran elemen hanya dilakukan sekali saja pada setiap pass. Dengan
demikian lama pengurutannya berkurang dibandingkan dengan metode
bubble sort.
6. Algoritma pengurutan insertion sort kurang bagus dan tidak
direkomendasikan untuk volume data yang besar.
7. Perulangan for-to-do digunakan untuk mengurutkan data terkecil ke terbesar.
Sementara perulangan for-down-to digunakan untuk mengurutkan data
terbesar ke terkecil.
8. Membuat program perhitungan median dengan menggunakan Delphi 7, lebih
mudah, cepat, efektif, dan efisien karena fitur yang disediakan cukup lengkap.

More Related Content

What's hot

Modul persamaan diferensial 1
Modul persamaan diferensial 1Modul persamaan diferensial 1
Modul persamaan diferensial 1Maya Umami
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1BAIDILAH Baidilah
 
Contoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksiContoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksimuhamadaulia3
 
Makalah metode posisi palsu
Makalah metode posisi palsuMakalah metode posisi palsu
Makalah metode posisi palsuokti agung
 
9.double linked list circular
9.double linked list circular9.double linked list circular
9.double linked list circularHitesh Wagle
 
Probabilitas konsepsi peluang
Probabilitas konsepsi peluangProbabilitas konsepsi peluang
Probabilitas konsepsi peluangIsna Aryanty
 
Model regresi-non-linear
Model regresi-non-linearModel regresi-non-linear
Model regresi-non-linearGifard Narut
 
Analisis tabel-kontingensi
Analisis tabel-kontingensiAnalisis tabel-kontingensi
Analisis tabel-kontingensiDwi Mardiani
 
Distribusi Seragam, Bernoulli, dan Binomial
Distribusi Seragam, Bernoulli, dan BinomialDistribusi Seragam, Bernoulli, dan Binomial
Distribusi Seragam, Bernoulli, dan BinomialSilvia_Al
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaBuhori Muslim
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum AlgoritmaEnvaPya
 
Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)zachrison htg
 
Tugas 1 perbedaan sistem linier dan non linier
Tugas 1 perbedaan sistem linier dan non linierTugas 1 perbedaan sistem linier dan non linier
Tugas 1 perbedaan sistem linier dan non linierTriKustini
 
Persamaandifferensial
PersamaandifferensialPersamaandifferensial
PersamaandifferensialMeiky Ayah
 

What's hot (20)

Modul persamaan diferensial 1
Modul persamaan diferensial 1Modul persamaan diferensial 1
Modul persamaan diferensial 1
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
 
Contoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksiContoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksi
 
Makalah metode posisi palsu
Makalah metode posisi palsuMakalah metode posisi palsu
Makalah metode posisi palsu
 
9.double linked list circular
9.double linked list circular9.double linked list circular
9.double linked list circular
 
Soal dan pembahasan integral permukaan
Soal dan pembahasan integral permukaanSoal dan pembahasan integral permukaan
Soal dan pembahasan integral permukaan
 
Probabilitas konsepsi peluang
Probabilitas konsepsi peluangProbabilitas konsepsi peluang
Probabilitas konsepsi peluang
 
Model regresi-non-linear
Model regresi-non-linearModel regresi-non-linear
Model regresi-non-linear
 
Analisis tabel-kontingensi
Analisis tabel-kontingensiAnalisis tabel-kontingensi
Analisis tabel-kontingensi
 
Distribusi Seragam, Bernoulli, dan Binomial
Distribusi Seragam, Bernoulli, dan BinomialDistribusi Seragam, Bernoulli, dan Binomial
Distribusi Seragam, Bernoulli, dan Binomial
 
Integral Lipat Tiga
Integral Lipat TigaIntegral Lipat Tiga
Integral Lipat Tiga
 
VARIABEL RANDOM & DISTRIBUSI PELUANG
VARIABEL RANDOM & DISTRIBUSI PELUANGVARIABEL RANDOM & DISTRIBUSI PELUANG
VARIABEL RANDOM & DISTRIBUSI PELUANG
 
distribusi normal ppt
distribusi normal pptdistribusi normal ppt
distribusi normal ppt
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
 
Modul 1 pd linier orde satu
Modul 1 pd linier orde satuModul 1 pd linier orde satu
Modul 1 pd linier orde satu
 
Jaringan hebb
Jaringan hebbJaringan hebb
Jaringan hebb
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum Algoritma
 
Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)
 
Tugas 1 perbedaan sistem linier dan non linier
Tugas 1 perbedaan sistem linier dan non linierTugas 1 perbedaan sistem linier dan non linier
Tugas 1 perbedaan sistem linier dan non linier
 
Persamaandifferensial
PersamaandifferensialPersamaandifferensial
Persamaandifferensial
 

Similar to Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median

Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanReskidtc
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Mutia Rahmadania
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaTugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaMutia Rahmadania
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptangelyaningsih
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptangelyaningsih
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptangelyaningsih
 
Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingDea Rokhmatun Iradewa
 
Paper Metode Sorting
Paper Metode SortingPaper Metode Sorting
Paper Metode SortingNurul Habibah
 
Makalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan dataMakalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan dataAli Must Can
 
Buku struktur data Sorting
Buku struktur data SortingBuku struktur data Sorting
Buku struktur data SortingBintangWijaya5
 
Rifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).pptRifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).pptFaldoPku
 
Tugas selamat riady algoritma
Tugas selamat riady algoritmaTugas selamat riady algoritma
Tugas selamat riady algoritmaSelamatriady
 
Asd sesi sorting part1
Asd sesi sorting part1Asd sesi sorting part1
Asd sesi sorting part1BintangWijaya5
 
11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarianWandi Parlente
 

Similar to Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median (20)

Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaTugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
 
Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah Sorting
 
Paper Metode Sorting
Paper Metode SortingPaper Metode Sorting
Paper Metode Sorting
 
Makalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan dataMakalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan data
 
Pengurutan (sorting )
Pengurutan (sorting )Pengurutan (sorting )
Pengurutan (sorting )
 
Buku struktur data Sorting
Buku struktur data SortingBuku struktur data Sorting
Buku struktur data Sorting
 
Rifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).pptRifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).ppt
 
tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
 
Ni luh dewi pradnyawati
Ni luh dewi pradnyawatiNi luh dewi pradnyawati
Ni luh dewi pradnyawati
 
Ni luh dewi pradnyawati
Ni luh dewi pradnyawatiNi luh dewi pradnyawati
Ni luh dewi pradnyawati
 
Tugas selamat riady algoritma
Tugas selamat riady algoritmaTugas selamat riady algoritma
Tugas selamat riady algoritma
 
Tugas Algoritma
Tugas AlgoritmaTugas Algoritma
Tugas Algoritma
 
Pengurutan (Sorting)
Pengurutan (Sorting)Pengurutan (Sorting)
Pengurutan (Sorting)
 
Asd sesi sorting part1
Asd sesi sorting part1Asd sesi sorting part1
Asd sesi sorting part1
 
11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian
 

More from Shofura Kamal

Laporan Praktikum Analisis Regresi Terapan Modul VI-Regresi Logistik
Laporan Praktikum Analisis Regresi Terapan Modul VI-Regresi LogistikLaporan Praktikum Analisis Regresi Terapan Modul VI-Regresi Logistik
Laporan Praktikum Analisis Regresi Terapan Modul VI-Regresi LogistikShofura Kamal
 
Laporan Praktikum Analisis Regresi Terapan Modul V-Regresi Non Linear
Laporan Praktikum Analisis Regresi Terapan Modul V-Regresi Non LinearLaporan Praktikum Analisis Regresi Terapan Modul V-Regresi Non Linear
Laporan Praktikum Analisis Regresi Terapan Modul V-Regresi Non LinearShofura Kamal
 
Laporan Praktikum Analisis Regresi Terapan Modul IV-Variabel Dummy
Laporan Praktikum Analisis Regresi Terapan Modul IV-Variabel DummyLaporan Praktikum Analisis Regresi Terapan Modul IV-Variabel Dummy
Laporan Praktikum Analisis Regresi Terapan Modul IV-Variabel DummyShofura Kamal
 
Laporan Praktikum Analisis Regresi Terapan Modul III-Regresi Linear Berganda
Laporan Praktikum Analisis Regresi Terapan Modul III-Regresi Linear Berganda Laporan Praktikum Analisis Regresi Terapan Modul III-Regresi Linear Berganda
Laporan Praktikum Analisis Regresi Terapan Modul III-Regresi Linear Berganda Shofura Kamal
 
Laporan Praktikum Analisis Regresi Terapan-Regresi Sederhana
Laporan Praktikum Analisis Regresi Terapan-Regresi SederhanaLaporan Praktikum Analisis Regresi Terapan-Regresi Sederhana
Laporan Praktikum Analisis Regresi Terapan-Regresi SederhanaShofura Kamal
 
Laporan Praktikum Analisis Data Eksploratif-Statistika Dasar Dengan SPSS
Laporan Praktikum Analisis Data Eksploratif-Statistika Dasar Dengan SPSSLaporan Praktikum Analisis Data Eksploratif-Statistika Dasar Dengan SPSS
Laporan Praktikum Analisis Data Eksploratif-Statistika Dasar Dengan SPSSShofura Kamal
 
Laporan Praktikum Analisis Data Eksploratif-Microsoft Excel
Laporan Praktikum Analisis Data Eksploratif-Microsoft ExcelLaporan Praktikum Analisis Data Eksploratif-Microsoft Excel
Laporan Praktikum Analisis Data Eksploratif-Microsoft ExcelShofura Kamal
 
Laporan Praktikum Basis Data Modul VI-Membuat Website
Laporan Praktikum Basis Data Modul VI-Membuat WebsiteLaporan Praktikum Basis Data Modul VI-Membuat Website
Laporan Praktikum Basis Data Modul VI-Membuat WebsiteShofura Kamal
 
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMINLaporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMINShofura Kamal
 
Laporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi DataLaporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi DataShofura Kamal
 
Laporan Praktikum Basis Data Modul II-Primary Key
Laporan Praktikum Basis Data Modul II-Primary KeyLaporan Praktikum Basis Data Modul II-Primary Key
Laporan Praktikum Basis Data Modul II-Primary KeyShofura Kamal
 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLLaporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLShofura Kamal
 
Laporan Makalah Pembuatan Website E-Commerce-Basis Data
Laporan Makalah Pembuatan Website E-Commerce-Basis DataLaporan Makalah Pembuatan Website E-Commerce-Basis Data
Laporan Makalah Pembuatan Website E-Commerce-Basis DataShofura Kamal
 
Presentasi Pembuatan Website E-Commerce
Presentasi Pembuatan Website E-CommercePresentasi Pembuatan Website E-Commerce
Presentasi Pembuatan Website E-CommerceShofura Kamal
 
Laporan Praktikum Algoritma Pemrograman Modul VI-GUI
Laporan Praktikum Algoritma Pemrograman Modul VI-GUILaporan Praktikum Algoritma Pemrograman Modul VI-GUI
Laporan Praktikum Algoritma Pemrograman Modul VI-GUIShofura Kamal
 
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel BerindexLaporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel BerindexShofura Kamal
 
Laporan Praktikum ALPRO-Berhitung Rumus Statistika
Laporan Praktikum ALPRO-Berhitung Rumus StatistikaLaporan Praktikum ALPRO-Berhitung Rumus Statistika
Laporan Praktikum ALPRO-Berhitung Rumus StatistikaShofura Kamal
 
Laporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul IILaporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul IIShofura Kamal
 
Laporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul ILaporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul IShofura Kamal
 

More from Shofura Kamal (19)

Laporan Praktikum Analisis Regresi Terapan Modul VI-Regresi Logistik
Laporan Praktikum Analisis Regresi Terapan Modul VI-Regresi LogistikLaporan Praktikum Analisis Regresi Terapan Modul VI-Regresi Logistik
Laporan Praktikum Analisis Regresi Terapan Modul VI-Regresi Logistik
 
Laporan Praktikum Analisis Regresi Terapan Modul V-Regresi Non Linear
Laporan Praktikum Analisis Regresi Terapan Modul V-Regresi Non LinearLaporan Praktikum Analisis Regresi Terapan Modul V-Regresi Non Linear
Laporan Praktikum Analisis Regresi Terapan Modul V-Regresi Non Linear
 
Laporan Praktikum Analisis Regresi Terapan Modul IV-Variabel Dummy
Laporan Praktikum Analisis Regresi Terapan Modul IV-Variabel DummyLaporan Praktikum Analisis Regresi Terapan Modul IV-Variabel Dummy
Laporan Praktikum Analisis Regresi Terapan Modul IV-Variabel Dummy
 
Laporan Praktikum Analisis Regresi Terapan Modul III-Regresi Linear Berganda
Laporan Praktikum Analisis Regresi Terapan Modul III-Regresi Linear Berganda Laporan Praktikum Analisis Regresi Terapan Modul III-Regresi Linear Berganda
Laporan Praktikum Analisis Regresi Terapan Modul III-Regresi Linear Berganda
 
Laporan Praktikum Analisis Regresi Terapan-Regresi Sederhana
Laporan Praktikum Analisis Regresi Terapan-Regresi SederhanaLaporan Praktikum Analisis Regresi Terapan-Regresi Sederhana
Laporan Praktikum Analisis Regresi Terapan-Regresi Sederhana
 
Laporan Praktikum Analisis Data Eksploratif-Statistika Dasar Dengan SPSS
Laporan Praktikum Analisis Data Eksploratif-Statistika Dasar Dengan SPSSLaporan Praktikum Analisis Data Eksploratif-Statistika Dasar Dengan SPSS
Laporan Praktikum Analisis Data Eksploratif-Statistika Dasar Dengan SPSS
 
Laporan Praktikum Analisis Data Eksploratif-Microsoft Excel
Laporan Praktikum Analisis Data Eksploratif-Microsoft ExcelLaporan Praktikum Analisis Data Eksploratif-Microsoft Excel
Laporan Praktikum Analisis Data Eksploratif-Microsoft Excel
 
Laporan Praktikum Basis Data Modul VI-Membuat Website
Laporan Praktikum Basis Data Modul VI-Membuat WebsiteLaporan Praktikum Basis Data Modul VI-Membuat Website
Laporan Praktikum Basis Data Modul VI-Membuat Website
 
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMINLaporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
 
Laporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi DataLaporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi Data
 
Laporan Praktikum Basis Data Modul II-Primary Key
Laporan Praktikum Basis Data Modul II-Primary KeyLaporan Praktikum Basis Data Modul II-Primary Key
Laporan Praktikum Basis Data Modul II-Primary Key
 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLLaporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
 
Laporan Makalah Pembuatan Website E-Commerce-Basis Data
Laporan Makalah Pembuatan Website E-Commerce-Basis DataLaporan Makalah Pembuatan Website E-Commerce-Basis Data
Laporan Makalah Pembuatan Website E-Commerce-Basis Data
 
Presentasi Pembuatan Website E-Commerce
Presentasi Pembuatan Website E-CommercePresentasi Pembuatan Website E-Commerce
Presentasi Pembuatan Website E-Commerce
 
Laporan Praktikum Algoritma Pemrograman Modul VI-GUI
Laporan Praktikum Algoritma Pemrograman Modul VI-GUILaporan Praktikum Algoritma Pemrograman Modul VI-GUI
Laporan Praktikum Algoritma Pemrograman Modul VI-GUI
 
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel BerindexLaporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
 
Laporan Praktikum ALPRO-Berhitung Rumus Statistika
Laporan Praktikum ALPRO-Berhitung Rumus StatistikaLaporan Praktikum ALPRO-Berhitung Rumus Statistika
Laporan Praktikum ALPRO-Berhitung Rumus Statistika
 
Laporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul IILaporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul II
 
Laporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul ILaporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul I
 

Recently uploaded

442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptxHendryJulistiyanto
 
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxKontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxssuser50800a
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTIndraAdm
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxJamhuriIshak
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxRezaWahyuni6
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxmawan5982
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptxGiftaJewela
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDmawan5982
 
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Abdiera
 
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxLK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxPurmiasih
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxssuser35630b
 
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxmawan5982
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfbibizaenab
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfDimanWr1
 
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptxMiftahunnajahTVIBS
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfElaAditya
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxadimulianta1
 
Aksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxAksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxsdn3jatiblora
 

Recently uploaded (20)

442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx
 
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxKontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UT
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptx
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SD
 
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
 
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxLK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
 
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
 
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptx
 
Aksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxAksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptx
 

Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median

  • 1. MENGHITUNG MEDIAN 1 BAB I PENDAHULUAN A. Definisi Pengurutan Pengurutan (sorting) adalah proses mengatur sekumpulan objek menurut urutan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending) atau menurun (descending). Bila N buah objek (atau data) disimpan di dalam larik L, maka pengurutan menaik berarti menyusun elemen larik sedemikian sehinggga : L[1]≤L[2]≤L[3]≤....≤L[N] Sedangkan pengurutan menurun berarti menyusun elemen larik sedemikian sehingga : L[1]≥L[2]≥L[3]≥....≥L[N] Data yang diurut dapat berupa data bertipe dasar atau tipe terstruktur (record). Jika data bertipe terstruktur, maka harus dijelaskan berdasarkan field apa data tersebut diurutkan. Field yang dijadikan dasar pengurutan dikenal sebagai field kunci. B. Algoritma Pengurutan Adanya kebutuhan terhadap proses pengurutan memunculkan bermacam-macam algoritma pengurutan. Banyak algoritma pengurutan yang telah ditemukan. Hal ini menunjukan bahwa persoalan pengurutan adalah persoalan yang kaya dengan solusi algoritmik. Agoritma yang sering ditemukan dalam literatur-literatur komputer antara lain : 1. Bubble Sort 2. Selection Sort 3. Insertion Sort 4. Heap Sort 5. Shell sort 6. Quick Sort 7. Merge Sort
  • 2. MENGHITUNG MEDIAN 2 8. Radix Sort 9. Tree sort Munculnya algoritma pengurutan yang bermacam-macam menunjukan bahwa kajian mengenai pengurutan menarik penelitian banyak ilmuan komputer. Algoritma pengurutan sederhana dan mendasar yang populer antara lain ; 1. Algoritma Pengurutan Gelembung (Bubble Sort) 2. Algoritma Pengurutan Pilih (Selection Sort) 3. Algoritma Pengurutan Sisip (Insertion Sort) Seperti halnya pada pencarian, algoritma pengurutan juga dapat dispesifikasikan sebagai : 1. Pengurutan internal, yaitu pengurutan terhadap sekumpulan data yang disimpan di dalam memori utama komputer. Umumnya struktur internal yang dipakai untuk pengurutan internal adalah larik, sehingga pengurutan internal disebut juga pengurutan larik. 2. Pengurutan eksternal, yaitu pengurutan data yang disimpan di dalam sekunder, biasanya data bervolume besar sehingga tidak mampu dimuat semuanya dalam memori komputer, disebut juga pengurutan arsip (file), karena struktur eksternal yang dipakai adalah arsip. C. Algoritma Pengurutan Bubble Sort Metode pengurutan bubble sort diinspirasi oleh gelembung sabun yang berada di permukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Secara umum, benda-benda yang berat akan terbenam dan benda- benda yang ringan akan terapung ke atas permukaan. Apabila kita menginginkan larik terurut menaik, maka elemen larik yang berharga paling kecil ”diapungkan’’, artinya diangkat ke “atas” (ke ujung kiri larik) melalui proses pertukaran. Proses ini dilakukan sebanyak n – 1 langkah (satu langkah disebut juga satu kali pass) dengan n adalah ukuran larik. Pada akhir setiap langkah ke-i, larik L[1..n] akan terdiri atas dua bagian
  • 3. MENGHITUNG MEDIAN 3 yang sudah terurut, yaituL[1...i] dan bagian yang belum terurut, L[i+1...n]. Setelah langkah terakhir, diperoleh larik L[1...n] yang terurut menaik. Cara pengurutan pada bubble sort : 1. Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya. 2. Ascending : Jika elemen sekarang lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar atau swap. 3. Descending : Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar atau swap. 1 i i+1 n Gambar 1.1 Bagian larik yang terurut dan belum terurut pada Bubble Sort D. Algoritma Pengurutan Selection Sort Algoritma pengurutan ini disebut pengurutan pilih (selection sort) karena gagasan dasarnya adalah memilih elemen maksimum atau minimum dari larik, lalu menempatkan elemen maksimum atau minimum tersebut pada awal atau akhir larik (elemen terujung). Selanjutnya elemen terujung tersebut “diisolasi” dan tidak disertakan pada proses selanjutnya. Proses yang sama diulang untuk elemen larik yang tersisa, yaitu elemen maksimum atau minimum berikutnya dan mempertukarkannya dengan elemen terujung larik sisa. Sebagaimana halnya pada algoritma pengurutan gelembung, proses memilih nilai maksimum atau minimum dilakukan pada setiap pass. Jika larik berukuran n, maka jumlah pass adalah n-1. Cara pengurutan pada selection sort : 1. Seleksi data yang ada kemudian dilakukan swap (pertukaran posisi). 2. Pada Ascending : seleksi data terkecil kemudian swap. 3. Pada descending : seleksi data terbesar kemudian swap. Sudah terurut Belum terurut
  • 4. MENGHITUNG MEDIAN 4 Ada dua varian algoritma pengurutan pilih ditinjau dari pemilihan elemen maksimum atau minimum yaitu : 1. Algoritma pengurutan maksimum yaitu memilih elemen maksimum sebagai basis pengurutan. 2. Algoritma pengurutan minimum yaitu memilih elemen minimum sebagai basis pengurutan. E. Algoritma Pengurutan Insertion Sort Dari namanya, pengurutan sisip (insertion sort) adalah metode pengurutan dengan cara menyisipkan elemen larik pada posisi yang tepat. Pencarian posisi yang tepat dilakukan dengan menyisir larik. Selama penyisiran dilakukan pergeseran larik. Metode pengurutan sisip cocok untuk persoalan menyisipkan elemen baru ke dalam sekumpulan elemen yang sudah terurut. Cara pengurutan pada insertion sort : 1. Dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data yang lebih kecil, maka akan ditempatkan (diinsert) diposisi yang seharusnya. 2. Ascending : ketika perbandingan ambil data yang paling kecil. 3. Descending : ketika perbandingan ambil data yang paling besar. Algoritma Insertion Sort (Ascending) : 1. Ambil satu data ke-i simpan di temp. 2. Bandingkan data temp dengan data yang ada disebelah kiri satu per-satu. 3. Cek apakah data temp lebih kecil dari data sebelah kiri. 4. Jika langkah nomor 3 bernilai “true” : lakukan pergeseran data satu-persatu kemudian pada posisi yang tepat sisipkan data temp. 5. Ulangi langkah 1 sampai 4, hingga i sama dengan n.
  • 5. MENGHITUNG MEDIAN 5 BAB II DESKRIPSI KERJA Terdapat sebuah kasus yang harus diselesaikan oleh praktikan yaitu membuat program aplikasi untuk menghitung median atau nilai tengah dari data yang berjumlah genap dan data yang berjumlah ganjil. Untuk menyelesaikan kasus tersebut, praktikan akan menggunakan program aplikasi Delphi 7. Adapun langkah-langkah yang dilakukan oleh praktikan adalah sebagai berikut: 1. Arahkan pointer ke arah pojok kanan display PC (dalam pengoperasian ini praktikkan menggunakan Windows 8), kemudian klik Search lalu ketik“Delphi” di kotak pencarian tersebut. Lihat Gambar 2.1 berikut : Gambar 2.1Membuka Aplikasi Delphi 7 2. Maka akan muncul tampilan seperti Gambar 2.2 berikut : Gambar 2.2 Tampilan Aplikasi Delphi 7
  • 6. MENGHITUNG MEDIAN 6 3. Langkah awal untuk memulai Console Delphi yaitu klik file pilih new lalu klik other. Maka akan muncul Gambar 2.3 berikut : Gambar 2.3 Memulai lembar kerja bar 4. Dalam other ada bermacam-macam items, lalu pilih Console Aplication klik OK. Maka muncullah tampilan seperti berikut : Gambar 2.4 Masuk ke ‘Console Application’
  • 7. MENGHITUNG MEDIAN 7 5. Maka akan tampil Menu Editor Console Application seperti berikut : Gambar 2.5Menu Editor Console Application 6. Praktikan menuliskan nama program, uses, const, type dan variabel seperti berikut : Gambar 2.6 Proses Input nama program,uses,const, type dan variabel 7. Praktikan diminta memasukkan syntak untuk di proses. syntak yang digunakan mulai dari input, output dan pengulangan. Syntak pengulangan untuk peng-inputan data yang akan digunakan untuk melakukan penyortingan (pengurutan) terhadap sejumlah data genap. Syntaknya sebagai berikut : writeln('1. Menghitung Median Data Genap');
  • 8. MENGHITUNG MEDIAN 8 write ('Banyaknya jumlah data genap yang akan diurutkan adalah ? '); readln (banyak); for loop := 1 to banyak do begin write ('Bilangan ke ',loop:3,' = '); readln (deret[loop]) ; end; for loop := 1 to banyak -1 do for nested := loop +1 to banyak do if (deret[nested]< deret[loop]) then begin tampung:= deret[nested]; deret[nested]:= deret[loop]; deret[loop]:= tampung; end; writeln; writeln('Hasil pengurutan bilangan dari kecil ke besar :'); for loop:= 1 to banyak do begin writeln (deret[loop]); end; readln; Syntak pengulangan untuk peng-inputan sebuah rumus yang akan digunakan untuk menghitung median data genap seperti berikut : begin med:= (deret[nested div 2]+deret[(nested div 2)+1])/2; writeln('Median untuk data genapnya adalah : ', med:2:2); readln; Syntak pengulangan untuk peng-inputan data yang akan digunakan untuk melakukan penyortingan (pengurutan) terhadap sejumlah data genap dan data ganjil memiliki syntak yang sama seperti berikut : writeln('2. Menghitung Median Data Ganjil');
  • 9. MENGHITUNG MEDIAN 9 write ('Banyaknya jumlah data ganjil yang akan diurutkan adalah ? '); readln (banyak); for loop := 1 to banyak do begin write ('Bilangan ke ',loop:3,' = '); readln (deret[loop]) ; end; for loop := 1 to banyak -1 do for nested := loop +1 to banyak do if (deret[nested]< deret[loop]) then begin tampung:= deret[nested]; deret[nested]:= deret[loop]; deret[loop]:= tampung end; writeln; writeln('Hasil pengurutan bilangan dari kecil ke besar : '); for loop:= 1 to banyak do begin writeln (deret[loop]); end; readln; Syntak pengulangan untuk peng-inputan sebuah rumus yang akan digunakan untuk menghitung median data ganjil seperti berikut : begin med := deret[(nested+1) div 2]; writeln; writeln('Median untuk data ganjilnya adalah : ', med:2:0); writeln; Syntak lengkap dari program pengurutan (sorting) sejumlah data yang dibuat adalah seperti gambar berikut :
  • 10. MENGHITUNG MEDIAN 10 Gambar 2.7 Syntak Yang Akan di Eksekusi
  • 11. MENGHITUNG MEDIAN 11 8. Setelah meng-input-kan syntax langkah selanjutnya adalah penginputan data dengan mengklik F9 pada keyboard atau klik Run pada Toolbar. Gambar 2.8 Toolbar Run 9. Komputer akan menampilakan output dari data yang telah di-input-kan. Gambar 2.9 Tampilan Hasil Running 10. Lalu masukkan data yang diperlukan sesuai kebutuhan, setelah data dimasukkan maka akan mendapatkan hasil seperti gambar berikut :
  • 12. MENGHITUNG MEDIAN 12 Gambar 2.10 Tampilan Output
  • 13. MENGHITUNG MEDIAN 13 BAB III PEMBAHASAN Dari hasil pemaparan deskripsi kerja pada bab II diatas, berikut adalah bahasa program yang digunakan dalam Delphi 7 untuk melakukan penyortingan terhadap sejumlah data baik ganjil maupun genap pada permasalahan di atas : 1. program menghitungmedian;{Definisi Unit} {$APPTYPE CONSOLE} Judul program ialah sebuah statement di awal program yang diawali dengan pengenal khusus PROGRAM di ikuti NAMA program.Pada list program tertulis “menghitungmedian”. Nama program ditulis sesuai dengan keinginan praktikan. Namun praktikan harus bisa menuliskan nama program yang bersesuaian dengan aplikasi yang akan dibuat. Pada kasus ini praktikkan akan membuat program aplikasi pengurutan sejumlah data dan sekaligus menghitung median data tersebut, sehingga diberi nama “menghitungmedian”. ”{$APPTYPE CONSOLE}” merupakan compiler directive yang akan meng-compile program ditandai dengan karakter $ .Untuk mengakhiri nama program, akhiri dengan tanda titik koma (;), tanda titik koma akan terus digunakan dalam menyelesaikan perintah pada setiap barisnya. 2. uses {Bagian Interface} SysUtils; Pada uses digunakan SysUtils yang merupakan uses dasar yang akan digunakan pada pembuatan program ini. Kata kunci uses digunakan untuk mendaftarkan unit-unit lain yang identifier-nya akan digunakan dalam unit yang bersangkutan.Uses bersifat optional dan jika digunakan harus berada pada bagian awal interface atau bagian awal implementation.
  • 14. MENGHITUNG MEDIAN 14 3. const Nmaks = 100; type deret = array [1..Nmaks] of integer; var loop, nested, banyak, tampung: integer; med: real; Bagian ini berisi deklarasi pengenal maupun data yang dipergunakan di dalam program.Bagian ini walaupun tampaknya seperti pekerjaan membuang-buang waktu, tetapi sesungguhnya merupakan bagian yang penting dalam penyusunan suatu program yang tertib. Selain itu juga mengumpulkan semua nama pengenal dalam satu tempat sehingga akan memudahkan pembacaan program. Dalam kasus ini secara lengkap ada 3 buah deklarasi, yaitu: 1. Deklarasi Const Deklarasi ini gunanya untuk mendeklarasikan nama pengenal tertentu yang berisi suatu konstanta. Statement di atas memberitahukan bahwa nama pengenal Nmaks memiliki jumlah data sebanyak 100. 2. Deklarasi Type Deklarasi ini digunakan untuk menyusun suatu bentuk tipe data yang baru sebagai hasil penggabungan dari tipe-tipe yang sudah ada. Statement di atas memberitahukan bahwa “deret” sekarang adalah jenis data baru, yaitu suatu array satu dimensi dengan dimensi 1 sampai dengan 100. Jenis datanya nya integer. 3. Deklarasi Var Var digunakan untuk mendeklarasikan variabel objek atau semua simbol yang akan terus digunakan pada program yang ingin dibuat. Praktikkan menginputkan variabel sesuai dengan rumus yang 1 2 3
  • 15. MENGHITUNG MEDIAN 15 akan dihitung.Bagian yang sangat penting dalam pemrograman adalah mendefinisikan tipe data baru sesuai kebutuhan. 4. begin writeln('...........Assalamualaykum Wr.Wb.........'); writeln('......Ini adalah aplikasi untuk menghitung median data genap dan data ganjil.....'); writeln('===================MENU =================='); writeln('1. Menghitung Median Data Genap [10 Data]'); writeln('2. Menghitung Median data Ganjil [15 Data'); writeln; Bagian ini merupakan input yang dibaca dari keyboard dan akan ditampilkan ke layar monitor sebagai output. Diawali dengan begin, input ini dituliskan oleh praktikan dengan maksud memperindah tampilan, membuatnya lebih rapi dan yang lebih utama memberikan keterangan mengenai aplikasi yang dibuat.Pengaturan pesan atau hasil suatu program akan memperjelas tampilan pada layar sehingga tampilan output suatu program menjadi faktor penting dalam pemrograman. 5. writeln('1. Menghitung Median Data Genap'); write ('Banyaknya jumlah data genap yang akan diurutkan adalah ? '); readln (banyak); for loop := 1 to banyak do begin write ('Bilangan ke ',loop:3,' = '); readln (deret[loop]) ; end; for loop := 1 to banyak -1 do for nested := loop +1 to banyak do if (deret[nested]< deret[loop]) then begin tampung:= deret[nested]; deret[nested]:= deret[loop]; deret[loop]:= tampung; end; 5 1 4 2 3 6 7
  • 16. MENGHITUNG MEDIAN 16 writeln; writeln('Hasil pengurutan bilangan dari kecil ke besar :'); for loop:= 1 to banyak do begin writeln (deret[loop]); end; readln; [1] Perintah writeln merupakan bahasa program yang menampilkan ‘1.Menghitung Median Data Genap’ pada layar sebagai output bahwa akan dilakukan proses penghitungan median data genap. [2] Pada bagian ini komputer akan menanyakan berapa jumlah data genap yang akan di urutkan, kemuadian komputer akan membacanya sebagai “banyak”. Pada bagian ini pula praktikkan menginputkan jumlah data sebanyak 10 buah data [3] Bagian ini praktikkan menggunakan perulangan for-to-do yaitu perulangan yang dipakai untuk mengulang pengeksekusian terhadap satu atau sejumlah pernyataan, dalam hal ini for-to-do digunakan untuk melakukan perulangan terhadap loop maksudnya sistem akan membaca dari 1 hingga mengulang sebanyak “banyak” kali. . [4] Begin menandai awalnya bagian ini. Pada syntak ini komputer akan meminta untuk menginputkan “bilangan ke 1” hingga “bilangan ke n” sesuai dengan jumlah data yang akan di urutkan. Kemudian komputer akan membaca pada Loop dalam jenis data baru yaitu deret. Deret merupakan array satu dimensi dengan dimensi 1 sampai dengan 100. Setelah itu akhiri dengan menuliskan “end”. [5] Pada bagian ini, sama seperti bagian nomor 4 terdapat perulangan for- to-do bahkan bukan hanya satu tapi dua perulangan yaitu perulangan pada loop dimana sistem akan membaca dari 1 hingga “banyak” 9 8
  • 17. MENGHITUNG MEDIAN 17 kemudian -1. Perulangan kedua pada nested dimana sistem akan membaca dari “loop+1” hingga mengulang sebanyak “banyak” kali. [6] Di dalam suatu “deret” jika nested kurang dari loop maka akan dimulai proses bubble sort ditandai dengan adanya begin. Bubble sort dipilih karena merupakan metode pengurutan yang paling mudah dan sederhana dan jumlah data yang digunakan praktikkan bukan merupakan jumlah data dengan volume yang besar. [7] Bagian ini meupakan metode penyortingan bubble sort tanpa flag (tanpa ada status true or false) ditandai dengan adanya pertukaran posisi atau dalam metode sorting dinamakan swap. Kemudian sertakan“end” untuk mengakhiri proses bubble sort. [8] Di bagian inilah komputer akan menampilkan hasil pengurutan dari data yang sudah di input-kan. Pada bagian ini dilakukan perulangan for-to-do kembali. [9] Komputer akan menampilkan Hasil urutan data dari bilangan terkecil ke bilangan terbesar yang telah dilakukan proses perulangan sebelumnya. Dalam kasus ini praktikkan diminta untuk mengurutkan sejumlah data genap dan data ganjil. Seperti yang telah dijelaskan pada bagan diatas mengenai syntak untuk penyortingan data genap, maka praktikkan mengulangi keseluruhan syntak tersebut untuk mengurutkan sejumlah data ganjil. Keseluruhan syntak penyortingan data ganjil dan genap sam persis, hanya saja praktikkan mengganti kata “genap” dalam syntak di atas dengan “ganjil. 6. begin med:= (deret[nested div 2]+deret[(nested div 2)+1])/2; writeln('Median untuk data genapnya adalah : ', med:2:2); readln; end; Bagian ini merupakan syntak rumus median untuk data genap yang ditulis dalam bahasa pascal. Bagian ini juga komputer akan menampilkan hasil mediannya. Untuk menyelesaikan proses maka akhiri dengan “end”. [1] “variabel:banyak spasi:banyak koma”. 1
  • 18. MENGHITUNG MEDIAN 18 7. begin med := deret[(nested+1) div 2]; writeln; writeln('Median untuk data ganjilnya adalah : ', med:2:0); writeln; Bagian ini merupakan syntak rumus median untuk data ganjil yang ditulis dalam bahasa pascal. Pada bagian ini juga komputer akan menampilkan hasil mediannya. Untuk menyelesaikan proses maka akhiri dengan “end”. [1] “variabel:banyak spasi:banyak koma”. Langkah selanjutnya adalah menjalankan program dengan mengklik F9 pada keyboard atau klik Run pada Toolbar. Gambar 3.1 Toolbar Run Menu Run digunakan untuk menjalankan program dan melihat jalannya program. Praktikan juga dapat memantau jalannya program dengan memperhatikan prosedur yang dijalankan. Run atau F9 berfungsi untuk mengkompilasi dan menjalankan program aplikasi yang telah praktikan buat. Jika muncul lembar kerja hitam pada layar maka artinya perhitungan yang praktikan lakukan benar. Namun jika setelah menekan tombol F9 dan ternyata terdapat blok merah pada baris tertentu, itu artinya ada kesalahan dalam meng-input data. Setelah mengisikan data yang ingin dicari, maka akan muncul hasil yang diinginkan. Gambar di bawah ini merupakan tampilan output lengkapnya dari program aplikasi yang dibuat oleh praktikkan yaitu melakukan penyortingan terhadap sejumlah data genap dan data ganjil yang kemudian dari masing-masingnya dihitung mediannya. 1
  • 19. MENGHITUNG MEDIAN 19 Gambar 3.2 Tampilan Output Lengkapnya
  • 20. MENGHITUNG MEDIAN 20 Dalam mengerjakan suatu aplikasi program tentu saja tidak selamanya berjalan dengan mulus. Sama seperti halnya gambar dibawah ini, praktikan menemukan kasus eror dalam pembuatan suatu program aplikasi untuk melakukan pengurutan data pada sejumlah data dengan menggunakan Delphi 7. Gambar 3.3 Kasus ‘error’ saat mendeklarasikan rumus Kejadian error sempat terjadi pada saat praktikan melakukan running. Block merah tepat berada dalam baris pendeklarasian rumus “med” artinya terjadi kesalahan pada baris ‘’ med’’ tersebut. Hal tersebut terjadi karena praktikan salah dalam mendeklarasikan syntak rumus mediannya. [Error]menghitungmedian.dpr(48): undeclared identifier: ‘n’“ yang berarti “[Kesalahan]menghitungmedian.dpr(48) : Tidak Diumumkan Pengenal ‘n’. Hal tersebut jelas akan menyebabkan kesalahan karena praktikkan mendeklarasikan pengenal pada rumus dengan mendeklarasikan pengenal pada variabel berbeda satu sama lain. Praktikkan pada saat itu langsung mencontoh syntak rumus median dari program orang lain, padahal tanda pengenal pada program yang dibuat masing-masing praktikkan pasti berbeda satu sama lain. Maka untuk itu dalam mendeklarasikan suatu tanda pengenal walaupun dalam sebuah rumus teliti dulu karena dapat membuat proses pemrograman terhambat atau ada kemungkinan untuk eror.
  • 21. MENGHITUNG MEDIAN 21 BAB IV PENUTUP Setelah praktikan melakukan praktikum untuk menyelesaikan suatu kasus menggunakan program Delphi 7 dalam menghitung median suatu kumpulan data genap dan ganjil, maka praktikan mendapatkan kesimpulan sebagai berikut : 1. Algoritma pengurutan pada intinya berusaha menemukan algoritma pengurutan yang lebih cepat, karena dari hari ke hari dirasakan pentingnya algoritma pengurutan yang cepat seiring semakin besarnya volume data yang dikelola. 2. Pengurutan (sorting) berguna dalam mempercepat pencarian data yang dibutuhkan dalam kehidupan sehari-hari. 3. Sorting memang sangat relevan saat ini dan merupakan aktivitas yang sangat penting berkaitan dengan pemrosesan data. 4. Bubble sort merupakan metode pengurutan yang tidak efisien. Untuk ukuran larik yang besar, metode bubble sort ini membutuhkan waktu yang lama. Karena itu, metode ini jarang digunakan dalam praktek pemrograman dan tidak direkomendasikan untuk dipakai.. Namun metode bubble sort ini merupakan metode termudah sehingga dengan kesederhanaannya mudah untuk dipahami. 5. Selection sort memiliki kinerja yang lebih baik. Alasannya, operasi pertukaran elemen hanya dilakukan sekali saja pada setiap pass. Dengan demikian lama pengurutannya berkurang dibandingkan dengan metode bubble sort. 6. Algoritma pengurutan insertion sort kurang bagus dan tidak direkomendasikan untuk volume data yang besar. 7. Perulangan for-to-do digunakan untuk mengurutkan data terkecil ke terbesar. Sementara perulangan for-down-to digunakan untuk mengurutkan data terbesar ke terkecil. 8. Membuat program perhitungan median dengan menggunakan Delphi 7, lebih mudah, cepat, efektif, dan efisien karena fitur yang disediakan cukup lengkap.