Anda di halaman 1dari 14

Dasar Teori, Instalasi, Latihan C++

Praktikum Pemograman Dasar C++ Tahap 7

Praktikum
STRATEGI ALGORITMA DAN PEMOGRAM
AN
Pemrograman Dasar
INFORMATIKA
SMAN 1 BUKIT SUNDI
Kurikulum Merdeka

LKPD
Teori, Latihan C++, Praktek

GURU Judul Mapel KELAS


YL : Pengenalan Pemograman Dasar INFORMATIKA XI FASE F
C++ A

TUJUAN PRAKTIKUM

Diharapkan siswa mampu :


1. Menganalisis beberapa strategi algoritmik secara kritis untuk menyelesaikan suatu
permasalahan
2. Menerapkan strategi algoritmik tersebut ke dalam suatu program yang lebih kompleks
3. Memahami pemograman dasar bahasa C
4. Memahami dasar-dasar penulisan program bahasa C
5. Memahami struktur bahasa C++

HARDWARE & SOFTWARE

1. Personal Computer
2. DEV C++

Materi Praktikum 6:
PROGRAM ALGORITMA DASAR:
1. Membuat program perhitungan gaji karyawan
2. Membuat program menu berulang
3. Program Menampilkan Biodata Siswa

Silahkan ananda baca dan pahami setiap materi dan percobaan


yang ada dan diketik simpan dengan format
Praktikum Pemrograman Dasar Bahasa C | ©2022/2023 1
INFORMATIKA | SMAN 1 BUKIT SUNDI
Dasar Teori, Instalasi, Latihan C++
Praktikum Pemograman Dasar C++ Tahap 7

[nama_latihanke.._materi]
Fahami karna kita akan membuat sebuah program

A. MENGHITUNG GAJI
KARYAWAN

Soal Menghitung Gaji Karyawan


Buatlah program dalam bahasa C untuk menentukan gaji karyawan
mingguan dengan ketentuan sebagai berikut:

 Golongan = A maka upah per jam 5000


 Golongan = B maka upah per jam 7000
 Golongan = C maka upah per jam 8000
 Golongan = D maka upah per jam 10000
Ketentuan tambahan:

 Jika jam kerja karyawan lebih dari 48 jam per minggu maka akan mendapat
uang lembur dengan perhitungan uang lembur = (jam kerja-48)*4000.
 Jika jam kerja kurang dari 48 jam maka pegawai tidak akan mendapat uang
lembur.
 Perhitungan gaji pegawai adalah upah + uang lembur.
 Input berupa nama karyawan, golongan dan jam kerja.
 Outputnya adalah nama karyawan dan gaji yang diterima.

Berikut contoh tampilan akhir yang diinginkan (1):

## Program Bahasa C Menghitung Gaji Karyawan ##


===============================================

Nama Karyawan: Rissa Lestari Putri


Golongan: B
Jumlah jam kerja: 30

Rissa Lestari Putri menerima upah Rp. 210000 per minggu

Berikut contoh tampilan akhir yang diinginkan (2):

## Program Bahasa C Menghitung Gaji Karyawan ##


===============================================

Nama Karyawan: Andi Wijaya


Golongan: D
2 Praktikum Pemrograman Dasar Bahasa C | ©2022/2023
Rekayasa Perangkat Lunak | SMKN 1 BUKIT SUNDI
Dasar Teori, Instalasi, Latihan C++
Praktikum Pemograman Dasar C++ Tahap 7
Jumlah jam kerja: 60

Andi Wijaya menerima upah Rp. 648000 per minggu

Kode Program C Menghitung Gaji Karyawan:


Berikut salah satu solusi dari soal menghitung gaji karyawan menggunakan
bahasa pemrograman C:

1 #include <stdio.h>
2
int main(void)
3 {
4 printf("## Program Bahasa C Menghitung Gaji Karyawan ## \n");
5 printf("=============================================== \n\n");
6
7 char nama[50];
char golongan;
8 int jam_kerja, upah_per_jam, total_upah;
9
10 // proses input
11 printf("Nama Karyawan: ");
12 gets(nama);
13
printf("Golongan: ");
14 scanf("%c",&golongan);
15
16 printf("Jumlah jam kerja: ");
17 scanf("%d",&jam_kerja);
18
// tentukan jumlah upah per jam berdasarkan golongan
19
switch (golongan) {
20 case 'A':
21 upah_per_jam = 5000;
22 break;
23 case 'B':
upah_per_jam = 7000;
24 break;
25 case 'C':
26 upah_per_jam = 8000;
27 break;
28 case 'D':
upah_per_jam = 10000;
29 break;
30 }
31
32 total_upah = jam_kerja * upah_per_jam;
33
// cek apakah jam kerja lebih dari 48 jam
34
if ( (jam_kerja - 48) > 0 ) {
35 total_upah = total_upah + ((jam_kerja - 48)*4000);
36 }
37
38 // proses output
39 printf("\n");
printf("%s menerima upah Rp. %d per minggu \n", nama, total_upah);
40
41
Praktikum Pemrograman Dasar Bahasa C | ©2022/2023 3
INFORMATIKA | SMAN 1 BUKIT SUNDI
Dasar Teori, Instalasi, Latihan C++
Praktikum Pemograman Dasar C++ Tahap 7

42
43
44
45
return 0;
46 }
47
48
49
50

Hasil kode program:

Penjelasanya:

 Di baris 8 – 10 terdapat kode untuk deklarasi semua variabel yang


diperlukan. Lalu proses input data ada pada baris 13 – 20.

 Khusus untuk input variabel nama, menggunakan


fungsi gets(nama) agar tidak bermasalah dengan nama yang
mengandung spasi.

 Kondisi switch case di baris 23 – 36 berguna untuk menentukan nilai


variabel upah_per_jam. Alternatif lain bisa saja menggunakan kondisi
if else.

 Setelah di dapat upah_per_jam, kita bisa mencari total_upah di baris


38, yakni dengan mengalikan isi variabel jam_kerja * upah_per_jam.

4 Praktikum Pemrograman Dasar Bahasa C | ©2022/2023


Rekayasa Perangkat Lunak | SMKN 1 BUKIT SUNDI
Dasar Teori, Instalasi, Latihan C++
Praktikum Pemograman Dasar C++ Tahap 7

 Dalam soal, terdapat kondisi tambahan dimana jika jam kerja lebih
dari 48, maka perlu ditambah dengan upah lembur. Inilah yang
dilakukan oleh kode program di baris 41 – 43.

 Kondisi if ( (jam_kerja – 48) > 0 ) hanya akan terpenuhi jika jam kerja
lebih dari 48 jam. Jika kondisi ini menghasilkan nilai true, maka baris
45 akan diproses dan isi variabel total_upah akan di tambah dengan
perhitungan total_upah + ((jam_kerja – 48)*4000).
 Namun jika kondisi if ( (jam_kerja – 48) > 0 ) menghasilkan nilai false,
tidak perlu perhitungan tambahan.
 Terakhir, proses output di lakukan pada baris 47 dengan
menampilkan kembali nama karyawan serta jumlah upah per
minggu yang disimpan dalam variabel total_upah.

B. MEMBUAT MENU BERULANG


Soal Membuat Menu Berulang
Buatlah sebuah kode program dalam bahasa C yang akan menampilkan
menu berikut:

## Daftar Menu Kopi Ilkom ##


==============================
1. Espresso
2. Cappuccino
3. Moccacino
4. Vanilla Latte
5. Hazelnut Latte

Pilihan anda:
Disini terdapat 5 pilihan menu kopi. Lalu kode program akan berhenti
menunggu user memilih salah satu menu. Jika diinput angka 2, maka hasilnya
menjadi:

Pilihan anda: 2
Anda memilih Cappuccino

Ingin memilih menu lain (y/t)?


Karena memilih angka 2, maka akan tampil teks "Anda memilih Cappuccino".
Sampai disini program tidak berhenti, tapi tampil pertanyaan kedua apakah
user masih ingin memilih menu lain atau keluar (program selesai).

Jika user menginput huruf "y", maka akan tampil kembali menu awal:

## Daftar Menu Kopi Ilkom ##


==============================
1. Espresso
2. Cappuccino
Praktikum Pemrograman Dasar Bahasa C | ©2022/2023 5
INFORMATIKA | SMAN 1 BUKIT SUNDI
Dasar Teori, Instalasi, Latihan C++
Praktikum Pemograman Dasar C++ Tahap 7
3. Moccacino
4. Vanilla Latte
5. Hazelnut Latte

Pilihan anda:

Jika user menginput angka 4, maka hasilnya adalah:

Pilihan anda: 4
Anda memilih Vanilla Latte

Ingin memilih menu lain (y/t)?


