Anda di halaman 1dari 13

MODUL P5

PEMROGRAMAN TERSTRUKTUR
Oleh : Hery Purwanto

Matakuliah : Praktikum Pemrograman Komputer


Jurusan : Fisika
Fakultas : Matematika dan Ilmu Pengetahuan Alam
Tujuan :
 Mahasiswa dapat menerapkan struktur pengulangan pada Matlab
 Mahasiswa dapat menerapkan struktur pemilihan pada matlab
 Mahasiswa dapat menggunakan logika matematika untuk menentukan suatu kondisi
dalam pemrograman.
A. Struktur Pemilihan
Pada contoh dan latihan pembuatan program dengan M-file, semua perintah
dilaksanakan secara runtut dari awal hingga akhir. Program seperti itu dikenal dengan
struktur linier. Tidak jarang dalam sebuah program terdapat perintah atau rangkaian
perintah yang hanya dilaksanakan dalam kondisi tertentu. Apabila suatu kondisi
tertentu dipenuhi (secara logika benar) maka perintah (rangkaian perintah) tertentu
harus dilaksanakan. Kondisi tersebut dapat satu atau lebih, yang masing-masing terkait
dengan perintah atau rangkaian perintah yang berbeda. Oleh karena struktur tersebut
dikenal dengan struktur pemilihan, yaitu memilih perintah atau rangkaian perintah
sesuai dengan kondisi.
Struktur Pemilihan pada Mathlab antara lain adalah :
1. Struktur if…end
2. Struktur if…else…end
3. Struktur if…elseif…else…end
4. Struktur switch…case…otherwise….end

1. Struktur if…end
Merupakan struktur kondisional yang paling sederhana. Apabila kondisi dipenuhi,
perintah (rangkaian perintah) dilaksanakan, jika tidak maka langsung pada perintah
berikutnya. Struktur ini memiliki sintaks dan diagram alir seperti berikut :

Contoh P5.1
Program menentukan isi kubus jika memang benda yang akan dihitung isinya berbentuk
kubus. Jika bukan kubus tidak diproses.
Analisa :
Untuk menhitung isi kubus diperlukan nilai sisi dari kubus tersebut. Kriteria untuk
melaksanakan perintah itu adalah jika bentuk benda adalah kubus. sebelum meminta
oleh karena itu sebelum meminta data, perlu ditanyakan pada pengguna apakah benda
berbentuk kubus atau bukan. Jika ya, baru diminta masukan tentang sisi, kemudian
dihitung sisi dan ditampilkan hasilnya.
Algoritma :
1. Mulai
2. Baca masukan tentang bentuk benda
3. Cek benarkah bentuk benda berupa kubus.
Jika benar :
a. Baca panjang sisi
b. Hitung sisi kubus
c. Laporkan hasilnya
4. Selesai

