Wednesday, June 5, 2024

Belajar Pemrograman Bab 5 -- Statement Perulangan (Looping)

 

Bismillahirahmanirrahim.

Tulisan ini diambil dari Laporan saya di kelas Pemrograman kursus Teknoplasma

  • Nama: Muhammad Dimas Akbar
  • Distro: Kubuntu 22.04 LTS
  • Provinsi: Jawa Barat
  • Tanggal: Rabu, 15 Mei 2024
  • Pertemuan berapa: 31
  • Pengajar: Ade Malsasa Akbar


 Tulisan ini dapat diambil dalam bentuk [PDF] dan [Writer]


Program-1.c




/* Nama File : LOOP1.C */
#include <stdio.h>

int main ()

{
  int n, jumlah;
 
  jumlah=0;
  for (n=1; n<=200; n=n+1)
  jumlah=jumlah+1;
 
  printf("Jumlah 200 triangular adalah %d\n",jumlah);
 
  getchar();
 
  return 0;
}
/* Analisis Program 1 Bab 5
 * Deskripsi : Bilangan Triangular
 * rumusnya : ((n(n+1)) / 2
 * rumus menurut pemrograman : jumlah = jumlah + n
 * baris 7 : deklarasi variabel, tipe data integer, variabel n dan jumlah
 * baris 9 : inisiasi nilai, variabel jumlah diberi nilai 0
 * baris 10 : for adalah perulangan sebanyak 5 kali dimulai dari angka 1 dan diakhiri angka 5, disetiap perulangan bertambah 1
 * baris 10 : kurung kurawal diletakkan di akhir baris 10 dan akhir baris 11 karena ada 1 statement
 * for memiliki dua bagian, bagian pertama adalah syarat yang ada di tanda kurung () (n=1; n<=5; n=n+1),
 * dan bagian kedua adalah yang ada di kurung kurawal yaitu jumlah=jumlah+n; , jika syaratnya benar maka instruksinya dikerjakan
 * jika syaratnya salah maka instruksinya tidak dikerjakan
 * peletakan kurung kurawal sangat mempengaruhi, dan akan ikut perulangan
* jika instruksi cuma satu pernyataan saja (baris 11), maka kurung kurawal boleh tidak ditulis
 * jika instruksi atau statement ada lebih dari satu, maka harus pakai kurung kurawal
 */


Program-2.c




 /* Nama File : LOOP2.C */

#include <stdio.h>


int main ()


{

int n, jumlah;

printf("TABEL JUMLAH TRIANGULAR\n\n");

printf(" n jumlah\n");

printf("--------------\n");

jumlah=0;

for (n=1; n<=10; ++n) {

jumlah=jumlah + n;

printf(" %d %d\n", n, jumlah);

}

getchar();

return 0;

}
 /* Analisis Program 2 Bab 5

* output :

* TABEL JUMLAH TRIANGULAR


n jumlah (berasal dari baris 10)

-------------- (berasal dari baris 11)

1 1 ( dua kolom ini berasal dari baris 17 dan diulang-ulang sebanya 10 kali)

2 3

3 6

4 10

5 15

6 21

7 28

8 36

9 45

10 55


* output berupa penjumlahan silang

*/


Program-3.c



 /* Nama File : LOOP5.C */

#include <stdio.h>

int main(){

int n, angka, jumlah, total;

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

printf("Masukkan nilai dasar triangular -%d ",n);

scanf("%d", &angka);

jumlah=0;

for(n=1; n<=angka; ++n)

jumlah=jumlah+n;

total=total + jumlah;

printf("Jumlah %d triangular adalah %d\n", n, total);

}

