Anda di halaman 1dari 21

MATERI PERTEMUAN 8-12

PERTEMUAN 8
Algoritma Penulisan Data pada File
Algoritma yang digunakan untuk penulisan data untuk file data berurutan maupun acak
secara rinsip sama, hanya modusnya yang berbeda.
Berikut ini adalah algoritma penulisan data.
Open “modus”, <buffer number>, “nama file data” Write <record number>,
field 1, field 2, .. field n
Close buffer number Modus O menunjukkan file ini dibuka untuk ditulisi.
Contoh 5.25.
Contoh Penerapan algoritma penulisan data.Misalkan kita punya file data dengan nama
“siswa.dat” yang field-nya adalah nama siswa, alamat, nomor telepon. Maka untuk
menuliskan
data adalah sebagai berikut :
Open “O”, #1, “siswa.dat”
Write #1, <nama>, <alamat>, <no.telepon>
Close #1
Notasi #1 menunjukkan siswa.dat akan ditempatkan dalam buffer no 1.
Notasi ini harus sama digunakan di seluruh progam di atas.
Artinya kalau kita menempatkan suatu file dengan nomor buffer #1 maka Ketika
membuka, menulis, membaca dan menutup harus menggunakan notasi tersebut.
Demikian juga bila kita menempatkan pada buffer no #2
Algoritma Pembacaan Data pada File
Algoritma membaca data algoritmanya hampir sama dengan menuliskan data, tetapi
modus yang digunakan tidak O tetapi I. I adalah input yang berarti file data dibuka
untuk dibaca datanya sebagai input.
Berikut ini algoritmanya dalam SE.
Open “modus”, <buffer number>, “nama file data”
While not EOF:
Input <record number>, field 1, field 2, ..
field n
Print field 1, field 2, .. field n
End while
Close buffer number
Pernyataan While Not EOF digunakan untuk memeriksa apakah sudah ada pada baris
terakhir dari data. Jika belum maka baris-baris data akan dibaca dan dicetak sampai
baris terakhir. Pernyataan input digunakan untuk mengambil data dari file untuk dimuat
ke dalamprogram. Sedangkan Pernyataan print digunakan untuk mencetak data ke layar
komputer.
Contoh 5.26.
Contoh penerapan algoritma penulisan data. File data dengan nama “siswa.dat” seperti
pada contoh 5.25 yang field-nya adalah nama siswa, alamat, nomor telepon. Maka untuk
membaca data adalahsebagai berikut.
Open “I”, #2, “siswa.dat”
While not EOF:
Input #2, <nama>, <alamat>, <no.telepon>
Print <nama>, <alamat>, <no.telepon>
End while
Close buffer number
Contoh dalam bahasa pemrograman dasar :
Uses Crt;
Var
I,n,x : integer;
Procedure Inputan ( var x,n : integer);
Begin
For i := 1 to n do
Begin
Write (’masukkan suku ke-’,i,’=’);
Readln(x);
End;
End;
Procedure Keluaran ( var x,n : integer);
Begin
For i := 1 to n do
Write (‘x[’,i,’]=’,x);
End;
Begin
Clrscr;
Write(’Masukkan N (mak 100) :’);
Readln(n);
Inputan(x,n);
Writeln; Writeln;
Keluaran(x,n);
Readln;
End.
PERTEMUAN 9
Percabangan dengan 2 kondisi
Struktur satu kondisi (perintah if)
Struktur ini merupakan struktur yang paling sederhana karena hanya melibatkan
satu buah ekspresi akan diperiksa. Pada konstruksi perintah if, C++ tidak memiliki kata
kunci (keyword) then.
Bentuk umum:
if (kondisi)
pernyataan;
atau
if (kondisi)
{
statemen1;
statemen2;

}
Contoh:

if (detik == 60)

menit = menit + 1;

if (Angka %2 == 0)

cout<<”Bilangan genap”;

if (sisi > 0)

Luas = panjang * lebar;


Isi = Luas*tinggi;

Keterangan :

Kondisi digunakan untuk menentukan pengambilan keputusan, operator yang


