LAPORAN
MEMBUAT CODING DAN PENJELASANNYA
Dosen Pengampu :
Yulius Nugroho Putro, ST

Disusun Oleh :
ANDIKA INDRAYANA
NPM. 11.1.03.02.0043
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS NUSANTARA PGRI KEDIRI
Jl. Achmad Dahlan 76 Telp (0354) 771 576 Mojoroto
Kota Kediri
CODING
#include
#include
typedef struct {
int absis;
int ordinat;
}Point;
int IsSame(Point P1, Point P2);
void PrintPoint (Point P);
int IsSame (Point P1, Point P2)
{
if ((P1.absis==P2.absis) && (P1.ordinat==P2.ordinat))
return 1;
else
return 0;
}
void PrintPoint(Point P)
{
printf("(%d,%d)\n",P.absis,P.ordinat);
}
void main ()
{
Point P1;
Point P2;
int pilih;
do
{
printf("MENU\n");
printf("=======================\n");
printf("1. Masukkan Titik\n");
printf("2. Tampil Titik\n");
printf("3. Cek Titik\n");
printf("4. Keluar\n");
printf("=======================\n");
printf("Masukkan pilihan : ");
scanf("%d",&pilih);
switch(pilih)
{
case 1:
printf ("Masukkan koordinat x titik pertama : ");
scanf("%d",&P1.absis);
printf ("Masukkan koordinat y titik pertama : ");
scanf("%d",&P1.ordinat);
printf ("Masukkan koordinat x titik kedua : ");
scanf("%d",&P2.absis);
printf ("Masukkan koordinat y titik kedua : ");
scanf("%d",&P2.ordinat);
getch ();
break;
case 2:
printf("\nKoordinat pertama: ");
PrintPoint(P1);
printf("\nKoordinat kedua: ");
PrintPoint(P2);
getch ();
break;
case 3:
if (IsSame (P1,P2))
printf ("\nKedua titik sama");
else
printf("\nKedua titik tidak sama");
getch();
break;
}
}
while (pilih!=4);
getch();
}
Penjelasan :
scanf("%d",&P1.absis); untuk memasukkan nilai P1 absis atau x1,
scanf("%d",&P1.ordinat); untuk memasukkan nilai P1 ordinat atau Y1
PrintPoint(P1);
printf("(%d,%d)\n",P.absis,P.ordinat);
untuk menampilkan nilai koordinat (x,y)
int IsSame (Point P1, Point P2)
{
if ((P1.absis==P2.absis) && (P1.ordinat==P2.ordinat))
return 1;
else
return 0;
}
Jika nilai P1 absis sama dengan P2 absis dan P1 ordinat sama dengan P2 ordinat maka diberi nilai 1
if (IsSame (P1,P2))
printf ("\nKedua titik sama");
else
printf("\nKedua titik tidak sama");
jika nilai IsSame (P1,P2) adalah 1 maka akan menghasilkan output “kedua titik sama”, sebaliknya salah atau IsSame(P1,P2) tidak 1 maka akan menghasilkan output “Kedua titik tidak sama”.
Coding 2 :
#include
#include
#include
#define Max 21
typedef struct{
int TI[Max-1];
int Neff;
}TabInt;
void MakeEmpty(TabInt *T)
{
(*T).Neff=0;
}
int LastIdx(TabInt T)
{
return T.Neff;
}
void BacaIsi(TabInt *T)
{
int i,N;
printf("\n");
printf("\nBanyaknya elemen yang akan dientri : ");
scanf("%d",&N);
printf("Masukkan isi :\n");
for(i=1;i<=N;i++)
{
printf(">>%d>> ",i);
scanf("%d", &((*T).TI[i]));
}
(*T).Neff=N;
}
void TulisIsi(TabInt T)
{
int i;
printf("\n");
if(LastIdx(T)==0)
printf("Tabel kosong");
else
{
for(i=1;i<=LastIdx(T);i++)
printf("%d\t",(T).TI[i]);
}
printf("\n");
}
int sumElemen(TabInt T)
{
int i, jumlah=0;
printf("\n");
for(i=1;i<=LastIdx(T);i++)
{
jumlah+=T.TI[i];
}
return jumlah;
}
float averageElemen(TabInt T)
{
int i;
float jumlah=0, rata=0;
printf("\n");
for(i=1;i<=LastIdx(T);i++)
{
jumlah+=T.TI[i];
}
rata=jumlah/LastIdx(T);
return rata;
}
int sumKelipatan2(TabInt T)
{
int i, jumlahKelipatan2=0;
printf("\n");
for(i=1;i<=LastIdx(T);i++)
{
if(T.TI[i]%2==0)
{
jumlahKelipatan2+=T.TI[i];
}
}
return jumlahKelipatan2;
}
int nilaiMAX(TabInt T)
{
int i, nilaiMax=T.TI[1];
printf("\n");
for(i=1;i<=LastIdx(T);i++)
{
if(nilaiMax
{
nilaiMax=T.TI[i];
}
}
return nilaiMax;
}
void createArr2(TabInt *T, int N)
{
int i,kelipatan2=2;
for(i=1;i<=N;i++)
{
(*T).TI[i]=kelipatan2;
kelipatan2+=2;
}
printf("\n");
for(i=1;i<=N;i++)
{
printf("%d\t",(*T).TI[i]);
}
printf("\n");
}
void main()
{
TabInt T;
int N;
char pil;
MakeEmpty(&T);
do
{
system("cls");
printf("========MENU========");
printf("\n1. Make Empty\n");
printf("2. Input Element Tabel\n");
printf("3. Lihat Tabel\n");
printf("4. Jumlah Elemen\n");
printf("5. Rata-Rata Elemen\n");
printf("6. Jumlah Bilangan yang Kelipatan 2\n");
printf("7. Nilai MAX\n");
printf("8. Mengubah Isi Array dengan Bilangan Genap\n");
printf("Esc untuk Keluar\n");
printf("\nMasukkan pilihan menu : ");
pil=getch();
switch(pil)
{
case '1' :
MakeEmpty(&T);
printf("\nTabel sudah dikosongkan !");
getch();
break;
case '2' :
BacaIsi(&T);
getch();
break;
case '3' :
printf("\nIsi Tabel : ");
TulisIsi(T);
getch();
break;
case '4' :
printf("\nJumlah semua nilai : %d",sumElemen(T));
getch();
break;
case '5' :
printf("\nRata-rata semua nilai : %.2f",averageElemen(T));
getch();
break;
case '6' :
printf("\nJumlah Bilangan yang Kelipatan 2 : %d",sumKelipatan2(T));
getch();
break;
case '7' :
printf("\nNilai maksimum dalam array : %d",nilaiMAX(T));
getch();
break;
case '8' :
printf("\nMasukkan jumlah elemen : ");
scanf("%d",&N);
createArr2(&T, N);
getch();
break;
}
}while(pil!=27);
}
Penjelasan :
void BacaIsi(TabInt *T)
{
int i,N;
printf("\n");
printf("\nBanyaknya elemen yang akan dientri : ");
scanf("%d",&N); à untuk memasukkan jumlah elemen yang dientri
printf("Masukkan isi :\n");
for(i=1;i<=N;i++) à perulangan untuk memasukkan nilai sebanyak N
{
printf(">>%d>> ",i);
scanf("%d", &((*T).TI[i])); à untuk menuliskan nilai elemen yang dimasukkan
}
(*T).Neff=N;
}
int i;
printf("\n");
if(LastIdx(T)==0) à jika nilai T=0, maka tabel dinyatakan kosong
printf("Tabel kosong");
else
{
for(i=1;i<=LastIdx(T);i++) à jika nilai T tidak 0 maka akan terjadi perulangan yang menentukan nilai elemen tabel
printf("%d\t",(T).TI[i]); à memunculkan nilai yang diinputkan
}
printf("\n");
int sumElemen(TabInt T)
{
int i, jumlah=0;
printf("\n");
for(i=1;i<=LastIdx(T);i++) à perulangan yang digunakan untuk menjumlahkan nilai elemen
{
jumlah+=T.TI[i]; à penjumlahan setiap elemen
}
return jumlah;
}
for(i=1;i<=LastIdx(T);i++)
{
jumlah+=T.TI[i];
}
rata=jumlah/LastIdx(T); à untuk mengetahui rata-rata dari elemen yang diinputkan dengan cara menjumlahkan semua elemen kemudian dibagi dengan jumlah elemen (LastIdx(T))
return rata;
for(i=1;i<=LastIdx(T);i++)
{
if(T.TI[i]%2==0) à jika nilai elemen (T.TI[i] dibagi 2 hasilnya tidak bersisa, maka akan diproses dibawah ini.
{
jumlahKelipatan2+=T.TI[i]; à untuk menjumlahkan elemen yang jika dibagi 2 hasilnya tidak bersisa.
}
}
return jumlahKelipatan2;
int i, nilaiMax=T.TI[1];à nilaiMax hanya ada 1
for(i=1;i<=LastIdx(T);i++) à perulangan untuk mengecek setiap elemen
{
if(nilaiMaxà jika nilaiMax lebih kecil dari suatu elemen (T.TI[i]) maka akan diteruskan proses di bawah ini.
{
nilaiMax=T.TI[i]; à nilaiMax diperoleh dari elemen yang paling besar
}
int i,kelipatan2=2;à elemen dimulai dari 2
for(i=1;i<=N;i++) à perulangan untuk mendapatkan nilai elemen
{
(*T).TI[i]=kelipatan2; à elemen = kelipatan2
kelipatan2+=2; à setiap elemen akan ditambahkan 2 sesuai rumus ini.