getchar();

}



 /* Analisis Program 3 Bab 5

* Deskripsi : Triangular Majemuk

* output :

Masukkan nilai dasar triangular ke-1: 12 (printf di baris 7) (for baris 6) (12 disimpan di variabel angka)


jumlah 12 triangular adalah 78 (printf di baris 14) (for baris 12) (78 diambil dari variabel jumlah) (78 pada saat perulangan pertama juga disimpan di variabel total)


Masukkan nilai dasar triangular ke-2: 13 (printf di baris 7) (for baris 6) (13 disimpan di variabel angka)


jumlah 13 triangular adalah 91 (printf di baris 14) (for baris 12) (91 diambil dari variabel jumlah) (91 pada saat perulangan dijumlahkan di variabel total dengan 78, hasilnya 169)


Masukkan nilai dasar triangular ke-3: 14 (printf di baris 7) (for baris 6) (14 disimpan di variabel angka)


jumlah 14 triangular adalah 105 (printf di baris 14) (for baris 12) (105 diambil dari variabel jumlah) (105 pada saat perulangan dijumlahkan di variabel total dengan 169, hasilnya 274)

Masukkan nilai dasar triangular ke-4: 15 (printf di baris 7) (for baris 6) (15 disimpan di variabel angka)


jumlah 15 triangular adalah 120 (printf di baris 14) (for baris 12) (120 diambil dari variabel jumlah) (120 pada saat perulangan dijumlahkan di variabel total dengan 274, hasilnya 394)


Masukkan nilai dasar triangular ke-5: 16 (printf di baris 7) (for baris 6) (16 disimpan di variabel angka)


jumlah 16 triangular adalah 136 (printf di baris 14) (for baris 12) (136 diambil dari variabel jumlah) (136 pada saat perulangan dijumlahkan di variabel total dengan 394, hasilnya 530)


// setiap baris ganjil printfnya di baris 7 dan menggunakan variabel angka, setiap baris genap printfnya di baris 12 dan menggunakan variabel jumlah


Total semua triangular adalah 530



------------------

(program exited with code: 0)

Press return to continue


*/

 

Program-4.c



/* Nama File : LOOP4.C */
#include <stdio.h>
int main()
{
  int hitung, hasil;
 
  hitung=hasil=1;
 
  while(hitung<=10){
    hasil*=hitung;
    printf("%3d %5d\n", hitung, hasil);
    ++hitung;
  }
  getchar();
}
 /* Analisis Program 4 Bab 5

* baris 7 : variabel hitung dan variabel hasil diberi nilai 1

* baris 9 : perulangan while loops berjalan selama conditionnya non-zero (true), dia berhenti ketika kondisi bernilai false

* baris 10 : penyingkatan, hasil = hasil * hitung

* baris 12 : variabel hitung ditambah 1

* baris 13 : akhir dari satu perulangan, dan kembali ke evaluasi baris 9

*/

/* output (perkalian silang dari kanan atas ke kiri bawah)

1 1 ( 1 * 1 disimpan di variabel hasil)

2 2

3 6

4 24

5 120

6 720

7 5040

8 40320

9 362880

10 3628800


*/

 

Program-5.c




 /* Nama File : LOOP5.C */

#include <stdio.h>

int main()

{

int bil1, bil2, sisa;

printf("Masukkan bilangan bulat positif pertama =");

scanf("%d", &bil1);

printf("\nMasukkan bilangan bulat positif kedua =");

scanf("%d", &bil2);

while(bil2 != 0){

sisa=bil1 % bil2;

bil1=bil2;

bil2=sisa;

}

printf("Pembagi bersama terbaik dari keduanya = %d", bil1);

getchar();

}

 /* Analisis Program 5 Bab 5

* Deskripsi : Faktor Persekutuan Terbesar dan Algoritma Euklidean

* baris 12 : evaluasi syarat

* baris 12 : perulangan dijalankan selama bil2 tidak sama dengan 0, perulangan berhenti jika bil2 sama dengan 0

* baris 13 : sisa = 21 % 7 = 0 (perulangan kedua)

* baris 14 : bil1 = 7

* baris 14 : nilai variabel bil2 disimpan di bil1, dari kanan ke kiri

* baris 15 : bil2 = 0

* baris 16 : akhir dari perulangan, kembali ke baris 12

*/

/* output :

Masukkan bilangan bulat positif pertama =28


Masukkan bilangan bulat positif kedua =21

Pembagi bersama terbaik dari keduanya = 7


------------------

(program exited with code: 0)

Press return to continue


*/



Program-6.c



 /* Nama File : LOOP6.C */