digunakan adalah relational dan logical operators.
Contoh program:
#include <iostream.h>
int main()
{
int nilai;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan bulat: “;
cin>>nilai;
//menampilkan teks jika nilai yang tersimpan lebih besar dari 0
if (nilai > 0)
cout<<“Nilai yang Anda masukkan adalah bilangan positif“;
return 0; }
Hasil eksekusi program di atas bersifat dinamis artinya tidak setiap proses
eksekusi program akan menghasilkan hasil yang sama. Jika user memasukkan angka
lebih besar dari 0 maka program ini akan menampilkan teks “Nilai yang Anda
masukkan adalah bilangan positif”. Selain itu kita juga omp nenggunakan operator ||
dan && dalam menentukan sebuah ekspresi.
Contoh program:
#include <iostream.h>
int main()
{
int bilangan;
char huruf;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan bulat: “;
cin>>bilangan;
if ((bilangan > 0) && (bilangan < 10))
cout<<bilangan<<” lebih besar dari nol dan lebih kecil dari sepuluh”;
//memasukkan huruf
cout<<“\n“;
cout<<”Masukkan sebuah huruf: “;
cin>>huruf;
if ((huruf == ‘A’) || (huruf == ‘a’) || (huruf == ‘I’) ||
(huruf == ‘i’) || (huruf == ‘U’) || (huruf == ‘u’) ||
(huruf == ‘E’) || (huruf == ‘e’) || (huruf == ‘O’) ||
(huruf == ‘o’))
{
cout<<huruf<<” adalah huruf ompu”;
}
return 0
}
PERTEMUAN 10
Penggunaan If Majemuk
Struktur dua kondisi (perintah if – else)
Struktur percabangan jenis ini sedikit lebih kompleks bila dibandingkan dengan
struktur yang hanya memiliki satu kondisi. Konsep ini sangat sederhana yaitu pada
struktur jenis ini terdapat sebuah statemen khusus yang berguna untuk mengatasi
kejadian apabila kondisi yang didefinisikan tersebut tidak terpenuhi (bernilai salah).
Perintah ini memberikan satu omputere dari dua kemungkinan. dari dua kemungkinan.
Bentuk umum:
if (kondisi)
{
statement_jika_kondisi_terpenuhi;
}
else
{
statement_jika_kondisi_tidak_terpenuhi;
}
Contoh:
#include <iostream.h>
int main()
{
int nilai;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan bulat: “;
cin>>nilai;
//pengecek bilangan apakah habis dibagi dua atau tidak
if (nilai %2 == 0)
{
cout<<nilai<<“adalah bilangan genap“;
}
else
{
cout<<nilai<<“adalah bilangan ganjil“;
}
return 0;
}
Contoh program:
#include <iostream.h>
int main()
{
int nilai;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan yang akan diperiksa: “;
cin>>nilai;
//pengecek bilangan apakah habis dibagi dua atau tidak
if (nilai > 0)
{
cout<<nilai<<“ adalah bilangan positif“;
}
else if (nilai < 0)
{
cout<<nilai<<“ adalah bilangan omputer“;
}
else
{
cout<<“Anda memasukkan bilangan NOL“;
}
return 0;
}
Contoh Program :
Implementasinya dalam bahasa Pemrograman Pascal :
Uses Crt;
Type
Latih = array [ 1..10, 1..10] of integer;
Var
I,j,n,m : Integer;
A,B,C : latih;
Procedure InputA(var x : latih; m,n : integer);
Begin
For I := 1 to m do
Begin
For J := 1 to n do
Begin
Write(‘Masukkan suku A[‘,I,’] = ‘);
Raedln(A[I,j](;
End;
End;
End;
Procedure InputB(var x : latih; m,n : integer);
Begin
For I := 1 to m do
Begin
For J := 1 to n do
Begin
Write(‘Masukkan suku B[‘,I,’] = ‘);
Raedln(B[I,j](;
End;
End;
End;
Procedure Keluaran(var x : latih; m,n : integer);
Begin
For I := 1 to m do
Begin
For J := 1 to n do
Begin
C[I,j]:=A[I,j]+ B[I,j]
Writeln(‘C[‘,I,’]=’, C[I,j]);
End;
End;
End;
Begin
Write(‘Masukkan m (mak 10) :’);
Readln(m);
Write(‘Masukkan n (mak 10) :’);
Readln(n);
InputA(a,m,n);
InputB(a,m,n);
Writeln; Writeln;
Keluaran(c,m,n);
Readln
End.
Lampiran 2
INSTRUMEN TES URAIAN
Kompetensi : Pengatahuan
Satuan Pendidikan :
Kelas/Semester : X/I
Pertemuan ke- : 5-10
Alokasi Waktu : 12 x 45

C. Kompetensi Dasar
a. Menerapkan Struktur kontrol percabangan dalam bahasa pemrograman
D. Indikator
1. Membuat Struktur kontrol percabangan,
2. Membuat Percabangan 1 kondisi
3. Membuat Percabangan 2 kondisi
4. Membuat Percabangan lebih dari 2 kondisi
a. Soal
1. Buatlah sebuah program sederhana !
2. Tuliskan macam-macam array !
3. Tuliskan struktur percabangan !
4. Perhatikan gambar berikut : Tuliskan eksekusi dari skema tersebut

b. Kunci jawaban
1. Contoh Program sederhana:
#include <iostream.h>
int main()
{
int nilai;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan yang akan diperiksa: “;
cin>>nilai;
//pengecek bilangan apakah habis dibagi dua atau tidak
if (nilai > 0)
{
cout<<nilai<<“ adalah bilangan positif“;
}
else if (nilai < 0)
{
cout<<nilai<<“ adalah bilangan omputer“;
}
else
{
cout<<“Anda memasukkan bilangan NOL“;
}
return 0;
}
2. Macam – macam array :
a. Array 1 dimensi dituliskan :
Variabel [ indeks ]
b. Array 2 dimensi dituliskan :
Variabel [ indeks1, indeks2 ]
c. Array 3 dimensi dituliskan :
Variabel [ indeks1, indeks2, indeks3 ]
3. Struktur Percabangan :
Pada struktur percabangan, program akan berpindah urutan pelaksanaan jika
suatu kondisi yang disyaratkan dipenuhi. Pada proses seperti ini omput flowchart
Decision harus digunakan. Simbol decision akan berisi pernyataan yang akan diuji
kebenarannya.
Nilai hasil pengujian akan menentukan cabang mana yang akan ditempuh.
4. Maka eksekusi program akan berlangsung berurutan sebagai berikut :
1. Tetapkan bilangan yang ingin kita cari (yaitu 12)
2. Ambil elemen paling awal (yaitu A[0]), bandingkan isi elemen tersebut (yaitu
23) dengan bilangan yang kita cari. Jika sama maka stop.
3. Jika tidak maka lanjutkan dengan elemen berikutnya (yaitu A[1]), bandingkan
isi elemen tersebut dengan bilangan yang kita cari. Jika sama maka stop.
4. Jika tidak maka lanjutkan dengan elemen berikutnya. Dan seterusnya sampai
dijumpai elemen yang berisi sama dengan bilangan yang kita cari.
a. Pedoman Penilaian :
Konversi Nilai = Jumlah Skor x 25,
Jumlah Skor maksimal 25, maka 4 x 25 = 100

Lampiran 3
LEMBAR PENGAMATAN SIKAP
Kompetensi : Sikap
Satuan Pendidikan :
Mata Pelajaran : Pemrograman dasar
Pertemuan ke- : 5 – 10
Alokasi Waktu : 12 x 45

1. Kompetensi dasar :
Berlaku jujur dan bertanggung jawab dalam mengerjakan tugas-tugas dari dalam
pembelajar Algoritma dan Pemrograman Pascal
2. Indikator
1. Peserta didik dapat berperilaku jujur dalam menyalin informasi dari buku
sumber
2. Peserta didik dapat bertanggung jawab dalam mengerjakan tugas.
3. Peserta didik dapat berperilaku disiplin dalam mengumpulkan tugas
4. Peserta didik dapat menunjukkan kerja sama dalam belajar Algoritma dan
Pemrograman Pascal
5. Peserta didik dapt berperilaku santun dalam belajar.

Nomor peserta didik : .......................................................


Nama Absen Peserta didik : .........................................................
No. Sikap Kriteria Hasil
Ya Tidak
1. Jujur 1. Melaporkan data/informasi sesuai
dengan apa yang dibaca.
2. Menyampaikan pendapat disertai
dengan informasi dari buku sumber
yang diterima
2. Tanggung jawab 1. Melaksanakan tugas sesuai dengan
perintah guru
2. Menyelesaikan tugas sampai selesai.
3. Disiplin Melaksanakan dan menyelesaikan tugas
sesuai dengan waktu yang ditetapkan.
4. Bekerja sama Menghargai pekerjaan teman dan berperan
aktif dalam menyelesaikan tugas
kelompok.
5. Santun 1. Menyampaikan pendapat dengan
bahasa dan nada yang baik.
2. Menghargai adanya perbedaan
pendapat.

Lampiran 4
LEMBAR PENGAMATAN KETERAMPILAN/PSIKOMOTOR

Kompetensi : Keterampilan
Satuan Pendidikan : SMK Bina Islam Mandiri Kersana
Kelas/Semester : X/I
Mata Pelajaran : Pemrograman dasar Pertemuan ke : 5 – 10
Alokasi waktu : 12 x 45

A. Kompetensi Dasar
1. Menerapkan Struktur kontrol percabangan dalam bahasa pemrograman

B. Indikator
1. Membuat Struktur kontrol percabangan,
2. Membuat Percabangan 1 kondisi
3. Membuat Percabangan 2 kondisi
4. Membuat Percabangan lebih dari 2 kondisi
Isilah dengan tanda centang (√) apabila seorang siswa melakukan aktivitas !
No Aspek keterampilan *)
Nama 1 2 3 4 5 Nilai **)
.

*) Keterangan: **) Keterangan


