SOAL dan STRUKTUR DATA SMSTR1 TI
I.
MODUL
5 (for)
1. Buatlah
program untuk menghitung jumlah dan rata-rata dari sejumlah data yang banyaknya
tidak ditentukan!
#include<stdio.h>
int main()
{
int i;
float n,jum,x,rata;
printf("Banyaknya Data
:");scanf("%f",&n);
jum=0;
for(i=1;i<=n;i++)
{
printf("\nData
ke-%d:",i);scanf("%f",&x);
jum+=x;
}
rata=jum/n;
printf("\nJumlah:
%.2f",jum);
printf("\nRata: %.2f\n",rata);
return 0;
}
2. Buatlah
program menghitung nilai faktorial menggunakan struktur for!
#include<stdio.h>
int main()
{
int n,i,hasil;
printf("Menghitung Nilai
Faktorial");
printf("\nMasukkan Suatu
Bilangan:");scanf("%d",&n);
hasil=1;
for(i=1;i<=n;i++)
hasil=hasil*i;
printf("\nFaktorial dari %d = %d\n",n,hasil);
return 0;
}
II.
MODUL
6 (do while)
1. Buatlah
program untuk menampilkan bilangan ganjil kurang dari 30 menggunakan struktur do-while !
#include<stdio.h>
int main()
{
int bil;
bil=1;
do
{
printf("%d ",bil);
bil+=2;
}
while(bil<=30);
return 0;
}
2. Buatlah
program kalkulator sederhana untuk menghitung penjumlahan dan pengurangan yang
dapat diulang sesuai keinginan pengguna!
#include<stdio.h>
int main()
{
float a, b, c;
int pilih;
char exit;
do{
printf("\nKALKULATOR SEDERHANA\n\nMenu:\n =================\n | 1. Penjumlahan|\n | 2. Pengurangan|\n =================\n");
printf("Masukkan pilihan anda <1-2> :
");scanf("%d",&pilih);
switch(pilih){
case 1 : printf("\nMasukkan angka pertama\t:
");scanf("%f",&a);
printf("Masukkan angka kedua\t:
");scanf("%f",&b);
c = a + b;
printf("Maka hasilnya adalah\t: %.2f + %.2f = %.2f\n \t\t\t\t\n\n",a,b,c);
break;
case 2 : printf("Masukkan angka pertama\t:
");scanf("%f",&a);
printf("Masukkan angka kedua\t:
");scanf("%f",&b);
c = a - b;
printf("Maka hasilnya adalah\t: %.2f - %.2f = %.2f\n \t\t\t\t\n\n",a,b,c);
break;
default: printf("Menu yang Anda Masukkan Salah\n\n");
}
printf("Are You Sure to Exit
<y/t>?");scanf("%s",&exit);
}
while(exit == 't');
return 0;
}
III. MODUL 7 (fungsi)
1. Buatlah
program menghitung nilai faktorial menggunakan struktur fungsi !
#include<stdio.h>
int
Faktorial (int N)
{
if(N == 0)
return 1;
else
return N*Faktorial(N-1);
}
int
main(void){
int bilangan;
printf("Masukkan bilangan yang akan
dihitung : ");
scanf("%d", &bilangan);
printf("%d! = %d\n", bilangan,
Faktorial(bilangan));
return 0;
}
2. Buatlah
program untuk menghitung nilai perpangkatan (Eksponen) !
#include<stdio.h>
int pangkat(int basis,int a)
{
if(a==0)
{
return 1;
}
else
{
return
basis*pangkat(basis,a-1);
}
}
int main(void)
{
int B,E;
printf("\nMENGHITUNG
NILAI EKSPONEN\n=========================\n");
printf("\nMasukkan
Bilangan Basis\t\t:"); scanf("%d",&B);
printf("Masukkan Bilangan
Eksponen\t:"); scanf("%d",&E);
printf("\nHasil
Perhitungan Nilai Eksponen adalah %d^%d = %d\n\n",B,E,pangkat(B,E));
return 0;
}
IV. MODUL 8 (array)
1. Buatlah
program menggunakan struktur array untuk menghitung jumlah dan rata-rata dari nilai
siswa suatu kelas yang jumlah siswanya tidak ditentukan!
#include<stdio.h>
#include<conio.h>
void main()
{
int daf_nilai[100];
int i,jum,n;
float rata;
printf("Masukkan
Banyak Siswa:");scanf("%d",&n);
jum=0;
for(i=1;i<=n;i++)
{
printf("\nMasukkan Nilai
ke-%d:",i);scanf("%d",&daf_nilai[i]);
jum= jum +
daf_nilai[i];
}
for(i=1;i<=n;i++)
rata = (float)jum/n;
printf("\nJumlah
Nilai = %d",jum);
printf("\nRata-rata Nilai=
%.2f\n\n",rata);
}
2. Suatu
kelas terdiri dari 5 siswa. Nilai ujian untuk nomor absen 1,2,3,4,5
berturut-turut 76, 68,74, 84,90. Buatlah program yang menampilkan tabel yang
kolomnya terdiri dari Presensi dan Nilai. Kemudian hitung nilai rata-rata kelas
tersebut.
#include<stdio.h>
int main(){
int
Nilai[5] = {76, 68, 74, 84, 90};
int Absen[5];
int i=0,j=0,jmlh=0;
float rata;
printf("| PRESENSI |
NILAI |\n\n");
for(i;i<5;i++) printf(" %d\t\t%d\n",i+1,Nilai[i]);
for(j;j<5;j++) jmlh+=Nilai[j];
rata=(float)jmlh/5;
printf("\nRata-rata Nilai =
%.2f\n",rata);
return 0;
}
V.
MODUL
9 (operasi file)
1. Buatlah
program untuk membuat file baru,
kemudian file tersebut diisi data sebagai berikut:
Jurusan Teknik Informatika
Universitas Muhammadiyah Surakarta
#include<stdio.h>
#include<stdlib.h>
int main(void){
FILE *pf;
pf = fopen("F:/TES.TXT", "w+");
if(pf != NULL){
fputs("Jurusan Teknik
Informatika\n", pf);
fputs("Universitas
Muhammadiyah Surakarta", pf);
}else {
printf("Kesalahan : FILE TES.TXT tidak
dapat dibuka");
exit(EXIT_FAILURE);
}
fclose(pf);
return 0;
}
2. Buatlah
program untuk menghapus file yang
telah dibuat pada soal nomor 1!!
#include<stdio.h>
int main(void){
int status;
status =
remove("F:/TES.txt");
if(status == 0){
printf("File
telah terhapus");
}else{
printf("Proses
penghapusan gagal");
}
return 0;
}
Comments
Post a Comment