algoritma pemrograman 1a** (pp-011302:s1-ka)...
TRANSCRIPT
ALGORITMA PEMROGRAMAN 1A**
(PP-011302:S1-KA)PERTEMUAN 4
Ahmad Hidayat
TEKNIK PERCABANGAN (BRANCHING TECHNIQUE)
Akumulator
Analisa kondisi dan aksi.
(Analysis of the condition and action)
(IF…THEN, IF..THEN..ELSE, SELECT CASE)
AKUMULATOR
Akumulator merupakan tempat penampungan suatu nilai. (Accumulator is a reservoir of value.)
Nilai yang masuk akan dijumlahkan dengan nilai yang ada didalamnya.
Akumulator dapat dipakai untuk menentukan nilai total dari penjumlahan bilangan.
Pada awal proses TOTALGAJI bernilai 0. Pada waktu proses di atasdilaksanakan, besarnya nilai GAJI ditambahkan ke akumulator TOTALGAJI
Akumulator dapat di misalkan sebagai kotak sumbangan. Dimana jumlah uangyang berada di dalam, kotak tersebut terus bertambah sesuai dengan uangyang masuk.
TOTALGAJI = TOTALGAJI + GAJI
ANALISA KONDISI DAN AKSI(ANALYSIS OF THE CONDITION AND ACTION)
Struktur program yang melakukan proses pengujian untuk mengambilsuatu keputusan apakah suatu baris atau blok instruksi akan diprosesatau tidak. Pengujian kondisi ini dilakukan untuk memilih salah satu daribeberapa alternative yang tersedia.
Syarat dalam dunia pemrograman adalah sebuah pernyataan boolean,yang dapat bernilai benar(true) atau salah (false).
Terms in the programming world is a boolean statement, which may be true(true) or false (false).
Biasanya sebuah syarat terdiri dari operand-operand yangdihubungkan dengan operator logika. Yaitu :
=,<>,>,<,<=,>=, and(Dan) dan or(atau).
Pada percabangan terdapat istilah KONDISI dan AKSI:Kondisi merupakan syarat, keadaan atau status yang akanmempengaruhi tindakan selanjutnya. (a requirement, condition or status
that will affect the next action.)
Aksi merupakan tindakan atau proses yang dilakukan sesuaidengan kondisi yang ada. (is the act or process performed in accordance
with existing conditions.)
Persoalan yang memerlukan kondisi :
(Issues that require conditions)1. Relation TestPemilihan keputusan dari hasil perbandingan nilai
ANALISA KONDISI DAN AKSI(ANALYSIS OF THE CONDITION AND ACTION)
ANALISA KONDISI DAN AKSI
Persoalan yang memerlukan kondisi :
2. Question TestPemilihan keputusan sebagai jawaban atas pertanyaan
3. Sign TestMerupakan simbol untuk memeriksa atau menngecek
sebuah nilai Pemilihan keputusan dari hasil perbandingan
nilai
FLOWCHART KONDISI IF
CONTOH
Diketahui 2 buah bilangan, A & B.
Berikut ini adalah flowchart untuk
mencetak bilangan yang terbesar
diantara keduanya.
(2 pieces known numbers, A & B.
The following is a flowchart to
scored the largest number
between both.)
HUBUNGAN ANTAR KONDISIKadang-kadang dalam suatu masalah terdapat beberapa kondisiatau persyaratan yang saling menentukan. Hubungan antar kondisibiasanya ada dua hubungan, yaitu hubungan and (dan) dan hubunganOR (atau).
Hubungan AND (DAN)
Dalam hubungan DAN, jika salah satu kondisibernilai salah maka akan dijalankan aksi darialur Tidak atau alur No
HUBUNGAN AND (DAN)
Co: Untuk menentukan penerimaan pegawai yang umurnya kurangdari 30 dan hasil test lebih dari 60.
HUBUNGAN OR (ATAU)
Dalam hubungan ATAU, jika kedua kondisibernilai salah maka akan dijalankan aksidari alur Tidak atau alur No
Co:
Untuk mendapatkan tujangan pensiun ketentuannya adalah:- Umur sudah lebih dari 60 tahun atau- Masa kerja lebih dari 25 tahun
HUBUNGAN OR (ATAU)
CONTOH
Perhatikan flowchart
berikut:
Berapa hasil X jika :
Nilai T = 25, S = 20Nilai T = 20, S = 60Nilai T = 15, S = 10
IF..THEN & IF..THEN…ELSE
Pemrograman dapat mengatur tindakan yang akan dilakukan jikakondisi bernilai benar ataupun tindakan yang akan dijalankan jikakondisi salah dengan IF...THEN...ELSE.
Bentuk umum IF...THEN...ELSE dibagi menjadi 2 kelompok :1. IF...THEN...ELSE Satu baris2. IF...THEN...ELSE Banyak baris
IF...THEN...ELSE SATU BARISDi dalam program jika menjumpai dua kemungkinan atau pilihan pencabangan, dapatmenggunakan IF...THEN...ELSE satu baris.
Bentuk Umum :IF kondisi THEN { statement1 │nobar1 │GOTO label1 }[ ELSE { statement2 │ nobar2 │ GOTO label2 } ]
dengan parameter-parameternya :Kondisi : syarat yang akan diteststatement1,dan statement 2 : statement yang akan dikerjakannobar1, nobar2 : nomor baris yang ditujulabel1, label2 : label baris yang dituju
Parameter :- kondisi atau syarat yang ditest dinyatakan dengan operator relasi atau operator pembanding (<, <=, =, >=, >, < >).- Nobar1, dan nobar2 menunjukkan label baris yang berupa angka- Label1, dan label2 menunjukkan label baris yang berupa label alphanumeris (diawalidengan huruf).
IF...THEN...ELSE SATU BARIS
Bentuk umum diatas bisa dijelaskan sebagai berikut :
Jika kondisi bernilai benar, maka salah satu dari tiga pilihan dibelakangstatement THEN akan dikerjakan.
Jika kondisi salah, maka salah satu dari tiga pilihan dibelakang statement ELSE akan dikejakan.
Jika statement ELSE tidak ditulis maka proses eksekusi langsung akanmelompat ke baris dibawah statement IF.
Contoh :1. IF i >= kali THEN 202. IF ( i <= 100 ) AND ( i >= 80 ) THEN PRINT i3. IF ( i >= 100 ) OR ( i <= 80 ) THEN PRINT i4. IF i >= kali THEN GOTO 20 ELSE kali = kali + 1
BAGAN ALIR IF SATU BARIS
Dalam Penulisan statement
IF...THEN...ELSE satu baris,
semua parameter harus ditulis
menjadi satu baris statement
IF...THEN...ELSE BANYAK BARIS
Di dalam program jika kita menjumpai lebih dari dua kemungkinan atau lebihpilihan pencabangan, kita bisa menggunakan IF...THEN...ELSE banyak baris.
4 aturan penggunaan blok IF...THEN...ELSE yaitu :
1. Di belakang statement THEN tidak boleh ada statement apapun selain bariskomentar. Jika anda menuliskan sesuatu statement, kompiler akanmenganggapnya sebagai statement IF...THEN...ELSE satu baris.
2. Kata ELSE, ELSEIF dan END IF hanya boleh diawali dengan nomor baris ataulabel baris. Jika tidak, maka kata ini harus merupakan kata awal dari baristersebut.
3. Blok IF harus terletak sebagai statement pertama dalam suatu baris.
4. Blok harus diakhiri dengan END IF.
IF...THEN...ELSE BANYAK BARIS
Bentuk Umum :IF kondisi1 THENStatement1[ ELSEIF kondisi2 THEN[ statement2 ] ]..[ ELSE[ statementn ] ]END IF
dengan parameter-parameternya :
kondisi1, kondisi2, … : syarat yang harus ditest
statement1, statement2, … : blok statement yang akan
dikerjakan sesuai dengan
kondisi yang dipenuhi.
IF...THEN...ELSE BANYAK BARISBentuk umum diatas bisa dijelaskan sebagai berikut :
1. Jika kondisi1 bernilai benar, blok statement1 akan dikerjakan diteruskan ke statement IF.
2. Jika kondisi1 bernilai salah, kompiler akan mentest kondisi2.Jika bernilai benar, maka blokstatement2 akan dikerjakan, diteruskan ke statement END IF. Dst
Contoh :CLSPRINT “1. Nasi Soto Ayam”PRINT “2. Nasi Rames”INPUT “Pilihan (1..2) : “, Pil%IF PIL% = 1 THENPRINT “Nasi Soto Ayam”ELSEIF PIL% = 2 THENPRINT “Nasi Rames”ELSEPRINT “Pilihan Anda tidak dimengerti”END IFEND
BAGAN ALIR BLOK IF...THEN...ELSE
SELECT …CASE
Statement SELECT CASE dapat digunakan untuk memilih satudiantara sejumlah alternatif.
Perbedaan SELECT CASE dan IF…THEN…ELSE :
SELECT CASE kondisi yang ditest hanya satu, jika memenuhi proseseksekusi akan diteruskan ke bagian tertentu dari suatu programberdasarkan nilai kondisi yang ditest. Jika tidak, akan berlanjut kekondisi berikutnya.
IF…THEN…ELSE banyak baris dapat mentest lebih dari sebuahkondisi yang satu sama lain saling berbeda.
SELECT …CASE Bentuk Umum :SELECT CASE ungkapanCASE nilai1[ statement1 ][ CASE nilai2[ statement2 ] ]..[ CASE ELSE[ statementn ] ]END SELECT
dengan parameter-parameternya :ungkapan : sembarang ungkapan (numeris atau untai)nilai1, nilai2, … : nilai-nilai dari parameter ungkapanstatement1, statement2, … : statement-statement yang akan dikerjakan.
Contoh :
CLS
PRINT “1. Nasi Soto Ayam”
PRINT “2. Nasi Rames”
PRINT “3. Nasi Gudeg”
INPUT “Pilihan (1..3) : “, Pil%
SELECT CASE Pil%
CASE 1
PRINT “Nasi Soto Ayam”
CASE 2
PRINT “Nasi Rames”
CASE 3
PRINT “Nasi Gudeg”
CASE ELSE
PRINT “Pilihan Anda tidak dimengerti”
END SELECT
END
BAGAN ALUR (FLOWCHART) SELECT…CASE
LATIHAN 1
Diketahui harga sebuah kemeja adalah 15 000 Jika pembeliankemeja dalam jumlah besar akan mendapat diskon / potongansebesar 20% dengan ketentuan sbb:
Pembelian yang mendapat diskon adalah pembelian diatas25 potong.
Buat algoritma dan flowchartnya!
LATIHAN 2
2.1 Buat diagram alur untuk menentukan kelulusan seorangmahasiswa. Kelulusan dihitung dari nilai rata-rata 2 matakuliah. Bila nilai rata-rata lebih dari 60, siswa dinyatakanlulus. Sebaliknya siswa dinyatakan tidak lulus.
2.2 Buat diagaram alur untuk menentukan apakah suatubilangan terma
(Create a flow chart to determine whether a number is numberedwith positive, negative or zero!suk bilangan positif, negatif ataunol!)
LATIHAN 3
Untuk mendapatkan kredit pemilikan mobil, perlu dinilaipenghasilan pemohon. Cara penilaian:
pendapatan tetap/pokok dihitung penuh, pendapatan tambahandihitung setengah dan pendapatan keluarga (suami/istri) dihitungsepertiga.
Apabila jumlah pendapatan lebih besar atau sama dengan Rp.1.000.000,- mendapat kredit SEDAN, kurang dari itu tetapi masihlebih besar dari Rp. 500.000,- mendapat kredit MINIBUS, selain itutidak berhak mendapat kredit.
TERIMAKASIH
Sumber:
http://rama.staff.gunadarma.ac.id/Downloads/folder/0.3, diakses 17 Sept 2016
http://kartika.staff.gunadarma.ac.id/Downloads/folder/0.5, diakses 17 Sept 2016
http://juwita.staff.gunadarma.ac.id/Downloads/folder/0.4, diakses 17 Sept 2016