1. Aktifitas bertanya 1. Sangat Terampil, jika 5 keaktifan
2. Aktifitas menjawab 2. Terampil, jika 4 keaktifan
3. Aktifitas mencatat 3. Cukup Terampil, jika 3 keaktifan
4. Akurasi jawaban 4. Kurang Terampil, jika 2 keaktifan
5. Akurasi pertanyaan 5. Tidak Terampil, jika 1 keaktifan

RENCANA PELAKSANAAN PEMBELAJARAN ( RPP )

Mata Pelajaran : Pemrograman Dasar


Kelas/Semester : X/1
Pertemuan : 11 – 14
Alokasi waktu : 8 x 45 menit
Standar Kompetensi : Menerapkan Pemrograman Dasar
Karakter Bangsa yang di
Harapkan : Disiplin, Kreatif, Mandiri, Tanggung Jawab,kerja
Sama.
A. Kompetensi Inti
1. Memahami nilai-nilai keimanan dengan menyadari hubungan keteraturan
dan kompleksitas alam dan jagad raya.
2. Mengamalkan nilai-nilai keimanan sesuai dengan ajaran agama dalam
kehidupan sehari- hari.
3. Menunjukkan perilaku ilmiah (memiliki rasa ingin tahu, objektif, jujur,
teliti, cermat, tekun, hati-hati, bertanggung jawab, terbuka, kritis, kreatif,
inovatif, dan peduli lingkungan) dalam aktivitas sehari-hari sebagai wujud
implementasi sikap dalam mlakukan percobaan dan diskusi.
4. Menghargai kerja individu dan kelompok dalam aktivitas sehari-hari
sebagai wujud implementasi melaksanakan percobaan dan melaporkan
hasil.