#include <stdio.h>

int main()

{

int hitung, hasil;

hitung=1;

hasil=0;

do{

hasil+=hitung;

printf("%3d %5d\n", hitung, hasil);

++hitung;

}while(hitung<=10);

getchar();

}

 Analisis Program 6 Bab 5

/* Analisis Program 6 Bab 5

* Deskripsi : Triangular Tabel

* baris 7 : value assignment, memasangkan nilai kepada variabel (variabel hitung diberi nilai 1)

* baris 8 : variabel hasil diberi nilai 0

* baris 10 - 14 : do while pakai titik koma, sedangkan while biasa tidak ada titik koma di akhir kurung kurawal.

* while yang biasa evaluasinya diatas, sementara do while evaluasinya di bawah, konsekuensinya do while menjalankan perintah yang ada di kurung kurawal minimal 1 kali sebelum evaluasi pertama

* perbedaannya while biasa tidak akan menjalankan perhitungannya terlebih dahulu, jika syarat tidak terpenuhi maka tidak akan berjalan

* sementara do while akan menjalankan perintahnya terlebih dahulu minimal 1 kali sebelum lanjut ke evaluasi syarat (perulangan berhenti)

*/

 


Program-7.c

 



 /* Nama File : LOOP7.C */

#include <stdio.h>

int main()

{

int i=0;

for(;;){

i++;

printf("\nProses ke=%d sukses!\n", i);

if(i==10){

printf("\nProses segera dihentikan, harap maklum!");

break;

}

}

getchar();

}



 /* Analisis Program 7 Bab 5

* baris 7 : for dengan (;;) adalah perulangan tak terhingga, berjalan tanpa henti

* baris 8 : increment, nilai i bertambah 1, bahkan diluar perulangan

* baris 10 : jika nilai i==10, maka jalankan perintah dalam kurung kurawal di sebelahnya (prosesnya berhenti di proses 10), masuk ke baris 14 kembali lagi ke 7

* break adalah kode yang menghentikan perulangan dimana dia berada

* pada for yang pertama, i=1, evaluasi bernilai FALSE, lompat ke baris 14, kembali ke baris 7

* pada for yang kedua, i=2, evaluasi bernilai FALSE, lompat ke baris 14, kembali ke baris 7

* pada for yang ketiga, i=3, evaluasi bernilai FALSE, lompat ke baris 14, kembali ke baris 7

* pada for yang keempat, i=4, evaluasi bernilai FALSE, lompat ke baris 14, kembali ke baris 7

* pada for yang ke lima, i=5, evaluasi bernilai FALSE, lompat ke baris 14, kembali ke baris 7

* pada for yang keenam, i=6, evaluasi bernilai FALSE, lompat ke baris 14, kembali ke baris 7

* pada for yang ketujuh, i=7, evaluasi bernilai FALSE, lompat ke baris 14, kembali ke baris 7

* pada for yang ke delapan, i=8, evaluasi bernilai FALSE, lompat ke baris 14, kembali ke baris 7

* pada for yang ke sembilan, i=9, evaluasi bernilai FALSE, lompat ke baris 14, kembali ke baris 7

* pada for yang ke sepuluh, i=10, evaluasi bernilai TRUE, jalankan kode break, perulangan selesai

*/

Program-8.c



 /* Nama File : LOOP8.C */

#include <stdio.h>

int main()

{

int i;

for(i=1; i<10; i++){

if(i==5){

printf("\n\tProses ke-%d dibatalkan\n", i);

printf("\tHarap maklum!\n");

continue;

}

printf("\nProses ke-%d sukses!\n", i);

}

getchar();

}

 /* Analisis Program 8 Bab 5

* dinamakan skip, dilompati

* Baris 8 berpasangan dengan 11 : proses dihentikan karena ada syarat if (i==3) dalam kurung kurawal berpasangan pada code continue,

* menghentikan perulangan dimana dia berada, oleh karena itu ketika i==3 kode yang dijalankan adalah continue

* oleh karena itu hasilnya proses ke 3 kemudian melanjutkan perulangan (continue) pada proses selanjutnya.

* if dan continue pada program ini berpasangan.

*/

