Perulangan 2 DASAR PEMROGRAMAN
Pernyataan exit Berfungsi untuk keluar dari program untuk looping dengan for, while, dan do-while. Didefinisikan di stdlib.h Sintak: exit(); 2
Contoh Program exit : /*Pemakaian exit() untuk menghentikan eksekusi program */ #include <stdio.h> #include <stdlib.h> char kar; printf("tekanlah X untuk menghentikan program.\n"); for ( ; ;) while ((kar = getchar()) == 'X') exit(0); 3
Program Pilihan #include <stdio.h> char pil; do printf( Latihan Bahasa C\n"); printf("mau ditulis lagi (Y/T)? "); scanf("%s", &pil); printf("\n"); while ((pil == 'Y') (pil == 'y')); 4
Perbedaan pemakaian break,continue,goto dan exit() /*menampilkan bilangan ganjil antara 7-25 kecuali 15 */ #include<stdio.h> int k; for(k=7;k<=25;k+=2) if(k==15) continue; printf("%d\n",k); printf("\n"); //jika k = 15, abaikan, //cetak nilai selanjutnya Hasil : 7 9 11 13 17 19 21 23 5
6 #include<stdio.h> int k; for(k=7;k<=25;k+=2) if(k==15) printf("%d\n",k); printf("\n"); //jika k = 15, akhiri eksekusi //program Hasil : 7 9 11 13
7 #include<stdio.h> int k; for(k=7;k<=25;k+=2) if(k==15) //jika k = 15, menuju ke label goto lima; //lima printf("%d\n",k); lima : printf( selesai\n"); //seluruh nilai setelah 15 diabaikan Hasil : 7 9 11 13 selesai
8 #include<stdio.h> #include<stdlib.h> for(k=7;k<=25;k+=2) if(k==15) //jika k = 15, keluar dari program exit(0); printf("%d\n",k); printf("\n"); Hasil : 7 9 11 13
9 Beberapa contoh Program Perulangan 1. Buat sebuah program yang mempunyai output sebagai berikut : Jika kode = 1 maka hari = Senin Jika kode = 2 maka hari = Selasa Jika kode = 3 maka hari = Rabu Jika kode = 4 maka hari = Kamis Jika kode = 5 maka hari = Jumat Jika kode = 6 maka hari = Sabtu Jika kode = 7 maka hari = Minggu Jika kode yang dimasukkan salah maka pilihannya tidak ada Input berupa kode dan output adalah hari Gunakan pernyataan switch-case dan break
//kode untuk memilih hari #include <stdio.h> char kode; printf("masukkan kode yang diinginkan (dari 1-7) = "); scanf("%c",&kode); switch(kode) case '1' : printf("hari = Senin\n"); case '2': printf("hari = Selasa\n"); case '3': printf("hari = Rabu\n"); case '4': printf("hari = Kamis\n"); case '5': printf("hari = Jumat\n"); case '6': printf("hari = Sabtu\n"); case '7': printf("hari = Minggu\n"); default : printf("kode tidak ada\n"); 10
11 2. Buat sebuah program yang menampilkan bilangan prima dari 0 sampai 100 //menampilkan bilangan prima dari 0 s/d 100 #include<stdio.h> int n,i; for(n=2;n<=100;n++) for(i=2;i<=n/2;i++) if(n%i == 0) if(n%i!= 0) printf("%3d",n);
3. Buat sebuah program untuk menentukan nilai terbesar dari 5 buah data yang diinputkan //menentukan bilangan terbesar dari 5 buah data #include<stdio.h> int dat,i,k; k=0; printf("masukkan sembarang bilangan bulat \n"); for(i=1;i<=5;i++) printf("\ndata ke- %d adalah = ",i); scanf("%3d",&dat); if(dat>k) //apakah bil yg diinput //kan lebih besar dari k? k=dat; //jika ya tukarkan nilai bil dengan k //jika tidak, lanjutkan ke bil //berikutnya printf("bilangan terbesar adalah : %d\n",k); 12
13 4. Buat sebuah program untuk menentukan harga minuman yang ditentukan sebagai berikut Kode Jenis Harga 1 Milo Rp.10.000 2 Kopi Rp. 5.000 3 Coca Cola Rp. 2.500 4 Orange Juice Rp. 2.000 Input berupa jenis kode dan jumlah yang dipesan. Output berupa besarnya harga yang dibayar. Jika total pembayaran lebih dari Rp 100.000,- diberikan diskon 15% Jika kurang, tidak diberikan diskon
14 //menentukan total pembelian minuman #include<stdio.h> int jumlah,kode; float harga,total; double bayar; char kar; printf("kode Jenis Harga\n"); printf("1 Milo Rp 10.000\n"); printf("2 Kopi Rp. 5000\n"); printf("3 Coca Cola Rp 2500\n"); printf("4 Orange Juice Rp 2000\n"); total=0; do printf("masukkan kode minuman : \n"); scanf("%d",&kode); printf("masukkan jumlah pesanan "); scanf("%d",&jumlah);
15 if(kode==1) harga = (float) 10000*jumlah; else if(kode==2) harga = (float)5000*jumlah; else if(kode==3) harga = (float)2500*jumlah; else if(kode==4) harga = (float)2000*jumlah; total=total+harga; printf("mau menambah pesanan? (Y/T)\n"); scanf("%s",&kar); while(kar=='y'); if(total > 100000) bayar=total-(0.15*total); else bayar=total; printf("\nharga yang harus dibayar = %10.2f\n",bayar);
Latihan 1. Buatlah program untuk daftar nilai mahasiswa sbb : Input : - Jumlah data (n) - Nilai ke-1 s/d Nilai ke-n Output : - Total nilai - Nilai rata-rata (rata-rata = nilai total / jumlah data) 2. Gunakan loop for untuk membuat program sebagai berikut: input : n output : 1-2 3-4 5-6 7-8 n 3. Buatlah program untuk menyelesaikan tes psyko berikut ini : 4 6 9 13 18?? 4. Buat program untuk menampilkan bilangan prima. input : Jumlah bilangan prima, misal 5 output : 2 3 5 7 11 16