laporan praktikum algoritma dan struktur data

advertisement
LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR
DATA
MODUL III
Nama
:Dede Irpan
Nim
:2011110240
Prodi
:Tekhnik Informatika
LABORATORIUM KOMPUTER
FAKULTAS ILMU KOMPUTER(FKOM)
UNIVERSITAS KUNINGAN
2011
ISI :
1.
2.
3.
4.
5.
Dasar Teori
Praktek
Tugas
Kesimpulan
Lampiran
STRUKTUR PEMILIHAN (CONDITION)
1. Dasar Teori
Struktur pemilihan (pengkondisian) mempunyai beberapa instruksi antara
lain sebagai berikut :
1. Intruksi IF-THEN
a. IF sederhana
b. IF-THEN-ELSE
c. IF bertingkat (bersarang)
2. Instruksi SWITCH-CASE
Instruksi IF-THEN
1. IF Sederhana
Pemilihan suatu pernyataan dieksekusi hanya jika suatu kondisi
terpenuhi atau tidak terpenuhi. Pernyataan IF-THEN (jika-maka)
digunakan untuk menguji sebuah kondisi. Bila kondisi yang diuji
terpenuhi, maka program akan menjalankan pernyataan-pernyataan
tertentu. Bentuk umum IF-THEN adalah :
If (kondisi)
{
<pernyataan>
}
Keterangan :
Pernyataan sesudah kata THEN (dapat berupa satu atau lebih
pernyataan) hanya akan dilaksanakan bila <kondisi> bernilai benar
(true). Bila <kondisi> bernilai salah (false),tidak ada aksi yang
dilaksanakan.
2. IF-THEN-ELSE
Pernyataan struktur IF-THEN-ELSE (jika-maka-kalau tidak) untuk
menguji dua kondisi yaituyang terpenuhi atau tidak terpenuhi. Bentuk
umum struktur IF-THEN-ELSE adalah sebagai berikut :
If (kondisi)
{
<pernyataan_true>
}
Else
{
<pernyataan_false>
}
Keterangan :
Pernyataan_true akan dilaksanakan jika <kondisi> bernilai benar,
tetapi jika kondisi bernilai salah, maka else yang dinyatakan ingkaran
(negation) dari kondisi akan melaksanakan pernyataan_false.
3. IF bertingkat
Pernyataan IF-THEN-ELSE bertingkat digunakan untuk menguji
sebuah kondisi lebih dari dua kondisi yaitu satu kondisi terpenuhi dan
lebih dari satu kondisi yang tidak terpenuhi. Bentuk umum pernyataan
IF-THEN-ELSE bertingkat adalah sebagai berikut :
If (kondisi_1)
<pernyataan_1>
Else
If (kondisi_2)
<pernyataan_2>
Else
If (kondisi_3)
<pernyataan_3)
Else
If (kondisi_n)
<pernyataan_n>
Keterangan :
Pernyataan IF-THEN-ELSE bertingkat (bersarang) atau IF di dalam IF
digunakan untuk menguji sebuah kondisi lebih dari dua kondisi dalam
bentuk bertingkat atau bersarang.
Instruksi SWITCH-CASE
Pemilihan proses menggunakan instruksi IF selalu didasarkan pada dua
pilihan yg bisa terjadi. Dengan demikian untuk mengetes lebih dari dua
pilihan harus digunakan sejumlah intruksi IF jika terlihat pada bentuk
umum instruksi IF untuk pilihan jamak. Pemilihan proses untuk
sejumlah pilihan kondisi bisa dilaksanakan dengan instruksi SWITCHCASE. Statement SWITCH-CASE merupakan statement yang
dimanfaatkan untuk menentukan pilihan dari sejumlah pilihan yang
terlibat. Bentuk umum algoritma untuk instruksi SWITCH-CASE :
Switch <pilihan>
Case <pilihan_1> : <aksi_1>
Case <pilihan_2> : <aksi_2>
. . .
Case <pilihan_n> : <aksi_n>
{ otherwise aksi }
Endcase
Keterangan :
Pilihan_1, pilihan_2, dst mempunyai nilai kebenaran. Setiap pilihan
diperiksa nilai kebenarannya,mulai dari pilihan pertama sampai
ditemukannya pilihan yang bernilai benar.
Aksi yang dipasangkan dengan aksi ke-i dapat berupa satu baris
intstruksi atau blok instruksi. Apabila tidak ada satupun pilihan yang
bernilai benar, maka aksi sesudah otherwise dikerjakan. Dalam bahasa
C/C++, otherwise diganti dengan kata kunci default.
Pengguanaan SWITCH-CASE dalam bahasa C/C++ sebagai berikut :
Switch (kondisi)
{
Case konstanta_1 : {statement-statement; break;}
Case konstanta_2 : {statement-statement; break;}
. . . . . . . . . .
Default : {statement-statement; break;}
}
2. Praktek
Praktek 1 : penggunaan struktur IF-THEN
Menuliskan algoritma dan mengimplementasikan kedalam bahasa
C/C++ dari permasalahan untuk mengetahui apakah sebuah bilangan
bulat yang dimasukan merupakan bilangan genap atau bukan?
Algoritma:
Algoritma bilangan_genap
{ mencetak pesan “bilangan Genap”,jika sebuah bil. Bulat yang dibaca
dari keybaoard merupakan bilangan genap}
Kamus (deklarasi)
Bil : integer
Algoritma (deskripsi)
Input ( Bil )
If ( bil mod 2 = 0 ) then
Output ( “ Bilangan Genap”)
endif
Bahasa C/C++ :
/* program bilangan_genap */
/* mencetak pesan “Bilangan Genap” jika sebuah bilangan bulat yang
dibaca dari piranti masukan merupakan bilangan Genap */
#include <stdio.h>
Main ( )
{
Int Bil;
Printf (“masukan bilangan bulat : “);
Scanf (“%d”, &Bil);
If (Bil & 2 == 0);
Printf (“Bilangan bulat”);
}
1. perhatikan pengimplementasian ke bahasa C++ dari algoritma
tersebut.
2. Analisa bentuk penulisan untuk struktur IF-THEN tersebut.
 Run :
