dirppan23.files.wordpress.com · web viewlaporan praktikum algoritma dan struktur data modul iii...

22
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

Upload: others

Post on 04-Feb-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

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. Dasar Teori

2. Praktek

3. Tugas

4. Kesimpulan

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

{

}

Keterangan :

Pernyataan sesudah kata THEN (dapat berupa satu atau lebih pernyataan) hanya akan dilaksanakan bila bernilai benar (true). Bila 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)

{

}

Else

{

}

Keterangan :

Pernyataan_true akan dilaksanakan jika 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)

Else

If (kondisi_2)

Else

If (kondisi_3)

Else

-

-

-

If (kondisi_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 SWITCH-CASE. Statement SWITCH-CASE merupakan statement yang dimanfaatkan untuk menentukan pilihan dari sejumlah pilihan yang terlibat. Bentuk umum algoritma untuk instruksi SWITCH-CASE :

Switch

Case :

Case :

. . .

Case :

{ 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

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

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

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

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

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

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 (jika-maka-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.