• Tidak ada hasil yang ditemukan

PENGAMBILAN KEPUTUSAN DENGAN SWITCH 6.1 Pokok Bahasan

6.3 Dasar Teori

Pernyataan swicth

Pernyataan switch merupakan pernyataan yang dirancang khusus untuk menangani pengambilan keputusan yang melibatakan sejumlah alternatif.

Bentuk umum pernyataan switch.

switch (ekspresi) { case konst anta-1: pern yataa n-1 brea k; case konst anta-2: pern yataa n-2

31 brea k; case kons tant a-x: pern yata an-x brea k; default: pernyataan-n }Contoh Program #include <stdio.h> #include <conio.h> main() { char operatore;

double operand1, operand2; clrscr();

puts("Program kalkulator sederhana...\n");

puts("operator yang dapat digunakan adalah : "); puts("* => perkalian\n"); puts("/ => pembagian\n"); puts("+ => penjumlahan\n") ; puts("- => pengurangan\n")

32

;

puts("Contoh Menghitung => 5 / 2 Lalu tekan ENTER");

printf("\nSilahkan Menghitung Angka : "); scanf("%lf %c %lf", &operand1, &operatore, &operand2);

switch (operatore) {

case '*' : printf("Hasil = %.10lg", operand1 * operand2); break; case '/' : printf("Hasil = %.10lg", operand1 /

operand2); break; case '+' : printf("Hasil = %.10lg", operand1 + operand2); break; case '-' : printf("Hasil = %.10lg", operand1 - operand2); break; default : puts("\nPerintah Anda Salah Silahkan Ulangi");

} }

Hasil output dari program di atas :

33 6.4 Hasil Praktikum

6.4.1 Percobaan 1

 Membuat program Menu pilihan proses “RANGKAIAN SERI” Berikut di bawah ini scripnya :

#include<stdio.h> #include<conio.h> #include<stdlib.h> main() { int r1,r2,r3,pilihan,total,max,min,menu; char sembarang; menu: clrscr();

gotoxy(35,6);printf("Menu Pilihan Proses");

gotoxy(20,7);printf("=============================== =================");

gotoxy(20,8);printf("[1] Menentukan R Total Rangkaian Seri");

gotoxy(20,9);printf("[2] Menentukan nilai R Terbesar dan Terkecil");

gotoxy(20,10);printf("[3] Selesai");

gotoxy(20,11);printf("============================== ==================");

gotoxy(20,12);printf("Masukkan Pilihan Anda [1/2/3]="); scanf("%d",&pilihan); switch(pilihan) { case 1: clrscr();

printf("Menentukan R pada rangkaian seri \n"); printf("masukkan R1 :");

scanf("%d",&r1);

printf("masukkan R2 :"); scanf("%d",&r2);

34

printf("masukkan R3 :"); scanf("%d",&r3);

total=r1+r2+r3;

printf("Rtotal =%d \n",total);

printf("Tekan Sembarang Untuk Ke menu :"); scanf("%s",&sembarang); goto menu; case 2: clrscr(); printf("masukkan R1 :"); scanf("%d",&r1); printf("masukkan R2 :"); scanf("%d",&r2); printf("masukkan R3 :"); scanf("%d",&r3); if((r1>=r2)&&(r1>=r3)) max=r1; if((r2>=r1)&&(r2>=r3)) max=r2; if((r3>=r1)&&(r3>=r2)) max=r3;

printf("R terbesar adalah=%d \n",max); if((r1<=r2)&&(r1<=r3)) min=r1; if((r2<=r1)&&(r2<=r3)) min=r2; if((r3<=r2)&&(r3<=r1)) min=r3;

printf("R terkecil adalah=%d \n",min); printf("Tekan Sembarang Untuk Ke menu :"); scanf("%s",&sembarang);

goto menu;

case 3 : _exit(0); break;

35

} }

Dari scrip program di atas , maka akan dihasilkan sebuah output seperti pada gambar di bawah ini :

Gambar 6.2 pilihan proses

Dan selanjutnya saya akan mencontohkan memilih menu pilihan di atas , missal saya akan memilih pilihan nomor 1 , langkahnya kita tinggal memasukan angka 1 lalu tekan enter dan setelah itu saya akan memasukan sebuah angka R1 : 4, R2 : 6, R3 : 3, hasil yang di dapat pada Rtotal=13 . berikut outputnya :