B. Kompetensi Dasar dan Indikator


3.7 Menerapkan struktur kontrol perulangan dalam bahasa pemrograman
a. Mengetahui Struktur kontrol perulangan
b. Mengetahui Perulangan dengan kondisi awal
c. Perulangan dengan kondisi akhir
4.8 Memecahkan masalah menggunakan struktur kontrol perulangan
a. Menyajikan informasi tentang struktur perulangan
b. Menyajikan informasi tentang perulangan dengan kondisi awal
c. Menyajikan informasi tentang perulangan dengan kondisi aikhir

C. Tujuan Pembelajaran
Setelah mempelajari perulangan siswa diharapkan :
a. Mengerti tentang struktur perulangan
b. Mengetahui informasi tentang perulangan dengan kondisi awal
c. Mengetahui informasi tentang perulangan dengan kondisi akhir

D. Materi Ajar
1. Struktur kontrol perulangan
2. Perulangan dengan kondisi awal
3. Perulangan dengan kondisi akhir

E. Metode Pembelajaran
a. Pendekatan : Scientifict Learning
b. Straegi : Cooperative Learning
c. Model : Problem Based Learning
Metode : Diskusi, Ceramah, tanya Jawab
Lampiran 1

Kompetensi : Bahan Ajar


Satuan Pendidikan :
Kelas/Semester : X/1
Mata Pelajaran : Pemrograman Dasar
Pertemuan : 11 – 14
Alokasi waktu : 8 x 45 menit
A. Kompetensi Dasar
1. Menerapkan struktur kontrol perulangan dalam bahasa pemrograman

