• Tidak ada hasil yang ditemukan

PENDAHULUAN. Input (Bahan mentah) Output (Bahan Jadi) Proses. Halaman 1/3. Pendahuluan

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENDAHULUAN. Input (Bahan mentah) Output (Bahan Jadi) Proses. Halaman 1/3. Pendahuluan"

Copied!
70
0
0

Teks penuh

(1)

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

(2)

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

(3)

Pendahuluan

Algoritma dan Pemrograman 1A

Halaman 3/3

 tunggu hingga air mendidih

 masukkan telur

tunggu sampai tiga menit  angkat panci dari kompor  matikan kompor

(4)

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)

5

Symbol Manual Input (Simbol untuk pemasukan data secara manual on-line keyboard

Symbol 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)
(7)

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

(8)

 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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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

(21)

20

Program menjumlahkan data

Seandainya 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

(22)

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

(23)

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

(24)

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 Selesai

(25)

24

Pemutaran berganda dengan batas yang berubah

Mulai

For N=1 To 3

For K=1 to N

? N, K

Next K

Next N

Selesai

(26)

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

(27)

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

(28)
(29)

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

(30)

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

(31)

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

(32)

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

(33)

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

(34)

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 :

(35)

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

(36)

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 … ……….. ……… …….

(37)

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 ).

(38)

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

(39)

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

(40)

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.DTA

NIMO, NMO, ALO

/ *

(41)

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.

(42)

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

(43)

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 1

1

1

/*

M = 0

Read INDUK.DTA Record ke M NIM2, NM2, AL2

2

4

3

selesai

(44)

2

NIM2=NIM1 AL2 = AL1

/*

3

NIM2= NIM 1

4

Write INDUK.DTA RECORD KE – M NIM2,NM2,AL2

3

(45)

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,NILAIO

END

(46)

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,ALMO

END

(47)

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

(48)

Flowchart penghapusan record

NMO=NM1

UMO=UM1

ALMO=ALM1

START INPUT NMH

1

READ FILE 01 NM1, UM1, AKM1

/*

END

NM1= NMH

1

WRITE FILE02

NMO,UMO,ALMO

1

(49)

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$, NILAIB

WRITE FILE02

NPMO,NMO$,NILAIO

2

1

2

1

(50)

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.

(51)

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.

(52)

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

(53)

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

START

NO = 10203

I = 0

I = I + 1

NO=

NIPTAB(I)

PRINT

NMTAB(I)

END

(54)

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 /*

(55)

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

(56)

Berdasarkan flowchart diatas, terbentuk file indeks yaitu INDEKS.DTA. NIP 93004 record pertama 93001 93003 93006 93002 93005 /*

(57)

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

(58)

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

(59)

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)

PRINT

NMTAB(I)

END

(60)

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

/*

(61)

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

(62)

Berdasarkan flowchart diatas, terbentuk file indeks yaitu

INDEKS.DTA.

NIP

93004

record pertama

93001

93003

93006

93002

93005

/*

(63)

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

(64)

 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

(65)

57

IMPLEMENTASI DALAM BENTUK FLOWCHART

YA 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

PRINT

ARRBILL(I)

I = N

END

1

(66)
(67)

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.

(68)

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

PRINT

BILLAR(I)

I = N

2

2

(69)

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

(70)

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 :

Gambar

Diagram alur untuk mencetak barisan aritmetik dengan suku awal A dan beda B. Suku barisan tidak melebihi N
Tabel merupakan data pembantu dalam pengolahan data. Misal dalam suatu lembar dokumen terdapat data pegawai sbb :

Referensi

Dokumen terkait

Data dengan transformasi ARIMA (1,0,0) yang digunakan dalam membuat batas kendali, diperoleh bagan kendali S lebih sensitif dibandingkan dengan peta kendali S

Dengan fasilitas probepoint, aplikasi Code Composer Studio akan membaca file data yang terdapat pada PC yang sudah anda buat sebelumnya sebagai sinyal input.. Dan setelah

Input adalah data atau informasi yang dibutuhkan oleh sebuah sistem untuk selanjutnya diproses sesuai dengan ketentuan proses yang telah ditentukan.. Pada akhirnya sistem

; (d) Lembar kerja mahasiswa Lembar kerja ini merupakan pertanyaan-pertanyaan yang ada pada lembar kegiatan yang harus dikerjakan mahasiswa setelah mereka selesai

Terdapat satu permasalahan ketika kita akan menguji informasi wilayah terbakar yang dihasilkan dari Citra Landsat 8 (resolusi spasial 30 meter), menggunakan data

Daur Penyusunan laporan, yaitu daur yang mengubah dokumen hasil rekaman transaksi yang berasal dari daur operasional menjadi laporan, baik dalam bentuk laporan

 Apabila sudah yakin benar maka silahkan tekan tombol Save, selanjutnya sistim akan menyimpan file data ini sebagai data absensi yang bisa anda lihat dengan menekan tombol