Program-9.c



 /* Matriks Identitas */

#include <stdio.h>

int main()

{

int baris, kolom;

for(baris=0; baris<10; baris++){

for(kolom=0; kolom<10; kolom++){

if(baris==kolom){

printf("1 ");

}else{

printf("0 ");

}

}

printf("\n");

}

getchar();

}

 /* Analisis Program 9 Bab 5

* for yang pertama mengatur kolom, for yang kedua mengatur baris

* if dengan syarat pertama mengatur matriks diagonal pertama (kiri atas ke kanan bawah)

* else if, yaitu syarat kedua mengatur matriks diagonal kedua (kanan atas ke kiri bawah)

* else yang terakhir mengatur bilangan diluar matriks tersebut

* kenapa syarat pertama baris==kolom? Karena menurut uraian koordinat,

* nilainya adalah koordinat diagonal : (0,0) (1,1) (2,2) (3,3) (4,4) ... (10,10): baris = kolom

* kenapa syarat kedua baris+kolom==9? Karena menurut uraian koordinat,

*nilainya adalah koordinat diagonal : (0,10) (1,9) (2,8) (3,7) (4,6)....(10,0) : baris + kolom==10

*/

/* peta koordinat

* (0,0) (0,1) (0,2) (0,3) (0,4)

* (1,0) (1,1) (1,2) (1,3) (1,4)

* (2,0) (2,1) (2,2) (2,3) (2,4)

* (3,0) (3,1) (3,2) (3,3) (3,4)

* (4,0) (4,1) (4,2) (4,3) (4,4)

* koordinat diagonal : (0,0) (1,1) (2,2) (3,3) (4,4) : baris = kolom

* koordinat diagonal : (0,4) (1,3) (2,2) (3,1) (4,0) : baris + kolom==4

* diagonal itu mencetak angka 1, ketika baris==kolom

*/


Program-10.c



 /* Tabel Perkalian */

#include <stdio.h>

int main()

{

int baris, kolom, angka, x;

char c='X';

angka=10;

printf("%4c", c);

for(x=1; x<=angka; x++){

printf("%4d", x);

}

printf("\n");

for(baris=1; baris<=angka; baris++){

printf("%4d", baris);

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

printf("%4d", baris*kolom);

}

printf("\n");

}

getchar();

}



 /* Analisis Program 10 Bab 5

* baris 5 : berhubungan dengan baris 9

* baris 6 : deklarasi variabel, tipe data char, variabel c berisi karakter X, baris 6 berhubungan dengan baris 8

* baris 8 : baris 8 berhubungan dengan baris 6, bertanggung jawab untuk mencetak pesan tanda X pada konsole

* baris 9 : perulangan sebanyak sepuluh kali, dimulai dari angka 1, diakhiri di angka 10 (merujuk baris 7), disetiap perulangan ditambah 1, mencetak nilai x (baris 10)

* baris 10 : printf jika tidak ada \n, maka mencetak langsung di sebelahnya

* baris 11 : for pertama mencetak baris pertama setelah x

* baris 12 : mencetak pesan di baris baru

* baris 14 : perulangan sebanyak sepuluh kali, dimulai dari angka 1, diakhiri di angka 10, disetiap perulangan ditambah 1, mencetak nilai baris

* baris 16 : perulangan sebanyak sepuluh kali, dimulai dari angka 1, diakhiri di angka 10, disetiap perulangan ditambah 1, mencetak nilai kolom

* baris 17 : mencetak hasil perkalian dari baris dan kolom

* baris 19 : satu kolom harus selesai dulu sebelum mencetak pesan di baris baru

*/


Program-11.c



 /* Program pembalik tampilan angka */

#include <stdio.h>

int main()

