Pemrograman bahasa C

Praktikum pemrograman


praktikum 1 :

program sederhana menggunakan bahasa C, mencari luas persegi panjang, lingkaran, dan segitiga


daftara isi :

1. luas persegi panjang

2. luas lingkaran 

3. luas segitiga


  1. Luas Persegi Panjang

sebelum membuat program kita akan membuat flowchart, pseudocode, dan yang terakhir melakukan pemrograman, yang mana disisini kita akan menggunakan bahasa C. dan disini saya akan menggunakan codeBlock sebagai text editor.

  •  Flowchart


  •  pseudocode

program hitung_luas_persegi_panjang

deklarasi
float Luas, Lebar, Panang;

read (Lebar); {di input user}
read (panjang); {di input user}

luas = Lebar * Panjang;

write (Luas);

  • Code Program
#include <stdio.h>

int main (){
    // deklarasi variable
    float Luas,Lebar,Panjang;
    printf("masukan nilai panjang = ");
    scanf("%f", &Panjang);
    printf("masukan nilai lebar = ");
    scanf("%f", &Lebar);

    Luas = Panjang * Lebar;
    printf("Luas persegi panjang adalah = %.2f\n", Luas);

    return 0;
}

kalau di jalankan outputnya akan seperti ini :





      2. Luas Lingkaran

sebelum membuat program kita akan membuat flowchart, pseudocode, dan yang terakhir melakukan pemrograman, yang mana disisini kita akan menggunakan bahasa C. dan disini saya akan menggunakan codeBlock sebagai text editor.

  • Flowchart




  • Pseudocode

program hitung_luas_lingkaran
deklarasi
var phi : float;
var r,luas:integer;
algoritma:
phi <– 3.14;

read(r); {diinput user}

luas <– phi * r *r;

write(luas);


  • Code Program
#include <stdio.h>

int main (){
    float PI,r,Luas;
    PI = 3.14;

    printf("masukan panjang  jari jari = ");
    scanf("%f", &r);
    Luas = PI * r*r;
    printf("Luas lingkaran adalah = %.2f\n", Luas);

    return 0 ;
}

kalau di jalankan outputnya akan seperti ini :




     2. Luas Segitiga

Pembuatan program sederhana untuk mencari luas segitiga kurang lebih akan mirip seperti pada program mencari luas pada persegi panjang, yang mana rumus nya hanya mengkalikan dua variable. sebelum membuatnya seperti biasa kita akan membuat flowchart, pseudocode, baru membuat code program itu sendiri.

  • Flowchart



  • Pseudocode

program hitung_luas_segitiga

deklarasi
var luas,alas,tinggi:float;

algoritma:
alas <– 25;
tinggi <– 30;

luas <– 1/2 * alas * tinggi

write(luas)



  • Code Program
#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("========== Mencari Luas Segitiga ==========\n");
    float alas,tinggi,luas;
    printf("masukan nilai alas = ");
    scanf("%f", &alas);
    printf("masukan nilai tinggi = ");
    scanf("%f", &tinggi);
    luas = 0.5 * alas * tinggi;

    printf("luas segitiga adalah = %.2f\n",luas);

    return 0 ;
}

kalau di jalankan outputnya akan seperti ini :


praktikum 2 :

If, If-else, For Loop, While Loop, Do-While Loop dengan Bahasa C

daftar isi :

1. pengertian struktur kontrol

2. If Statment

3. If-Else Statment

4. For Loop

5. While Loop

6. Do-While Loop




1. Pngertian Struktur Kontrol

Di dalam pemrograman ada istilah yang di sebut struktur kontrol, apa itu struktur kontrol?.
Struktur kontrol di dalam bahasa pemrograman adalah perintah dengan bentuk (struktur) tertentu yang digunakan untuk mengatur (mengontrol) jalannya program.
kali ini kita akan mempraktekan apa itu struktur kontrol


2. If Statment

Pemilihan if digunakan untuk menjalankan suatu blok kode jika kondisi tertentu terpenuhi.
Jika kondisi evaluasi bernilai benar (true), blok kode di dalam if akan dieksekusi. Jika kondisi
evaluasi bernilai salah (false), blok kode di dalam if akan dilewati.
kita akan membuat sebuah Flowchart, Pseudocode, dan Code Program dari If Statmnet

  • Flowchart



  • Pseudocode
Suruh User memasukan nilai

    jika nilai di bagi 2 = 0
       "itu Bilangan genap

  • Code Program
