Jumat, 19 Desember 2014

MODUL ALGORITMA DAN PEMROGRA



MODUL ALGORITMA DAN PEMROGRAMAN

Penyeleksian Kondisi



DISUSUN OLEH
1.        Devi Tri Widyanti                (4611414014)
2.        Aruman                                (4611414029)
3.        Hendi Susanto                      (4611414043)



PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS NEGERI SEMARANG
2014
Tujuan
·      Mahasiswa dapat menyelesaikan suatu problematika dengan menggunakan suatu pengkondisian.
·      Mahasiswa dapat mengimplementasikan algoritma penyeleksian kondisi dalam program.

Materi
Pada umumnya satu permasalahan yang komplek memerlukan suatu penyelesaian kondisi. Dengan menyeleksi suatu kondisi, maka selanjutnya dapat ditentukan tindakan apa yang harus dilakukan, tergantung pada hasil kondisi penyeleksian. Jadi suatu aksi hanya dikerjakan apabila persyaratan atau kondisi tertentu terpenuhi.
Misalnya terdapat suatu masalah dengan beberapa kasus. Dalam pemecahannya, harus dianalisis solusi apa saja yang mungkin. Dengan demikian terdapat pemilihan instruksi atau penyeleksian kondisi didalam algoritma, dan salah satu metode penyeleksian kondisi adalah dengan menggunakan perintah IF.
Penggunaan perintah IF dapat dilakukan untuk beberapa tingkat penyeleksian kondisi yaitu penyeleksian kondisi dengan satu kasus, penyeleksian kondisi dengan dua kasus, dan penyeleksian kondisi dengan tiga kasus (tersarang).

*   Penyeleksian kondisi dengan satu kasus
Notasi algoritma untuk penyeleksian kondisi dengan satu kasus adalah dengan menggunakan perintah IF ..THEN .. ENDIF, dengan struktur sebagai berikut :

Kondisi akan diseleksi oleh statement IF, apabila kondisi bernilai benar (true): aksisesudahkata THEN(dapat berupa satu atau lebih aksi) akan diproses, namun apabila kondisi bernilai salah (false): tidak ada aksi apapun yang akan dikerjakan.Kata ENDIF dituliskan untuk mempertegas awal dan akhir dari perintah IF .. THEN.


Contoh 1 :
Susun algoritma yang membaca suatu bilangan bulat berdasarkan input data, lalu menampilkan atau mencetak kata “genap” apabila bilangan yang diinputkan tersebut adalah bilangan genap.
Jawab :
Bilangan genap adalah adalah bilangan yang habis dibagi 2 (sisa pembagian = 0). Oleh karena itu data input harus dibagi dengan 2. Jika data input habis dibagi 2, maka akan ditampikan bilangan genap.

 
















Contoh 2 :
Susun algoritma yang membaca suatu karakter, kemudian munculkan pesan “Huruf Hidup”, jika karakter yang diinput merupakan salah satu dari huruf vokal.
Jawab :
Terdapat lima buah huruf vocal, yaitu a, i, u, e, o. Bandingkan karakter yang diinput dengan kelima karakter tersebut. Jika data input sama dengan huruf vocal, maka tampilkan bahwa karakter tersebut adalah “Huruf Hidup”.




Program Huruf_Vokal
{mencetak pesan ‘Huruf Hidup’ jika data input merupakan huruf vokal}
DEKLARASI
            char : c
ALGORITMA
            read (c)
            if (c=’a’) or (c=’i’) or (c=’u’) or (c=’e’) or (c=’o’) then
                        write (‘Huruf Hidup’)
            endif


 
 














*   Penyeleksian kondisi dengan dua kasus
Notasi algoritma untuk penyeleksian kondisi dengan dua kasus adalah dengan menggunakan perintah IF ..THEN ..ELSE .. ENDIF, dengan struktur sebagai berikut :
Text Box: IF<kondisi>THEN
  <aksi 1>
 ELSE
  <aksi 2>
ENDIF
 








Dalam struktur IF .. THEN .. ELSE, aksi1 akan dilaksanakan jika kondisi bernilai benar (true), jika kondisi bernilai salah (false) maka aksi2 yang akan dilaksanakan, sedangkan statement else menyatakan ingkaran (negation) dari kondisi.

Contoh 1 :
Susun algoritma yang membaca suatu bilangan bulat berdasarkan input data, lalu tampilkan pesan ”Bilangan Genap” jika bilangan tersbut genap, atau ”Bilangan Ganjil” jika bilangan tersebut adalah bilangan ganjil.
Jawab :
Bilangan genap adalah bilangan yang habis dibagi 2 (sisa pembagian = 0). Bilangan ganjil adalah bilangan yang tidak habis dibagi 2. Oleh karena itu data input harus dibagi dengan 2. Jika data input habis dibagi 2, maka akan ditampikan ”Bilangan Genap", jika tidak maka tampilkan ”Bilangan Ganjil”.

 


















Contoh 2 :
Susun algoritma yang membaca dua bilangan bulat, kemudian tentukan bilangan terbesar dari dua bilangan tersebut.