Praktek 2 : penggunaan struktur IF-THEN-ELSE
Dibaca dua buah bilangan bulat dari piranti masukan. Tentukan dari
kedua bilangan itu yang terbesar, misalkan misalkan kedua bilangan
adalah A dan B.
Analisis :
Kasus A > B → Bilangan terbesar adalah A
Kasus B ≥ A → Bilangan terbesar adalah B
Algoritma :
Algoritma Cari_Max
{ Menentukan bilangan terbesar dari dua buah bilangan bulat }
Kamus (Deklarasi)
A, B : integer
Bahasa C/C++ :
/* PROGRAM CARI_MAX*/
/* Menentukan bilangan terbesar dari dua buah bilangan bulat */
#include <stdio.h>
main()
{
int A, B;
printf(“A = “); scanf(“%d”, &A);
printf(“B = “); scanf(“%d”, &B);
if (A > B)
printf(“Bilangan terbesar adalah %d”, A);
else
printf(“Bilangan terbesar adalah %d”, B);
}
Run :
Praktek 3 : penggunaan struktur IF-THEN-ELSE bertingkat
Pengelompokan nilai bertingkat dengan ketentuan :
jika nilai angka>=90,maka nilai huruf = A, jika nilai angka>=70, maka nilai
huruf = B, jika nilai angka>=50, maka nilai huruf = C, jika angka <50, maka
nilai huruf = E.
Algoritma Nilai
{ Menentukan nilai yang sesuai dengan kriteria }
Kamus (Deklarasi)
grade : integer
Algoritma (Deskripsi)
input (grade)
If (grade >= 90) then
output (“nilai = A”)
else
if (grade >= 70) then
output (“Nilai = B”)
else
if (grade >= 50) then
output (“Nilai = C”)
else
if (grade < 50) then
output (“Nilai = E”)
endif
endif
endif
endif
Bahasa C/C++ :
/* PROGRAM NILAI */
/* Menentukan nilai yang sesuai dengan kriteria */
#include<stdio.h>
main( )
{
int grade;
printf("Masukan nilai [10 - 100] : ");
scanf("%d", &grade);
if (grade>= 90)
printf("Nilai = A");
else
if (grade >= 70)
printf("Nilai = B");
else
if (grade >= 50)
printf("Nilai = C");
else
if (grade < 50)
printf("Nilai = E");
}
Run :
Praktek 4 :
Dibaca nomor bulan (integer). Tuliskan nama bulan seuai dengan nomor
bulannya. Misalnya jika bulan 8, maka akan tercetak agustus. Masalah ini
memiliki 12 buah kasus karena nama bulan berbeda-beda tergantung pada
nomor bulan yang diberikan (ada 12 bulan dalam kalender masehi).
Algoritma :
Algoritma Nama_Bulan
{ mencetak nama-nama sesuai dengan nomor bulan }
Kamus (deklarasi)
No Bulan : integer
Algoritma (deskripsi)
Input (no Bulan)
Switch
Case 1 : output (“januari”)
Case 2 : output (“februari”)
Case 3 : output (“maret”)
Case 4 : output (“april”)
Case 5 : output (“mei”)
Case 6 : output (“juni”)
Case 7 : output (“juli”)
Case 8 : output (“agustus”)
Case 9 : output (“September”)
Case 10 : output (“Oktober”)
Case 11 : output (“Nopember”)
Case 12 : output (“Desember”)
Otherwise : output (“Bukan bulan yang benar”)
Endswitch
Bahasa C/C++ :
/* program Nama_Bulan */
/* Mencetak Nama bulan sesuai dengan nomor bulan */
#include <stdio.h>
Main ( )
{
Int NoBulan;
Switch (NoBulan)
{
Case 1 : printf (“januari \n”); break;
Case 2 : printf (“februari \n”); break;
Case 3 : printf (“maret\n”); break;
Case 4 : printf (“april\n”); break;
Case 5 : printf (“mei\n”); break;
Case 6 : printf (“juni\n”); break;
Case 7 : printf (“juli\n”); break;
Case 8 : printf (“agustus\n”); break;
Case 9 : printf (“september\n”); break;
Case 10 : printf (“oktober\n”); break;
Case 11 : printf (“nopember\n”); break;
Case 12 : printf (“desember\n”); break;
Default : printf (“Bukan bulan yang benar”);
}
}
Run :
Praktek 5 :
Tulis kembali praktek diatas (no 4) dengan kata kunci break dihilangkan, lakukan
proses kompilasi dan jalankan programnya!.
Bahasa C/C++ :
/* program Nama_Bulan */
/* Mencetak Nama bulan sesuai dengan nomor bulan */
#include <stdio.h>
Main ( )
{
Int NoBulan;
Switch (NoBulan)
{
Case 1 : printf (“januari \n”);
Case 2 : printf (“februari \n”);
Case 3 : printf (“maret\n”);
Case 4 : printf (“april\n”);
Case 5 : printf (“mei\n”);
Case 6 : printf (“juni\n”);
Case 7 : printf (“juli\n”);
Case 8 : printf (“agustus\n”);
Case 9 : printf (“september\n”);
Case 10 : printf (“oktober\n”);
Case 11 : printf (“nopember\n”);
Case 12 : printf (“desember\n”);
Default : printf (“Bukan bulan yang benar”);
}
}
Compile :
Run :
3. Tugas modul 3 :
1. buatlah algoritma dan implementasikan menjadi program untuk membuat
program konversi dari nilai huruf menjadi nilai angka, dengan ketentuan
masukan nilai huruf (menggunakan instruksi IF dan SWITCH)
 Nilai huruf : A → nilai angka : 4
 Nilai huruf : B → nilai angka : 3
 Nilai huruf : C → nilai angka : 2
 Nilai huruf : D → nilai angka : 1
 Nilai huruf : E → nilai angka : 0