Gambar 6.3 hasil dari Rangkaian seri

Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu untuk mencari hasil dari sebuah rangkaian seri.

36 6.4.2 Percobaan 2

 Membuat program Menu pilihan proses “RANGKAIAN PARALEL” Berikut di bawah ini scripnya :

#include<stdio.h> #include<stdlib.h> #include<conio.h> main(){ float c,d,s,x,y,a,z,r_tot; char pilih; menu: clrscr();

puts("\t\tMenu Pilihan Proses");

puts("=========================================== ===");

puts("[1] Masukan R Total Rangkaian Paralel\n"); puts("[2] Menentukan nilai R Terbesar dan

Terkecil\n"); puts("[3] selesai\n"); puts("=========================================== ==="); printf("Pilihan Anda [ 1 / 2 / 3 ] : "); scanf("%s",&pilih); clrscr(); switch(pilih){ case '1': printf("Masukkan Nilai R1 : "); scanf("%f",&x); printf("Masukkan Nilai R2 : "); scanf("%f",&y); printf("Masukkan Nilai R3 : "); scanf("%f",&a); r_tot=(1/x)+(1/y)+(1/a);

printf("R total Dari Rangkaian Paralel adalah : %.2f\n",r_tot);

37

case '2':

puts("Menentukan nilai R Terbesar dan Terkecil");

z = max(x, y); s = max(z, a); c = min(x, y); d = min(c, a);

printf("Nilai Terbesar adalah : %.0f\n",s);

printf("Nilai Terkecil adalah : %.0f\n",d); break; case '3': goto keluar; break; default:

puts("Maaf Pilihan Yang Anda Masukkan Salah");

printf("Kembali Ke menu sebelumnya [y/t] : "); scanf("%s",&pilih); if(pilih=='y'||pilih=='Y') goto menu; else goto keluar; break; }

printf("Kembali Ke menu sebelumnya [y/t] : "); scanf("%s",&pilih); if(pilih=='y'||pilih=='Y') goto menu; else goto keluar; keluar: clrscr(); printf("Terima Kasih");

38

}

Dari scrip program di atas maka akan dihasilkan tampilan tepatnya seperti pada gambar di bawah ini :

Gambar 6.4 pilihan parallel

Selanjutnya saya akan mencontohkon memilih menu nomer 1 , misalnya saya akan menginputkan sebuah nilai R1: 3, R2: 5, R3: 6 , maka nilai yang dihasilkan dari totalR “0.70” , untuk membuktikan berikut dibawah ini outputnya :

Gambar 6.5 hasil totalR paralel

Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu menghitung total nilai parallel.

39

BAB VII

PERULANGAN

7.1 Pokok Bahasan  Do – while  While  Pernyataan for 7.2 Tujuan

 Mahasiswa mampu mengenal dan mengerti proses pengulangan do while dan for.

 Mahasiswa dapat menggunakan perulangan do – while dan for pada program.

7.3. Dasar Teori

 Do-while

Tahapan proses : mula-mula pernyataan dijalankan dulu, kemudian kondisi di uji, jika kondisi bernilai benar , maka pernyataan dijalankan lagi dan jika nilai salah maka pernyataan tidak dijalankan lagi (dihentikan).

 While

Tahapan proses : dari awal langsung dilakukan tes kondisi jika kondisi bernilai benar maka menjalankan pernyataan dan jika kondisi bernilai salah maka akan keluar dari lop. Jadi pada perulangan menggunakan while memungkinkan sebuah pernyataan tidak dijalankan sama sekali.

Yang membedakan antara perulangan menggunakan do-while dan while,

biasanya adalah pada pernyataan while harus diberikan terlebih dahulu inisialisasi terhadap variabel yang akan dijadikan sebagai kondisi dari while.

 Pernyataan for

Tahapan proses: pernyataan akan dijalankan mulai dari nilai awal

(ungkapan1) dan keluar dari lop jika sudah dengan nilai akhir (ungkapan2). Sintaks :

For (ungkapan1,ungkapan2,ungkapan3) Pernyataan

40

- Ungkapan1 digunakan untuk memberikan inisialisasi terhadap variabel pengendali loop.

- Ungkapan2 digunakan sebagai kondisi keluar loop.

