Tuesday, March 12, 2024

Belajar Pemrograman Bab 2 -- Expression (Operator & Operand) & Statement

Bismillahirahmanirrahim.

Tulisan ini diambil dari Laporan 2 saya di kelas Pemrograman kursus Teknoplasma

  • Nama: Muhammad Dimas Akbar
  • Distro: Trisquel 11 Aramo KDE
  • Provinsi: Jawa Barat
  • Tanggal: Selasa, 06 Februari 2024
  • Pertemuan berapa: 13
  • Pengajar: Ade Malsasa Akbar

 

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

Program-1.c




/* Nama File : EXPRESS1.C */


#include <stdio.h>


int main ()


{

int bulat = 32767;

float pecahan = 339.1234567;

double ganda = 3.4567890e+11;

char karakter = 'W';

printf("Variabel bilangan bulat = %d\n\n", bulat);

printf("Variabel bilangan pecahan = %d\n\n", pecahan);

printf("Variabel bilangan pecahan2 = %d\n\n", ganda);

printf("Variabel bilangan karakter = %d\n\n", karakter);

getchar();

}

/* Analisis Bab 2 program 1

* baris 8 : deklarasi variabel bulat dengan tipe data integer, nilainya 32767

* baris 9 : deklarasi variabel pecahan dengan tipe data float, nilainya 339.1234567

* baris 10 : deklarasi variabel ganda dengan tipe data double, nilainya 3.4567890e+11 (e adalah bilangan eksponensial)

* baris 11 : deklarasi variabel karakter dengan tipe data char, nilainya W

* Tata cara 'find and replace' pada Geany

Ctrl+H > centang case sensitive dan match only whole word > buka menu 'replace all', hilangkan centang close dialog > klik 'in Document'

*/

 

Program-2.c



/* Nama File : EXPRESS2.C */


#include <stdio.h>


int main ()


{

int a, b, c, d, hasil;

printf("\nMasukkan nilai a b = ");

scanf("%d %d", &a, &b);

printf("\nMasukkan nilai c d = ");

scanf("%d %d", &c, &d);

printf("a = %d, b = %d, c = %d, d = %d", a, b, c, d);

hasil = a - b;

printf("\nHasil dari: a - b adalah %d\n", hasil);

hasil = c + d;

printf("\nHasil dari: c + d adalah %d\n", hasil);

hasil = b * c;

printf("\nHasil dari: b * c adalah %d\n", hasil);

hasil = a / c;

printf("\nHasil dari: a / c adalah %d\n", hasil);

hasil = a + b * c;

printf("\nHasil dari: a + b * c adalah %d\n", hasil);

hasil = a * b + c * d;

printf("\nHasil dari: a * b + c * d adalah %d\n", hasil);

getchar();

}

/* Analisis bab 2 program 2

* baris 7 : fungsi scanf : mengambil input pengguna, memformat input sebagai integer (%d), menyimpannya di variabel tersebut

* baris 9 : ampersand & digunakan pada scanf untuk menyimpan pada variabel yang dituju

* baris 12 : artinya nilai a - b, lalu hasilnya disimpan di variabel 'hasil'

* baris 15 : artinya nilai c + d, lalu hasilnya disimpan di variabel 'hasil'

* baris 18: artinya nilai b * c, lalu hasilnya disimpan di variabel 'hasil'

* baris 21 : pembagian integer adalah satu dari dua pembagian dalam pemrograman, dia mengkorupsi koma dan mengkorupsi angka setelah koma (tidak dirancang menerima koma)

* baris 24 : pembagian integer adalah satu dari dua pembagian dalam pemrograman, dia mengkorupsi koma dan mengkorupsi angka setelah koma (tidak dirancang menerima koma)

* baris 27 : artinya perkalian didahulukan (a * b) + (c * d), lalu hasilnya disimpan di variabel hasil

*/

 

Program-3.c



/* Nama File : EXPRESS3.C */


#include <stdio.h>


int main ()