{

int bilangan, hasil;

printf("Masukkan bilangan bulat = ");

scanf("%d", &bilangan);

printf("\nHasil setelah dibalik = ");

hasil=0;

while(bilangan>0){

hasil=bilangan % 10;

printf("%d", hasil);

bilangan=bilangan / 10;

}

getchar();

}

 /* Analisis Program 11 Bab 5

* Deskripsi : Algoritma membalik angka

* Baris 11 : perulangan while loops berjalan selama conditionnya non-zero (true), dia berhenti ketika kondisi bernilai false (jika bilangan == 0)

* Baris 12 : dari kanan ke kiri, variabel hasil dihitung dari input variabel bilangan dimodulus 10

* Baris 13 : mencetak nilai variabel hasil

* Baris 14 : dari kanan ke kiri, bilangan dibagi 10

* Baris 15 : evaluasi, kembali ke baris 11

* while (bilangan>0)

* // misalnya input 1234

// while (1234 > 0)

// hasil = 1234 % 10 = 4

// printf 4

// bilangan = 1234 / 10 = 123 (int)

// evaluasi kembali ke baris 11

// while 123 > 0

// hasil = 123 % 10 = 3

// printf 3

// bilangan = 123 / 10 = 12 (int)

// evaluasi kembali ke baris 11

// while 12 > 0

// hasil 12 % 10 = 2

// printf 2

// bilangan = 12 / 10 = 1 (int)

// evaluasi kembal ke baris 11

// while 1 > 0

// hasil = 1 % 10 = 1

// printf 1

// bilangan = 1 / 10 = 0 (int)

// evaluasi kembali ke baris 11

// while 0 > 0 (false)

// perulangan berhenti

// kesimpulan printf 4321

perulangan berjalan selama bilangan 1,2,3 dst.

dia berhenti ketika bilangan==0


while (bilangan<0)

perulangan berjalan selama bilangan -1,-2,-3 dst.

dia berhenti ketika bilangan == 0


while (bilangan>=0)

perulangan berjalan selama bilangan 0, 1, 2, 3 dst.

dia berhenti ketika bilangan <0 yaitu -1,-2, dst.


while (bilangan<=0)

perulangan berjalan selama bilangan 0,-1,-2 dst.

dia berhenti ketika bilangan >0 yaitu 1,2 dst.


while (bilangan==0)

perulangan berjalan selama bilangan bernilai 0

dia berhenti ketika bilangan tidak sama dengan 0 yaitu 1, 2, 3, dst. atau -1, -2 , -3 dst.


cara memahami lebih dari kurang dari

-5 -4 -3 -2 -1 0 1 2 3 4 5

>0

<

>=

<=

==

*

* output

Masukkan bilangan bulat = 1234


Hasil setelah dibalik = 4321


------------------

(program exited with code: 0)

Press return to continue




*/


Program-12.c



 /* Tabel Konversi Suhu */

#include <stdio.h>

int main()

{

int no, c;

float f, r, k;

printf("NO |CELCIUS |FARENHEIT | REAMUR | KELVIN\n");

for(no=1; no<=11; no++){

if(no==1){

c=0;

f=(c * 9 / 5) + 32;

r=c * 4 / 5;

k=c + 273;

printf("%4d | %3d | %5.f | %5.f | %1.f\n", no, c, f, r, k);

continue;

}

c=c+10;

f=(c * 9 / 5) + 32;

r=c * 4 / 5;

k=c + 273;

printf("%4d | %3d | %5.f | %5.f | %1.f\n", no, c, f, r, k);

}

return 0;

}

 /* Analisis Program 12 Bab 5

* Baris 8 : mencetak header tabel

* Baris 10 : perulangan for, dimulai dari angka 1, diakhiri di angka 11, setiap perulangan ditambah 1

* Baris 11 : evaluasi kebenaran, apakah benar no = 1, jika benar, jalankan baris 11-19, jika salah, maka tidak dijalankan, lompat ke baris 20

* Baris 12 : variabel c diberi nilai 0

* Baris 13 : menghitung dari celcius disimpan ke farenheit

* Baris 14 : menghitung dari celcius disimpan ke reamur

* Baris 15 : menghitung dari celcius ke kelvin

* Baris 17 : mencetak baris no 1 pada output data tabel, bukan headernya

* Baris 18 : if dan continue berhubungan, dijalankan hanya ketika benar no == 1, menghentikan perulangan ketika no == 1, selebihnya dia lanjut

* Baris 19 : baris 11 - 19 menghasilkan baris no 1 dari tabel, tidak terkena continue

* Baris 20 : variabel c ditambah 10, harus punya nilai dulu

* Baris 24 : mencetak baris no 2 sampai no 11 pada output data tabel

* Baris 25 : perulangan for mulai dari baris 10 sampai baris 25

*/