Skrip program
1. %Program menghitung isi
kubus
2. % Menanyakan apakah benda
berbentuk kubus?
3. kubus = input('Benda berbentuk
kubus? Y/T : ','s');
4. % Menilai kondisi apakah benar
jawaban 'Y' (ya, berbentuk kubus)
5. if kubus == 'Y'
6. % Perintah-perintah ini
dilaksanakan hanya jika kondisi benar (kubus = 'Y')
7. Sisi = input('Panjang sisi (cm) : ');
8. Isi = Sisi^3;
9. disp(['Isi kubus ',num2str(Isi),' cm^3']);
10. end

 Laksanakan program Contoh_P5_1. Berikan input Y, kemudian y dan huruf yang


lain. Apa yang terjadi?
 Perbaiki program tersebut sehingga dapat menerima masukan huruf y.

Contoh P5.2
Program simulasi untuk mengendalikan alat. Jika suhu lebih dari 100 oC, alat harus
dimatikan. Pada sistem kendali otomatis, informasi suhu dibaca oleh program dari
sensor suhu yang dipasang pada alat tersebut. Jika suhu yang terbaca lebih dari 100 oC,
program memerintahkan sistem untuk mematikan alat pemanas. Dalam program
simulasi ini informasi suhu diketikkan oleh pengguna, dan respon berupa pesan untuk
mematikan alat yang ditampilkan di layar.
Analisa :
Ini adalah program untuk menampilkan pesan di layar agar mematikan alat. Kriteria
untuk menampilkan pesan itu adalah jika suhu yang dibaca lebih dari 100oC. Langkah
pertama adalah meminta pengguna untuk memasukkan nilai suhu. Kemudian dicek, jika
suhu sesuai dengan kriteri, pesan disampaikan.
Algoritma :
1. Mulai
2. Baca suhu
3. Cek apakah suhu lebih dari 100 oC. Jika benar :
a. Tulis pesan bahwa suhu alat lebih dari 100 oC
b. Tulis pesan agar alat segera dimatikan
4. Selesai
Skrip program
1. %Program mematikan alat jika suhunya lebih
dari 100 derajad Celsius
2. % Membaca suhu yang diketikkan oleh
pengguna
3. suhu = input('Suhu pada alat (derajad celsius): ');
4. % Menilai kondisi apakah benar suhu lebih dari 100 derajad?
5. if suhu > 100
6. % Perintah-perintah ini dilaksanakan hanya jika kondisi benar (suhu > 100)
7. disp('Suhu alat lebih dari 100 derajad Celsius');
8. disp('Segera matikan alat tersebut');
9. end

2. Struktur if…else…end
Struktur ini memiliki dua alternatif kondisi, yaitu jika kondisi benar maka dilakukan
rangkaian perintah sesuai dengan kondisi tersebut. Jika kondisi salah dilakukan
rangkaian perintah yang lain.
Struktur ini memiliki sintaks dan diagram alir seperti berikut :

Contoh P5.3
Seperti pada contohP5.1 hanya saja apabila teridentifikasi bahwa bentuk benda bukan
kubus dikeluarkan pesan tidak dapat menghitung isi karena bentuk benda bukan kubus.
Algoritma :
1. Mulai
2. Baca masukan tentang bentuk benda
3. Cek benarkah bentuk benda berupa
kubus.
Jika benar :
a. Baca panjang sisi
b. Hitung sisi kubus
c. Laporkan hasilnya
Jika salah :
Laporkan bahwa isi tidak
dapat dihitung karena
bentuknya bukan kubus
4. Selesai

Skrip program
Ubahlah skrip program Contoh_P5_1.m dengan menyisipkan perintah berikut pada
baris akhir sebelum ‘end’, kemudian simpan sebagai (Save As) Contoh_P5_3.
else
disp('Isi tidak dapat dihitung karena bentuk benda buka kubus');

Contoh P5.4
Ketika suku cadang dibuat oleh pabrik, ukurannya dinyatakan dengan toleransi
tertentu. Misalnya panjang suku cadang dinyatakan dengan 5,4 cm dengan toleransi 0.1
cm (5.4 + 0.1 cm). Buatlah program untuk membaca panjang suku cadang, kemudian
memilah apakah suku cadang tersebut memenuhi standar atau tidak.
Analisa :
Suku cadang tersebut memenuhi standar apabila memiliki variasi panjang dari 5.3 cm
sampai dengan 5.5 cm (5.3 cm < panjang < 5.5 cm). Setelah panjang dibaca, dicek
apakah sesuai dengan kriteria atau tidak. Kemudian dilaporkan hasilnya.
Algoritma :
1. Mulai
2. Baca panjang suku cadang
3. Cek apakah 5.3 cm < panjang < 5.5 cm
Jika benar :
Laporkan bahwa suku cadang tersebut memenuhi standar
Jika tidak :
Laporkan bahwa suku cadang tersebut tidak memenuhi standar
4. Selesai
Diagram alir :

Skrip Program :
1. % Program untuk memilah suku cadang
2. % Membaca panjang suku cadang
3. Panjang = input('Panjang suku cadang (cm) : ');
4. if (Panjang >= 5.3 && Panjang <= 5.5) % Kondisi sesuai kriteria
5. disp('Suku cadang sesuai standar');
6. else
7. disp('Suku cadang tidak sesuai standar');
8. end

3. Struktur if…elseif…else…end
Struktur ini digunakan apabila berhadapan dengan lebih dari dua alternatif kondisi.
Contoh P5.5
Program untuk menentukan isi benda, yang mana benda tersebut kemungkinan berbentuk
bola, kubus, persegi panjang, atau silinder.
Analisis :
Langkah pertama program tersebut harus dapat membaca informasi tentang bentuk benda.
Informasi tersebut kemudian dicocokkan dengan kemungkinan bentuk benda yang ada.
Apabila cocok, dijalankan rangkaian perintah untuk membaca informasi tentang ukuran
sesuai dengan bentuk benda, menghitung isinya, dan menampilkan hasilnya.
Algoritma :
1. Mulai
2. Tampilkan pilihan bentuk benda : 1. Bola, 2. Kubus, 3. Persegi panjang, 4. Silinder
3. Baca pilihan bentuk benda
1. Jika pilihan 1, lakukan
3.1. Baca jari-jari r
3.2. Hitung Isi = 4pr3/3
3.3. Laporkan Isi bola
2. Jika pilihan 2, lakukan
4.1. Baca sisi kubus s
4.2. Hitung Isi = s3
4.3. Laporkan Isi kubus
3. Jika pilihan 3, lakukan
5.1. Baca panjang P, lebar L dan tinggi T
5.2. Hitung Isi = PxLxT
5.3. Laporkan Isi persegi panjang
4. Jika pilihan 4, lakukan
6.1. Baca jari-jari r, panjang L
6.2. Hitung Isi = pr2xL
6.3. Laporkan Isi silinder
5. Jika pilihan bukan 1,2,3 atau 4
Tulis : “Pilihan tidak sesuai”
6. Selesai
Diagram Alir :

Skrip program dalam M-file


1. % Struktur if..elseif..else
2. % Menghitung isi benda dengan empat kemungkinan bentuk
3. % Menampilkan pilihan bentuk bola, input berupa data numerik
4. disp('Isikan angkanya : 1 Bola 2. Kubus 3. persegi_panjang 4. Silinder')
5. % Membaca bentuk bola
6. Pilihan = input(‘Pilih bentuk benda (1/2/3/4): ');
7. %Pernyataan kondisi 1 (jika benda berbentuk bola)
8. if Pilihan == 1
9. r = input('jari-jari (cm) : '); % Membaca panjang jari-jari
10. Isi = 4*pi*r^3/3; % Menghitung isi bola
11. disp(['Isi bola berjari-jari ',num2str(r),' cm adalah : ',num2str(Isi),' cc']);
12. elseif Pilihan == 2
13. s = input('panjang sisi (cm) : '); % Membaca panjang sisi kubus
14. Isi = s^3; % Menghitung isi kubus
15. disp(['Isi kubus dengan sisi ',num2str(s),' cm adalah : ', num2str(Isi),' cc']);
16. elseif Pilihan == 3
17. P = input('Panjang (cm) : '); % Membaca panjang
18. L = input('Lebar (cm) : ');
19. T = input('Tinggi (cm) : ');
20. Isi = P*L*T; % Menghitung isi persegi panjang
21. disp(['Isi kotak Anda adalah : ',num2str(Isi),' cc']);
22. elseif Pilihan == 4
23. r = input('jari-jari (cm) : '); % Membaca panjang jari-jari
24. t = intput('tinggi (cm) : ');
25. Isi = pi*r^2*t; % Menghitung isi sinlinder
26. disp(['Isi silinder Anda adalah : ',num2str(Isi),' cc'])
27. else
28. disp('Anda tidak memberikan pilihan bentuk benda yang ada')
29. End
30. %Akhir program

4. Struktur switch…case…otherwise….end
Struktur ini digunakan jika berhadapan dengan lebih dari dua alternatif pilihan nilai
variabel.
Sintaks dari struktur ini adalah sebagai berikut :

Contoh P5-6
Berikut ini adalah contoh skrip program untuk contoh P5-5 dinyatakan dalam struktur
switch…case . Perhatikan apa bedanya dengan struktur if …elseif… !

Skrip program
1. % Struktur switch...case...otherwise...end
2. % Menghitung isi benda dengan empat kemungkinan bentuk
3. % Menampilkan keterangan bentu bola
4. disp('Isikan angkanya : 1 Bola 2. Kubus 3. persegi_panjang 4. Silinder')
5. % Membaca bentuk bola
6. bentuk = input('bentuk benda : ');
7. switch bentuk
8. case 1 % jika benda berbentuk bola
9. r = input('jari-jari (cm) : '); % Membaca panjang jari-jari
10. Isi = 4*pi*r^3/3; % Menghitung isi bola
11. disp(['Isi bola berjari-jari ',num2str(r),' cm adalah : ',num2str(Isi),' cc']);
12. case 2 % Jika benda berbentuk kubus
13. s = input('panjang sisi (cm) : '); % Membaca panjang sisi kubus
14. Isi = s^3; % Menghitung isi bola
15. disp(['Isi kubus dengan sisi ',num2str(s),' cm adalah : ',num2str(Isi),' cc']);
16. case 3 % Jika benda berbentuk kotak
17. P = input('Panjang (cm) : '); % Membaca panjang
18. L = input('Lebar (cm) : ');
19. T = input('Tinggi (cm) : ');
20. Isi = P*L*T; % Menghitung isi
21. disp(['Isi kotak Anda adalah : ',num2str(Isi),' cc']);
22. case 4
23. r = input('jari-jari (cm) : '); % Membaca panjang jari-jari
24. t = input('tinggi (cm) : ');
25. Isi = pi*r^2*t; % Menghitung isi bola
26. disp(['Isi silinder Anda adalah : ',num2str(Isi),' cc'])
27. Otherwise
28. disp('Anda tidak memberikan pilihan bentuk benda yang ada')
29. End %switch..case
30. %Akhir program
B. Struktur Pengulangan
Struktur pengulangan digunakan untuk melaksanakan program atau bagian program
secara berulang-ulang. Struktur pengulangan di dalam Matlab meliputi struktur :
1. for….end
2. While …end

1. Struktur for … end


Struktur ini digunakan jika pengulangan dilakukan dalam jumlah tertentu yang sudah
diketahui. Sintak dari struktur for … end adalah sebagai berikut :

Contoh P5.7
Menghitung isi total N buah bola dengan jari-jari sesuai hasil pengukuran.
Analisis :
Pertama kali yang perlu diketahui adalah jumlah bola, N. Isi setiap bola adalah V =
(4pr^3)/3. Oleh karena perlu nilai jari-jari bola, r. Jari-jari bola r dibaca sebanyak N kali,
setiap kali r dibaca langsung dihitung isinya dan ditambahkan ke variabel yang
menampung jumlah isi. Karena variabel yang menampung jumlah isi harus dikenali
sejak awal perhitungan, perlu ditetapkan nilai awal untuk varibel tersebut sebelum
perhitungan dimulai.
Algoritma :
Kode Semu Diagram Alir
1. Mulai
2. Baca jumlah bola N
3. Jml_ = 0 {Inisiasi nilai jumlah volume}
4. Untuk Bola 1 … N
1. Baca r
2. Jml_V= Jml_V + (4pr^3)/3
5. Laporkan Jml_V
6. Selesai

Skrip program :

2. Struktur while … end


Struktur while … end digunakan jika jumlah pengulangan tidak diketahui dengan pasti,
tetapi diketahui syarat/kondisi yang apabila dipenuhi suatu rangkaian perintah akan
tetap dijalankan.
Sintaks dari struktur ini adalah :
Contoh P5.8
Menghitung jumlah volume kubus seperti pada contoh P5-7. Hanya saja jumlah kubus
yang dihitung, jumlahnya tidak diketahui sebelumnya (perhitungan selesai setelah
semua bola dihitung).
Analisis :
Dalam hal ini perlu ditetapkan kondisi untuk menghitung lagi atau tidak. Jika masih ada
bola yang belum dihitung, maka kondisi ‘Hitung lagi’ harus direspon benar (Ya),
sehingga proses perhitungan diulang algi. Jika bola habis, kondisi ‘menghitung lagi’
direspon ‘Tidak’ sehingga perhitungan selesai.
Algoritma :
1. Mulai
2. Jml_V = 0 {Inisiasi nilai jumlah volume}
3. Hitung == Ya {Inisiasi nilai hitung lagi/tidak}
4. Ulangi selagi Hitung == Ya
1. Baca r
2. Jml_V= Jml_V + (4pr^3)/3
3. Baca : Hitung (Ya/Tidak)
5. Laporkan Jml_V
6. Selesai

Skrip program :
1. %Menghitung jumlah volume X buah bola
2. Jml_V=0;
3. Hitung = 1;
4. while Hitung == 1
5. r=input(['Jari-jari bola (cm) : ']);
6. Jml_V=Jml_V + (4*pi*r^3)/3;
7. Hitung=input('Hitung lagi? (ketik 1 jika Ya; ketik 2 jika Tidak): ');
8. end
9. disp(['Volume total bola ',num2str(Jml_V), 'cc'])
10. %Akhir program

Dari contoh-contoh di atas buatlah ringkasan dengan komentar/pertanyaan terkait apa


yang telah Anda kerjakan dalam contoh-contoh tersebut.

Anda mungkin juga menyukai