{

int a = 12;

int b = 8;

int hasil;

float c = 11.0;

float d = 7.0;

printf("6 + a / 5 * b = %d\n\n", 6 + a / 5 * b);

printf("a / b * b = %d\n\n", a / b * b);

printf("c / d * d = %f\n\n", c / d * d);

printf("-a = %d\n", -a);

getchar();

}

/* Analisis bab 2 program 3

* Deskripsi : Perhitungan aritmatika

* baris 8-12 : deklarasi variabel dengan tipe data integer dan float dengan nilai

* baris 14 : 6 + (12 / 5) * 8 = 22

* baris 15 : 12 / 8 * 8 = 8

* baris 16 : 11.0 / 7.0 * 7.0 = 11.0

* baris 17 : -12 = -12

* pembagian dalam bahasa c : tipe data integer menghasilkan bilangan bulat (tidak bisa menghasilkan koma) dan float (yang pembilang dan penyebutnya menghasilkan koma)

*/

 

Program-4.c



/* Nama File : EXPRESS4.C */


#include <stdio.h>


int main ()


{

int a = 14, b = 2, c = 3, d = 4;

printf("a %% b = %d\n\n", a % b);

printf("a %% c = %d\n\n", a % c);

printf("a %% d = %d\n\n", a % d);

printf("a / d * d + a %% d = %d\n", a / d * d + a % d);

getchar();


}


/*Analisis Bab 2 Program 4

* Deskripsi : Modulus

* modulus adalah sisa hasil bagi (dua kali kerja, kerja pertama yaitu pembagian, lalu perkalian, dan pengurangan ), merupakan jantung daripada informatika

* contoh :

* 14 %% 3 : 14 / 3 = 4 lalu 4 * 3 = 12 lalu 14 - 12 = 2

* 14 %% 5 : 14 / 5 = 2 lalu 2 * 5 = 10 lalu 14 - 10 = 4

* 21 %% 6 : 21 / 6 = 3 lalu 3 * 6 = 18 lalu 21 - 18 = 3

* 25 %% 7 : 25 / 7 = 3 lalu 3 * 7 = 21 lalu 25 - 21 = 4

*/

 

Program-5.c



/* Nama File : EXPRESS5.C */

#include <stdio.h>


int main ()


{

float p1 = 123.45678, p2;

int b1, b2 = -150;

b1 = p1; /* konversi pecahan ke bulat */

printf("%f disimpan ke int menghasilkan %d\n\n", p1, b1);

p1 = b2; /* konversi bulat ke pecahan */

printf("%d disimpan ke float menghasilkan %f\n\n", b2, p1);

p1 = b2 / 100; /* bulat dibagi bulat */

printf("%d dibagi 100 menghasilkan %f\n\n", b2, p1);

p2 = b2 / 100.0; /* bulat dibagi pecahan */

printf("%d dibagi 100 menghasilkan %f\n\n", b2, p2);

getchar();


}


/* Analisis Bab 2 program 5

* Deskripsi : Assignment / memasangkan antara nilai dan variabel

* baris 8 : deklarasi dua variabel bertipe data float, variabel p2 belum ada nilainya

* baris 9 : deklarasi dua variabel bertipe data integer, variabel b1 belum ada nilainya

* baris 11 : konversi pecahan ke bulat (123.45678 disimpan ke tipe data integer menghasilkan 123)

* baris 14 : konversi bulat ke pecahan (-150 disimpan ke tipe data float menghasilkan -150.000000)

* baris 17 : bulat dibagi bulat (-150 dibagi 100 menghasilkan -1.0000000)

* baris 20 : bulat dibagi pecahan (-150 dibagi 100 menghasilkan -1.5000000)

*/

 

Program-6.c



/* Nama File : EXPRESS6.C */


#include <stdio.h>


int main ()


{

int x, y, z;

x=80; y=x++; z=++x;

printf("Nilai dari x, y, z adalah %d, %d, %d\n\n", x, y, z);

y=x--; z=--x;

printf("Nilai dari x, y, z adalah %d, %d, %d\n\n", x, y, z);

getchar();

}