Program-13.c

 



 /* Menghitung nilai rata-rata */

#include <stdio.h>

int main()

{

int nilai, n, hasil, jumlah;

float ratarata;

printf("Masukkan banyaknya data nilai= "); scanf("%d", &nilai);

for(n=1; n<=nilai; n++){

printf("Masukkan data nilai ke-%d = ", n);

scanf("%d", &hasil);

jumlah += hasil;

ratarata=jumlah / nilai;

}

printf("jumlah seluruh nilai adalah = %d\n", jumlah);

printf("rata-rata seluruh nilai adalah = %3.f", ratarata);

return 0;

getchar();

}

 /* Analisis Program 13 Bab 5

* Baris 7 : mencetak baris 1 output

* Baris 9 : perulangan for, dimulai dari angka 1, diakhiri di angka berapa variabel nilai yang diinput (anda yang menentukan), setiap perulangan ditambah 1

* Baris 12 : variabel hasil menampung input pengguna berkali-kali, sebanyak variabel nilai

* Baris 13 : jumlah = jumlah + hasil (variabel jumlah menampung hasil penjumlahan berkali-kali sebanyak variabel nilai), variabel jumlah pada asalnya belum ada nilainya (anggap saja 0)

* Baris 14 : jumlah / nilai disimpan di variabel ratarata

* Baris 15 : perulangan dari baris 9 sampai baris 15

Perulangan :

* perulangan pertama : jumlah = jumlah + hasil = 0 + 11 = 11

* perulangan kedua : jumlah = jumlah + hasil = 11 + 12 = 23

* perulangan ketiga : jumlah = jumlah + hasil = 23 + 13 = 36

* perulangan keempat : jumlah = jumlah + hasil = 36 + 14 = 50

* perulangan ke lima : jumlah = jumlah = hasil = 50 + 15 = 65

* menghitung rata-rata

* perulangan pertama : ratarata = jumlah / nilai = 0 / 5 = 0

* perulangan kedua : ratarata = jumlah / nilai = 23 / 5 = 4.6

* perulangan ketiga : ratarata = jumlah / nilai = 36 / 5 = 7.2

* perulangan keempat : ratarata = jumlah / nilai = 50 / 5 = 10

* perulangan kelima : ratarata = jumlah / nilai = 65 / 5 = 13

*/

 

Program-14.c 



 /**

* Program C menghitung jumlah angka suatu bilangan

* Sumber : https://codeforwin.org/c-programming/c-program-to-calculate-sum-of-digits

*/


#include <stdio.h>


int main()

{

int num, sum=0;


printf("Masukkan angka untuk dicari jumlah digitnya : ");

scanf("%d", &num);


while(num!=0)

{

sum += num % 10;


num = num / 10;

}


printf("Jumlah digit : %d", sum);


return 0;

}

 /* Analisis Program 14 Bab 5

* Input = 4321

* Perulangan ke 1 :

* num = 4321

* while 4321 !=0 bernilai true

* sum += 4321 % 10 artinya sum = 0 + 4321 % 10 = 1 artinya sum = 1

* num = num / 10 artinya num = 4321 / 10 = 432 artinya num = 432

* } kembali kepada evaluasi syarat

* Perulangan ke 2 :

* num = 432

* while 432 !=0 bernilai true

* sum += 432 % 10 artinya sum = 1 + 432 % 10 = 1 + 2 = 3 artinya sum = 3

* num = num / 10 artinya num = 432 / 10 = 43 artinya num = 43

* } kembali kepada evaluasi syarat

* Perulangan ke 3 :

* num = 43

* while 43 !=0 bernilai true

* sum += 43 % 10 artinya sum = 3 + 3 = 6

* num = num / 10 artinya num = 43 / 10 = 4 artinya num = 4

* } kembali kepada evaluasi syarat

* Perulangan ke 4 :

* num = 4

* while 4 !=0 bernilai true

* sum += 4 % 10 artinya 6 + 4 = 10

* num = num / 10 artinya num = 4 / 10 = 0 artinya num = 0

* } kembali ke evaluasi syarat

* num = 0

* while 0 !0 bernilai false, perulangan selesai

*/

