MODUL PEMROGRAMAN 2
B A B
2
Record Structure
Record / Struktur Record / Structure merupakan suatu struktur data atau kumpulan data yang memiliki berbagai ukuran dan tipe data yang berbeda (heterogen) di kelompokan dalam satu deklarasi unik dan saling berkaitan, dengan format sbb : //deklarasi struct atau record
//deklarasi struct atau record of array
struct model_name
struct model_name
{ type_data1 element1; Type_data2 element2; ………
{ type_data1 element1; Type_data2 element2; ……… } object_name_of_array;
};
Siti yuliyanti
Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)
Page 1
MODUL PEMROGRAMAN 2
Gambaran Record Record dengan nama data pegawai : Int
nama
bagian
121209
Anisa
sekretaris
//DEKLARASI RECORD/STRUCT #include
#include <stdio.h>
untuk menampilkan data pegawai
main () { struct data_pegawai{ char nama [50]; int nip; } biodata[20]; int i, n; printf(" ------------------------ \n"); printf(" ===DATA PEGAWAI PT.JAYA===\n"); printf(" ------------------------ \n\n"); printf ("Banyak Data : "); scanf ("%d", &n); for (i=0;i
Siti yuliyanti
Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)
Page 2
MODUL PEMROGRAMAN 2
//deklarasi tampil waktu #include <stdio.h> #include main() {
struct jam { int hh; int mm; int ss; }jam_kerja;
printf("== input data jam ==\n"); printf("jam : ");scanf("%d",&jam_kerja.hh); printf("menit : ");scanf("%d",&jam_kerja.mm); printf("detik : ");scanf("%d",&jam_kerja.ss);
printf("\ntampil data jam\n"); printf("jam kerja sekarang = %d : %d : %d ", jam_kerja.hh , jam_kerja.mm, jam_kerja.ss); getche(); }
//menghitung jarak antara 2 titik dengan rumus sqrt(pow(x1-x2))+(pow(y1-y2)) //sqrt = akar kuadrat //pow = pangkat 2 #include <stdio.h> #include #include <math.h> struct titik //nama record/ strukturnya : titik { int x, y; }; main() { struct titik a,b; double jarak; printf("titik A \n koordinat x : "); scanf("%d", &a.x); printf(" koordinat y : "); scanf("%d", &a.y); printf("titik B \n koordinat x : "); scanf("%d", &b.x); printf(" koordinat y : "); scanf("%d", &b.y); jarak=sqrt(pow((a.x-b.x),2)+pow((a.y-b.y),2)); printf("jarak titik A dan B : %d", jarak); getche();
Siti yuliyanti }
Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)
Page 3
MODUL PEMROGRAMAN 2
Menentukan jarak antara 2 titik koordinat dengan menggunakan rumus √ (x1-x2)2+(y1-y2)2 Contoh perhitungan : jika diketahui Titik A (12,10) dan Titik B(12,8) maka konsep perhitungannya adalah : Titik A : x1 =14
,
y1=10
Titik B : x2=12 , y2 =8 √( x1 - x2 )2 + ( y1 - y2 )2 =√( 12-12) 2 + ( 10- 8 )2
Implementasi deprogram C++ //menghitung jarak antara 2 titik //dengan rumus sqrt(pow(x1-x2))+(pow(y1-y2)) //sqrt = akar kuadrat
2
= √( 0) + ( 2)
2
//pow = pangkat 2 #include <stdio.h>
= √0 + 4
#include
= √4
#include <math.h>
=
struct titik
//nama record/ strukturnya : titik
{ int x, y; }; main() { struct titik a,b; double jarak;
printf("titik A \n koordinat x : "); scanf("%d", &a.x); printf(" koordinat y : "); scanf("%d", &a.y); printf("titik B \n koordinat x : "); scanf("%d", &b.x); printf(" koordinat y : "); scanf("%d", &b.y); jarak=sqrt(pow((a.x-b.x),2)+pow((a.y-b.y),2)); printf("jarak titik A dan B : %d", jarak);
Siti yuliyanti
getche(); }
Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)
Page 4
MODUL PEMROGRAMAN 2
Mengitung lama parkir Lama parker dihitung dari selisih waktu nasuk dan waktu keluar didalam 1 menit dan dikurangi 15 menit. Kemudian lama waktu ini dibuatnya ke atas menjadi jam, maksudnya 1 menit sampai dengan 59 menit dihitung sebagai 1 jam. Lama jam diperoleh dengan rumus (lama+59)/60 //struktur/record untuk menghitung biaya parkir #include <stdio.h> #include #include <math.h> typedef struct waktu{ //nama record/ strukturnya : waktu int jam, menit; }t_waktu; typedef struct parkir{ //nama record/ strukturnya : parkir int no_pol[13]; int biaya; waktu w_masuk, w_keluar; }t_parkir; t_waktu entri_waktu (char judul[]) { t_waktu waktu; do { printf("%s", judul); scanf("%d : %d", &waktu.jam, &waktu.menit); }while((waktu.jam < 0) || (waktu.jam >23) ||(waktu.menit<0)||(waktu.menit>59)); return waktu; } t_parkir entri_parkir(){ t_parkir kdrn; printf("no.polisi ? "); scanf("%[^\n]", kdrn.no_pol); kdrn.w_masuk=entri_waktu("Jam masuk ? "); kdrn.w_keluar=entri_waktu("Jam keluar ? "); return kdrn; } int lama_parkir (t_parkir kdrn) { int lama; Siti yuliyanti lama = (kdrn.w_keluar.jam - kdrn.w_masuk.jam) * 60 + (kdrn.w_keluar.jam kdrn.w_masuk.jam) - 15; lama = lama < 0 ? 0 : (lama + 59) /60; lama; by purchasing novaPDF (http://www.novapdf.com/) Print to PDF withoutreturn this message
Page 5
MODUL PEMROGRAMAN 2
int main () { t_parkir mobil; mobil = entri_parkir(); mobil.biaya = lama_parkir (mobil) * 2000; printf("biaya parkir = %d\n", mobil.biaya); getche(); }
Siti yuliyanti
Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)
Page 6