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> main() { char kar; printf("Tekanlah X untuk menghentikan program.\n"); for ( ; ;) { while ((kar = getchar()) == 'X') exit(0); } }
3
Program ‘Pilihan’ #include <stdio.h> main() { 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> main() {
}
int k; for(k=7;k<=25;k+=2) { if(k==15) continue; printf("%d\n",k); } printf("\n");
//jika k = 15, abaikan,
Hasil : 7 9 11 13 17 19 21 23
//cetak nilai selanjutnya
5
#include<stdio.h> main() {
}
int k; for(k=7;k<=25;k+=2) { if(k==15) break; printf("%d\n",k); } printf("\n");
//jika k = 15, akhiri eksekusi //program Hasil : 7 9 11 13
6
#include<stdio.h> main() { int k; for(k=7;k<=25;k+=2) { if(k==15) goto lima; printf("%d\n",k); } lima : printf(“selesai\n"); }
//jika k = 15, menuju ke label //lima //seluruh nilai setelah 15 diabaikan Hasil : 7 9 11 13 selesai
7
#include<stdio.h> #include<stdlib.h> main() { for(k=7;k<=25;k+=2) { if(k==15) //jika k = 15, keluar dari program exit(0); printf("%d\n",k); } Hasil : printf("\n"); 7 }
9 11 13
8
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
9
//kode untuk memilih hari #include <stdio.h> main() { char kode; printf("Masukkan kode yang diinginkan (dari 1 - 7) = "); scanf("%c",&kode); switch(kode) { case '1' : printf("hari = Senin\n"); break; case '2': printf("hari = Selasa\n"); break; case '3': printf("hari = Rabu\n"); break; case '4': printf("hari = Kamis\n"); break; case '5': printf("hari = Jumat\n"); break; case '6': printf("hari = Sabtu\n"); break; case '7': printf("hari = Minggu\n"); break; default : printf("kode tidak ada\n"); } 10 }
2. Buat sebuah program yang menampilkan bilangan prima dari 0 sampai 100 //menampilkan bilangan prima dari 0 s/d 100 #include<stdio.h> main() { int n,i; for(n=2;n<=100;n++) { for(i=2;i<=n/2;i++) { if(n%i == 0) break; } if(n%i != 0) printf("%3d",n); } }
11
3. Buat sebuah program untuk menentukan nilai terbesar dari 5 buah data yang diinputkan //menentukan bilangan terbesar dari 5 buah data #include<stdio.h> main() { 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
4. Buat sebuah program untuk menentukan harga minuman yang ditentukan sebagai berikut Kode
Jenis
1 2 3 4
Milo Kopi Coca Cola Orange Juice
Harga Rp.10.000 Rp. 5.000 Rp. 2.500 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
13
//menentukan total pembelian minuman #include<stdio.h> main() { int jumlah,kode; float harga,total; double bayar; char kar; printf("kode printf("1 printf("2 printf("3 printf("4
Jenis Harga\n"); Milo Rp 10.000\n"); Kopi Rp. 5000\n"); Coca Cola Rp 2500\n"); Orange Juice Rp 2000\n");
total=0; do { printf("Masukkan kode minuman : \n"); scanf("%d",&kode); printf("Masukkan jumlah pesanan "); scanf("%d",&jumlah);
14
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); }
15
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