Program-15.c

 



 /* Program Faktorial */

#include <stdio.h>


int main(){

int a=0, b=10, c=1;

printf("PROGRAM FAKTORIAL YANG SEPULUH\n\n");

printf("URUTAN\tFAKTORIAL\n");

while(a<b){

a++;

c = c * a;

printf("%3d!\t%7d\n", a, c);

}

getchar();

return 0;

}

 /*Analisis Program 15 Bab 5

* Baris 5 : Deklarasi tiga variabel, variabel a diberi nilai 0, variabel b diberi nilai 10, variabel c diberi nilai 1

* Baris 6-7 : mencetak pesan header

* Baris 7 : pesan dicetak menjadi dua kolom karena ada \t

* baris 8 : awal perulangan, while melakukan perulangan selama syarat bernilai non zero (true), apakah nilai a kurang dari b

* baris 9 : nilai a bertambah satu di setiap perulangan

* baris 10 : rumus hitung faktorial yang sebenarnya, c dikali a berapa hasilnya, nilai hasilnya disimpan di variabel c

* baris 11 : /t mencetak dua kolom

* baris 12 : evaluasi, akhir perulangan, kembali ke baris 8

Output :

PROGRAM FAKTORIAL YANG SEPULUH


URUTAN FAKTORIAL

1! 1

2! 2

3! 6

4! 24

5! 120

6! 720

7! 5040

8! 40320

9! 362880

10! 3628800



*/

Program-16.c



 /* Program Input Berulang Output Nilai Total */


#include <stdio.h>


int main(){

int i, data=0;

float nilai, total=0, rerata=0, max=0, min=0;

printf("Input jumlah data: "); scanf("%d", &data);

for(i=1; i<=data; i++){

printf("Input nilai ke-%d: ", i); scanf("%f", &nilai);

total = total + nilai;

rerata = total / data;

if (max < nilai || max == 0)

{

max = nilai;

}

if (min > nilai || min == 0)

{

min = nilai;

}

}

printf("Jumlah data input: %d\n", data);

printf("Jumlah nilai: %f\n", total);

printf("Rata-rata nilai : %f\n", rerata);

printf("Tertinggi: %f\n", max);

printf("Terendah: %f\n", min);

getchar();

return 0;

}


 /*

* Analisis Program 16 Bab 5

* baris 6 : tipe data integer, variabel i belum diberi nilai, variabel data diberi nilai 0

* baris 7 : tipe data float, variabel 'nilai' belum diberi nilai, variabel total, rerata, max, min, diberi nilai 0

* baris 9 : printf mencetak pesan, scanf memindai, menyimpan dan disimpan di variabel data

* baris 11 : perulangan for, dimulai dari angka 1, diakhiri di angka berapa variabel nilai yang diinput (anda yang menentukan), setiap perulangan ditambah 1

* baris 14 - 15 : rumus perhitungan, dilakukan secara incremental dimana disetiap perulangan dilakukan penjumlahan dan pembagian tersebut

* Perulangan :

* putaran 1 -> total : 92 + 0 = 92, rerata : 92 / 3 = 30.6

* putaran 2 -> total : 92 + 98 = 190, rerata : 190 / 3 = 63.3

* putaran 3 -> total : 190 + 45 = 235, rerata : 235 / 3 = 78.3

* Baris 17 : perulangan if

* Putaran 1 : max nilai aslinya 0, apakah benar 0 kurang dari 92, hasilnya TRUE, maka masuk ke baris 18, 92 disimpan di max

* Putaran 2 : max bernilai 92, apakah benar 92 kurang dari 98, hasilnya TRUE, maka masuk ke baris 18, 98 disimpan di max

* Putaran 3 : max bernilai 98, apakah benar 98 kurang dari 45, hasilnya FALSE, maka jalankan evaluasi || (or) nya,

* apakah benar max (bernilai 98) hasilnya == 0, hasilnya FALSE, maka baris 18 tidak dijalankan, maka tetap max = 98

* Baris 21 : perulangan if

* Putaran 1 : apakah benar 0 (min) lebih dari 92, FALSE, maka jalankan evaluasi OR nya, apakah benar nilai min == 0, TRUE, berarti 92 disimpan di min

* Putaran 2 : apakah benar 92 (min) lebih dari 98, FALSE, maka jalankan evaluasi OR nya, apakah benar 92 == 0, FALSE, berarti nilai min masih 92

* Putra 3 : apakah benar 92 (min) lebih dari 45, TRUE, maka 45 disimpan di min, maka nilai min 45

* Baris 27 - 31 : mencetak pesan

Output :

Input jumlah data: 3

Input nilai ke-1: 92

Input nilai ke-2: 98

Input nilai ke-3: 45

Jumlah data input: 3

Jumlah nilai: 235.000000

Rata-rata nilai : 78.333336

Tertinggi: 98.000000

Terendah: 45.000000



------------------

(program exited with code: 0)

Press return to continue



*/