2. Buatlah program untuk suatu menseleksi bilangan dengan ketentuan
sebagai berikut : (menggunakan instruksi IF dan SWITCH)
0<= nilai <30 : nilai Rendah
30<= nilai <60 : nilai Sedang
60<= nilai <= 100 : nilai Tinggi
3. Buatlah kesimpulan praktikum dan tugas praktikum.
Jawab :
1. algoritmanya :
Algoritma nilai
{ menentukan nilai huruf menjadi nilai angka }
Kamus (Deklarasi)
grade : integer
Algoritma (Deskripsi)
input (grade)
if (grade == A) then
output (“Nilai angka = 4”)
else
if (grade == B) then
output (“Nilai angka = 3”)
else
if (grade == C) then
output (“Nilai angka = 2”)
else
if (grade == D) then
output (“Nilai angka = 1”)
else
if (“grade == E) then
output(“Nilai angka = 0”)
endif
endif
endif
endif
endif

Bahasa C/C++ :
#include <stdio.h>
void main()
{
int nilai;
printf("Masukan nilai huruf [A - E] : "); scanf("%s", &nilai);
if (nilai =='A')
printf("Nilai angka : 4\n");
else
if(nilai =='B')
printf("Nilai angka : 3\n");
else
if(nilai =='C')
printf("Nilai angka : 2\n");
else
if(nilai == 'D')
printf("Nilai angka : 1 \n");
else
if(nilai == 'E')
printf("Nilai angka : 0\n");
}

Run :
2. – Sintaks programnya sebagai berikut :
- Compile :
-Run :
4. Kesimpulan
Pernyataan IF-THEN (jika-maka) digunakan untuk menguji sebuah kondisi.
Bila kondisi yang diuji terpenuhi, maka program akan menjalankan
pernyataan-pernyataan tertentu, Pernyataan struktur IF-THEN-ELSE (jikamaka-kalau tidak) untuk menguji dua kondisi yaituyang terpenuhi atau tidak
terpenuhi, Pernyataan IF-THEN-ELSE bertingkat digunakan untuk menguji
sebuah kondisi lebih dari dua kondisi yaitu satu kondisi terpenuhi dan lebih
dari satu kondisi yang tidak terpenuhi.
Download