STRUKTUR DASAR ALGORTIMA DAN PEMROGRAMAN
STMIK AMIKOM YOGYAKARTA
Kusnawi, S.Kom Th 2006
Selection StructureSelection StructureStruktur runtunan hanya terdapat pada program sederhana.
Pada umumnya,masalah yang akan diselesaikan Memiliki beberapaalternatif pelaksanaan aksi.
Biasanya selection terdiri dari operand yang dihubungkan dengan operator relasi dan logika Yaitu: =, , >, =,
Hubungan Antar Kondisi Hubungan DAN (AND)
Merupakan hubungan antar kondisi yang mensyaratkan kedua kondisi terpenuhi.
Contoh :
Untuk menentukan penerimaan calon pegawai ditentukan
criteria sebagai:
Umur dibawah 30 tahun
Nilai test lebih besar dari 60
Flowchart ANDFlowchart AND
UmurUmur < 30 < 30 dandan
nilainilai > 60> 60
CapegCapeg tidaktidak diterimaditerima
Capeg diterimaTT
FF
Hubungan Atau (OR)Merupakan hubungan antar kondisi yang mensyaratkan
hanya salah satu kondisi yang terpenuhi.Contoh:Tunjangan pensiun diberikan kepada pegawai yang berusia lebih dari 60 tahun. Untuk pegawai yang mempunyai masa kerja lebih dari 25 tahun juga mendapat tunjangan tersebut.
Flowchart ORFlowchart OR
UsiaUsia>60>60AtauAtau
MK>25MK>25
MendapatMendapattunjangantunjangan pensiunpensiun
TidakTidak mendapatmendapattunjangantunjangan pensiunpensiun
TT
FF
Instruksi/NotasiInstruksi/Notasi AlgoritmikAlgoritmik
IF Sederhana:If then
endif
Aksi (dapat berupa satu atau lebih aksi)hanya akan dilaksanakan bila kondisi bernilaibenar (true), jika kondisi bernilai salah, tidakada aksi apapun yang dikerjakan.
AksiAksi ((dapatdapat berupaberupa satusatu atauatau lebihlebih aksiaksi))hanyahanya akanakan dilaksanakandilaksanakan bilabila kondisikondisi bernilaibernilaibenarbenar (true), (true), jikajika kondisikondisi bernilaibernilai salahsalah, , tidaktidakadaada aksiaksi apapunapapun yang yang dikerjakandikerjakan..
Flowchart If Then Flowchart If Then sederhanasederhana
Contoh:
* IF komentar=coba THEN
Output(Anda memasukan kata yang benar)
ENDIF
* IF nilai = A OR nilai = B THEN
Output(Dapat mengikuti tes asisten)
ENDIF
* IF nilai=80THEN
Output(Nilai A)
ENDIF
IF-ELSE: If then
else
endif
Aksi 1 atau pernyataan-1 akan dikerjakan jika kondisi dalam keadaan benar/true dan sebaliknya jika kondisi salah/false maka pernyataan-2 atau aksi 2 yang akan dikerjakan.
Aksi 1 atau pernyataanAksi 1 atau pernyataan--1 akan dikerjakan 1 akan dikerjakan jika kondisi dalam keadaan benar/true dan jika kondisi dalam keadaan benar/true dan sebaliknya jika kondisi salah/false maka sebaliknya jika kondisi salah/false maka pernyataanpernyataan--2 atau aksi 2 yang akan 2 atau aksi 2 yang akan dikerjakan.dikerjakan.
Flowchart If Then ElseFlowchart If Then Else
Contoh:
* IF komentar=coba THEN
Output(Anda memasukan kata yang benar)
else
Output(Error)
ENDIF
* IF nilai = A OR nilai = B THEN
Output(Dapat mengikuti tes asisten)
Else
Output(Maaf tidak Bisa )
ENDIF
Contoh Implementasi Pascal:
uses crt;varnilai : char;beginclrscr;write ('masukan nilai anda :'); readln(nilai);if nilai :="A" OR nilai:="B" then
write('Dapat mengikuti asisten oye')elsewrite(' Maaf tidak bisa oyeess');
readln;end.
IF-ELSE Bersyarang: IF THEN
ELSE THEN
ELSE IF THEN
ELSE
ENDIF
pernyataan yang mempunyai banyak pilihan, jika kondisi_1 yang terpenuhi maka yang akan dikerjakan adalah Aksi 1 atau penyataan_1 dan jika kondisi_2 yang terpenuhi maka yang akan dipilih adalah Aksi2/pernyataan_2, jika tidak ada kondisi yang terpenuhi maka yang akan dipilih adalah setelah instruksi ELSE yaitu pernyataan_M
pernyataan yang mempunyai banyak pilihan, jika pernyataan yang mempunyai banyak pilihan, jika kondisi_1 yang terpenuhi maka yang akan kondisi_1 yang terpenuhi maka yang akan dikerjakan adalah Aksi 1 atau penyataan_1 dan jika dikerjakan adalah Aksi 1 atau penyataan_1 dan jika kondisi_2 yang terpenuhi maka yang akan dipilih kondisi_2 yang terpenuhi maka yang akan dipilih adalah Aksi2/pernyataan_2, jika tidak ada kondisi adalah Aksi2/pernyataan_2, jika tidak ada kondisi yang terpenuhi maka yang akan dipilih adalah yang terpenuhi maka yang akan dipilih adalah setelah instruksi ELSE yaitu pernyataan_Msetelah instruksi ELSE yaitu pernyataan_M
Contoh :
IF beli>=100000 THEN Output(Diskon 10%)
ELSEIF beli>=50000 THEN
Output(Bonus piring)ELSE
IF beli>=10000 THEN Output(Bonus gelas)
ELSEOutput(Tak ada bonus)
ENDIFENDIFENDIF
Contoh Implementasi Pascal
uses crt;varbeli:longint;beginclrscr;write('masukan jumlah pembelian');readln(beli);if beli >=100000 then write(' diskon 10 %')
else if beli>=50000 then write(' bonus piring')else if beli>=10000 then write(' Bonus Gelas')elsewrite(Tidak ada Bonus');
readln;end.
Case
Struktur kondisi Case digunakan untuk penyeleksiankondisi dengan kemungkinan yang terjadi cukup banyak.
Struktur ini akan melaksanakan salah satu dari beberapa pernyataan case tergantung nilai kondisi yang ada
Struktur ini Alternatif penggunaan IF-THEN BERSYARANG
Flowchart CaseFlowchart Case
Jenis case: Prinsip sama tetapi sesuai denganstruktur program dan Syntax dari bahasapemrograman yang dipakai
ContohContoh C/C++:C/C++:Switch (ekspresi) { case konstanta-1:pernyataan-1 ; break; case konstanta-2:pernyataan-2 ; break; case konstanta-n: pernyataan-n; break; default:pernyataan-x; }
ContohContoh Pascal:Pascal:CASE OF : : :
.
. : ELSE
END.
ContohContoh Basic:Basic:SELECT CASE CASE
CASE
..CASE
CASE ELSE
END SELECT
Contoh:Input ( nilai)SELECT CASE nilaiCASE 81 TO 100
Output=ACASE 61 TO 80
Output=BCASE 41 TO 60
Output=CCASE 21 TO 40
Output=DCASE 0 TO 20
Output=ECASE ELSE
Output=KOSONGEND SELECT
Contoh Implemetasi Pascal:program casedeh;uses crt;Var nilai: integer;beginclrscr;write (' masukan nilai : '); readln(nilai);case nilai of81 .. 100 : begin write(' Nilai Yang di Dapatkan A'); readln;
end;61 .. 80 : begin write(' Nilai Yang di Dapatkan B'); readln;
end;41 .. 60 : begin write(' Nilai Yang di Dapatkan C'); readln;
end;21 .. 40 : begin write(' Nilai Yang di Dapatkan D'); readln;
end;0 .. 20 : begin write(' Nilai Yang di Dapatkan E'); readln;
end;Elsebegin write(' Anda salah memasukan Nilai'); readln;
end;end.
Latihan:1. Buatlah algoritma untuk menentukan bilangan yang di inputkan adalah bilangan genap, ganjil dan Nol.2. Tulis algoritma yang membaca dua buah bilangan bulat dari piranti masukan, lalu tentukan bilangan terbesar dari kedua bilangan tersebut.3. Program Menghitung Total Harga Barang Jika Jumlah barang yang dibeli < 100 buah, maka harga perbarang yang
dibeli adalah Rp 10.000,- Jika jumlah barang yang dibeli lebih besar dari atau sama dengan 100 dan
kurang daari 150, maka harga perbarang adalah Rp 9.500 Jika jumlah barang yang dibeli lebih dari atau sama dengan 150, maka
harga perbarang adalah RP 9.000,-Masukan dari program ini adalah jumlah barang yang dibeli, Keluarannya adalah harga yang harus dibayar4. Untuk matakuliah Logika dan Algortima untuk penilaiannya sebagai berikut :MID 30 %, Tugas 30 % dan UAS 40 %, sehingga total nilai yang di dapatkan adalah (MID*0.3)+(tugas*0.3)+(UAS*0.4), Akan bernilai A jika total nilainya lebih besar atau sama dengan 85, bernilai B jika total nilainya lebih dari atau sama dengan 70 s.d kurang dari 85, bernilai C jika total nainya lebih besar atau sama dengan 55 dan kurang dari 70 dan bernilai D jika kurang dari 55, buatlah programnya .
More Information
TO BE CONTINUE
STRUKTUR DASAR ALGORTIMA DAN PEMROGRAMANSelection StructureHubungan Antar KondisiFlowchart ANDFlowchart ORInstruksi/Notasi AlgoritmikFlowchart If Then sederhanaContoh:Flowchart If Then ElseContoh:Contoh Implementasi Pascal:Contoh :Contoh Implementasi PascalCaseFlowchart CaseJenis case: Prinsip sama tetapi sesuai dengan struktur program dan Syntax dari bahasa pemrograman yang dipakaiContoh:Contoh Implemetasi Pascal:Latihan:More Information