Page 87 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 87
F. Contoh Program
1. Contoh 1 – Program penggunaan struct
KODE PROGRAM BAHASA C
#include <stdio.h>
#include <string.h>
// Definisi struct data_dosen
typedef struct {
long int nip;
char nama[31];
char alamat[51];
} data_dosen;
int main() {
// Deklarasi variabel bertipe struct data_dosen
data_dosen dosen1, dosen2;
// Input data Dosen 1
printf("Data Dosen Pertama\n");
printf("---------------\n");
printf("NIP: ");
scanf("%ld", &dosen1.nip); // %ld untuk long int
printf("Nama: ");
// Bersihkan buffer input (mirip fflush(stdin) di C++)
getchar();
fgets(dosen1.nama, 30, stdin); // Gunakan fgets untuk input string
yang lebih aman
printf("Alamat: ");
getchar();
fgets(dosen1.alamat, 50, stdin);
printf("\n");
// Input data Dosen 2
printf("Data Dosen Kedua\n");
printf("---------------\n");
printf("NIP: ");
scanf("%ld", &dosen2.nip);
printf("Nama: ");
getchar();
fgets(dosen2.nama, 30, stdin);
printf("Alamat: ");
getchar();
fgets(dosen2.alamat, 50, stdin);
printf("\n");
// Output data Dosen 1 dan 2
printf("Data Dosen Pertama\n");
printf("---------------\n");
printf("NIP: %ld\n", dosen1.nip);
printf("Nama: %s", dosen1.nama);
// Hapus newline tambahan dari fgets menggunakan strcspn
strcspn(dosen1.nama, "\n"); // Hapus newline dari nama
printf("Alamat: %s\n", dosen1.alamat);
printf("\n"); 64
printf("Data Dosen Kedua\n");
printf("---------------\n");
printf("NIP: %ld\n", dosen2.nip);
printf("Nama: %s", dosen2.nama);