#include <stdio.h>
int main(){
int num;
printf("masukan bilangan bulat = ");
scanf("%d",&num);
if(num % 2 == 0){
printf("itu Bilangan genap");
}
}
maka outputnya akan seperti ini :



  3. If Statment

else if adalah pilihan alternative dari penyeleksian untuk mencari kondisi yang diinginkan, else if memiliki fungsi yang sama seperti pernyataan if dan diletakan setelah pernyataan if. else adalah pilihan terakhir yang akan dijalankan jika semua pilihan tidak memiliki nilai benar (true) pada kondisi yang ada.

  • Flowchart


  • Pseudocode
Program Ganjil_genap

suruh user masukan intput bilangan genap

jika(if) input % 2 == 0
print out (itu bilangan genap);
jika salah (else)
print out (itu bilangan Ganjil) ;

  • Code Program
#include <stdio.h>
int main(){
int num;
printf("masukan bilangan bulat = ");
scanf("%d",&num);
if(num % 2 == 0){
printf("itu Bilangan genap");
}else{
printf("itu Bilangan Ganjil");
}
}
maka outputnya akan seperti ini :



  4. For Loop

Perulangan For adalah suatu bentuk proses pengulangan kegiatan pada suatu statement atau lebih secara berulang ulang-ulang selama yang dijadikan acuan tersebut terpenuhi dengan baik.

  • FlowChart


  • Pseudocode
FOR i = 1
i to 10 
print i
End for

  • CodeProgram

#include <stdio.h>

int main(){
int i;
for (i = 1; i <= 10; i++) {
printf(
"%i\n",i) ;

}
return 0;
}
Dibawah ini merupakan output dari kode di atas :


5. While Loop

While Loop adalah metode perulangan dimana ada kondisi yang harus dipenuhi supaya looping bisa berjalan terus. While Loop mengulangi eksekusi sub diagram didalamnya sampai terminal kondisi menerima nilai Boolean tertentu. Nilai Boolean tergantung dari sifat dari While Loop


  • FlowChart




  • Code Program
#include <stdio.h>

int main (){
int i = 5;
while (i <= 100) {
printf("%d\n", i);
i += 5;
}
return 0;
}
Maka hasil nya akan seperti gambar di bawah ini :

6. Do-While Loop

Do-while digunakan untuk mengulang statement sebanyak satu kali terlebih dahulu, kemudian akan mengecek statement didalam while apakah bernilai benar, jika bernilai benar maka akan diulang kembali

  • Flowchart

  • Pseudocode

  • Code Program
#include <stdio.h>

int main() {
int bilangan;

do {
printf("Masukkan bilangan positif (masukkan negatif untuk berhenti): ");
scanf("%d", &bilangan);



} while (bilangan >= 0);

return 0;
}
Output dari program tersebut akan seperti dibawah ini :

dari output tersebut kitika kita memasukan bilangan positif maka perulanagan akan terus berlanjut,
sedangkan ketika kita memasukan angka negaatif, maka perulangan tersebut akan berhenti

Switch-Case dan Else-If di dalam bahasa pemrograman C

  1. Switch-Case
Definisi Switch case merupakan pernyataan yang dirancang khusus untuk menangani pengambilankeputusan yang melibatkan sejumlah atau banyak alternative. Switch-case juga merupakan pernyataan yang dirancangan khusus untuk menanganipengambilan keputusan yang melibatkan sejumlah atau banyak alternatif penyelesaian.
Kali ini kita akan mambuat program sederhana menggunakan switch case, disini kita akan menggabungkan antara perulangan Do-While yang sudah kita pelajari sebelumnya. dan saya akan menggunakan text editor Clion dari JetBrains. sebelum membuat program seperti biasa saya akan membuat flowchart dan pseudocode terlebih dahulu. untuk membuat flowchart saya menggunakan draw.io

  • Flowchart

  • Pseudocode
Program Pilihian sederhana
tampilkan pilihlah 1-3
jika memilih 1 maka tampilkan ("itu pilhan 1");
jika memilih 2 maka tampilkan ("itu pilhan 2");
jika memilih 3 maka tampilkan ("itu pilhan 3");
jika pilihan != 1 sampai 3 maka tampilkan ("pilihan Tidak valid");

jika yang di pilih != 0 perulangan terus berlanjut
jika yang di pilih 0 maka perulangan berhenti

  • Code Program
#include <stdio.h>

