FLOWCHART - LANJUTAN
Pembuatan Flowchart Tidak ada kaidah yang baku. Flowchart = gambaran hasil analisa suatu masalah à Flowchart dapat bervariasi antara satu pemrogram dengan pemrogram lainnya. Secara garis besar ada 3 bagian utama: Input Proses Output 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.
Kriteria Algoritma Input: algoritma dapat memiliki nol atau lebih inputan dari luar. Output: algoritma harus memiliki minimal satu buah output keluaran. Definiteness(pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
Kriteria Algoritma Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role). Effectiveness(tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1
Jenis Proses Algoritma Sequence Process: instruksi dikerjakan secara sekuensial, berurutan. Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu. Concurrent Process: beberapa instruksi dikerjakan secara bersama.
Sifat Algoritma (Umum) Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman Tidak tergantung pada suatu bahasa pemrograman Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun
Contoh Flowcart start read/input condition? Ya stop process Tidak write/print
3 Struktur Flowcart Sequence/ Sederhana Branching/ Percabangan Looping/ Perulangan Ketiga struktur diatas dapat digunakan secara bersamaan pada satu diagram alur.
3 Struktur Flowcart 1. Sequence Structure : digunakan untuk program yang innstruksinya berurutan 2. Selection Structure: digunakan untuk program yang menggunakan pilihan dari sebuah kondisi. 3. Looping Structure : digunakan untuk program yang instruksinya akan dieksekusi berulang ulang.
Variabel Variabel, sebagai tempat untuk menyimpan suatu nilai yang sejenis. Terdiri dari nama dari variable itu sendiri dan nilai yang disimpan. Variabel/Peubah à suatu nilai yg dapat berubah harganya. Contoh pemberian nilai ke variabel : A = 5 variabel A diberi nilai 5 A = B variabel A diberi nilai sama dengan nilai variabel B, variabel B sudah memiliki nilai sebelumnya A = A + 1 variabel A dirubah isinya dengan variabel A yang dijumlahkan dengan 1. (proses increment)
Jenis Variabel Terbagi atas : Variabel Numerik à berisi angka numerik /bilangan Variabel String à berisi karakter. Catatan: Penulisan untuk nilai variabel numerik tanpa tanda petik, dan penulisan nilai variabel string (karakter) diapit dengan tanda petik. Huruf besar atau kecil diartikan sama. Contoh : A = 0 B = 5 A = A +1 JUDUL = 1SB01
EKSPRESI Merupakan BENTUK suatu rumusan/formula Ekspresi NUMERIS Ekspresi ALPHANUMERIS (STRING) Ekspresi RELASI Ekspresi NALAR
Ekspresi NUMERIS ekspresi yang menunjukkan suatu harga data numeris Contoh : - (1 + 5.2) / 3 - D - SIN (3+E) - 5 * B - 3.7682 Ekspresi ALPHANUMERIS / (STRING) ekspresi yang menunjukkan harga data alpha-numeris atau data string Contoh : - A$ - "String" + "DATA" - MO$ + "DATA" - D$ + F$ + H$
Ekspresi RELASI ekpresi yang menunjukkan hubungan (relasi) antara 2 (dua) ekspresi numeris dan/ alphanumeris Contoh : - A = 12.5 - A > B Ekspresi NALAR ekspresi ini merupakan ekspresi hubungan (relasi) nalar antara 2 buah ekspresi relasi Contoh : - A$ = "YES" AND B$ = "NO" - C < 5 OR M > B OR K <3
OPERATOR Untuk melaksanakan perhitungan (operasi aritmetika), digunakan lima macam operator yang mempunyai derajad/hirarki pengoperasian yang berbeda-beda : + : penjumlahan 3 - : pengurangan * : pengalian 2 / : pembagian ^ : perpangkatan 1
HIRARKI OPERATOR HIRARKI OPERATOR mempunyai tingkat seperti pada operasi matematika Pangkat (^) mempunyai derajad yang paling tinggi kali (*) dan bagi (/) mempunyai derajat yang sama. tambah (+) dan kurang (-)mempunyai derajat yang sama tetapi lebih rendah dari pada kali (*) dan bagi (/) Jika terdapat lebih dari satu operator yang berderajat sama di dalam suatu rumusan matematik, maka proses perhitungan (hirarki) akan dimulai dari kiri ke kanan. Disamping itu semua ekspresi (penulisan) yang ada didalam tanda kurung akan dilaksanakan paling dahulu. Bila tanda kurung didalam tanda kurung, maka ekspresi yang terdapat dibagian yang paling dalam akan dilaksanakan lebih dulu.
Contoh operasi hirarkhi : A * B / 4-25.8 ^ 3 2 1 3 4
( A ^2 + B ^ (C+4) ) / 2 * B * D / E + F / K ) 2 1 9 3 4 5 6 7 8 10
Struktur Branching / Percabangan 1. Bersyarat Diagram yg alurnya ada/banyak terjadi alih kontrol berupa percabangan & terjadi apabila kita dihadapkan pada suatu Kondisi dengan dua pilihan BENAR/ SALAH Struktur : IF - THEN IF - THEN - ELSE IF - THEN - ELSEIF Case of. 2. Tidak Bersyarat Struktur : GOTO
Operator Pernyataan-pernyataan memerlukan suatu kondisi à dibentuk dengan operator relasi dan/atau operator logika. 1. Operator Relasi Menghasilkan kondisi BENAR atau SALAH Operator Makna > >= < <= = <> Lebih dari Lebih dari atau sama dengan Kurang dari Kurang dari atau sama dengan Sama dengan Tidak sama dengan
2. Operator Operator Logika (lanjutan) Operator AND OR NOT Makna Dan Atau Tidak Operator NOT, bernilai : BENAR jika operand bernilai salah SALAH jika operand bernilai benar.: Hubungan antar Operand padaoperator Logika Operand1 (kondisi1) Salah Salah Benar Benar Operand2 (kondisi2) Salah Benar Salah Benar Operator OR AND 0 0 1 0 1 0 1 1
Struktur Branching /Percabangan (lanjutan) A > B? Ya (1) Apabila A>B, kondisi BENAR, maka arus ke alur (1) Bila kondisi SALAH (A>B), maka arus ke alur (2) Tidak (2)
Struktur: IF - THEN condit ion Tidak Cabang THEN Ya statement Bentuk umum penulisannya adalah : IF condition THEN ELSE stetement à boleh ditulis/tidak Sedangkan kelanjutan dr ELSE adalah Statement Hampa\ yaitu statement yg tdk berisi perintah apa-apa. Cabang ELSE Jalur Hampa
Struktur IF THEN ELSE kondi si Ya Pernyataan 1 Cabang ELSE Tidak Pernyataan 2 Bentuk umum penulisannya adalah : IF kondisi THEN ELSE pernyataan1 pernyataan2 Cabang THEN
Struktur IF THEN ELSEIF S.3 Ya kond 1 kond 3 S.4 Tidak Tidak Ya kond 2 Tidak Ya S.2 S.1 IF kond1 THEN IF kond2 THEN S1 ELSE S2 ELSE IF kond3 THEN S3 ELSE S4
Tidak If Kondisi? Benar Else Then Statemen2 Statemen1
Struktur IF Tersarang Struktur IF Tersarang (nested IF) merupakan bentuk dari suatu statemen IF berada di dalam lingkungan statemen IF yang lainnya. IF Kondisi THEN IF Kondisi2 THEN statemen1 Else statemen2 IF Kondisi THEN Begin IF Kondisi2 THEN statemen1 Else statemen2 End;
Flowchart IF Tersarang Else Tidak If Kondisi1? Benar Tidak If Kondisi 2? Benar Statemen2 Statemen1
IF Kondisi1 THEN Begin IF Kondisi2 THEN Begin IF Kondisi1 THEN Begin IF Kondisi2 THEN statemen1 Else statemen2 Else Statemen3 End; Gambar A Else End; END If Kondisi3 Then Begin Statemen3 If Kondisi4 Then statemen1 Else statemen2 END Gambar B
Flowchart Gambar a Else Tidak If Kondisi 1? Else Benar Tidak If Kondisi 2? Benar Statemen3 Statemen2 Statemen1
Flowchart Gambar B Else Tidak If Kond isi1? Tidak Tidak Benar If Kond isi2? Tidak Benar Tidak If Kond isi3? Benar If Kond isi4? Benar Statemen1 Statemen1
LATIHAN seorang guru ingin menghitung nilai ulangan yang jika diatas 75 dinyatakan lulus, dan jika dibawah 75 dinyatakan tidak Lulus. dan dari angka tersebut kita juga harus menentukan apakah nilai yang didapat siswabilangan ganjil atau genap.
LATIHAN Buatlah flowchart programnya, dengan alur algoritma seperti dibawah ini. Sebuah toko Swalayan memiliki pembeli yang berstatus LANGGANAN dan Bukan LANGGANAN. Untuk itu toko tersebut menerapkan ketentuan sebagai berikut : - Bila pembeli berstatus bukan langganan maka tidak diberi potongan harga. - Bila pembeli berstatus langganan dan berbelanja diatas Rp 100.000,00. maka diberikan potongan 20 % dan bila berbelanja kurang dari Rp 100.000,00. diberi potongan 15 %. Selanjutnya bila berbelanja dibawah Rp 25.000,00 hanya diberi potongan 10 %.