/* Analisis bab 2 program 6

* baris 9 : x=80 y= z=; x=81 y=80 z=; x=82 y=80 z=82

* baris 10 : menampilkan nilai hasil variabel x,y,z dari baris 9

* baris 12 : x=81 y=82 z=82; x=80 y=82 z=80

* baris 13 : menampilkan nilai hasil variabel x,y,z dari baris 12

*/

// x= 81 y= 80 z= (dari kanan ke kiri, jika ++ di kanan maka nilai asli x disimpan dulu ke y, lalu nilai asli x ditambah 1)

// x= 82 y=80 z=82 (jika ++ di sebelah kiri, maka nilai asli x ditambah 1 dulu, lalu disimpan di z)

// x=81 y=82 z=82 (dari kanan ke kiri, jika -- di kanan maka nilai asli x disimpan dahulu ke y, lalu nilai asli x dikurangi 1)

// x=80 y=82 z=80 (jika -- di sebelah kiri, maka nilai asli x dikurangi 1 dulu, lalu disimpan di z)

 

Program-7.c



/* Nama File : EXPRESS7.C */


#include <stdio.h>


int main ()


{

float x;

printf("Masukkan nilai pecahan yang akan ditampilkan : ");

scanf("%f", &x);

printf("format e => %e\n", x);

printf("format f => %f\n", x);

printf("format g => %g\n", x);

getchar();

}

/* Analisis Bab 2 Program 7

* Deskripsi : program format specifiers untuk float

* baris 8 : variabel bertipe data float, x belum ada nilainya

* baris 12 : %e untuk mencetak bilangan eksponensial

* baris 13 : %f untuk mencetak bilangan pecahan

* baris 11 : %g untuk mencetak bilangan bulat sederhana

*/

  

Program-8.c



/* Nama File : EXPRESS8.C */


#include <stdio.h>


int main ()


{

float F, C;

printf("Masukkan derajat Fahrenheit = ");

scanf("%f", &F);

C = 5.0/9.0 * (F - 32.0);

printf("%g derajat Fahrenheit adalah = %g derajat Celcius", F, C);

getchar();

}

/* Analisis bab 2 program 8

* Baris 8: mencetak dua variabel bertipe data float

* baris 11 : memindai input pengguna pada variabel F

* baris 13: rumus penghitungan nilai variabel

* baris 12: %g yang pertama mencetak nilai F, %g yang kedua mencetak nilai C

*/

/* Analisis perbandingan antara pembagian integer dengan pembagian float

* pembagian integer :

* C = 5/9 * (F - 32); // C = 5/9 * (212 - 32) = 0

// C = 5/9 * (180)

// C = 0.555555 (int) * 180

// C = 0 * 180

// C = 0

* pembagian float

* C = 5.0/9.0 * (F - 32.0); // C = 5.0/9.0 * (212 - 32.0)

* // C = 5.0/9.0 * (180.0)

* // C = 0.555555 (float) * 180.0

* // C = 100

*/

 

Program-9.c




/* Nama File : EXPRESS9.C */


#include <stdio.h>


int main ()


{

int x, ubahY;

float y, z;

printf("Masukkan nilai x = ");

scanf("%d", &x);

y= 3*(x*x) + 6*x + 9;

ubahY = y; // konversi variabel y bertipe data float ke integer

z = (2*(y*y) + 5*(x*x)) / (9*y);

printf("Didapatkan hasil y = %d dan nilai z = %f", ubahY, z);

}

/* Analisis bab 2 program 9

* baris 13 : cara menulis rumus y=3x^2 + 6x + 9 dalam pemrograman C di Geany

* baris 14 : konversi input nilai variabel bertipe data float (berpecahan) ke integer (bilangan disederhanakan jadi bilangan bulat)

* baris 15 : cara menulis rumus z = 2(2y^2 + 5x^2) / 9y dalam pemrograman C di Geany

*/

 