int main() {
int pilihan;
do{
printf("masukan pilihan 1 sampai 3\n");
scanf("%d", &pilihan);
switch (pilihan) {
case 1:
printf("itu pilihan 1\n");
break;
case 2:
printf("itu pilihan 2\n");
break;
case 3:
printf("itu pilihan 3\n");
break;
default:
printf("pilihan tidak valdi\n");
}
} while (pilihan != 0);
}
output dari program tersebut setelah di run atau di jalankan akan seperti di bawah ini :


2. Else- If

else if adalah pilihan alternative dari penyeleksian untuk mencari kondisi yang diinginkan, else if memiliki fungsi yang sama seperti pernyataan if dan diletakan setelah pernyataan if. else adalah pilihan terakhir yang akan dijalankan jika semua pilihan tidak memiliki nilai benar (true) pada kondisi yang ada. Kita akan mempraktikan fungsi dari else if ini dalam program menentukan grade suatu nilai. sebelum membuat kode saya akan membuat flowchart dan pseudocode terlebih dahulu. 

  • Flowchart


  • pseudocode
Masukan Nilai :

jika nilai >=90 makan print Grade "A"
jika nilai >=80 makan print Grade "B"
jika nilai >=70 makan print Grade "C"
jika nilai >=60 makan print Grade "D"

Selain nilai di atas maka print Grade "E"

  • Code Program
#include <stdio.h>

int main() {
int nilai;

printf("Masukkan nilai Anda: ");
scanf("%d", &nilai);

printf("Grade Anda: ");

if (nilai >= 90) {
printf("A");
} else if (nilai >= 80) {
printf("B");
} else if (nilai >= 70) {
printf("C");
} else if (nilai >= 60) {
printf("D");
} else {
printf("E");
}

printf("\n");

return 0;
}
dari kode di atas maka akan menghasilkan output seperti di bawah :

PRAKTIKUM 3

 Function in C programing language

kali ini kita akan mambuat function di dalam bahasa C, dsisini kita akan membuat beberapa contoh penggunaan funtion/ fungsi yaitu :
1. luas dan keliling persegi
2. bilangan berpangakat
3. program sapaan kepada user
4. konversi farenheit ke celcius


1. hitung luas persegi menggunakan fungsi/function

saya akan menuliskan kode dan output :

#include <stdio.h>
double hitungLuasPersegi(double sisi){
return (sisi*sisi);
}
double hitungKelilingPersegi(double sisi){
return (4*sisi);
}
void cetakHasil(double luas,double keliling){
printf("Luas persegi : %.2f\n", luas);
printf("Keliling Persegi : %.2f\n", keliling);
}
int main(){
double sisi;
printf("masukan nilai sisi persegi:");
scanf("%1f", &sisi);

double luas = hitungKelilingPersegi(sisi);
double kelliling = hitungLuasPersegi(sisi);

cetakHasil(luas,kelliling);
return 0;
}

2. bilangan berpangkat

