Yaph, sesuai judulnya daripada tidak posting, mending hasil tugas dipost aja sekalian biar temen sekelas bisa langsung download, jadi aku gag perlu kirim 🙂 . Dan kemungkinan ada yang butuh juga …
Oke, untuk soal – soal dari tugas kuliahku kali ini adalah sebagai berikut :
-
Gunakan loop for untuk menampilkan nilai 1 sampai dengan 20 dalam baris-baris yang terpisah.
-
Hitunglah bilangan triangular dari masukan pengguna, yang dibaca dari keyboard dengan menggunakan scanf().
Bilangan triangular adalah penjumlahan dari bilangan masukan dengan seluruh bilangan sebelumnya, sehingga bilangan triangular dari 7 adalah : 7 + 6 + 5 + 4 + 3 + 2 + 1input : Masukkan sebuah bilangan : 7output : Bilanan triangular 7 adalah 28 -
Gunakan loop for untuk menampilkan seluruh karaker dari A sampai dengan Z dalam baris-baris yang terpisah.
-
Gunakan loop for dengan kenaikan varibel negatif untuk menampilkan seluruh karaker dari Z sampai dengan A dalam baris-baris yang terpisah.
-
Gunakan loop for untuk membuat program sebagai berikut:input : noutput : 1 3 5 7 … m ( m = bilangan ganjil ke n)
-
Gunakan loop for untuk membuat program sebagai berikut:input : noutput : 1 -2 3 -4 5 -6 7 -8 … n
- Gunakan loop for untuk membuat program sebagai berikut:
input : noutput : 1*2*3*4*5*… *n (faktorial)
- Gunakan loop while untuk membuat program yang dapat mencari total angka yang dimasukkan dengan tampilan sebagai berikut :
Masukkan bilangan ke-1 : 5Mau memasukkan data lagi [y/t] ? yMasukkan bilangan ke-2 : 3Mau memasukkan data lagi [y/t] ? tTotal bilangan = 8
- Pada program no 8 tambahkan penghitungan rata-rata, maksimum dan minimum dari angka yang dimasukkan.
- Gunakan while pada program yang digunakan untuk menghitung banyaknya karakter dari kalimat yang dimasukkan melalui keyboard (termasuk karakter spasi). Untuk mengakhiri pemasukan kalimat, tombol ENTER (‘\n’) harus ditekan
Input : Ketikkan sembarang kalimat, akhiri dengan enterOutput : jumlah karakter = mjumlah spasi = n
Yaph, itulah soal yang saya dapat untuk Tugas Pemrograman Terstruktur dalam pembahasan Looping / Perulangan dalam Bahasa Pemrograman C. Untuk jawaban dari soal diatas, silahkan lihat source di bawah ini, atau Anda bisa juga download source code nya disini
#include <stdio.h>
int y;
utama(){
// bersihkan layar
system("cls");
int z,x;
printf("\t1. Looping Nilai 1 - n\n");
printf("\t2. Triangular\n");
printf("\t3. Looping A - Z\n");
printf("\t4. Looping Z - A\n");
printf("\t5. Looping Bilangan Ganjil\n");
printf("\t6. Looping Ganjil Genap\n");
printf("\t7. Looping Faktorial\n");
printf("\t8. Total angka dengan while()\n");
printf("\t9. Nilai rata - rata, maksimum dan minimum dari No. 8\n");
printf("\t10. Jumlah karakter dan spasi\n\n");
printf("\tPilih program dengan input No. Urut program diatas : ");
scanf("%d",&z);
system("cls");
switch(z){
case 1 :
printf("\tMasukkan angka maksimal untuk perulangan : ");
scanf("%d",&x);
printf("\n");
looping(x);
break;
case 2 :
printf("\tMasukkan angka maksimal untuk triangular : ");
scanf("%d",&x);
printf("\n");
triangular(x);
break;
case 3 :
alphabet(1);
break;
case 4 :
alphabet(0);
break;
case 5 :
printf("\tMasukkan angka maksimal untuk perulangan : ");
scanf("%d",&x);
printf("\n");
ganjil(x);
break;
case 6 :
printf("\tMasukkan angka maksimal untuk perulangan : ");
scanf("%d",&x);
printf("\n");
ganjilGenap(x);
break;
case 7 :
printf("\tMasukkan bilangan faktorial : ");
scanf("%d",&x);
printf("\n");
faktorial(x);
break;
case 8 :
loopWhile();
break;
case 9 :
whileLoop();
break;
case 10 :
jmlKarakter();
break;
default :
printf("\tMaaf, No. Urut yang Anda masukkan salah");
system("exit");
break;
}
}
// fungsi untuk menampilkan hasil looping hingga "n" looping
looping(int n){
int i;
for(i=1;i<=n;i++){
printf("\t%d\n",i);
}
// konfirmasi apakah ingin kembali ke menu awal
// jika 1 maka kembali ke menu awal
// jika tidak maka keluar program
printf("\n\tKembali [1/0] ? ");
scanf("%d",&y);
if(y) utama(); else system("exit");
}
// fungsi menampilkan total dari bilangan triangular
triangular(int n){
int i,j = 0;
for(i=n;i>=1;i--){
j = j + i;
}
printf("\tBilangan triangular %d adalah %d",n,j);
printf("\n\n\tKembali [1/0] ? ");
scanf("%d",&y);
if(y) utama(); else system("exit");
}
// fungsi untuk menampilkan sorting looping ascending / descending
alphabet(int b){
// jika b = 1 maka eksekusi looping ascending,
// jika tidak maka ekseskusi looping descending
char a;
if(b){
// looping ascending A - Z
for(a='A';a<='Z';a++){
printf("\t%c\n",a);
}
}else{
// looping descending Z - A
for(a='Z';a>='A';a--){
printf("\t%c\n",a);
}
}
printf("\n\tKembali [1/0] ? ");
scanf("%d",&y);
if(y) utama(); else system("exit");
}
// fungsi untuk menampilkan bilangan ganjil
ganjil(int n){
int i;
printf("\t");
for(i=1;i<=n;i+=2){
printf("%d ",i);
}
printf("\n\n\tKembali [1/0] ? ");
scanf("%d",&y);
if(y) utama(); else system("exit");
}
// fungsi untuk menampilkan bilang dengan pola positif negatif
// ex : 1 -2 3 -4 5 -6 ... n
ganjilGenap(int n){
int i = 1;
printf("\t");
for(i;i<=n;i++){
if(i%2!=0){
printf("%d ",i);
}else{
printf("-%d ",i);
}
}
printf("\n\n\tKembali [1/0] ? ");
scanf("%d",&y);
if(y) utama(); else system("exit");
}
// menampilkan total dari bilangan "n" faktorial
faktorial(int n){
int i, j = 1;
for(i=n;i>=1;i--){
j = j * i;
}
printf("\t%d faktorial = %d",n,j);
printf("\n\n\tKembali [1/0] ? ");
scanf("%d",&y);
if(y) utama(); else system("exit");
}
// fungsi yang digunakan untuk menampilkan bilangan terbesar
// dari suatu kumpulan bilangan
int maksimal(int a[], int l){
int b = a[0], c = 0;
for(c;c<l;c++){
// jika nilai awal lebih dari nilai baru
if(a[c] > b){
// nilai awal diisi dengan nilai baru
// dan merupakan nilai terbesar
b = a[c];
}
}
return b;
}
// fungsi yang digunakan untuk menampilkan bilangan terkecil
// dari suatu kumpulan bilangan
int minimal(int a[], int l){
int b = a[0], c = 0;
for(c;c<l;c++){
// jika nilai awal kurang dari nilai baru
if(a[c] < b){
// nilai awal diisi dengan nilai baru
// dan merupakan nilai terkecil
b = a[c];
}
}
return b;
}
// fungsi menampilkan input bilangan secara berulang dalam suatu kondisi
// kemudian bilangan yang diinput tadi ditotal, di rata - rata
// dicari nilai max dan min
loopWhile(int z,int y){
int a = 1, b = 0, c, d = 0, f[] = {}, g, h;
float e;
while(a){
b++;
// inputan bilangan ke - n
printf("\n\tMasukkan bilangan ke-%d : ",b);
scanf("%d",&c);
// inisialisasi var f[n] = c
f[(b-1)] = c;
// total semua bilangan
d = d + c;
// konfirmasi apakah ingin input kembali
// jika tidak, langsung break dari while
// kemudian eksekusi perintah dibawah while
printf("\n\tMau memasukkan data lagi [1/0] ? ");
scanf("%d",&a);
}
// jika ingin menampilkan rata - rata, max dan min
if(y){
e = d / b;
g = maksimal(f,b);
h = minimal(f,b);
}
// jika hanya ingin menampilkan total
if(!y){
printf("\n\tTotal bilangan = %d",d);
// jika ingin menampilkan rata - rata, max dan min
}else{
printf("\n\tRata - rata bilangan = %.2f",e);
printf("\n\tNilai maksimal adalah = %d",g);
printf("\n\tNilai minimal adalah = %d",h);
}
printf("\n\n\tKembali [1/0] ? ");
scanf("%d",&y);
if(y) utama(); else system("exit");
}
// funsgi yang digunakan untuk menghitung jumlah karakter yang diinput oleh user
// beserta menghitung jumlah spasi yang ada
jmlKarakter(){
char kar,rak[];
int jumkar = 0, jumspasi = 0;
printf("\tMasukkan sebuah kalimat : ");
scanf("%c",&rak);
while((kar = getchar()) != '\n'){
// jumlah karakter yang diinput tambah 1 hingga menemukan karakter enter
jumkar++;
// jika terdapat karakter spasi, var spasi ditambah 1
if (kar == ' ') jumspasi++;
}
printf("\n\tJumlah karakter\t= %d", jumkar);
printf("\n\tJumlah spasi\t= %d\n", jumspasi);
printf("\n\tKembali [1/0] ? ");
scanf("%d",&y);
if(y) utama(); else system("exit");
}
main(){
utama();
}

tlong jelaskan dan berikan contoh gabungan dri selection dan looping
Makasih om..:)
ijin seddddddddddddddddddddddooot gan
Tapi kok soal dengan jawaban berbeda. ada soal yang g terjawab.
Mas Ini kayak Soal di ITS 😀
mantap mas lumayan tugas terselesaikan,,
hahaha
gag jelas nih comment
gan itu mksdny n apa ya? mesti error kalo di compile
bagian mana yang kamu maksud???