ALGORITMA PEMROGRAMAN 1A...

27
ALGORITMA PEMROGRAMAN 1A (AK-024206:D3-DA) PERTEMUAN 3 Ahmad Hidayat

Transcript of ALGORITMA PEMROGRAMAN 1A...

ALGORITMA PEMROGRAMAN 1A

(AK-024206:D3-DA)PERTEMUAN 3

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

ANALISA KONDISI DAN AKSI(ANALYSIS OF THE CONDITION AND ACTION)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

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 termasuk bilangan positif, negatif atau nol!

(Create a flow chart to determine whether a number is numberedwith positive, negative or zero!)

LATIHAN 3

Untuk mendapatkan kredit pemilikan mobil, perlu dinilai penghasilan pemohon.Cara penilaian:

pendapatan tetap/pokok dihitung penuh, pendapatan tambahan dihitungsetengah 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.