*   Penyeleksian kondisi dengan tiga kasus (tersarang)
Notasi algoritmik untuk analisis penyeleksian tiga kasus atau lebih (tersarang) menggunakan struktur IF-THEN-ELSE, sebagaimana halnya pada masalah dengan dua kasus.
IF<kondisi 1>THEN
                        <aksi 1>
            ELSE
                        IF <kondisi 2> THEN
<aksi 2>
                        ELSE
                                    <aksi 3>
ENDIF
            ENDIF
 
 














Contoh 1 :
Susun algoritma untuk menentukan wujud air pada suhu-suhu tertentu
Jawab :
Wujud air pada suhu tertentu adalah padat, cair dan gas. Misal T adalah suhu antara 0 sampai dengan 100 pada satuan derajat celcius, maka :
·      Pada T ≤ 0, air berwujud padat,
·      Pada 0 < T < 100 , air berwujud cair,
·     


Pada T ≥ 100, air berwujud gas.


*   Struktur CASE
Struktur CASE dapat digunakan untuk menganalisis penyeleksian dua kasus atau lebih dan bentuknya adalah lebih sederhana daripada struktur IF-THEN-ELSE yang memiliki bentuk bertingkat-tingkat.
CASE (nama)
            (kondisi 1)      : aksi 1
            (kondisi 2)      : aksi 2
            (kondisi 3)      : aksi 3
            ........                : ...
            (kondisi N)     : aksi N
ENDCASE



If (kondisi 1) then
                        (aksi 1)
else
                        If (kondisi 2) then
                                                (aksi 2)
                        Else
                                                If (kondisi 3) then
                                                                        (aksi 3)
                                                                        ......
                                                                        ......
                                                                        ......
                                                                        If ( kondisi N) then
                                                                                                (aksi N)
                                                                        Else { otherwise }
                                                                                                (aksi Z)
                                                                        Endif
                                                Endif
                        Endif
Endif

                       
 
Struktur CASE menggantikan analisis kasus yang ekivalen dengan struktur IF-THEN ELSE berikut ini:



















Contoh: Algoritma menentukan nama bulan berdasarkan pada nomor bulannya.

Tidak semua bahasa pemrograman menyediakan struktur CASE (misalnya Bahasa Fortran). Bahasa Pascal dan C menyediakan struktur ini. Jika bahasa pemrograman tidak menyediakan struktur CASE, maka struktur CASE dapat diganti dengan struktur IF-THEN-ELSE yang ekivalen.












·         Contoh Program menggunakan IF
Text Box: Program TentukanLulus;
 Uses Crt;
Label Mulai;
Var
NamaSis : String[35];
Nilai : Real;
Ket, Pesan : String[35];
Jawab : Char;
Begin
Mulai :
ClrScr;
Write('Nama Siswa : ');Readln(NamaSis);
Write('Nilai Angka : ');Readln(Nilai);
If (Nilai >= 60) Then
Begin
Ket := 'Anda Lulus';
Pesan := ' SELAMAT, PERTAHANKAN TERUS !';
End
Else
Begin
Ket := 'Anda Tidak Lulus';
Pesan := ' TINGKATKAN BELAJARNYA!';
 End;
Writeln;
Writeln('Hasil : ');
Writeln(Ket,Pesan);
Writeln;
Write('Mau mencoba lagi [Y/T] ? ');Readln(jawab);
If (Jawab = 'Y') or (Jawab = 'y') Then
Goto mulai
End.
·         Contoh Program menggunakan CASE
Text Box: Program TekanTombol;
Uses Crt;
Label
Mulai;
Var
Tombol, Jawab : Char;
Begin
Mulai:
ClrScr;
Writeln('PROGRAM TENTUKAN TOMBOL');
Writeln('-----------------------');
Write('Tekan Sembarang TOMBOL : '); Readln(Tombol);
Case Tombol Of
'a'..'z','A'..'Z' : 
Begin
Writeln('Anda menekan tombol ',Tombol);
Writeln('Tombol ',Tombol,' Termasuk HURUF');
End;

'0'..'9' : 
Begin
Writeln('Anda menekan tombol ',Tombol);
Writeln('Tombol ',Tombol,' Termasuk ANGKA');
End;
Else
Begin
Writeln('Anda menekan tombol ',Tombol);
Writeln('Tombol',Tombol,'Bukan HURUF/ANGKA');
End;
End;
Write('Mau mencoba lagi [Y/T] ? ');Readln(jawab);
If (Jawab = 'Y') or (Jawab = 'y') Then
Goto mulai
End.
Daftar pustaka
·         Jogiyanto HM [1989]. Turbo Pascal, Yogyakarta: AndiOffset
·         Noor Ifada [2005]. Diktat Matakuliah Algoritma Pemrograman (Hibah Kompetisi A1), Bangkalan:Jurusan Teknik Informatika, Universitas Trunojoyo.
·         Rinaldi Munir [2003]. Algoritma dan Pemrograman dengan Pascal dan C edisi Kedua, Bandung: Informatika.
·         Harahap, Erwin (2006). Algoritma & Pemrograman, materi perkuliahan, Jurusan Statistika, Universitas Islam Bandung, Bandung.
·         Munir, Rinaldi. (2006). Algoritma dan Pemrograman, Edisi ke-3, Penerbit Informatika, Bandung.


Tidak ada komentar:

Posting Komentar