Pendahuluan
Algoritma dan Pemrograman 1A
Halaman 1/3
PENDAHULUAN
I. Pengenalan dan Definisi Flowchart
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan symbol. Dengan demikian setiap symbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung.
Dua macam flowchart yang menggambarkan proses dengan komputer, yaitu:
A. System flowchart
Bagan yang memperlihatkan urutan prosedur dan proses dari beberapa file dalam media tertentu.
System flowchart menggambarkan :
1. Hubungan antar suatu file dengan file lainnya 2. Media yang dipakai untuk setiap file
B. Program flowchart
Bagan yang memperlihatkan urutan dan hubungan proses dalam suatu program.
FLOWCHART (Diagram Alur)
Langkah awal pembuatan program
Urutan proses di program menjadi lebih jelas II. Kaidah-kaidah Umum Pembuatan Flowchart
Dalam pembuatan flowchart tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisa suatu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya.
Namun secara garis besar setiap pengolahan selalu terdiri dari 3 bagian utama, yaitu:
Input,
Proses pengolahan dan Output
Input
Algoritma dan Pemrograman 1A
Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah:
START, berisi instruksi untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan
READ, berisi instruksi kegiatan untuk membaca data dari suatu peralatan input
PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca
WRITE, berisi instruksi untuk merekan hasil kegiatan ke peralatan output END, mengakhiri kegiatan pengolahan
Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran:
Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas
Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END III. Contoh masalah Sehari-hari:
1. langkah-langkah yang dilakukan waktu menelepon teman
2. diagram alur mengenai apa-apa yang dilakukan mualai bangun pagi sampai tiba di kampus
3. gambarlah diagram alur untuk proses merebus telur yang langkah-langkahnya adalah sebagai berikut:
ambil panci
apakah panci bersih, bila kotor cuci lebih dulu taruh air dalam panci
nyalakan kompor
Pendahuluan
Algoritma dan Pemrograman 1A
Halaman 3/3
tunggu hingga air mendidih masukkan telur
tunggu sampai tiga menit angkat panci dari kompor matikan kompor
SIMBOL-SIMBOL FLOWCHART
Dipakai sebagai alat Bantu menggambarkan proses di dalam program Dibagi menjadi tiga kelompok :
I. Flow Direction Symbols; dipakai untuk menggabungkan antara symbol yang satu dengan symbol lainnya
Symbol Off-line Connector ( Simbol untuk keluar/masuk prosedure atau proses dalam lembar/halaman yang lain)
Symbol Connector (Simbol untuk keluar/masuk prosedur atau proses dalam lembar/halaman yang sama)
Symbol Comunication Link ( Simbol transmisi untuk informasi dari satu lokasi ke lokasi lainnya)
II. Processing symbols; menunjukkan jenis operasi pengolahan dalam suatu prosedur
Symbol Process (Simbol yang menunjukkan pengolahan yang dilakukan oleh komputer)
Symbol Manual Operation (Simbol yang menunjukkan pengolahan yang tidak dilakukanoleh komputer)
Symbol Decision (Simbol untuk kondisi yang akan menghasilkan beberapa kemungkinan jawaban/aksi)
Symbol Predefined Process (Simbol untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan di dalam storage)
Symbol Terminal (Simbol untuk permulaan atau akhir dari suatu program)
Symbol Off-line Storage (Simbol yang menunjukkan bahwa data di dalam symbol ini akan disimpan)
5
Symbol Manual Input (Simbol untuk pemasukan data secara manual on-line keyboardSymbol Keying Operation (Simbol operasi dengan menggunakan mesin yang mempunyai keyboard)
III. Input-output symbols; menyatakan jenis peralatan yang digunakan sebagai media input atau output.
Symbol input-output (Symbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya)
Symbol magnetig-tape unit (Symbol yang menyatakan input berasal pita magnetic atau output disimpan ke pita magnetic) Symbol punched card (Symbol yang menyatakan input berasal dari kartu atau output ditulis ke kartu)
Symbol disk and on-line storage (Symbol untuk menyatakan input berasal dari disk atau output disimpan ke disk)
Symbol display (Symbol yang menyatakan peralatan output yang digunakan yaitu layar, plotter, printer, dan sebagainya)
Symbol transmittal tape (Symbol untuk menyatakan input berasal dari mesin jumlah/hitung)
Symbol dokumen (symbol yang menyatakan input berasal dari dokumen dalam bentuk kertas atau output dicetak ke kertas)
6
VARIABEL
Variable: Besaran yang dapat berubah-ubah harganya. Memberi harga kepada variable:
I. Dengan kotak proses
Jenis variable: a. Numerik/bilangan
Syarat penamaan: Harus diawali huruf
Diikuti dengan huruf/angka/symbol Tidak boleh ada spasi
Contoh: A, A123, Angka b. String
Syarat penamaan sama dengan numeric (untuk membedakan biasanya diakhiri dengan $)
Contoh: A$, Nama$
II. Dengan Perintah BACA (READ)
Harga dari variable ditempatkan terpidah dalam suatu himpunan data. Kemudian data dibaca dari himpunan tersebut.
A←10
X←A+B
A=10
X=A+B
Himpunan data dapat dibayangkan sebagai himpunan kartu nama data tersebut dicetak
Dapat pula satu kartu berisi lebih dari satu satuan data
Dapat pula himpunan data berbentuk pita panjang
Mencetak output atau hasil
Soal:
1. buat diagram alur yang digunakan untuk menghitung dan mencetak luas dan keliling lingkaran yang diketahui jari-jarinya (luas = 3,14 * r^2, keliling = 2* 3,14*r); r = jari – jari.
2. buat diagram alur untuk merubah suhu dari Fahrenheit ke derajat celcius dan raemur (celcius = 5/9 (f-32); reamur = 4/9(f-32)); f= Fahrenheit.
BACA A
Himpunan data 10
Harga variable A=10
10 8 4
ANA ANI DINA
Cetak A
Cetak
8
STRUKTUR KEPUTUSAN
Struktur keputusan adalah struktur program yang melakukan proses pengujian untuk mengambil suatu keputusan apakah suatu baris atau blok instruksi akan diproses atau tidak. Pengujian kondisi ini dilakukan untuk memilih salah satu dari beberapa alternatif yang tersedia.
Syarat dalam dunia pemrograman adalah sebuah pernyataan Boolean,yang dapat bernilai benar (true) arau salah (false). Biasanya sebuah syarat terdiri dari operand-operand yang dihubungkan dengan operator logika. Yaitu: =, <>, >, <, >=, <=, and (dan) dan or (atau).
I. Hubungan Antar Kondisi 1. Hubungan DAN
Merupakan hubungan antar kondisi yang mensyaratkan kedua kondisi terpenuhi.
Contoh:
Untuk menentukan penerimaan calon pegawai ditentukan criteria sebagai: - umur dibawah 30 tahun, dan
- nilai test lebih besar dari 60
Mulai
Syarat
Perintah 1
Perintah 2
Untuk pegawai yang telah menikah mendapat tunjangan isteri. Besarnya tunjangan isteri ditentukan berdasarkan masa kerja. Untuk masa kerja kurang dari tiga tahun mendapat tunjangan sebesar 3% dari gaji pokok, sedangkan masa kerja sama dengan atau lebih besar tiga tahun mendapat tunjangan sebesar 6% dari gaji pokok.
2. Hubungan ATAU
Umur < 30
dan
nilai > 60
Capeg tidak diterima
Capeg diterima
Status$=’kawin’
MK>=3
TJ=6%*GP
TJ= 3%*GP
TJ=0
10
Merupakan hubungan antar kondisi yang mensyaratkan hanya salah satu kondisi yang terpenuhi.Contoh:
Tunjungan pensiun diberikan kepada pegawai yang berusia lebih dari 60 tahun. Untuk pegawai uang mempunyai masa kerja lebih dari 25 tahun juga mendapat tunjangan tersebut. YA TIDAK
Usia>60
Atau
MK>25
Mendapat tunjangan
pensiun
Tidak mendapat
tunjangan pensiun
selesai
ALIH KONTROL
Selama ini, arus diagram alur mengalir lurus dari atas ke bawah → masalah sederhana.
Masalah yang lebih rumit → terjadi alih kontrol berupa percabangan (branching) dan pemutaran kembali (looping)
Percabangan
Kondisi dengan dua pilihan: BENAR atau SALAH
ya tidak
Contoh:
Diketahui 2 buah bilangan. Buat diagram alur untuk mencetak bilangan yang terbesar diantara kedua bilangan tersebut!
X>Y
Baca A,B
A>B
Cetak B
Cetak A
Mulai
12
Bil<0
Cetak
“positif”
Cetak
“nol”
Soal:Buat diagram alur untuk menentukan kelulusan seorang mahasiswa. Kelulusan dihitung dari niali rata-rata 2 mata kuliah. Bila nilai rata-rata lebih dari 60, siswa dinyatakan lulus. Sebaliknya siswa dinyatakan tidak lulus. Kondisi dalam suatu diagram alur bisa terdiri lebih dari satu.
Contoh:
Buat diagaram alur untik menentukan apakah suatu bilangan termasuk bilangan positif, negatif atau nol!
Baca bil
Bil=0
Cetak
“negatif”
Selesai
Mulai
Soal
1. Dalam pemilihan jurusan IPA dan IPS, dinilai 3 pelajaran eksakta dan 2 pelajaran non eksakta. Bila nilai rata eksakta lebih besar dari nilai rata-rata non eksakta maka siswa dijuruskan ke IPA, bila nilai rata-rata-rata-rata eksakta dan non eksakta sama maka siswa diperbolehkan memilih.
2. Untuk mendapatkan kredit pemilikan mobil, perlu dinilai penghasilan pemohon. Cara penilaian: pendapatan tetap/pokok dihitung penuh, pendapatan tambahan dihitung setengah dan pendapatan keluarga (suami/istri) dihitung sepertiga. Apabila jumlah pendapatan lebih besar atau sama dengan Rp. 1.000.000,- mendapat kredit SEDAN, kurang dari itu tetapi masih lebih besar dari Rp. 500.000,- mendapat kredit MINIBUS, selain itu tidak berhak mendapat kredit.
Pemutaran kembali (LOOPING)
Terjadi ketika mengalihkan arus diagram alur kembali keatas sehingga beberapa alur berulang kembali beberapa kali.
Contoh:
Buat diagram alur untuk menguarngi berulang-ulang bilangan 20 dengan 7 sampai hasilnya kurang dari 2. Berapa outputnya?
mulai
Bil=20
Bil=Bil-7
14
PEMUTARAN KEMBALI
I. Pemutaran Kembali
terjadi ketika mengalihkan arus diagram alur kembali keatas, sehingga beberapa alur berulang kembali beberapa kali.
II. Membatasi Pengulangan
Perulangan perlu dibatasi dengan memanfaatkan kkotak keputusan. Flowchart untuk mencetak kuadrat bilangan-bilangan 1 s/d 10
Mulai
A = 1
A=A + 1
B= A*A
? B
Mulai
A = 1
A>10
B= A*A
? B
A= A+1
Read A
III. Penggunaan Panji (FLAG)Kita dapat menggunakan flowchart untuk menggambarkan proses yang berlangsung berulang kali untuk data masukan yang lebih dari satu. Untuk menandai bahwa datatelah habis, kita gunakan tehnik panji yaitu membuat suatu data yang kita letakkan di bagian akhir himpunan data.
Dalam mengambil harga panji harus dipastikan bahwa harga tersebut paasti bukan harga data sebenarnya. Kadang-kadang orang mengambil harga panji 999 atau 9999 untuk variabel bilangan dan “XXX” atau “EOF” untuk variabel untai kata.
Flowchart untuk menghitung luas 3 segitiga yang diproses satu persatu dan diketahui alas dan tingginya.
0
0
2
6
Mulai
Read T
A=0
L = (A*T)/2
Cetak L
Selesai
12
7
6
4
16
PENGGUNAAN COUNTER
I. Dasar-dasar tehnik counter
Tehnik counter dipakai untuk mengontrol pengulangan proses. Pengontrolan dilakukan dengan memeriksa isi variable yang digunakan sebagai counter, sehingga jumlah pengulangan dapat diketahui. Tehnik counter merupakan tehnik penyusunan flowchart dengan memanfaatkan suatu varibel sebagai pengontrol pengulangan.
Flowchart untuk mencari hasil perhitungan 1+2+3+4+5
Mulai
N=0
T=0
N= N + 1
N = T + N
N=5
? T
Selesai
II. Penggunaan Counter
Ketika kita membuat suatu variable yang fungsinya khusus sebagai kantong penghitung, biasanya harga awal dari variable tersebut nol. Setiap kali pemutaran harga variable selalu bertambah atau berkurang.
Flowchart untuk menghitung jumlah 6 suku pertama barisan 12, 22, 32, …..
Mulai
N = 0
S = 0
N= N+1
S = S + (N*N)
N = 6
? S
Selesai
18
FOR-TO dan NEXT
Dalam hal kita mengetahui berapa kali loop diulang, cara yang paling sederhana dan efektif adalah menggunakan statemen FOR-TO serta NEXT. Kita sebut loop FOR-NEXT. Statemen FOR-NEXT menerangkan berapa kali loop dilaksanakan.
Program untuk mencetak kuadrat dari bilangan 1,2,3 dan 4
Mulai
N = 1
? N*N
N = 4
N = N+1
Selesai
Mulai
FOR N=1 TO 4
? N*N
NEXT N
Selesai
Variabel Kontrol
Yaitu variabel yang diletakkan tepat di belakang kata FOR. Nama variabel pada FOR-TO dan NEXT harus sama.
Mulai
FOR K=2 TO 4
? K*K
? “DEPOK”
NEXT K
? “JAKARTA”
Selesai
20
Program menjumlahkan dataSeandainya kita mengetahui banyak bilangan yang akan dijumlahkan, loop FOR-NEXT dapat digunakan (tanpa menggunakan bendara).
Flowchart untuk menghitung jumlah data 13, 18, 23, 16, 47
Mulai
S = 0
FOR K=1 TO 5
READ X
S = S+X
NEXT K
? “Jumlah:”;S
Selesai
Selesai
Langkah (step) yang bukan satu
Variabel kontrol pada loop FOR-NEXT dimungkinkan bertambah bukan dengan satu. Jika step tidak disebutkan berarti kenaikan variabel kontrol setiap kali adalah satu.
Variabel sebagai batas
Baik salah stu atau kedua batas (harga awal/harga akhir) dari variabel kontrol pada statemen FOR-TO, dapat pula merupakan variabel/ekspresi, asalkan sudah diberikan harga sebelum komputer tuba pada saat statemen FOR untuk pertama kali.
Mulai
For K=1 To 9 Step 2
? K
Next K
Selesai
Mulai
For K=2 To 4 Step 0,5
? K
Next K
Selesai
Mulai
For K=4 To 1 Step -1
? K
Next K
Selesai
Mulai
N = 3
For K=N To 3*N-2
? K
Next K
22
Pemutaran Kembali “Untuk Selanjutnya” (For-Next)Diketahui himpunan data terdiri dari 6 bilangan. Akan dibuat diagram alur untuk mencetak jumlah ke-6 bilangan tersebut.
Himpunan data: 13, 17, 8, 12, 21, -5
Catatan:
☺ Kadang-kadang digunakan kotak persiapan untuk memberikan harga awal suatu variabel penghitungan sebagai pengganti kotak.
☺ Untuk membedakan garis alur biasa dengan dengan alur yang
menyatakan pemutaran untuk selanjutnya disajikan sebagai sepasang garis sejajar.
Mulai
S = 0
For N=1 To 6
Read X
S = S + X
Next N
Cetak S
Selesai
Diagram alur untuk mencetak barisan aritmetik dengan suku awal A dan beda B. Suku barisan tidak melebihi N. Apa yang tercetak jika data 4 0,5 7
Pemutaran Berganda, adalah pemutaran didalam suatu pemutaran
Mulai
Read A, B, C
For K=A To N Step B
? K
Next K
Selesai
Mulai For I = 2 To 4 For K=6 To 8 Step 2 M=I*K Cetak M Next K Next I Selesai24
Pemutaran berganda dengan batas yang berubahMulai
For N=1 To 3
For K=1 to N
? N, K
Next K
Next N
Selesai
Memeriksa jawaban hasil ujian berbentuk pilihan ganda, misal 50 soal. Jawaban yang benar dimasukkan lebih dulu kemudian jawaban siswa diperiksa satu per satu.
Mulai
For K=1 To 50
Read J$(K)
Next K
Benar = 0
For K=1 To 50
Read S$(K)
J$(K)=S$(K)
Benar = benar + 1
Next K
Cetak benar
Selesai
26
Contoh penggunaan variabel bersubskrip untuk menyimpan data yang digunakan lebih dari 1 kali. Diketahui himpunan 5 buah data yang merupakan nilai 5 orang siswa dalam suatu mata kuliah. Akan ditentukan beberapa rata-rata kelas dan berapa orang siswa mempunyai nilai diatas raa-rata kelas tersebut.Himpunan data: 70 90 77 85 78 Mulai J=0 For K=1 To 5 Read N(K) J=J + N(K) Next K R=J/5 Cetak R T=0 For L=1 To 5 N(L)>R Next L Cetak T Selesai T = T + 1
27
PEMBUATAN LAPORAN
Komputer → untuk membantu membuat laporan-laporan serta daftar-daftar untuk keperluan kelancaran administrasi perusahaan / kantor.
Misal: Daftar Gaji, Laporan Keuangan, dsb.
Data terdiri dari kumpulan simbol yang mempunyai arti tertentu. Unit paling kecil dari data → karakter
Kumpulan dari karakter → Field atau variabel
Field-field yang mempunyai hubungan satu sama lain dan menyatakan keadaan suatu individu → record
Contoh:
Record pegawai, terdiri atas: ☺ NIP
☺ NAMA PEGAWAI ☺ GOLONGAN ☺ TAHUN MASUK ☺ GAJI POKOK Record pasien, terdiri atas:
☺ No. Pasien ☺ Nama Pasien ☺ Tanggal Lahir ☺ Alamat ☺ Tanggal Periksa ☺ Jenis Penyakit
Kumpulan dari record-record sejenis → Berkas (file) Contoh: file kepegawaian, file data pasien
004 BUDI 4A 1970 2000000 003 ANI 2C 1990 5000000
002 ANA 3B 1980 1000000 001 ALI 4A 1970 2000000
Catatan: dalam pemrosesan berkas, biasanya ditambahkan record sebagai panji. Record itu disebut record END OF FILE atau EOF.
Mencetak daftar (listing) pegawai dilengkapi JUDUL (heading)
Mulai
Baca Record
EOF
Cetak
Detail
Selesai
DAFTAR PEGAWAI
NAMA
DEPT.
GOL. THN. MASUK
GAPOK
XXX XXXXMulai XX XXXX XXXX ? Judul Utama ? Judul Kolom Baca Record EOF Cetak Detail
Selesai
29
Contoh:Buat diagram alur untuk mencetak nama-nama pelamar yang lolos saringan tahap pertama. Dalam tes terdapat 2 materi. Bila jumlah nilai kedua materi tersebut lebih besar dari 70 pelamar dinyatakan lolos saringan tahap pertama. Bentuk laporan yang diinginkan terdiri dari nama pelamar, nilai tes dan keterangan.
Mulai
Cetak Judul Laporan
Cetak Judul Kolom
Baca Nama$, N1, N2
Nama=”XXX”
J = (N1 + N2)/2
J > 70
Ket$= “TL”
Ket$= “L”
? Nama$, J, Ket$
Selesai
TEHNIK SWITCHING
Tehnik Switching merupakan cara memperpendek jalur proses yang memakai suatu indikator untuk mengantisipasi proses yang akan dilakukan selanjutnya. Indikator ini dimisalkan seperti switch pada tombol lampu yang dapat mengatur dua kondisi yaitu nyala dan padam.
Dalam flowchart, switch merupakan variabel yang diisi dengan dua kondisi yaitu 0 dan 1. Melalui isi variabel tersebut dapat diketahui kondisi proses yang telah dilakukan. Sehingga dapat dilakukan pengalihan proses tanpa memalui proses sebelumnya atau mempersingkat alur proses.
Contoh :
Suatu perusahaan akan membuat laporan gaji pegawainya berdasarkan golongannya. Data yang dibaca terdiri dari nomor pegawai, nama pegawai, golongan dan gaji bersih. Data yang dibaca sudah urut per golongan yang terdiri dari : golongan 1, 2, 3,4. Jika golongan berubah maka cetak TOTAL GAJI per golongan dan ganti halaman baru serta NOMOR dimulai dari 1.
Pada akhir laporan cetak TOTAL SELURUH GAJI yaitu jumlah total gaji seluruh golongan. Lay out yang diinginkan :
DAFTAR GAJI PT ’ABC’
NO. NOPEG NAMA GOLONGAN GAJI
1 001 ANA 1 2500000
2 002 ANI 1 2000000
3 003 ALI 1 2500000
TOTAL GAJI 7000000 DAFTAR GAJI PT ‘ABC’
NO. NOPEG NAMA GOLONGAN GAJI
1 004 ADI 2 3000000
2 005 ADE 2 2750000
TOTAL GAJI 5750000 TOTAL SELURUH GAJI 12750000
31
Bentuk data yang akan dibaca :2
start
TSGJ=0
SW=0 TGJ= 0
NO=0
1
BACA
NP,NM$,GOL,GJ
EOF
TSGJ=TSGJ+TGJ
? TGJ,
TSGJ
END
SW=0
SW=1
GOL1=GOL
? JUDUL
NO=NO+1
TGJ=TGJ+GJ
? NO, NP, NM$,
GJ
GOL=GOL 1
TSGJ=TSGJ+TGJ
? TGJ
TGJ= 0
NO=0
2
1
SOAL :
Sebuah perusahaan ingin mengkomputerisasikan perhitungan pemakaina listrik. Dimana pelanggannya mencakup seluruh wilayah di Jakarta.
Data diinput oleh operator terdiri dari kode wilayah, nomor pelanggan, nama pelanggan dan jumlah pemakaian.
Data habis jika operator memasukkan nomor pelanggan =0
Data sudah urut perkode wilayah, terdiri dari “Jakarta Barat”, “ Jakarta Timur”, “Jakarta Pusat”, “Jakarta Utara”, dan “Jakarta Selatan”,
Jika wilayah berubah, maka cetak total biaya per wilayah dan ganti halaman baru.
Pada akhir laporan cetak total seluruh biaya yaitu jumlah total pemakaian litrik di semua wilayah.
Lay out yang diinginkan :
Pemakaian Listrik Wilayah : Jakarta………..
No. Pelanggan Nama Jumlah pemakaian Xx xxxxxxxxxxx xxxxxxxxx
…. ……….. ……… Total Pemakaian :
Pemakaian Listrik Wilayah : Jakarta………..
No. Pelanggan Nama Jumlah pemakaian Xx xxxxxxxxxxx xxxxxxxxx
…. ……….. ……… Total Pemakaian :
33
TSGJ=0
SW=0 TGJ= 0
NO=0
1
BACA
NP,NM$,GOL,GJ
EOF
? TGJ,
TSGJ
END
SW=0
SW=1
GOL1=GOL
? JUDUL
NO=NO+1
TGJ=TGJ+GJ
? NO, NP, NM$,
GJ
GOL=GOL 1
? TGJ
TGJ= 0
NO=0
2
1
2
2
TotSel=0
SW=0 TotWil= 0
NO=0
1
Input No, Kw, NM$,
JP
No=0
TotSel=TotSel+Tot
wil
? Totwil,
TotSel
END
SW=0
SW=1
Kw1=Kw
? JUDUL
NO=NO+1
TotWil=Totwil+JP
? NO, NM$,
JP
Kw=Kw 1
TotSel=TotSel+totwil
? TotWil
TotWil= 0
NO=0
2
1
Start
Contoh soal untuk proses penghitungan pemakaian listrik setiap wilayah dimodifikasi menjadi :
Data diinput oleh operator melalui keyboard. Data tersebut terdiri dari kode wilayah, kode pelanggan, nomor pelanggan, nama pelanggan, jumlah pemakaian.
Data habis jika operator memasukkan kode pelanggan =0 Kode pelanggan terdiri dari :
Kode = 10 berarti tempat hiburan. Untuk itu dikenakan biaya tambahan sebesar 25% dari biaya pemakaian.
Kode = 20 berarti tempat sosial. Untuk ini dikenakan potonngan sebesar 25% dari biaya pemakaian.
Kode = 30 berarti rumah tangga.
Biaya per KWH dihitung menurut jumlah pemakaian dengan keentuan sbb: Pemakaian (kwh) biaya (kwh)
<100 500
100 – 500 750 > 500 1000
Biaya pemakaian untuk tiap-tiap pelanggan dihitung berdasarkan : Jumalh pemakaian * biaya per kwh + biaya tambahan –potongan
Data sudah urut perkode wilayah
Jika kode wilayah berbeda cetak total biaya perwilayah dan ganti halaman baru
Pada akhir laporan cetak total seluruh biaya Lay out laporan :
Tagihan Listrik Wilayah : Jakarta………..
No. Pelanggan Nama Ket Jumlah pemakaian Biaya Pemakaian
Xx xxxxxxxxxxx sosial 500 xxxx … ……….. ……… …….
35
Tagihan Listrik Wilayah : Jakarta………..No. Pelanggan Nama Ket Jumlah pemakaian Biaya Pemakaian
Xx xxxxxxxxxxx sosial 500 xxxx … ……….. ……… …….
Total biaya : Total Seluruh Biaya : MINOR DAN MAYOR TOTAL
Minor Total adalah penjumlahan dari suatu komponen data menurut jenis kelompok / klasifikasinya.
Mayor Total adalah penjumlahan dari suatu komponen data untuk seluruh data yang diolah.
Misalkan kelompok data sbb:
Kode klasifikasi Nomor barang harga barang 001 1000 A 002 2000
003 2500
TOTAL KLASIFIKASI A : 5500
Kode klasifikasi Nomor barang harga barang 008 1500
B 009 3500
011 5000
TOTAL KLASIFIKASI B : 10000 TOTAL SELURUH : 15500
Jadi untuk setiap perubahan kode klasifikasi, maka setiap harga barang di totalkan. Analisa Pendahuluan :
1. Kita perlu melakukan penjumlahan seluruh harga barang ( sama dengan penjumlahan pada grand / mayor total ).
2. Lakukan juga penjumlah total harga barang perkode klasifikasi maka :
Minor total cetak total untuk kode yang sama. Total akan dicetak bila kode berubah.
Kita perlu mengadakan pengecekan kode klasifikasi untuk setiap data yang dibaca dengan kode dari data sebelumnya, karena itu diperlukan variabel penampung KL & KK untuk kode klasifikasi.
3. Tempat kode klasifikasi ini dapt ditempati pertama kali oleh kode klasifikasi data pertama, disamping harga barang dari data pertama dijumlahkan dengan isi dari total harga barang, untuk minor total dan mayor total.
4. Bila masih ada data, lakukan pengecekan kode, bila kode beda, maka lakukan:
* Isi dari total harga barang dicetak (minor total). * Isi THB di kosongkan.
* Isi dari kode klasifikasi dari data terakhir, dikeluarkan , diganti dengan yang baru.
* Proses selanjutnya seperti data semula ( untuk kode klasifikasi yang baru). * Kode sama ,proses dilanjutkan sesuai data dengan kode yang sama. 5. Demikian seterusnya s/d data habis. Bila data habis baru cetak minor total
37
OPERASI FILE RANDOM
I. PENYISIPAN RECORD
Akses pada file random dapat dilakukan secara acak. Jadi akses data tidak dilakukan dengan membaca data satu per satu mulai dari record pertaa tapi dilakukan dengan nomor record,
Pencarian record data dapat dilakukan dengan pindah dari record terakhir ke reocrd awal atau record lainnya.
Flowchart prosespenyimpanan data ke file
start
N = 0
N= N + 1
1
Read Mast1.dat NIM1,NM$, AL1$/*
Read Mast2.DTA Record ke-N NIM2,NM2$,AL2$END
2
3
System flowchar penyisipan record
MAST 1.DTA MAST2. DTA
Data di MAST1.DTA di tambahkan ke MAST2.DTA dengan ketentuan , jika
data MAST1.DTA sudah ada di MAST2.DT maka data tersebut diabaikan atau tidak di simpan ke MAST2..DTA
Akses terhadap file random dapat dilakukan dengan mengunakan nomor
record, sehingga dari satu record dapat pindah ke record lainnya tergantung dari nomor record tersebut.
NIMO=NIM 1
NMO = NM 1
ALO = AL 1
2
1
/*
Write
MAST.DTANIMO, NMO, ALO
/ *
39
II. PENGHAPUSAN RECORD Penghapusan dilakukan dengan membentuk file baru. Dimana file baru ini merupakan file berisiskan record dari file lama.
Namun record dari file lama tersebut hanya terbatas pada record yang tidak sama dengan data yang akan dihapus.
Sedangkan record yang sama dengan data yang akan dihapus diabaikan System flowcart penghapusan record
MASTER.DTA
NEW. DTA TRANS. DTA
Record yang dihapus pada file MASTER.DTA ditentukan berdasarkan data yang terdapat di file TRANS. DTA
Hasil penghapusan record disimpan di dalam file NEW.DTA . Jadi isi TRANS. DTA merupakan isi MASTER.DTA setelah mengalami penghapusan record. Struktur record file MASTER.DTA terdiri dari field :
Nomor induk mahasiswa Nama mahasiswa Alamat mahasiswa
Struktur file TRANS.DTA hanya terdiri dari field Nomor Induk Mahasiswa . Field ini menunjukkan record di MASTER.DTA yang akan di hapus.
Flowchart penghapusan record
N = N + 1
M = 0
M= M + 1
NIMO = NIM1
NMO = NM1
ALO= AL1
start
Read
MASTER.DTA RECORD KE N NIM2, NM2, AL2/*
END
READ TRANS .DTA RECORD KE – M NIM 2
/*
Write New. DTA Record ke – M NIMO, NMO, ALO NIM2= NIM 1
2
3
3
2
N=0
41
III. PERUBAHAN ISI RECORD Perubahan record dilakukan dengan mencari record yang akan diubah lalu mengadakan perubahan terhadap isinya.
Selanjutnya record tersebut disimpan kembali tanpa mengubah posisi record. Proses pencarian dilakukan dengan membaca record satu persatu mulai dari
awal record sampai record terakhir.
Setiap record yang dibaca dibandingkan melalui field yang berfungsi sebagai key.
System flowchart perubahan record
TRANS . DTA INDUK.DTA File INDUK.DTA dan TRANS.DTA terdiri dari field Nomor Induk Mahasiswa,
nama dan alamat
Data di INDUK.DTA akan diubah berdasarkan data di TRANS. DTA. Field key yang dipakai adalah nomor induk mahasiswa.
Flowchart perubahan record
-N = -N + 1
M = M +1
mulai
N = 0
Read
TRANS.DTA Record ke – N NIM1, NM1, AL 11
1
/*
M = 0
Read INDUK.DTA Record ke M NIM2, NM2, AL22
4
3
selesai
2
NIM2=NIM1 AL2 = AL1/*
3
NIM2= NIM 14
Write INDUK.DTA RECORD KE – M NIM2,NM2,AL23
43
OPERASI FILE SEQUENTIAL
Operasi terhadap file yang diorganisir secara sequential hanya dapat dilakukan secara berurutan.
I. PENYISIPAN RECORD / PENAMBAHAN RECORD BARU
Untuk penambahan record ke dalam suatu file, maka posisi record terakhir harus diketahui, karena record yang baru diletakan pada posisi setelah record terakhir.
Flowchart proses penyimpanan data ke file
NPMO=NPM NM$O=NM$ NILAIO=NILAI
start
Input
NPM,
NM$,
NILAI NPM= 0 WRITE NPMO,NMO,NILAIOEND
Flowchart proses penambahan record baru.
Jika yang akan dilakukan adalah menyisipkan recor yang sudah ada, maka diperlukan satu file baru untuk menampung hasil akhir dari penyisipan.
Untuk penyisipan record, posisi yang akan ditempati oleh record baru harus diketahui dengan jelas
Posisi ini dpat diketahui dengan cara memeriksa salah satu isi dari suatu record System flowchart dibawah memperlihatkan bahwa data yang akan disisipkan
diinput melelui keyboard
Sedang file yang akan disisipkan data diambil dari FILE01 dan file baru hasil penyisipan adalah FILE 02
NMO= NM1
UMO=UM1
ALMO=ALM1
start
Read Data
NM,UM,ALM/*
INPUT NM1,UM1, ALM1 WRITE NMO,UMO,ALMOEND
45
II. PENGHAPUSAN RECORD
Penghapusan dilakukan dengan cara membaca record satu persatu lalu menuliskan kembali ke file baru.
Namun dalam proses pembacaan tersebut dilakukan pemeriksaan terhadap setiap record.
Jika pada waktu pembacaan record ditemukan reocrd yang akan dihapus maka record tersebut diabaikan atau tidak ditulis ke file baru.
Penghapusan record dilakukan terhadap file FILE01. Record yang akan dihapus diinput melalui keyboard. Hasil penghapusan record disimpan di dalam file FILE02. System flowchart proses penghapusan record
FILE 01
FILE 02
FILE 02
Flowchart penghapusan record
NMO=NM1
UMO=UM1
ALMO=ALM1
START INPUT NMH1
READ FILE 01 NM1, UM1, AKM1/*
END
NM1= NMH1
WRITE FILE02
NMO,UMO,ALMO
1
47
III. PERUBAHAN ISI RECORD
Perubahan record merupakan modifikasi terhadap isi record dari suatu file. Record yang akan dimodifikasi dicari dengan memeriksa isi salah satu field.
Untuk mengadakan perubahan pada record ke – 3 maka proses pembacaan record dilakukan mulai dari record pertama sampai pada record yang dituju.
Flowchart perubahan record
NPMO=NPMB
NMO$=NMB$
NILAIO=NILAIB
start
Input
NAMA$ Baca FILE02 NPM2,NM2$, NILAI/*
END
NM2= NAMA INPUT NPMB,NMB$, NILAIBWRITE FILE02
NPMO,NMO$,NILAIO
2
1
2
1
SOAL FILE SEQUENTIAL
1. Buat flowchart untuk menyimpan data ke dalam file. Spesifikasi data tersebut adalah : nomor induk pegawai, nama pegawai, alamat dan gaji pokok. Proses input data berakhir jika operator mengisi 0 untuk nomor induk pegawai.
2. Buat flowchart dengan permasalahan soal no.1 namun data pegawai yang disimpan ke file hanya pegawai dengan gaji pokok > 200. Sebaliknya, untuk gaji pokoklebih kecil atau sama dengan 200 dicetak melalui printer.
3. Perhatikan sistem flowchart sebagai berikut :
Mhsnew.dat
Mhs.dat
File mhs.dat terdiri dari field : nomor induk mahasiswa, nama, alamat, dan ipk. Buat flowchart untuk proses penghapusan record filemhs.dat. Spesifikasi proses adalah sebagai berikut :
- Record yang dihapus ditentukan berdasarkan nomor induk mahasiswa ( NIM ) yang diinput melalui keyboard
- Data di dalam file.mhs.dat telah diurutkan berdasarkan NIM
- Hasil proses penghapusan pada file mhs.dat disimpan ke file mhsnew.dat - Proses selesai jika operator mengetik 0 untuk nomor induk mahasiswa.
49
PENERAPAN KONSEP TABEL DALAM MASALAH
I. Argumen dan Fungsi
Tabel merupakan data pembantu dalam pengolahan data. Misal dalam suatu lembar dokumen terdapat data pegawai sbb :
NIP Gapok Tunjangan
10200 500.000 120.000 10201 300.000 100.000 10202 350.000 120.000 10203 400.000 230.000 10204 450.000 100.000 10205 500.000 50.000
Dari data pegawai tersebut tidak dapat diketahui nama setiap pegawai. Untuk itu dapat dibuat suatu tabel yang berisi khusus untuk nama pagawai seperti dibawah ini : NIP NAMA 10200 Amat 10201 Bondan 10202 Amir 10203 Dwi 10204 Tika 10205 Toni
Item NIP merupakan item yang dipakai sebagai acuan untuk mencari data nama pegawai di dalam tabel. Item ini berfungsi sebagai kontrol field yang sering disebut ARGUMEN. Sedang item NAMA merupakan FUNCTION dari tabel tersebut.
II. Penggunaan Storage untuk Penyimpanan Tabel
Data di dalam media penyimpanan seperti disk, kartu, dokumen dll yang berfungsi sebagai tabel disebut External Tabel.
Dalam proses pengolahan data, external tabel ini sebaiknya dipindahkan ke memori agar proses menjadi cepat.
Di dalam memori external tabel menempati lokasi yang disebut storage. Di storage ini terbentuk suatu tabel yang disebut sebagai Internal Tabel. Selanjutnya proses pengolahan data menggunakan internal tabel.
Flowchart proses pembentukan internal tabel.
YA TIDAK
START
I = 0
INPUT
NIP,NM
NIP = 0
END
I = I + 1
NIPTAB(I) = NIP
NMTAB(I) = NM
51
Setiap data yang dibaca dari external tabel disimpan di dalam NIPTAB(I) danNMTAB(I). Variabel ini merupakan variabel berindeks atau variabel array. Variabel array merupakan suatu variabel dengan beberapa tempat
penyimpanan.
Gambar dibawah memperlihatkan ilustrasi variabel array NIPTAB.
NIPTAB nama variabel
1 2 3 4 5 6 ... N indeks Penyimpanan ke dalam variabel array NIPTAB dilakukan berdasarkan nilai
indeksnya. Pada flowchart di atas nilai indeks ditentukan melalui variabel I. III. Proses Pencarian (Searching)
Proses pencarian di dalam internal tabel dilakukan dengan berpatokan pada nilai indeksnya.
Misal untuk mencari nama pegawai dengan NIP = 10203 dapat digambarkan melalui flowchart berikut :
YA
START
NO = 10203
I = 0
I = I + 1
NO=
NIPTAB(I)
NMTAB(I)
END
IV. Pengurutan dengan Eksternal Tabel IV.1. Pembentukan File Indeks
Proses pengurutan bilangan dilakukan di internal tabel. Semua bilangan yang akan diurutkan disimpan dahulu ke suatu penyimpanan di dalam memori yaitu variabel array.
Di memori, proses pengurutan dapat dilakukan dengan lebih cepat. Namun jika datanya banyak, maka proses ini akan membutuhkan ukuran memori yang besar. Untuk menghindarinya, proses pengurutan dilakukan di dalam eksternal tabel.
Eksternal tabel dibentuk dengan cara membuat file baru. File ini desebut sebagai File Indeks. Isi file indeks adalah field yang berfungsi sebagai field kunci (key field) dari record data yang akan diurutkan. Key Field merupakan field yang dipakai sebagai dasar pengurutan. Misal data yang harus diurutkan berdasarkan NIP, maka field kuncinya adalah field yang berisi NIP.
Secara garis besar, proses pengurutan dengan eksternal tabel terdiri dari langkah-langkah
o Bentuk file indeks yang hanya berisi field kunci.
o Lakukan pengurutan pada file indeks. Pengurutan dapat dilakukan dengan metode bubble sort atau straight selection.
o Pindahkan record dari file lama ke file baru dengan posisi record sesuai pada file indeks.
IV.2. Proses Pembentukan File Indeks File PEG.DTA
NIP NAMA ALAMAT
93004 Amat Jl. P 93001 Badu Jl. G 93003 Dono Jl. H 93006 Rina Jl. Z 93002 Tuti Jl. W 93005 Kiki Jl. Q /*
50
Jika data di file PEG.DTA ingin diurutkan berdasarkan NIP, maka harus dibentuk file indeks yang hanya berisi field NIP. Proses pembentukan file indeks ini dapat digambarkan melalui flowchart :YA TIDAK
START
N = 0
N = N + 1
READ PEG.DTA
Record ke-N
NIP, NAMA, ALM
/*
END
ONIP=NIP
WRITE INDEKS.DTA
RECORD KE-N ONIP
Berdasarkan flowchart diatas, terbentuk file indeks yaitu INDEKS.DTA. NIP 93004 record pertama 93001 93003 93006 93002 93005 /*
49
PENERAPAN KONSEP TABEL DALAM MASALAH
I. Argumen dan Fungsi
Tabel merupakan data pembantu dalam pengolahan
data. Misal dalam suatu lembar dokumen terdapat data pegawai
sbb :
NIP
Gapok
Tunjangan
10200 500.000
120.000
10201 300.000
100.000
10202 350.000
120.000
10203 400.000
230.000
10204 450.000
100.000
10205 500.000
50.000
Dari data pegawai tersebut tidak dapat diketahui nama
setiap pegawai. Untuk itu dapat dibuat suatu tabel yang berisi
khusus untuk nama pagawai seperti dibawah ini :
NIP
NAMA
10200
Amat
10201
Bondan
10202
Amir
10203
Dwi
10204
Tika
10205
Toni
Item NIP merupakan item yang dipakai sebagai acuan
untuk mencari data nama pegawai di dalam tabel. Item ini
berfungsi sebagai kontrol field yang sering disebut ARGUMEN.
Sedang item NAMA merupakan FUNCTION dari tabel tersebut.
II. Penggunaan Storage untuk Penyimpanan Tabel
Data di dalam media penyimpanan seperti disk, kartu,
dokumen dll yang berfungsi sebagai tabel disebut External
Dalam proses pengolahan data, external tabel ini sebaiknya
dipindahkan ke memori agar proses menjadi cepat.
Di dalam memori external tabel menempati lokasi yang
disebut storage. Di storage ini terbentuk suatu tabel yang
disebut sebagai Internal Tabel. Selanjutnya proses
pengolahan data menggunakan internal tabel.
Flowchart proses pembentukan internal tabel.
YA
TIDAK
START
I = 0
INPUT
NIP,NM
NIP = 0
END
I = I + 1
NIPTAB(I) = NIP
NMTAB(I) = NM
51
Setiap data yang dibaca dari external tabel disimpan di
dalam NIPTAB(I) dan NMTAB(I). Variabel ini merupakan
variabel berindeks atau variabel array.
Variabel array merupakan suatu variabel dengan beberapa
tempat penyimpanan.
Gambar dibawah memperlihatkan ilustrasi variabel array
NIPTAB.
NIPTAB
nama variabel
1 2 3 4 5 6
... N
indeks
Penyimpanan ke dalam variabel array NIPTAB dilakukan
berdasarkan nilai indeksnya. Pada flowchart di atas nilai indeks
ditentukan melalui variabel I.
III. Proses Pencarian (Searching)
Proses pencarian di dalam internal tabel dilakukan dengan
berpatokan pada nilai indeksnya.
Misal untuk mencari nama pegawai dengan NIP = 10203
dapat digambarkan melalui flowchart berikut :
YA
TIDAK
START
NO = 10203
I = 0
I = I + 1
NO=
NIPTAB(I)
NMTAB(I)
END
IV. Pengurutan dengan Eksternal Tabel
IV.1. Pembentukan File Indeks
Proses pengurutan bilangan dilakukan di internal tabel.
Semua bilangan yang akan diurutkan disimpan dahulu ke
suatu penyimpanan di dalam memori yaitu variabel array.
Di memori, proses pengurutan dapat dilakukan dengan lebih
cepat. Namun jika datanya banyak, maka proses ini akan
membutuhkan ukuran memori yang besar. Untuk
menghindarinya, proses pengurutan dilakukan di dalam
eksternal tabel.
Eksternal tabel dibentuk dengan cara membuat file baru. File
ini desebut sebagai File Indeks. Isi file indeks adalah field
yang berfungsi sebagai field kunci (key field) dari record data
yang akan diurutkan. Key Field merupakan field yang dipakai
sebagai dasar pengurutan. Misal data yang harus diurutkan
berdasarkan NIP, maka field kuncinya adalah field yang berisi
NIP.
Secara garis besar, proses pengurutan dengan eksternal tabel
terdiri dari langkah-langkah
o Bentuk file indeks yang hanya berisi field kunci.
o Lakukan pengurutan pada file indeks. Pengurutan dapat
dilakukan dengan metode bubble sort atau straight selection.
o Pindahkan record dari file lama ke file baru dengan posisi
record sesuai pada file indeks.
IV.2. Proses Pembentukan File Indeks
File PEG.DTA
NIP
NAMA ALAMAT
93004
Amat
Jl. P
93001
Badu
Jl. G
93003
Dono
Jl. H
93006
Rina
Jl. Z
93002
Tuti
Jl. W
93005
Kiki
Jl. Q
/*
50
Jika data di file PEG.DTA ingin diurutkan berdasarkan NIP,
maka harus dibentuk file indeks yang hanya berisi field NIP.
Proses pembentukan file indeks ini dapat digambarkan melalui
flowchart :
YA
TIDAK
START
N = 0
N = N + 1
READ PEG.DTA
Record ke-N
NIP, NAMA, ALM
/*
END
ONIP=NIP
WRITE INDEKS.DTA
RECORD KE-N ONIP
Berdasarkan flowchart diatas, terbentuk file indeks yaitu
INDEKS.DTA.
NIP
93004
record pertama
93001
93003
93006
93002
93005
/*
55
PENGURUTAN BILANGAN DENGAN METODE
STRAIGHT SELECTION
I. Proses Pengurutan
metode ini dikatakan kebalikan dari metode Bubble sort. Pencarian dimulai dengan bilangan terkecil.
Bilangan terkecil ini lalu diletakan di elemen atau urutan pertama, demikian seterusnya sampai dihasilkan urutan bilangan dari kecil ke besar.
Contoh Array :
Proses diatas hanya membandingkan elemen pertama dengan semua elemen array. Sehingga elemen pertama terisi bilangan terkecil.
Ulangi proses diatas untuk membandingkan elemen ke –2 dengan elemen lainnya.
Kini isi elemen pertama dan ke – 2 sudah urut dari bilangan kecil kebesar
20 12 35 11 17 9 58 23 1 2 3 4 5 6 7 8 12 20 35 11 17 9 58 23 1 2 3 4 5 6 7 8 11 20 35 12 17 9 58 23 1 2 3 4 5 6 7 8 9 20 35 12 17 9 58 23 1 2 3 4 5 6 7 8 9 12 35 20 17 11 58 23 1 2 3 4 5 6 7 8 9 11 35 20 17 12 58 23 1 2 3 4 5 6 7 8
Ulangi proses di atas untuk membandingkan elemen ke-3 dengan elemen lainnya.
Setelah itu elemen ke-4 dan seterusnya sampai elemen terakhir Sehingga hasil akhirnya adalah
9 11 12 17 20 23 35 58
57
IMPLEMENTASI DALAM BENTUK FLOWCHARTYA YA TIDAK TIDAK TIDAK YA YA TIDAK TIDAK
START
I = 0
N = 0
INPUT BIL
BIL = 0
N = N+1
ARRBIL(N) = BIL
1
I = I + 1
J = I + 1
ARRBIL(I)
<
ARRBIL(J)
TEMP = ARRBIL(1)
ARRBIL(I) = ARRBIL(J)
ARRBIL(J) = TEMP
N = J
I = N - 1
1
J = J + 1
I = 0
I = I + 1
ARRBILL(I)
I = N
END
1
58
PENGURUTAN BILANGAN DENGAN
METODE BUBBLE SORT
Proses Pengurutan
Bubble Sort adalah nama yang diberikan pada prosedur untuk mengatur sekelompok bilangan dengan urutan dari kecil ke besar.
Untuk mengurutkan bilangan diperlukan variabel array yang digunakan untuk menampung semua bilangan yang akan diurutkan.
Proses pengurutan dilakukan dengan membandingkan semua elemen array satu persatu.
Contoh :
20 12 35 11 17 9 58 23
Dalam metode bubble sort, pengurutan demulai dengan membandingkan elemen pertama untuk mendapatkan angka terbesar. Lalu angka tersebut ditempatkan pada elemen terakhir.
END
IMPLEMENTASI DALAM BENTUK FLOWCHART
YA YA TIDAK YA YA TIDAK TIDAK
START
I = 0
J = 0
N = 0
INPUT
BIL
BIL=0
N = N + 1
BILLAR(N) = BIL
1
1
J = J + 1
I = I + 1
BILLAR(I)
<
BILLAR(I+1)
TEMP = BILLAR(I)
BILLAR(I) = BILLAR(I+1)
BILLAR = TEMP
I = N - J
J = N - 1
I = 0
1
I = 0
I = I + 1
BILLAR(I)
I = N
2
2
60
Bubble Sort tidak lain adalah pengulangan prosedur hingga bilangan – bilangan yang ada tersusun menurut urutan dari yang kecil ke yang besar.Contoh Buble Sort
6 5 8 3
Pertama :
Pada akhir proses pertama ini, bilangan yang terbesar menempati tempat yang sesuai.
Kedua :
Pada akhir proses kedua ini, bilangan terbesar kedua menempatkan tempat yang sesuai.
Ketiga :
Bila proses ini dilanjutkan, tidak ada pertukaran tempat lagi bagi bilangan – bilangan tersebut, sebab bilangan tersebut telah selesai disusun.
6 5 8 3 5 6 8 3 5 6 8 3 5 6 3 8
5 6 3 8 5 6 3 8 5 3 6 8 5 3 6 8
TUGAS :
1. Untuk yang NPM – nya ganjil jalankan flowchart Pengurutan Bilangan dengan Metode Bubble Sort untuk data :
17 99 8 69 45 36 21
2. Untuk yang NPM – nya genap jalankan flowchart Pengurutan Bilangan dengan Metode Buble Sort untuk data :