- Ungkapan3 digunakan sebagai pengatur kenaikan nilai ariabel pengendali loop.  Contoh program Program 1 #include <stdio.h> #include <conio.h> main() { int hitung1,hitung2; hitung1 = 0; while (hitung1 < 6) {

printf("Nilai Hitung %d\n",hitung1); hitung1 = hitung1 + 1;

}

hitung2= 6;

while (hitung2 < 15) {

printf("Nilai Hitung %d\n",hitung2); hitung2 = hitung2 + 1;

}

gets(0); return(0); }

Maka dari program di atas akan dihasilkan output seperti dibawah ini :

41

- Program 2

#include <stdio.h> main()

{

int baris, kolom, hasil_tambah; for (baris = 1; baris <= 5; baris++) {

for (kolom = 1; kolom <= 5; kolom++) {

hasil_tambah = baris + kolom; printf (" %2d", hasil_tambah); }

printf("\n"); }

}

Dari contoh scrip program di atas makan akan dihasilkan tampilan berikut di bawah ini :

42 7.4 Hasil Praktikum

7.4.1 Percobaan 1

 Membuat sebuah program seperti output di bawah ini : 1

2 2 3 3 3 4 4 4 4 5 5 5 5 5

Berikut di bawah ini scripnya : #include <stdio.h> main() { int a,b; for(a=1;a<=5;a++){ for(b=1;b<=a;b++){ printf("%d",a);} printf("\n");} }

Maka dari scrip program di atas akan menghasilkan sebuah output si bawah ini :

Gambar 7.3 hasil percobaan 1

Keterangan : Manfaat dari program di atas yaitu mahasiswa dapat menyusun sebuah angka dalam bentuk segitiga siku – siku.

43 7.4.2 Percobaan 2

 Membuat program seperti output di bawah ini : 1

232 34543 4567654 567898765

Keterangan : scrip di bawah ini sengaja saya modifikasi dalam bentuk pencarian segitiga pyramid ,

Berikut di bawah ini scripnya : #include <stdio.h> #include <conio.h> int main() { int a,b,c,tinggi; clrscr();

printf("Masukkan Tinggi Segitiga : "); scanf("%d",&tinggi);

printf("\n\n"); clrscr();

printf("Berikut Tampilan Segitiganya\n"); for(a=1; a<=tinggi; a++)

{ for(c=tinggi; c>=a; c--) printf(" "); for(c=a;c<2*a;c++) { b=c%10; printf("%d",b); } for(c=2*(a-1);c>=a; c--) { b= c%10;

44 printf("%d",b); } printf("\n"); } getch(); }

Dari scrip program di atas maka telah dihasilkan sebuah piramida segitiga , berikut di bawah ini outputnya :

Gambar 7.4 percobaan 2

Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu menyusun angka dalam bentuk segitiga pyramid atau segitiga sama kaki.

7.4.3 Percobaan 3

 Membuat program mencari FPB dari dua bilangan yang diinputkan dari keyboard.

Berikut di bawah ini scripnya : #include <stdio.h> #include <conio.h> #include <math.h> int fpb(int x,int y) {

int hasil,sisabagi; if(y<=x && x%y==0) {

return(y); }

45 { hasil=fpb(y,x); return(hasil); } else sisabagi=x%y; hasil=fpb(y,sisabagi); return(hasil); } main() { int hasil,m,n;

printf("Masukkan bilangan pertama :"); scanf("%d",&m);

printf("Masukkan bilangan kedua :"); scanf("%d",&n);

printf("=============================="); hasil=fpb(m,n);

printf("\nFPB dari kedua angka tersebut adalah %d",hasil);

getch (); }

Maka dari scrip program di atas akan menampilkan sebuah program dan di sini saya akan menginputkan 2 bilangan , yaitu bilangan pertama : 2 dan bilangan kedua: 4 , maka hasil FPB dari kedua bilangan di atas : “2” … berikut outputnya :

46

Keterangan : Manfaat dari program di atas yaitu mahasiswa mampu menghitung hasil Faktor Persekutuan Terbesar (FPB) dari nilai yang telah diinputkan di atas.

47

BAB VIII

FUNGSI

Dalam dokumen LAPORAN RESMI PRAKTIKUM PEMROGRAMAN DASAR (Halaman 30-47)

Dokumen terkait