Matriks X



 /* Matriks X */

#include <stdio.h>

int main()

{

int baris, kolom;

for(baris=0; baris<10; baris++){

for(kolom=0; kolom<10; kolom++){

if(baris==kolom)

{

printf("1 ");

}

else if(baris+kolom==9) //karena variabel kolom maksimal 9

{

printf("1 ");

}

else

{

printf("0 ");

}

}

printf("\n");

}

getchar();

}


Pelajaran 2 



Alt + F2 menjalankan KRunner, seperti Windows + R




Pengaturan Alt + F2



Version control : penjelasan tentang teknologi pengendalian versi-versi software untuk programmer



Source code management : antara lain Subversion, CVS, Mercurial, git



Git : software yang berfungsi sebagai VCS dan SCM yang paling populer hari ini



Codeberg : adalah layanan SCM berbasis web seperti Github, dari komunitas free software



Geany : contoh proyek software pada SCM yaitu Github



Github Geany : contoh bagaimana cara kerja VCS dan SCM, yaitu seperti mesin waktu kode sumber

 

Kesimpulan

  1. Terdapat 3 jenis perulangan, yaitu, for-loop, while-loop, dan do-while. Seperti halnya IF-ELSE, pada fungsiperulangan ada evaluasi kebenaran untuk menentukan apakah program akan diulang atau tidak. Struktur for-loop adalah seperti ini: for(inisiasi variabel; kondisi; increment /decrement){}, sedangkan struktur while-loop adalah seperti ini: while(kondisi){} While-loop dan do-while memiliki sedikit perbedaan. Pada while-loop, program akan memastikan terlebih dahulu apakah kondisi terpenuhi atau tidak, kemudian menjalankan program, sedangkan pada do-while, program akan dijalankan terlebih dahulu terlepas kondisinya terpenuhi atau tidak, kemudian memastikaan kondisi apakah terpenuhi atau tidak.
  2. KRunner mirip fungsi run pada Microsoft Windows sebagai launcher aplikasi praktis.
  3. Dalam ranah pengembangan aplikasi, terdapat beberapa teknologi yang digunakan , seperti version control, source code management. Version control dan source code management dapat dilakukan dengan software seperti Git, dan layanan berbasis web seperti Github dan Codeberg.

Sumber Referensi

  1. Definisi free software https://www.gnu.org/philosophy/free-sw.en.html
  2. https://en.wikipedia.org/wiki/Version_control#Source-management_models
  3. https://git-scm.com/
  4. https://codeberg.org/
  5. https://github.com/geany/geany 

 

Semoga artikel ini bermanfaat dan barokah bagi seluruh rakyat Indonesia


****

No comments:

Post a Comment

Belajar Pemrograman -- Presentasi Pemrograman 1

  Bismillahirahmanirrahim. Tulisan ini diambil dari Presentasi saya di kelas Pemrograman kursus Teknoplasma Nama: Muhammad Dimas Akbar Kota:...