#include <stdio.h>
int hitungBilanganPangkat(int bilangan, int pangakat){
int hasil = 1;
for( int i = 1; i <= pangakat; i++){
hasil *= bilangan;
}
return hasil;
}
int main() {
int bilangan,pangkat;
printf("masukan bilangan :");
scanf("%d", &bilangan);
printf("masukan pangkat : ");
scanf("%d", &pangkat);

int hasilPangkat = hitungBilanganPangkat(bilangan,pangkat);
printf("%d pangakt %d adalah %d",bilangan,pangkat,hasilPangkat);
return 0;

OUTPUT :


3. PROGRAM SAPAAN KEPADA USER

#include <stdio.h>
void sapa(){
printf("Hallo ");
}
void main(){
char nama;
printf("masukan nama anda :");
scanf("%s", &nama);
sapa();
printf("%s", &nama);
}



output :



4. konversi farenheit ke Celcius

#include <stdio.h>

double konversiCtoF(double suhuCelsius) {
return (suhuCelsius * 9/5) + 32;
}

double konversiFtoC(double suhuFahrenheit) {
return (suhuFahrenheit - 32) * 5/9;
}

void cetakHasil(double suhuAwal, double suhuHasil) {
printf("Suhu awal: %.2f\n", suhuAwal);
printf("Suhu hasil konversi: %.2f\n", suhuHasil);
}
int main() {
double suhuAwal;
char pilihan;
printf("Masukkan suhu awal: ");
scanf("%lf", &suhuAwal);
printf("Pilih konversi: \n");
printf("1. Celsius ke Fahrenheit\n");
printf("2. Fahrenheit ke Celsius\n");printf("Pilihan: ");
scanf(" %c", &pilihan);
double suhuHasil;
if (pilihan == '1') {
suhuHasil = konversiCtoF(suhuAwal);
} else if (pilihan == '2') {
suhuHasil = konversiFtoC(suhuAwal);
} else {
printf("Pilihan tidak valid.\n");
return 0;
}
cetakHasil(suhuAwal, suhuHasil);
return 0;
}
output :

praktikum 4:

OOP (object oriented programming)

Object-Oriented Programming atau OOP adalah suatu metode programming yang berorientasi pada objek. Program-program tersebut merupakan gabungan dari beberapa komponen kecil yang telah ada sebelumnya, sehingga dapat mempermudah pekerjaan seorang programmer dalam melakukan pengembangan

saya akan membuat beberapa contoh code program dalam bahasa C menggunakan OOP

contoh 1
#include <stdio.h>


// Deklarasi kelas Mahasiswa
typedef struct {
char nama[50];
int nim;
float nilai;
} Mahasiswa;

int main() {
// Membuat objek Mahasiswa
Mahasiswa mhs;

// Mengisi nilai atribut Mahasiswa
printf("Masukkan nama: ");
gets(mhs.nama);

printf("Masukkan NIM: ");
scanf("%d", &mhs.nim);

printf("Masukkan nilai: ");
scanf("%f", &mhs.nilai);

// Mencetak atribut Mahasiswa
printf("Nama: %s\n", mhs.nama);
printf("NIM: %d\n", mhs.nim);
printf("Nilai: %.2f\n", mhs.nilai);

return 0;
}
OUTPUT :

contoh 2
#include <stdio.h>

// Deklarasi kelas Hewan
typedef struct {
char nama[50];
} Hewan;

// Deklarasi kelas Kucing sebagai turunan dari Hewan
typedef struct {
Hewan hewan;
char ras[50];
} Kucing;

// Metode "berbicara()" untuk kelas Hewan
void berbicaraHewan() {


printf("Hewan berbicara!\n");
}

// Metode "berbicara()" untuk kelas Kucing (override)
void berbicaraKucing() {
printf("Meow!\n");
}

int main() {
// Membuat objek Kucing
Kucing kucing;

// Mengisi nilai atribut
printf("Masukkan nama kucing: ");
gets(kucing.hewan.nama);

printf("Masukkan ras kucing: ");
gets(kucing.ras);

// Memanggil metode "berbicara()"
berbicaraHewan(); // Memanggil metode dari kelas Hewan
berbicaraKucing(); // Memanggil metode dari kelas Kucing

// Mencetak atribut Kucing
printf("Nama kucing: %s\n", kucing.hewan.nama);
printf("Ras kucing: %s\n", kucing.ras);

return 0;
}
OUTPUT:


CONTOH 3:
#include <stdio.h>

// Deklarasi kelas Kendaraan
typedef struct {
char jenis[50];
char warna[50];
float kecepatan;
} Kendaraan;

// Metode setter untuk atribut kecepatan
void setKecepatan(Kendaraan *k, float kecepatanBaru) {
k->kecepatan = kecepatanBaru;
}

// Metode getter untuk atribut kecepatan
float getKecepatan(Kendaraan k) {
return k.kecepatan;
}

int main() {
// Membuat objek Kendaraan
Kendaraan mobil;

// Mengisi nilai atribut
printf("Masukkan jenis kendaraan: ");
gets(mobil.jenis);

printf("Masukkan warna kendaraan: ");
gets(mobil.warna);




setKecepatan(&mobil, 60.0);

// Mencetak atribut Kendaraan
printf("Jenis kendaraan: %s\n", mobil.jenis);
printf("Warna kendaraan: %s\n", mobil.warna);
printf("Kecepatan kendaraan: %.2f\n", getKecepatan(mobil));
// Mengambil nilai atribut menggunakan metode getter

return 0;
}
OUTPUT :

CONTOH 4:
#include <stdio.h>
#include <string.h>

// Deklarasi kelas Tanaman
typedef struct {
char namaTanaman[50];
char jenisTanaman[50];
int jumlahTanaman;
float luasLahan;
} Tanaman;

// Method untuk mengatur nama tanaman
void setNamaTanaman(Tanaman *tanaman, char nama[]) {
strcpy(tanaman->namaTanaman, nama);
}

// Method untuk mengatur jenis tanaman
void setJenisTanaman(Tanaman *tanaman, char jenis[]) {
strcpy(tanaman->jenisTanaman, jenis);
}

// Method untuk mengatur jumlah tanaman
void setJumlahTanaman(Tanaman *tanaman, int jumlah) {
tanaman->jumlahTanaman = jumlah;
}

// Method untuk mengatur luas lahan
void setLuasLahan(Tanaman *tanaman, float luas) {
tanaman->luasLahan = luas;
}

// Method untuk mendapatkan nama tanaman
char* getNamaTanaman(Tanaman tanaman) {
return tanaman.namaTanaman;
}

// Method untuk mendapatkan jenis tanaman
char* getJenisTanaman(Tanaman tanaman) {
return tanaman.jenisTanaman;
}

// Method untuk mendapatkan jumlah tanaman
int getJumlahTanaman(Tanaman tanaman) {
return tanaman.jumlahTanaman;
}

// Method untuk mendapatkan luas lahan
float getLuasLahan(Tanaman tanaman) {
return tanaman.luasLahan;
}

// Method untuk menghitung total produksi tanaman
float hitungTotalProduksi(Tanaman tanaman) {
return tanaman.jumlahTanaman * tanaman.luasLahan;
}

int main() {
// Membuat objek tanaman baru
Tanaman tanaman;

// Input data tanaman dari pengguna
char nama[50];
char jenis[50];
int jumlah;
float luas;

printf("Masukkan nama tanaman: ");
fgets(nama, sizeof(nama), stdin);
setNamaTanaman(&tanaman, nama);

printf("Masukkan jenis tanaman: ");
fgets(jenis, sizeof(jenis), stdin);
setJenisTanaman(&tanaman, jenis);

printf("Masukkan jumlah tanaman: ");
scanf("%d", &jumlah);
setJumlahTanaman(&tanaman, jumlah);

printf("Masukkan luas lahan (hektar): ");



scanf("%f", &luas);
setLuasLahan(&tanaman, luas);

// Menghitung total produksi tanaman
float totalProduksi = hitungTotalProduksi(tanaman);

// Menampilkan hasil
printf("\n");
printf("Total produksi tanaman %s: %.2f hektar\n",
getNamaTanaman(tanaman), totalProduksi);

return 0;
}

OUTPUT:

praktikum 5 :

kali ini saya akan mebuat program implementasi array

#include <stdio.h>
#include <string.h>

#define MAX_SIZE 100

int main() {
char nama[MAX_SIZE][50];
int jumlahSiswa = 0;

printf("Program Daftar Nama Siswa\n");
printf("-------------------------\n");

int pilihan;
do {
printf("Menu:\n");
printf("1. Tambahkan Nama Siswa\n");
printf("2. Cetak Semua Nama Siswa\n");
printf("3. Cari Nama Siswa Berdasarkan Indeks\n");
printf("0. Keluar\n");
printf("Pilihan Anda: ");
scanf("%d", &pilihan);





switch (pilihan) {
case 1:
if (jumlahSiswa < MAX_SIZE) {
printf("Masukkan Nama Siswa: ");
scanf("%s", nama[jumlahSiswa]);
jumlahSiswa++;
printf("Nama Siswa berhasil ditambahkan.\n");
} else {
printf("Kapasitas maksimum telah tercapai. Tidak dapatmenambahkan nama siswa lagi.\n");
}
break;
case 2:
if (jumlahSiswa > 0) {
printf("Daftar Nama Siswa:\n");
for (int i = 0; i < jumlahSiswa; i++) {
printf("%d. %s\n", i, nama[i]);
}
} else {
printf("Belum ada nama siswa yang ditambahkan.\n");
}
break;
case 3:
if (jumlahSiswa > 0) {
int indeks;
printf("Masukkan Indeks Nama Siswa: ");
scanf("%d", &indeks);

if (indeks >= 0 && indeks < jumlahSiswa) {
printf("Nama Siswa dengan Indeks %d: %s\n", indeks,
nama[indeks]);
} else {


printf("Indeks tidak valid. Masukkan indeks antara 0 hingga%d.\n", jumlahSiswa - 1);
}
} else {
printf("Belum ada nama siswa yang ditambahkan.\n");
}
break;
case 0:
printf("Terima kasih. Program selesai.\n");
break;
default:
printf("Pilihan tidak valid. Silakan pilih menu yangtersedia.\n");
break;
}

printf("\n");
} while (pilihan != 0);

return 0;
}

output :

Sekian terimakasih!!!!



Comments

Popular posts from this blog

If, If-else, For Loop, While Loop, Do-While Loop dengan Bahasa C

konsep dasar algoritma graf