BAB I DIAGRAM ALUR
Komputer digunakan untuk menyimpan dan memproses data serta informasi, untuk melakukan tugas tersebut computer harus diprogram. Program dikatakan sebagai sederetan instruksi yang mengatur apa yang harus dikerjakan komputer, untuk mendapatkan suatu hasil yang diharapkan. Sebagai dasar awal diberikan dua contoh diagram alur pada masalah sehari-hari seperti menelepon teman menggunakan telepon umum pada gambar 1 dan diagram alur membuat teh pada
Mulai
Mencari Nomor Telepon
Mengangkat Gagang Telepon
Memutar Nomor
Berbicara
Meletakan Gagang Telepon
Selesai
Gambar 1. Diagram Alur Menelepon Teman
I.I Simbol dan Kotak Diagram Alur
Symbol Keterangan
Simbol untuk menyatakan mulai (start) atau pun berhenti
Kotak Masukan, untuk membaca data yang kemudian diberikan sebagai harga suatu variabel.
Kotak Penugasan, untuk memberi harga kepada suatu variabel atau untuk melakukan perhitungan matematika yang hasilnya diberikan sebagai harga suatu variabel
Kotak Keluaran, untuk mencetak (dan/atau menyimpan)hasil keluaran.
Catatan: banyak orang yang menggunakan kotak masukan juga sebagai kotak keluaran
Kotak keputusan, untuk memutuskan arah atau percabangan yang diambil sesuai dengan kondisi benar atau salah
Symbol Keterangan
Simbol penghubung, untuk penghubung bila diagram alur terputus (masih dalam satu halaman)
Simbol penghubung, untuk penghubung bila diagram alur terputus (dihalaman Mulai
Berhenti
BACA X Masukan A
X43 XY+Z
Cetak X Cetak X
A<3? Ya
Tidak
1
1
yang berbeda)
Hal 1 Hal 2
I.I.1 Memberi Harga Kepada Suatu Variabel
Suatu variabel dapat diartikan sebagai suatu besaran yang dapat berubah-rubah harganya. Cara memberi harga kepada suatu variabel: dengan kotak penugasan.
Contoh
I.I.2 Mencetak Keluaran
Untuk keperluan mencetak, kotak keluaran dapat digunakan untuk mencetak harga suatu variabel, untuk mencetak suatu konstanta bilangan serta untuk mencetak string .
Contoh
1
X12 Variabel X diberi harga 12
NN+1 Harga yang baru dari variabel N adalah harga yang lama dari variabel N ditambah 1
P4
Cetak P
Akan mencetak harga variabel P, dalam hal ini tercetak 4
Contoh1. Menghitung dan mencetak jumlah 2 bilangan. Bilangan pertama kita sebut A, harganya 13. Bilangan kedua kita sebut B, harganya 21. Jumlahnya kita sebut C.
Cetak Kata
Akan mencetak kata Ungu
Cetak “Lulus”
Akan mencetak 17 Cetak 17
Akan mencetak kata Lulus (tanpa tanda petik “”)
Mulai
A13
B21
CA+B
Cetak C
(1)
(2)
(3)
Keterangan:
(1). Memberi harga kepada A sebesar 13 (2). Memberi harga kepada B sebesar 21
(3). Memberi harga/menghitung C, sebesar harga A ditambah harga B. (4). Mencetak harga variabel C (akan tercetak 34)
Contoh 2. Menghitung dan mencetak jumlah 2 bilangan yang dimasukan oleh user melalui keyboard, bilangan tersebut akan disimpan pada suatu variabel.
Penjelasan gambar pada contoh 2:
(1) Satuan data pertama (berharga 13) dibaca dan diberikan kepada variabel A, sehingga harga variabel A menjadi =13
(2) Selanjutnya satuan data kedua (berharga 21) dibaca dan diberikan kepada variabel B, sehingga harga variabel B=21
(3) Menghitung/member harga variabel C sebesar harga variabel A ditambah dengan harga variabel B
(4) Mencetak harga C (akan mencetak 34) Selesai
Mulai
CA+B
Cetak C
(1)
(2)
(3)
(4)
Baca A
Baca B
(4) Tidak (1) Ya (3) (2) I.IIPercabangan
Pada sub bab I.I, arus diagram alur mengalir lurus dari atas ke bawah. Diagram alur demikian biasanya untuk masalah-masalah sederhana. Masalah yang lebih rumit, pada diagram alurnya banyak terjadi alih control berupa percabangan (branching) dan pemutaran kembali (looping). Percabangan terjadi apabila dihadapkan pada kondisi dua pilihan: BENAR dan SALAH. Dalam diagram alur digunakan kotak keputusan, seperti contoh gambar 1
Gambar 1.Kotak keputusan untuk A>B
Cara baca gambar 1: Apabila A>B, kondisi benar maka mengikuti alur program(1) sedangkan bila kondisi salah mengikuti alur (2)
Contoh 3: Satu Kondisi
Diketahui 2 buah bilangan, akan dibuat diagram alur untuk mencetak bilangan yang terbesar diantara kedua bilangan tersebut.
A>B ? Ya (1) Tidak (2) Mulai Baca A Cetak A A>B ? Keterangan:
Apabila masukan yang kita berikan adalah 12 dan 16 maka :
(1) masukan =12 dibaca dan diberikan kepada variabel A. Harga variabel A sekarang adalah 12
(2) Masukan =16 dibaca dan diberikan kepada variabel B. Harga variabel B=16
(3) Karena harga variabel A(=12) tidak lebih besar dari harga variabel B(=16) maka dilaksanakan (5) yaitu mencetak B. Jadi yang tercetak adalah 15
Ya Contoh 4: Dua kondisi
Diagram alur menetapkan apakah suatu persamaan kuadrat AX2+BX+C=0 mempunyai akar berlainan, akar kembar atau tak mempunyai akar (akar khayal)
Catatan: Akar persamaan kuadrat tergantung pada Diskriminan D=B2-4AC Bila D>0 persamaan mempunyai 2 akar berlainan.
D=0 persamaan mempunyai 2 akar kembar
D<0 persamaan tak mempunyai akar (akarnya khayal) Mulai
Baca A
Cetak Khayal D<0
?
Baca B
Baca C
Tidak
Ya
Tidak
(1)
(2)
(3)
(4)
I.III Pengulangan
Pengulangan kembali,terjadi ketika mengalihkan arus diagram alur kembali keatas sehingga beberapa alur berulang kembali beberapa kali.
Contoh 5 D=0
? Cetak
Kembar
Cetak Berlainan
Selesai
Cetak B A1
AA+1
BA*A
Keterangan:
(1). Variabel A diberi nilai 1
(2). Variabel A berubah nilai menjadi 2 karena melalui proses A+1
(3). Variabel B diberi harga sebesar harga A dikalikan harga A. Jadi variabel B berharga 4.
(4) Harga B dicetak (jadi tercetak 4). Kemudian kembali ke (2), (3), (4) dan kembali lagi ke (2) dan seterusnya.
(1) (2) (3) (4) (5) (6) Ya Tidak (1) (2) (3) (4) (6) Ya Tidak
Pada contoh diatas, perulangan berlangsung tak hingga, untuk itu perulangan perlu dibatasi dengan cara memanfaatkan kotak keputusan.
Contoh 6: Diagram alur untuk mencetak kuadrat bilangan-bilangan 1 sampai dengan 10
I.IV Penggunaan Panji(Flag)
Kita dapat menggunakan diagram alur untuk menggambarkan proses yang berlangsung berulang kali untuk data masukan yang lebih dari satu. Misalnya kita hendak menghitung luas beberapa buah segitiga yang diproses satu persatu. Untuk menandai bahwa data telah habis, digunakan teknik panji yaitu membuat suatu data nilai tertentu yang diletakkan pada bagian akhir himpunan.
Contoh 7: Diagram alur menghitung luas 3 buah segitiga yang masing-masingnya diketahui alas dan tingginya.
Mulai
Cetak B
A>10 ?
A1
Selesai BA*A
AA+1
Berhenti
Keterangan:
(1). Variabel A diberi nilai 1
(2). Karena nilai =1 tidak lebih besar dari 10 kondisi salah, arus menuju (3)
(3) Memberi nilai kepada variabel B sebesar harga A kuadrat, yaitu=1
(4) Mencetak nilai variabel B (tercetak 1)
(5) Memberi nilai variabel A bertambah 1 menjadi 2 Kembali ke (2) dan seterusnya sampai harga A=11, arus menuju (6), berhenti
Mulai
Baca A
A=0 ?
L(A*T)/2 Baca T
Berhenti
2 6
12 7
6 4
(5)
Keterangan:
Pada (1) dan (2) pertama kali, membaca alas dan tinggi segitiga pertama, jelas karena A tidak sama dengan nol (bukan panji), arus menuju (4) menghitung luas dan menuju (5) mencetak luas segitiga pertema tersebut (tercetak 12), kemudian kembali membaca alas dan membaca tinggi segitiga kedua (A=12, T=7), karena A tidak sama dengan nol, dihitung luas serta mencetak harga luas tersebut (tercetak 42). Hal serupa untuk segitiga ketiga yang dihitung dan dicetak luasnya (tercetak 12).Akhirnya dibaca lagi alas dan tinggi yang merupakan panji(A=0, T=0) dan ketika tiba ke di (3) karena A berharga 0, arus menuju ke (6) berhenti.
Catatan:Dalam mengambil harga panji harus dipastikan bahwa harga tersebut pasti bukan harga sebenarnya. Pada contoh diatas diambil harga alas dan tinggi =0. Kadang –kadang orang mengambil harga panji 999 , 9999,EOF dan sebagainya.
I.V Diagram Alur untuk Proses Pembuatan Laporan Sederhana
Komputer dapat digunakan untuk membantu membuat laporan-laporan serta daftar-daftar yang diperlukan untuk kelancaran administrasi perusahaan atau kantor. Misalnya dapat dibuat laporan kehadiran pegawai dalam satu bulan, daftar gaji pegawai, laporan keuangan perusahaan dan sebagainya. Dalam sub bab ini dibahas singkat mengenai diagram alur untuk penyelesaian masalah sejenis masalah diatas. Tentunya terbatas pada hal-hal yang sederhana.
Unit paling kecil dari data, terdiri dari sebuah symbol huruf(disebut karakter huruf) atau terdiri dari sebuah symbol angka (disebut karakter digit) ataupun terdiri dari sebuah symbol khusus (disebut karakter khusus). Kumpulan dari karakter yang membentuk suatu unit tertentu dan mempunyai arti tertentu disebut suatu FIELD atau VARIABEL.
Contoh Field: - Nama mahasiswa
- Luas Segitiga dan sebagainya
Kumpulan dari field yang berbentuk suatu unit lengkap disebut RECORD
Record biasanya terdiri dari field-field yang mempunyai hubungan satu sama lainnya biasanya menyatakan keadaan suatu individu secara lengkap.
Contoh :RECORD PEGAWAI terdiri dari - Nama pegawai
- Departemen - Golongan - Tahun Masuk - Gaji Pokok
RECORD BUKU PERPUSTAKAAN terdiri dari - Judul Buku
- Nama Pengarang - Topik
- Tahun Penerbitan - Penerbit
- Jumalah Buku
Kumpulan dari record-record yang sejenis disebut BERKAS (FILE) Contohnya: Berkas Kepegawaian
Berkas Nilai Siswa
Berkas Buku Perpustakaan dan sebagainya
Contoh 8.Berkas Kepegawaian
Catatan : Dalam pemrosesan berkas, biasanya ditambahkan record sebagai Panji yaitu Record End Of File (EOF)
Berikut adalah diagram alur daftar data dari berkas kepegawaian SALIM SOS 3C 1980 1020000
ANI HANKAM 3B 1985 920000
(1)
(2)
(3) Ya
Tidak
Keterangan
(1) Record pertama dibaca, terdiri dari 5 filed, yang dibaca adalah Ali diberikan kepada variabel nama pegawai
DIKBUD diberikan kepada variabel departemen 3D diberikan kepada variabel golongan
1979 diberikan kepada variabel tahun masuk 1920000 diberikan kepada variabel gaji pokok
(2) Karena bukan record EOF maka detail Ali kembali membaca record kedua yaitu record dari Salim, demikian seterusnya samapi suatu ketika terbaca record EOF sebagai panji, dalam hal ini lalu berhenti.
Contoh 9. Mencetak daftar pegawai dilengkapi JUDUL (HEADING). Agar lebih lengkap biasanya dilengkapi dengan judul laporan
Mulai
Baca Record
EOF ?
Selesai
Cetak Detail
DAFTAR PEGAWAI
Ya
Tidak
Listing diatas mempunyai 2 judul yaitu judul utama berisi tulisan Daftar Pegawai dan judul Kolom Nama, Departemen, Golongan, TH.Masuk dan Gaji Pokok.
Contoh 10. Kontingen Indonesia terdiri dari (1) Tim bulu tangkis
- Atlit Putra dan putri (2) Tim angkat besi
- Atlit Putra dan Putri (3) Tim Senam
- Atlit Putri saja
Berkas terdiri dari atas RECORD dengan field Nama Atlit (Nama), Cabang Olahraga (Cabang), Golongan (Gol), jumlah atlet cabang olahraga senam putri(A), jumlah atlet cabang olahraga angkat besi putri(B1), jumlah atlet cabang olahraga angkat besi putra(B2), jumlah atlet cabang olahraga bulu tangkis putrid(C1), jumlah atlet cabang olahraga bulu tangkis putra(C2)
Contoh output
Nama Cabang Olahraga Golongan
Marisa Senam Putri
Joko Angkat Besi Putra
Jessy Angkat Besi Putri
Taufik hidayat Bulu Tangkis Putra
Susi Susanti Bulu Tangkis Putri
Mulai
Cetak judul utama
EOF ? Selesai
Cetak Detail Cetak judul kolom
Ya
Ya
Tidak Tidak
Ya Ya
Jumlah Atlet Cabang Olahraga Senam Putri :1 Orang Jumlah Atlet Cabang Olahraga Angkat Besi Putra :1 Orang Jumlah Atlet Cabang Olahraga Angkat Besi Putri :1 Orang Jumlah Atlet Cabang Olahraga Bulu Tangkis Putri :1 Orang Jumlah Atlet Cabang Olahraga Bulu Tangkis Putra :1 Orang
Berdasarkan kasus contoh 3 maka diagram alurnya adalah
Mulai
A0 B10 B20 C10 C20
Baca Record
EOF ?
Cabang=”Senam”
Cabang= ”angkat besi”
Cetak A, B1,B2,C1,C2
Gologan=”putri” A=A+1
Tidak
Tidak
Ya
Tidak Tidak
Ya
I.VI Soal Latihan
A. Buatlah diagram alur untuk kasus dibawab ini
1. Menghitung luas segitiga, bila diketahui Alas=10 dan tinggi=8 (Catatan:* adalah operasi perkalian, / adalah operasi pembagian)
2. Menghitung luas segitiga dengan alas dan tingginya diinputkan oleh user dari keyboard. 3. Menghitung perkalian 3 buah bilangan yang diinputkan oleh user dari keyboard
4. Mencetak data mahasiswa yang diinputkan oleh user melalui keyboard(data mahasiswa terdiri dari: nama, alamat, tgl lahir, jurusan, kelas, angkatan)
5. Terdapat 2 dua penilaian untuk mahasiswa berprestasi yaitu nilai akademik dan nilai non akademik. Mahasiswa dikatakan berprestasi “baik” bila rata-rata penilaiannya >=70 dan dikatakan “kurang” bila rata-rata penilaiannya <70.
6. Dalam test masuk calon mahasiswa terdapat dua ujian yang harus diikuti yaitu ujian a dan b. Nilai ujian dihitung dengan menggunakan rumus 60%a + 40%b. Calon mahasiswa diterima bila nilai ujiannya >=70 keatas, cadangan jika nilai ujiannya 70<nilai ujian<=60, tidak diterima jika nilai ujiannya<60.
7. Dalam penilaian pegawai untuk naik pangkat ditetapkan salah satu yang dinilai adalah kemampuan membuat karya ilmiah. Sebagai pengarang buku mendapat Kum 3, sebagai pengarang diktat mendapat Kum 2 dan pengarang paper mendapat Kum 1. Seseorang dapat naik pangkat bila Kumnya 10 atau lebih dari 7 dalam pertimbangan, Selain itu belum berhak naik pangkat.
Cabang=
”bulu tangkis” Gologan=”putri” B2=B2+1
C1=C1+1
8. Dalam acara orientasi studi, seorang peserta harus mencari tanda tangan. Tanda tangan dosen dinilai 3, tandatangan mahasiswa senior yang menjadi panitia mendapat nilai 2. Tandatangan mahasiswa senior yang bukan menjadi panitia mendapat nilai 1. Peserta dinyatakan lulus bila berhasil mendapatkan nilai 80 atau lebih, mendapat hukuman ringan bila kurang dari 80 tetapi masih lebih dari 60, selain itu mendapat tugas berat,
9. Menentukan bilangan terbesar dalam suatu himpunan data dengan ketentuan himpunan data sebagai berikut 8 5 9 12 6 999(terdapat penggunaan harga panji)
B. Buatlah diagram alur untuk kasus dibawah ini(terdapat penggunaan berkas) 1. Untuk mengirim paket melalui P.T Paket kilat dikenakan biaya sebagai beriku:
- Biaya administrasi Rp.5000.
- Biaya per Kg adalah Rp 10.000,-minimal dihitung 2 kg yaitu Rp 20.000.
- Untuk paket yang lebih dari 20 Kg dikenakan tambahan Rp 3000 per Kg tambahan. Lebih dari 40 Kg dikenakan tambahan Rp 4000 per Kg tambahan.
Buatlah diagram alur yang mencetak laporan paket-paket yang dikirim, membuat nomor paket, berat paket, tujuan paket(kota) dan ongkos paket tersebut.
2. Untuk mengatur kelancaran perusahaan P.T Medal Bunga Harum, sebuah perusahaan bis kota menetapkan setoran setiap bisnya sebagai berikut:
- Setoran untuk perawatan Rp.16.000.
- Setoran per jam Rp.5000,-minimal dibayar 3 jam (Rp15.000)
- Bis yang beroperasi lebih dari 6 jam dikenakan tambahan Rp 2000,-per jam tambahan dan lebih dari 10 jam tambahan Rp 3000,-per jam tambahan.
Buatlah diagram alur uang mencetak laporan setoran bis, memuat nomor bis, nama sopir, jam operasi dan besarnya setoran.
3. Untuk keperluan resepsi, gedung Graha Widya Sentosa menetapkan tarip sebagai berikut: - Sewa gedung Rp 2.000.000
- Sewa kursi Rp 2000 per buah minimal untuk 100 kursi
- Lebih dari 300 kursi dikenakan tambahan Rp 500 per kursi tambahan sedangkan lebih dari 500 kursi dikenakan tambahan Rp 1000 per kursi tambahan.