B. Indikator
1. Mengetahui Struktur kontrol perulangan
2. Mengetahui Perulangan dengan kondisi awal
3. Perulangan dengan kondisi akhir

Pertemuan 11
Struktur kontrol perulangan
Dalam banyak kasus seringkali kita dihadapkan pada sejumlah pekerjaanyang
harus diulang berkali. Salah satu contoh yang gampang kita jumpai adalah balapan
mobil seperti tampak pada Mobil-mobil peserta harus mengelilingi lintasan sirkuit
berkali-kali sesuai yang ditetapkan dalam aturan lomba. Siapa yang mencapai garis
akhir paling cepat, dialah yang menang. Pada pembuatan program computer, kita juga
kadang-kadang harus mengulang satu atau sekelompok perintah berkali-kali agar
memperoleh hasil yang diinginkan. Dengan menggunakan omputer, eksekusi
pengulangan mudah dilakukan. Hal ini karena salah satu kelebihan omputer
dibandingkan dengan manusia adalah kemampuannya untuk
mengerjakan tugas atau suatu instruksi berulangkali tanpa merasa lelah, bosan, atau
malas. Bandingkan dengan pengendara mobil balap, suatu ketika pasti dia merasa lelah
dan bosan untuk berputar-putar mengendarai mobil balapnya. Struktur pengulangan
terdiri dari dua bagian yaitu :
1. Kondisi pengulangan,
Yaitu syarat yang harus dipenuhi untuk melaksanakan pengulangan. Syarat ini biasanya
dinyatakan dalam ekspresi Boolean yang harus diuji apakah bernilai benar (true) atau
salah
(false)
2. Badan pengulangan (loop body), yaitu satu atau lebih instruksi yang akan diulang
Pada
struktur pengulangan, biasanya juga disertai bagian inisialisasi dan bagian terminasi.
Inisialisasi adalah instruksi yang dilakukan sebelum pengulangan dilakukan pertama
kali.
Bagian insialisasi umumnya digunakan untuk memberi nilai awal sebuah variable.
Sedangkan terminasi adalah instruksi yang dilakukan setelah pengulangan selesai
dilaksanakan.
Ada beberapa bentuk pengulangan yang dapat digunakan, masing-masing dengan syarat
dankarakteristik tersendiri. Beberapa bentuk dapat dipakai untuk kasus yang sama,
namun adabentuk yang hanya cocok untuk kasus tertentu saja. Pemilihan bentuk
pengulangan untukmasalah tertentu dapat mempengaruhi kebenaran algoritma.
Pemilihan bentuk pengulangan yangtepat bergantung pada masalah yang akan
computer.
Ada beberapa perulangan di dalam pemrograman dasar :
a. Pengulangan dengan For
Pengulangan dengan menggunakan For, merupakan salah teknik pengulangan yang
paling tua dalam bahasa pemrograman. Hampir semua bahasa pemrograman
menyediakan metode ini, meskipun sintaksnya mungkin berbeda. Pada struktur For kita
harus tahu terlebih dahulu seberapa banyak badan loop akan diulang. Struktur ini
menggunakan sebuah variable yang biasa disebut sebagai loop’s counter, yang nilainya
akan naik atau turun selama proses pengulangan.
Flowchart umum untuk struktur For tampak pada Gambar 5.14.
Dalam mengeksekusi sebuah pengulangan dengan For, urutan langkah-langkah
adalah
sebagai berikut :
a. Menetapkan nilai counter sama dengan awal.
b. Memeriksa apakah nilai counter lebih besar daripada nilai akhir. Jika benar
maka keluar dari proses pengulangan. Apabila kenaikan bernilai omputer, maka
proses akan memeriksa apakah nilai counter lebih kecil daripada nilai akhir. Jika
benar maka keluar dari proses pengulangan.
c. Mengeksekusi pernyataan yang ada di badan loop
d. Menaikkan/menurunkan nilai counter sesuai dengan jumlah yang ditentukan
pada argument increment. Apabila argument increment tidak ditetapkan maka
secara default nilai counter akan dinaikkan 1.
e. Ulang kembali mulai langkah no 2.
f. Satu hal yang penting yang harus kita perhatikan adalah nilai counter selalu
ditetapkan diawal dari pengulangan. Apabila kita mencoba merubah nilai akhir
pada badan loop, maka tidak akan berdampak pada berapa banyak pengulangan
akan dilakukan.
b. Pengulangan dengan While
Pada pengulangan dengan For, banyaknya pengulangan diketahui dengan pasti
karena nilai awal (start) dan nilai akhir (end) sudah ditentukan diawal pengulangan.
Bagaimana jika kita tidak tahu pasti harus berapa kali mengulang? Pengulangan dengan
While merupakan jawaban dari permasalahan ini. Seperti halnya For, struktur
pengulangan dengan While juga merupakan struktur yang didukung oleh omput semua
bahasa pemrograman namun dengan sintaks yang berbeda.
Flowchart umum untuk struktur For tampak pada Gambar 5.15