Sampai disini, menu akan terus berulang hingga user mengetik karakter "t".
Jika ini yang terjadi, hasilnya adalah:

Ingin memilih menu lain (y/t)? t

Terimakasih...

Dan program selesai.

Kode Program C Membuat Menu Berulang


Berikut salah satu solusi dari soal membuat menu berulang menggunakan
bahasa C:

1 #include <stdio.h>
2
3 int main(void)
4 {
int pilihan;
5
char ulang;
6 do
7 {
8 printf("## Daftar Menu Kopi Ilkom ## \n");
9 printf("============================== \n");
10 printf("1. Espresso \n");
11 printf("2. Cappuccino \n");
12 printf("3. Moccacino \n");
13 printf("4. Vanilla Latte \n");
printf("5. Hazelnut Latte \n\n");
14
15 printf("Pilihan anda: ");
16 scanf("%i",&pilihan);
17
18 switch(pilihan){
19 case 1:
20 printf("Anda memilih Espresso \n");
21 break;
22 case 2:
23 printf("Anda memilih Cappuccino \n");
break;
24
case 3:
25 printf("Anda memilih Moccacino \n");
26 break;
6 Praktikum Pemrograman Dasar Bahasa C | ©2022/2023
Rekayasa Perangkat Lunak | SMKN 1 BUKIT SUNDI
Dasar Teori, Instalasi, Latihan C++
Praktikum Pemograman Dasar C++ Tahap 7
27
28
29 case 4:
30 printf("Anda memilih Vanilla Latte \n");
31 break;
32 case 5:
33 printf("Anda memilih Hazelnut Latte \n");
34 break;
35 default:
printf("Menu tidak tersedia \n");
36
}
37 printf("\n");
38
39 printf("Ingin memilih menu lain (y/t)? ");
40 scanf(" %c",&ulang);
41 printf("\n");
42 }
43 while (ulang!= 't');
44
45 printf("Terimakasih... \n");
46
47 return 0;
}
48
49
50

Praktikum Pemrograman Dasar Bahasa C | ©2022/2023 7


INFORMATIKA | SMAN 1 BUKIT SUNDI
Dasar Teori, Instalasi, Latihan C++
Praktikum Pemograman Dasar C++ Tahap 7

Penjelasanya:
 Di awal kode program pada baris 5 dan 6 saya mendeklarasikan dua