Program-10.c



/* Nama File : EXPRESS10.C */


#include <stdio.h>

#define PI 3.14


int main ()


{

int r;

float keliling, luas;

printf("Masukkan jari-jari lingkaran = ");

scanf("%d", &r);

keliling = 2*PI*r;

luas = PI*r*r;

printf("Keliling lingkaran dengan jari-jari %d adalah = %f", r, keliling);

printf("\nLuas Lingkaran dengan jari-jari %d adalah = %f", r, luas);

getchar();

}

/* Analisis Bab 2 program 10

* baris 4 : #define PI 3.14 adalah deklarasi konstanta denga nama PI dengan nilai 3.14

* baris 14 : Keliling = 2 * 3.14 * 10 = 62.8 (konstanta PI = 3.14)

* baris 15 : luas = 3.14 * 10 * 10 = 314 (konstanta PI = 3.14)

*/

 

Program-11.c



/* Nama File : EXPRESS11.C */


#include <stdio.h>


int main ()


{

int jam, menit, rumus;

printf("Masukkan jam dan menit (jj:mm) = ");

scanf("%d:%d", &jam, &menit);

rumus = jam * 60 + menit;

printf("Jam %d:%d adalah setara dengan %d menit", jam, menit, rumus);

}

/* Analisis Bab 2 program 11

* Baris 6 : tiga variabel dengan tipe data integer

* baris 13 : rumus

* baris 15 : %d yang pertama mencetak variabel jam, %d yang kedua mencetak variabel menit, variabel %d ketiga mencetak variabel hasil perhitungan rumus

*/

 

Program-12.c



/* Nama File : EXPRESS12.C */


#include <stdio.h>


int main ()


{

int a, b, c, d;

double e, f, g, h;

a=75; b=259; c=3315; d=12345;

e=75.07; f=259.055; g=3315.3310; h=12345.67890;

printf("a=%7d\nb=%7d\nc=%7d\nd=%7d\n\n", a, b, c, d);

printf("e=%12.5f\nf=%12.5f\ng=%12.5f\nh=%12.5f\n", e, f, g, h);

getchar();

}

/* Analisis Bab 2 program 12

* baris 8 : mencetak empat variabel bertipe data integer

* baris 9 : mencetak empat variabel bertipe data double

* baris 11 - 12 : nilai-nilai variabel

* baris 14 : kode %7d menyatakan bilangan yang akan ditampilkan sepanjang 7 karakter

* baris 15 : kode %12.5f artinya bilangan yang akan ditampilkan sepanjang 12 karakter dengan jumlah digit pecahan berjumlah 5 buah

*/

 

Kesimpulan

  1. Modulus adalah sisa hasil bagi (dua kali kerja, kerja pertama yaitu pembagian, lalu perkalian, dan pengurangan ), merupakan jantung daripada informatika
  2. Operator increment dan decrement adalah sebutan untuk operasi seperti a++, dan a--. Ini sebenarnya penulisan singkat dari operasi a = a + 1 serta a = a – 1. Penjelasannya : 
  • dari kanan ke kiri, jika ++ di kanan maka nilai asli x disimpan dulu ke y, lalu nilai asli x ditambah 1. 
  • Jika++ di sebelah kiri, maka nilai asli x ditambah 1 dulu, lalu disimpan di z. 
  • Dari kanan ke kiri, jika -- di kanan maka nilai asli x disimpan dahulu ke y, lalu nilai asli x dikurangi 1. 
  • Jika -- di sebelah kiri, maka nilai asli x dikurangi 1 dulu, lalu disimpan di z 
  •  Fungsi : 
    1. %e untuk menampilkan bilangan eksponensial 
    2. %f untuk menampilkan bilangan pecahan 
    3. %g untuk menampilkan bilangan bulat sederhana
  • Tata cara 'find and replace' pada Geany :
Ctrl+H > centang case sensitive dan match only whole word > buka menu 'replace all', hilangkan centang close dialog > klik 'in Document'

 

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:...