Struktur While akan mengulang pernyataan pada badan loop sepanjang kodisi pada
While
bernilai benar. Dalam artian kita tidak perlu tahu pasti berapa kali diulang. Yang
penting
sepanjang kondisi pada While dipenuhi maka pernyataan pada badan loop akan diulang.
Flowchart umum untuk struktur While dapat dilihat pada Gambar Pada Gambar tampak
bahwasimbol preparasi untuk pengulangan seperti pada For tidak digunakan lagi.
Namun kitamenggunakan simbol decision untuk mengendalikan pengulangan. Selain
kondisi, biasanya pada pengulangan While harus dilakukan inisialisasi variabel terlebih
dahulu.
Pertemuan 12
Diagram Alir dan Struktur Data
Algoritma Squential Search
Metode pencaharian berurutan merupakan metode pencaharian data yang paling
mudah,secara garis besar metode ini bisa ditampilkan sebagian dari kumpulan data yang
diketahui datayang akan kita cari, kita bandingkan satu persatu sampai data yang kita
inginkan bertemu atau tidak ketemu dengan kumpulan data tersebut pada saat data yang
kita cari. Juga sudah ketemu maka proses pencaharian langsung kita hentikan, tetapi
data yang kita cari belum ketemu maka omputer kita teruskan sampai seluruh data
dibandingkan.Dalam kasus yang paling burung dengan vakton n elemen harus
dilakukan pencaharian sebanyak n kali pencarian.
Contoh :
5 7 9 10 50 70 6 12 8
Data yang dicari adalah : 70
Terdapat pada element : 6
Algoritma program searah :
Langkah :
a. Baca kumpulan data yang diketahui sebagai vektor A dengan n elemen
b. Baca data yang akan dicari, mis : 2
c. Tentukan i = 1
d. [proses mencari bandingan x dengan a (i)] jika x : a (i) data ketemu pergi ke
langkah s
e. [ test 1]
f. jika i > n [data tidak ketemu] ke langkah s jika tidak, tentukan: i = E + i kembali
kelangkah 3
a. Tampilkan pesan yang sesuai dan selesai
Algoritma Gelembung (Buble Short)
Untuk menampilkan untuk menampilkan nilai paling kecil diletakkan diawal data.
Algoritma diaplikasikan untuk mencari data yang paling kecil. Dalam suatu individu
dan tidak mencari nilai data pengolahan dilakukan untuk n-1, x suatu exservasi untuk
mencapatkan nilai terkecil.
Misalnya datanya : 23, 45, 12, 24, 56, 34, 27, 23, 16;
Langkah-Langkah
a. a (1) dengan a (2) 23 dengan 45 → Tetap
b. a (1) dengan a (3) 12 dengan 12 → Tukar
c. a (1) dengan a (4) 12 dengan 24 → Tetap
d. a (1) dengan a (5) 12 dengan 56 → Tetap
e. a (1) dengan a (6) 12 dengan 34 → Tetap
f. a (1) dengan a (7) 12 dengan 27 → Tetap
g. a (1) dengan a (8) 12 dengan 23 → Tetap
h. a (1) dengan a (9) 12 dengan 16 → Tetap
i. Hasil : 12, 23, 45, 24, 56, 34, 27, 23, 16
Shorting
Pertimbangan akan melakukan shorting.
Hal-hal yang akan dipertimbangkan adalah :
1. Perlu tidaknya data disorting
2. Besarnya atau banyaknya data yang akan dishorting
3. Kemampuan atau kapasitas komputer atau penyimpanan datanya
4. Metode shorting
Tehnik-tehnik shorting.
Pada garis besarnya ada 3 tehnik sorting :
1. Insortion Sort (Sorting penyisipan)
Tehnik ini adalah dengan membandingkan elemen n ( n mulai dari 2 hingga elemen
terakhir) dengan elemen-elemen sebelumnya.
Contoh : 8, 3, 7, 4
8, 7, 8, 4 (awal) → 4 banding 8 → Tukar
Hasil : 3, 4, 7, 8 → 4 banding 7 → Tukar
Hasil : 3, 4, 7, 8 → 4 banding 3 → Tetap
Hasil : 3, 4, 7, 8 (akhir)
2. Selection Sort (Sorting Pemilihan)
Tehnik ini adalah mencari elemen terkecil kemudian letakkan dan tukar dengan posisi
ke n (n mulai dari 1 hingga elemen terakhir –n)
Contoh : 8, 3, 7, 4
 Pada langkah pertama hasil sortirnya : 3, 8, 7, 4 (mulai dari elemen pertama, elemen
terkecil = 3, letakkan dan tukar dengan elemen pertama)
 Pada langkah kedua hasil sortirnya : 3, 4, 7, 8 (mulai dari elemen ke 2 elemen terkecil
= 4, letakkan dan tukar dengan elemen ke 2
 Pada langkah ke 3 hasil sortirnya : 3, 4, 7, 8 (mulai dari elemen ke 3 elemen terkecil =
7, letakkan dan tukar dengan elemen ke 3)
3. Exchange Sort (Shorting Penukaran)
Contoh sotir umumnya yang menggambarkan exchange sort adalah Bubble short.
Algoritma dari tehnik ini adalah dengan melakukan proses perbandingan sebanyak n
elemen dari n = 1 (selanjutnya dimulai = 1) bandingkan seluruh elemen dimulai dari
elemen sebelah kanan ke n. Bila elemen tersebut lebih kecil dari, maka lakukan dari,
maka lakukan penukaran tempat. Lakukan elemen mulai +1 seperti proses sebelumnya
hingga nilai mulai +1 = n
Contoh : 8, 7, 6, 5, 4
Proses 1 :
- Bandingkan 8 (elemen pertama) dengan 7 (elemen kedua) hasilnya : 7, 8, 6, 5, 4
- Bandingkan 7 (elemen pertama) dengan 6 (elemen ketiga) hasilnay : 6, 8, 7, 5, 4
- Bandingkan 6 (elemen pertama) dengan 5 (elemen ketiga) hasilnay : 5, 8, 7, 6, 4
- Bandingkan 5 ( elemen pertama) dengan 4 (elemen keempat) hasilnya : 4, 8, 7, 6, 5
(urutan 1 telah diperoleh)

Anda mungkin juga menyukai