variabel, yakni pilihan dan ulang. Variabel pilihan nantinya akan
menampung angka pilihan menu yang diinput user. Sedangkan
variabel ulang menampung karakter yang akan dipakai untuk
mengulang menu.
 Selanjutnya di baris 7 – 8 terdapat perintah do {. Ini adalah tanda bahwa
kita masuk ke sebuah perulangan do while. Hampir semua kode
program berada dalam perulangan ini, yang ditutup pada baris 45.
 Kondisi akhir perulangan adalah (ulang!= 't'), yang artinya jika
variabel ulang tidak d iinput karakter 't', maka perulangan do while akan
terus di proses.
 Pada awal perulangan di baris 9 – 15 terdapat beberapa
perintah printf untuk menampilkan daftar menu. Kemudian user
8 Praktikum Pemrograman Dasar Bahasa C | ©2022/2023
Rekayasa Perangkat Lunak | SMKN 1 BUKIT SUNDI
Dasar Teori, Instalasi, Latihan C++
Praktikum Pemograman Dasar C++ Tahap 7

diminta memilih salah satu angka menu yang dibaca oleh


perintah scanf di baris 18.
 Pilihan user ini di tampung ke dalam variabel pilihan untuk kemudian
masuk ke pemeriksaan kondisi switch case di baris 20 – 38. Untuk setiap
pilihan menu, jalankan perintah printf sesuai yang ada pada block case.
Kondisi default di baris 36 akan di eksekusi jika user menginput angka di
luar 1 – 5.
 Lalu terdapat perintah scanf kedua di baris 42. Inilah proses input yang
dipakai menentukan apakah menu kembali tampil atau tidak.
Perintah scanf ini menjadi kunci agar perulangan do while bisa berakhir.

Demikian kode program latihan Membuat Menu Berulang dalam Bahasa C.


Soal seperti ini biasanya akan digabung lagi dengan pilihan menu yang lebih
kompleks.

Sebagai contoh lain, silahkan buat menu berulang menghitung untuk luas
bangun datar:

1. Luas Persegi
2. Luas Segitiga
3. Luas Lingkaran

Jika dipilih Luas Segitiga, maka user bisa menginput tinggi dan alas segitiga,
lalu menampilkan hasilnya. Kode yang diperlukan memang akan kompleks,
tapi bisa jadi ajang latihan algoritma yang lebih menantang lagi.

C. MENAMPILKAN BIODATA SISWA


Soal Menampilkan Biodata Mahasiswa
Buatlah program yang meminta data inputan
berupa Nama, NIM, Fakultas, Jurusan, Kota Asal dan Alamat mahasiswa.
Program kemudian menyimpan data ini di dalam variabel lalu menampilkan
semua hasilnya.
Berikut contoh tampilan akhir yang diinginkan (1) :

## Program Bahasa C Biodata Mahasiswa ##


========================================

Nama mahasiswa: Rudi Cayadi Putra


NIM: 221401030
Fakultas: Teknik Telekomunikasi dan Informatika
Praktikum Pemrograman Dasar Bahasa C | ©2022/2023 9
INFORMATIKA | SMAN 1 BUKIT SUNDI
Dasar Teori, Instalasi, Latihan C++
Praktikum Pemograman Dasar C++ Tahap 7
Jurusan: Teknik Informatika
Kota Asal: Bandung
Alamat: JL. Ujung Harapan no.25, Sukamaju, Bandung

# Data Mahasiswa #
==================
Nama: Rudi Cayadi Putra
NIM: 221401030
Fakultas: Teknik Telekomunikasi dan Informatika
Jurusan: Teknik Informatika
Kota Asal: Bandung
Alamat: JL. Ujung Harapan no.25, Sukamaju, Bandung

Kode Program Bahasa C Menampilkan Biodata


Mahasiswa
Berikut salah satu solusi dari soal menampilkan biodata mahasiswa
menggunakan bahasa pemrograman C:

1 #include <stdio.h>
2
3 int main(void)
4 {
printf("## Program Bahasa C Biodata Mahasiswa ## \n");
5
printf("======================================== \n\n");
6
7 char nama[50], nim[10], fakultas[60];
8 char jurusan[60], kota_asal[60], alamat[200];
9
10 // proses input data mahasiswa
11 printf("Nama mahasiswa: ");
12 gets(nama);
13
14 printf("NIM: ");
15 gets(nim);
16
17 printf("Fakultas: ");
gets(fakultas);
18
19 printf("Jurusan: ");
20 gets(jurusan);
21
22 printf("Kota Asal: ");
23 gets(kota_asal);
24
25 printf("Alamat: ");
26 gets(alamat);
27
28 printf("\n");
29
1 Praktikum Pemrograman Dasar Bahasa C | ©2022/2023
0 Rekayasa Perangkat Lunak | SMKN 1 BUKIT SUNDI
Dasar Teori, Instalasi, Latihan C++
Praktikum Pemograman Dasar C++ Tahap 7
30
31 // Tampilkan biodata mahasiswa
32 printf("# Data Mahasiswa # \n");
33 printf("================== \n");
34 printf("Nama: %s \n",nama);
35 printf("NIM: %s \n",nim);
36 printf("Fakultas: %s \n",fakultas);
37 printf("Jurusan: %s \n",jurusan);
38 printf("Kota Asal: %s \n",kota_asal);
printf("Alamat: %s \n",alamat);
39
40
return 0;
41 }
42
43

Di baris 8-9 terdapat kode program untuk mendeklarasikan semua


variabel, yakni nama, nim, fakultas, jurusan, kota_asal dan alamat.
 Semua variabel di set dengan tipe data array dari char, karena bahasa C
tidak memiliki tipe data string. Jika jumlah karakter dirasa terlalu kecil,
tinggal sesuaikan besar array yang diinginkan.
 Proses pembacaan data dilakukan antara baris 12-28. Seperti yang kita
bahas di bagian tips, disini saya menggunakan perintah gets() untuk
menghindari masalah dengan karakter spasi. Jika menggunakan scanf(),
spasi ini akan dianggap sebagai karakter akhir inputan.

Praktikum Pemrograman Dasar Bahasa C | ©2022/2023 1


INFORMATIKA | SMAN 1 BUKIT SUNDI 1
Dasar Teori, Instalasi, Latihan C++
Praktikum Pemograman Dasar C++ Tahap 7

 Terakhir, semua variabel ditampilkan dengan perintah printf pada baris


33-40.

SESI TUGAS INDIVIDU


Silahkan kerjakan soal berikut
dan buatlah programnya simpan
dengan forder baru dengan
format sebagai berikut:
[nama_tugasno.._]

Soal 1:
Buatlah program dalam bahasa C untuk menentukan gaji karyawan telkom
mingguan dengan ketentuan sebagai berikut:

 Golongan = A maka upah per jam 15.000


 Golongan = B maka upah per jam 18.000
 Golongan = C maka upah per jam 20.000
 Golongan = D maka upah per jam 25.000
 Golongan = E maka upah perjam 30.000

Ketentuan tambahan:

 Jika jam kerja karyawan lebih dari 48 jam per minggu maka akan mendapat
uang lembur dengan perhitungan uang lembur = (jam kerja-48)*7000.
 Jika jam kerja kurang dari 48 jam maka pegawai tidak akan mendapat uang
lembur.
 Perhitungan gaji pegawai adalah upah + uang lembur.
 Input berupa nama karyawan, golongan dan jam kerja.
 Outputnya adalah nama karyawan dan gaji yang diterima.

Berikut contoh tampilan akhir yang diinginkan (1):

===============================================
## Program Bahasa C Menghitung Gaji Karyawan ##
===============================================
1 Praktikum Pemrograman Dasar Bahasa C | ©2022/2023
2 Rekayasa Perangkat Lunak | SMKN 1 BUKIT SUNDI
Dasar Teori, Instalasi, Latihan C++
Praktikum Pemograman Dasar C++ Tahap 7

Nama Karyawan: Budi


Golongan: B
Jumlah jam kerja: 28
===============================================
BUDI menerima upah Rp... per minggu
===============================================

Soal 2:
Buatlah sebuah kode program dalam bahasa C yang akan menampilkan
menu berikut:

## Daftar Menu STARBUCKS ##


==============================
1. Caramel Salted Java
2. Mocka Coffe
3. Dark Mocka
4. Vanilla Cream
5. Double Chocolate Chip Cream
6. Green Tea Cream

Pilihan anda:
Disini terdapat 5 pilihan menu kopi. Lalu kode program akan berhenti
menunggu user memilih salah satu menu. Jika diinput angka 2, maka hasilnya
menjadi:

Pilihan anda: 3
Anda memilih Dark Mocca

Ingin memilih menu lain (y/t)?


Karena memilih angka 3, maka akan tampil teks "Anda memilih Dark Mocca".
Sampai disini program tidak berhenti, tapi tampil pertanyaan kedua apakah
user masih ingin memilih menu lain atau keluar (program selesai).

Jika user menginput huruf "y", maka akan tampil kembali menu awal:

Jika user menginput angka 4, maka hasilnya adalah:

Pilihan anda: 4
Anda memilih Vanilla Cream

Ingin memilih menu lain (y/t)?


Sampai disini, menu akan terus berulang hingga user mengetik karakter "t".
Jika ini yang terjadi, hasilnya adalah:

Ingin memilih menu lain (y/t)? t

Terimakasih...

Praktikum Pemrograman Dasar Bahasa C | ©2022/2023 1


INFORMATIKA | SMAN 1 BUKIT SUNDI 3
Dasar Teori, Instalasi, Latihan C++
Praktikum Pemograman Dasar C++ Tahap 7

Soal 3:
Buatlah program yang meminta data inputan pegawai bank mandiri
berupa Nama, No hp, formasi kerja, Jurusan pendidikan, Kota Asal dan Alamat.
Program kemudian menyimpan data ini di dalam variabel lalu menampilkan
semua hasilnya.
Berikut contoh tampilan akhir yang diinginkan (1) :

=======================================================
## Program Bahasa C Biodata Pegawai Bank ##
=======================================================

Nama : Rudi Cayadi Putra


No hp : 081278904736
Jurusan pendidikan: Teknik Informatika
Kota Asal : Bandung
Alamat : JL. Ujung Harapan no.25, Sukamaju, Bandung

=======================================================
# Hasil Data Pegawai #
=======================================================
Nama : Rudi Cayadi Putra
NIM : 221401030
Fakultas : Teknik Telekomunikasi dan Informatika
Jurusan : Teknik Informatika
Kota Asal: Bandung
Alamat : JL. Ujung Harapan no.25, Sukamaju, Bandung

1 Praktikum Pemrograman Dasar Bahasa C | ©2022/2023


4 Rekayasa Perangkat Lunak | SMKN 1 BUKIT SUNDI

Anda mungkin juga menyukai