• Tidak ada hasil yang ditemukan

#include <stdio.h>//mengakses library stdio.h untuk fungsi printf() #include <stdlib.h>//mengakses library stdlib.h untuk fungsi system()

N/A
N/A
Protected

Academic year: 2021

Membagikan "#include <stdio.h>//mengakses library stdio.h untuk fungsi printf() #include <stdlib.h>//mengakses library stdlib.h untuk fungsi system()"

Copied!
31
0
0

Teks penuh

(1)

1/ 31 NIM/ No. Reg. : 49013075

Nama : Mhd. Syarif

Email : mhdsyarif.ms@gmail.com Blog/Website : www.mhdsyarif.com

Laporan : Modul VI

Coding 1

Source Code Latihan a pada program IV.1.1:

int ANGKA2D[5][2]={{10,100},{20,200},{30,300},{40,400},{50,500}}; /*Perhatikan penulisan susunan data pada deklarasi array 2-dimensi ini*/

int n,m;

for (n=0;n<5;++n)

for(m=0;m<2;++m)

printf("Data ANGKA2D[%d][%d] = %d\n",n,m,ANGKA2D[n][m]);

Deskripsi singkat:

Program diatas menjelaskan tentang penggunaan array 2-dimensi. Program diatas bila dijalankan masih terdapat kesalahan, berikut program yang telah diperbaiki.

#include <stdio.h>//Mengakses library stdio.h untuk fungsi printf() #include <stdlib.h>//Mengakses library stdlib.h untuk fungsi system() int main(void)//Fungsi yang harus ada pada setiap program C

{

int ANGKA2D[5][2]={{10,100},{20,200},{30,300},{40,400},{50,500}};/*Perhatikan penulisan susunan data pada deklarasi array 2-dimensi ini*/

int n,m;//Deklarasi variabel, n dan m merupakan variabel yang bertipe integer for (n=0;n<5;++n)//Fungsi pengulangan

for(m=0;m<2;++m) //Fungsi pengulangan

printf("Data ANGKA2D[%d][%d] = %d\n",n,m,ANGKA2D[n][m]);//Menampilkan informasi system("pause");//Salah satu fungsi dari library stdio.h

(2)

2/ 31 }

Keterangan

Tanda kuning merupakan perbaikan/penambahan

Pada potongan program

int ANGKA2D[5][2]={{10,100},{20,200},{30,300},{40,400},{50,500}};

dimana terdapat 5 kolom dan 2 baris yaitu 10 kolom 1 dan 100 kolom dua dibaris 1, 20 kolom 1 dan 200 kolom 2 dibaris 2, 30 kolom 1 dan 300 kolom dua dibaris 3, 40 kolom 1 dan 400 kolom 2 dibaris 4, 50 kolom 1 dan 500 kolom 2 dibaris 5.

(3)

3/ 31 Source Code Latihan b:

Pada program latihan a, ganti potongan program

int ANGKA2D[5][2]={{10,100},{20,200},{30,300},{40,400},{50,500}}; menjadi int ANGKA2D[5][2]={10,100,20,200,30,300,40,400,50,500};

Deskripsi singkat:

Berikut program yang telah dirubah.

#include <stdio.h>//Mengakses library stdio.h untuk fungsi printf() #include <stdlib.h>//Mengakses library stdlib.h untuk fungsi system() int main(void)//Fungsi yang harus ada pada setiap program C

{

int ANGKA2D[5][2]={10,100,20,200,30,300,40,400,50,500};/*Perhatikan penulisan susunan data pada deklarasi array 2-dimensi ini*/

int n,m;//Deklarasi variabel, n dan m merupakan variabel yang bertipe integer

for (n=0;n<5;++n)//Fungsi pengulangan for(m=0;m<2;++m) //Fungsi pengulangan

printf("Data ANGKA2D[%d][%d] = %d\n",n,m,ANGKA2D[n][m]);//Menampilkan informasi

system("pause");//Salah satu fungsi dari library stdio.h return(0);//Nilai balikan dari fungsi main() adalah 0 }

Keterangan

Tanda kuning merupakan perubahan pada latihan a Pada potongan program

int ANGKA2D[5][2]={10,100,20,200,30,300,40,400,50,500};

dimana terdapat 5 kolom dan 2 baris yaitu 10 kolom 1 dan 100 kolom dua dibaris 1, 20 kolom 1 dan 200 kolom 2 dibaris 2, 30 kolom 1 dan 300 kolom dua dibaris 3, 40 kolom 1 dan 400 kolom 2 dibaris 4, 50 kolom 1 dan 500 kolom 2 dibaris 5.

(4)

4/ 31 Berikut ini hasil dari program diatas.

(5)

5/ 31 Source Code Latihan c:

Pada program latihan a, ganti potongan program

int ANGKA2D[5][2]={{10,100},{20,200},{30,300},{40,400},{50,500}}; menjadi int ANGKA2D[5][2]={{10,100},{20,200},{50,500}};

Deskripsi singkat:

Berikut program yang telah dirubah.

#include <stdio.h>//Mengakses library stdio.h untuk fungsi printf() #include <stdlib.h>//Mengakses library stdlib.h untk fungsi system() int main(void)//Fungsi yang harus ada pada setiap program C

{

int ANGKA2D[5][2]={{10,100},{20,200},{50,500}};/*Perhatikan penulisan susunan data pada deklarasi array 2-dimensi ini*/

int n,m;//Deklarasi variabel, n dan m merupakan variabel yang bertipe integer

for (n=0;n<5;++n)//Fungsi pengulangan for(m=0;m<2;++m) //Fungsi pengulangan

printf("Data ANGKA2D[%d][%d] = %d\n",n,m,ANGKA2D[n][m]);//Menampilkan informasi

system("pause");//Salah satu fungsi dari library stdio.h return(0);//Nilai balikan dari fungsi main() adalah 0 }

Keterangan

Tanda kuning merupakan perubahan pada latihan a Pada potongan program

int ANGKA2D[5][2]={{10,100},{20,200},{50,500}}; dimana terdapat 5 kolom

dan 2 baris yaitu 10 kolom 1 dan 100 kolom dua dibaris 1, 20 kolom 1 dan 200 kolom 2 dibaris 2, 50 kolom 1 dan 500 kolom dua dibaris 3, 0 kolom 1 dan 0 kolom 2 dibaris 4, 0 kolom 1 dan 0 kolom 2 dibaris 5. Kenapa baris 4 dan 5 bernilai dengan 0, karna jumlah data array hanya ada 3 baris, sedangkan deklarasi array mempunyai 5 baris dan 2 kolom.

(6)

6/ 31 Berikut hasil dari program diatas.

(7)

7/ 31 Source Code Latihan d:

int k;

char warna[4][7] =

{'m','e','r','a','h',},{'k','u','n','i','n','g'},{'h','i','j','a','u'},{'b','i','r ','u'}};

for (k=0;k<4;++k) printf("%s\n",warna[k]);

Deskripsi singkat:

Program diatas menggunakan array dua dimensi. Namun jika program dijalankan masih terdapat kesalahan, berikut ini program yang telah diperbaiki. #include <stdio.h>//Mengakses library stdio.h untuk fungsi printf()

#include <stdlib.h>//Mengakses library stdlib.h untuk fungsi system() int main(void)//Fungsi yang harus ada pada setiap program C

{

int k;//Deklarasi variabel, k merupakan variabel integer char warna[4][7]

={{'m','e','r','a','h',},{'k','u','n','i','n','g',},{'h','i','j','a','u'},{'b','i','r' ,'u'}};//Deklarasi array 2 dimensi, variabel warna mempunyai 4 baris dan 7 kolom yang bertipe karakter

for (k=0;k<4;++k) //Fungsi perulangan

printf("%s\n",warna[k]); //Menampilkan fungsi perulangan dimana merah akan ditampilkan terlebih dahulu kemudian dilakukan perulangan sampai k bernilai kecil dari 4

system("pause");//Salah satu fungsi dari library stdio.h return(0);//Nilai balikan dari fungsi main() adalah 0 }

Keterangan

Tanda kuning merupakan penambahan/perbaikan Pada potongan program

char warna[4][7]

={{'m','e','r','a','h',},{'k','u','n','i','n','g',},{'h','i','j','a','u'},{'b','i','r' ,'u'}};

Menjelaskan dimana terdapat variable warna yang menggunakan array 2-dimensi yang bertipe karakter. Ada 4 baris dan 7 kolom, dimana kata pada kurung kerawal buka tutup {'m','e','r','a','h',} merupakan baris satu begitu seterusnya, dengan maksimal kolom 7.

(8)
(9)

9/ 31 Source Code Latihan e:

int k;

char warna[4][7] = {"merah","kuning","hijau","biru"};

for (k=0;k<4;++k)

printf("%s\n",warna[k]);

Deskripsi singkat:

Program diatas menggunakan array dua dimensi. Namun jika program dijalankan masih terdapat kesalahan, berikut ini program yang telah diperbaiki. #include <stdio.h> //Mengakses library stdio.h untuk fungsi printf()

#include <stdlib.h> //Mengakses library stdlib.h untuk fungsi system() int main(void) //Fungsi yang harus ada pada setiap program C

{

int k;

char warna[4][7] = {"merah","kuning","hijau","biru"}; //Deklarasi array 2 dimensi, variabel warna mempunyai 4 baris dan 7 kolom yang bertipe karakter

for (k=0;k<4;++k) //Fungsi perulangan

printf("%s\n",warna[k]); //Menampilkan hasil dari fungsi perulangan dimana data yang akan ditampilkan terlebih dahulu adalah merah, kemudian begitu selanjutnya hingga k bernilai kecil dari 4

system("pause"); //Salah satu fungsi dari library stdio.h return(0); //Nilai balikan dari fungsi main() adalah 0 }

Keterangan

Tanda kuning merupakan penambahan/perbaikan Potongan program diatas

char warna[4][7] = {"merah","kuning","hijau","biru"};

isi array menggunakan tanda " disetiap awal dan akhir kata dari setiap array sedangkan pada potongan program latihan d

char warna[4][7]

={{'m','e','r','a','h',},{'k','u','n','i','n','g',},{'h','i','j','a','u'},{'b','i','r' ,'u'}};

isi array menggunakan tanda { di awal setiap kata dan tanda } di akhir setiap kata pada array.

(10)
(11)

11/ 31 Source Code Latihan f:

Soal : Buatlah array 2-dimensi yang merepresentasikan warna pelangi.

Deskripsi singkat:

Program ini menjelaskan tentang penggunaan array 2-dimensi, dimana program menampilkan warna-warna dalam pelangi

#include <stdio.h>//Mengakses library stdio.h #include <stdlib.h>//Mengakses library stdlib.h

int main(void)//Fungsi yang harus ada pada setiap program C {

int k; //Deklarasi variabel, k merupakan variabel bertipe integer

char warna[7][7] = {"Merah","Jingga","Kuning","Hijau","Biru","Nila","Ungu",}; //Deklarasi array 2 dimensi, variabel warna mempunyai 7 baris dan 7 kolom yang bertipe karakter

printf("\t=====================================\n"); printf("\t==Program Menampilkan Warna Pelangi==\n"); printf("\t=====================================\n"); for (k=0;k<7;++k) //Fungsi perulangan

printf("\t%s\n",warna[k]); //Menampilkan hasil dari fungsi perulangan dimana data yang akan ditampilkan terlebih dahulu adalah merah, kemudian begitu selanjutnya hingga k bernilai kecil dari 4

system("pause");//Salah satu fungsi dari library stdio.h return(0);//Nilai balikan dari fungsi main() adalah 0 }

(12)

12/ 31

Coding 7

Source Code Latihan g:

Soal : Buatlah array 2-dimensi yang merepresentasikan 100 titik pada garis y = 2x − 3

Deskripsi singkat:

Program ini menjelaskan tentang penggunaan array 2-dimensi, yang merepresentasikan 100 titik pada garis y = 2x -3, dimana program menampilkan hasil dari nilai jika x=1 sampai x=100.

#include <stdio.h> //Mengakses fungsi library stdio.h untuk printf() #include <stdlib.h> //Mengakses fungsi library stdlib.h untuk system()

int main(void) //Fungsi yang selalu ada pada program C {

int x, y; //Deklarasi variabel, x dan y merupakan data bertipe integer

int hitungX =0; //Deklarasi variabel, hitungX bertipe data integer.Fungsi untuk proses hitung nilai X

int titik = 100; //Deklarasi variabel, titik bertipe data integer. Proses perulangan sebanyak 100 kali

int arrTitik[100][2]; //Deklarasi variabel, arrTitik bertipe data integer. arrTitik[100] merupakan banyak data dan arrTitik[2] merupakan panjang karakter

for(x = 1; x < 2; x++) //Perulangan, x=1, 1 kecil dari 2, 1+1

for(y = 1; y <= titik; y++) //Perulangan, membuat array sebanyak 100 kali arrTitik[x][y] = (2 * y) - 3; //Membuat array terlebih dahulu dimana nantinya nilai akan [1][1]=1

printf("================================================\n");

printf("Array 2 dimensi 100 titik pada garis y = 2x -3\n");//Menampilkan informasi

printf("================================================\n"); for(x = 1; x < 2; x++) //Perulangan, x=1, 1 kecil dari 2, 1+1 {

for(y = 1; y <= titik; y++) //Perulangan, membuat array sebanyak 100 kali, y=1, 1 kecil sama dengan 100, 1+1

{

hitungX++; //Artinya hitungX : 0 + 1=1, looping sampai nilai titik sama dengan 100

printf("Jika x = %d, maka y = %d\n", hitungX, arrTitik[x][y]); //Menampilkan informasi,

} }

system("pause"); //Salah satu fungsi yang ada pada library stdlib.h return (0); //Nilai balikan dari fungsi main() adalah 0

(13)
(14)
(15)

15/ 31 Source Code Latihan h pada program IV.2.1: int A = 5, H;

int *ptrA, *ptrH; /* deklarasi pointer sebagai integer */

ptrA = &A; /* alamat lokasi memori dari variabel A disimpan pada ptrA */

H = *ptrA; /* nilai data yang alamat lokasi memorinya disimpan pada ptrA, disimpan di variabel H */

ptrH = &H; /* alamat lokasi memori dari variabel H disimpan pada ptrH */

printf("A=%d\n &A=%X\n ptrA=%X\n *ptrA=%d", A, &A, ptrA, *ptrA);/* %X menampilkan nilai hexa*/

printf("\n\nH=%d\n &H=%X\n ptrH=%X\n *ptrH=%d\n\n", H, &H, ptrH,*ptrH);

Deskripsi singkat:

Program ini menjelaskan tentang penggunaan pointer, pointer merupakan variabel yang menyimpan alamat lokasi memori dari suatu data, bukan nilai data tersebut. Ketika program diatas dijalankan masih terdapat kesalahan, berikut program yang telah dilakukan perbaikan.

#include <stdio.h> //Mengakses library stdio.h untuk printf() #include <stdlib.h> //Mengakses library stdlip.h untuk system() int main(void) //Fungsi yang selalu ada pada program C

{

int A = 5, H; //Deklarasi variabel dimana A = 5 dan H merupaka data bertipe integer

int *ptrA, *ptrH; /* deklarasi pointer sebagai integer */

ptrA = &A; /* alamat lokasi memori dari variabel A disimpan pada ptrA*/

H = *ptrA; /* nilai data yang alamat lokasi memorinya disimpan pada ptrA, disimpan di variabel H */

ptrH = &H; /* alamat lokasi memori dari variabel H disimpan pada ptrH */

printf("A=%d\n &A=%X\n ptrA=%X\n *ptrA=%d", A, &A, ptrA, *ptrA);/* %X menampilkan nilai hexa*/

printf("\n\nH=%d\n &H=%X\n ptrH=%X\n *ptrH=%d\n\n", H, &H, ptrH,*ptrH);

system("pause");//Salah satu fungsi dari library stdlib.h return(0);//Nilai balikan dari fungsi main() adalah 0

}

Keterangan

(16)

16/ 31 Berikut hasil dari program diatas.

(17)

17/ 31 Source Code Latihan h pada program IV.2.2: int a1,a2;

int H = 5;

int *ptrH; /* deklarasi pointer ptrH */ a1 = 2*(H+5) ; /* ekspresi biasa */ ptrH = &H;

a2 = 2*(*ptrH+5) ; /* ekspresi dengan pointer */ printf("al=%d\n\na2=%d\n",a1 ,a2);

Deskripsi singkat:

Program ini menjelaskan tentang penggunaan pointer. Ketika program diatas dijalankan masih terdapat kesalahan, berikut program yang telah dilakukan perbaikan.

#include <stdio.h> //Mengakses library stdio.h untuk fungsi printf() #include <stdlib.h> //Mengakses library stdlib.h untuk fungsi system() int main(void) //Fungsi yang harus ada pada setiap program bahasa C

{

int a1,a2; //Deklarasi variabel, a1 dan a2 bertipe data integer int H = 5; //Deklarasi variabel dimana H = 5 dan H merupaka data bertipe integer

int *ptrH; //Deklarasi pointer ptrH

a1 = 2*(H+5) ; //Ekspresi biasa, dimana a1=2 dikali (5+5)

ptrH = &H; //Alamat lokasi memori dari variabel H disimpan pada ptrH*/

a2 = 2*(*ptrH+5) ; //Ekspresi dengan pointer

printf("al=%d\n\na2=%d\n",a1 ,a2); //Menampilkan informasi

system("pause"); //Salah satu fungsi yang ada pada library stdio.h

system(0); //Nilai balikan yang ada pada fungsi main() adalah 0

}

Keterangan

Tanda kuning merupakan penambahan/perbaikan Berikut hasil dari program diatas.

(18)

18/ 31

Coding 10

Source Code Latihan h pada program IV.2.3:

void fungsi1(int U,int V); /*prototipe fungsi*/ void fungsi2(int *ptrU,int *ptrV);

int main(void) {

int U = 1;

int V = 3;

printf("Passing by Value");

printf("\nSebelum memanggil fungsi1: U=%d V=%d",U,V); fungsi1(U,V);

printf("\nSetelah memanggil fungsi1: U=%d V=%d",U,V); printf("\n\nPassing by Reference");

printf("\nSebelum memanggil fungsi2: U=%d V=%d",U,V); fungsi2(&U,&V);

printf("\nSetelah memanggil fungsi2: U=%d V=%d",U,V); printf("\n\n");

system("pause");

return 0; }

void fungsi1(int U, int V) {

U = 0; V = 0;

printf("\nDi dalam fungsi1: U=%d V=%d",U,V);

return; }

void fungsi2(int *ptrU, int *ptrV) {

*ptrU = 0; *ptrV = 0;

printf("\nDi dalam fungsi2: ptrU=%d ptrV=%d",*ptrU,*ptrV);

return; }

Deskripsi singkat:

Program ini menjelaskan tentang penggunaan fungsi dengan cara passing by value dan cara passing by reference, menggunakan pointer. Ketika program diatas dijalankan masih terdapat kesalahan, berikut program yang telah dilakukan perbaikan.

#include <stdio.h> //Mengakses library stdio.h untuk fungsi printf() #include <stdlib.h> //Mengakses library stdlib.h untuk fungsi system() void fungsi1(int U,int V); /*Prototipe fungsi*/

void fungsi2(int *ptrU,int *ptrV); //Prototipe fungsi menggunakan pointer int main(void) //Fungsi yang harus ada pada setiap program C

{

int U = 1; //Deklarasi variabel lokal, bertipe data integer int V = 3; //Deklarasi variabel lokal, bertipe data integer

(19)

19/ 31 fungsi1

printf("\nSetelah memanggil fungsi1: U=%d V=%d",U,V); printf("\n\nPassing by Reference");

printf("\nSebelum memanggil fungsi2: U=%d V=%d",U,V);

fungsi2(&U,&V); //Alamat lokasi memori dari variabel U dan V disimpan pada fungsi2

printf("\nSetelah memanggil fungsi2: U=%d V=%d",U,V); printf("\n\n");

system("pause"); //Salah satu fungsi dari library stdlib.h return (0); //Nilai balikan dari fungsi main() adalah 0 }

void fungsi1(int U, int V) //Definisi fungsi pada fungsi1 {

U = 0; V = 0;

printf("\nDi dalam fungsi1: U=%d V=%d",U,V); return;

}

void fungsi2(int *ptrU, int *ptrV) //Definisi fungsi pointer pada fungsi2 {

*ptrU = 0; //Nilai data yang alamat lokasi memorinya pada pointer ptrU adalah 0 *ptrV = 0; //Nilai data yang alamat lokasi memorinya pada pointer ptrV adalah 0 printf("\nDi dalam fungsi2: ptrU=%d ptrV=%d",*ptrU,*ptrV);

return; } Keterangan

Tanda kuning merupakan penambahan/perbaikan

(20)

20/ 31

Coding 11

Source Code Latihan h pada program IV.2.4:

int k, ANGKA[5]={10,20,30,40,50};

char *kal = "Hubungan antara Pointer dan Array"; printf("%s\n\n",kal);

for (k=0;k<5;++k) {

printf("ANGKA[%d] = %d *(ANGKA+%d) = %d \n", k, ANGKA[k], k,*(ANGKA+k)); }

Deskripsi singkat:

Program ini menjelaskan hubungan antara pointer dan array. Ketika program diatas dijalanlan masih terdapat kesalahan, berikut program yang telah dilakukan perbaikan.

#include <stdio.h> //Mengakses library stdio.h untuk fungsi printf() #include <stdlib.h> //Mengakses library stdlib.h untuk fungsi system() int main(void) //Fungsi yang harus ada pada setiap program C

{

int k, ANGKA[5]={10,20,30,40,50}; //Deklarasi array 1-dimensi dengan nama ANGKA yang terdiri dari 5 susunan data bertipe integer

char *kal = "Hubungan antara Pointer dan Array"; printf("%s\n\n",kal);

for (k=0;k<5;++k) //Perulangan, dimana perulangan akan berhenti jika nilai k kecil dari 5

{

printf("ANGKA[%d] = %d *(ANGKA+%d) = %d \n", k, ANGKA[k], k,*(ANGKA+k)); }

system("pause"); //Salah satu fungsi dari library stdlib.h return (0); //Nilai balikan dari fungsi main() adalah 0 }

Keterangan

Tanda kuning merupakan penambahan/perbaikan

(21)

21/ 31

Coding 12

Source Code Latihan h pada program IV.2.5:

int *umur; //Deklarasi array dengan pointer int jml_sak, k = 0;

printf("Ketikan jumlah saudara kandung Anda>"); scanf("%d",&jml_sak);

umur = (int*)malloc(sizeof(int)*jml_sak); /*alokasi memori dinamis*/ if(!umur)

{

printf("Memory tidak tersedia!\n"); system("pause");

return 0; }

/*input data umur*/

printf("Ketikan umur saudara kandung Anda\n");

for (k = 0;k < jml_sak;k++) {

printf("#%d ",k+1); scanf("%d",&umur[k]); }

/*menampilkan data umur*/

printf("Data umur yang tadi Anda masukan:\n");

for (k=0;k<jml_sak;k++)

printf("#%d %d\n",k+1,umur[k]); /*men-dealokasikan memori dinamis*/ free(umur);

umur = NULL; system("pause");

return (0);

Deskripsi singkat:

Program ini menjelaskan penggunaan pointer dalam merepresentasikan array memerlukan alokasi memory sebelum setiap elemen array diproses. Fungsi-fungsi yang digunakan untuk keperluan ini diantaranya : malloc() dan free(). Kedua fungsi ini terdapat pada library stdlib.h.

Ketika program diatas dijalankan masih terdapat kesalahan, berikut program yang telah dilakukan perbaikan.

#include <stdio.h> //Mengakses library stdio.h untuk fungsi printf()

#include <stdlib.h> //Mengakses library stdlib.h untuk fungsi system(), malloc() dan free()

int main(void) //Fungsi yang harus ada pada setiap program C {

int *umur; //Deklarasi array dengan pointer

int jml_sak, k = 0; //Deklarasi variabel, jml_sak dan k merupakan tipe data integer

(22)

22/ 31

printf("Ketikan jumlah saudara kandung Anda>");

scanf_s("%d",&jml_sak); //Fungsi untuk meminta/menerima nilai yang akan dikonversikan ke nilai integer

umur = (int*)malloc(sizeof(int)*jml_sak); /*alokasi memori dinamis*/ if(!umur)

{

printf("Memory tidak tersedia!\n"); system("pause");

return (0); }

/*input data umur*/

printf("Ketikan umur saudara kandung Anda\n"); for (k = 0;k < jml_sak;k++) //Fungsi perulangan

{

printf("#%d ",k+1);

scanf_s("%d",&umur[k]); //Fungsi untuk meminta/menerima nilai yang akan dikonversikan ke nilai integer dalam bentuk array 1-dimensi

}

/*menampilkan data umur*/

printf("Data umur yang tadi Anda masukan:\n"); for (k=0;k<jml_sak;k++) //Fungsi perulangan

printf("#%d %d\n",k+1,umur[k]); /*men-dealokasikan memori dinamis*/ free(umur);

umur = NULL;

system("pause"); //Salah satu fungsi dari library stdlib.h return (0); //Nilai balikan dari fungsi main() adalah 0 }

Keterangan

Tanda kuning merupakan penambahan/perbaikan

Program akan meminta memasukkan jumlah saudara kandung, dan mengisi data umur saudara kandung sesuai dengan jumlah saudara kandung yang dimasukkan, kemudian program akan menampilkan data umur yang telah dimasukkan. Berikut hasil program dimana program menerima 5 bilangan input.

(23)

23/ 31

Coding 13

Source Code Latihan h pada program IV.2.6:

int ANGKA[5]={10,20,30,40,50};

int k;

for (k=0;k<5;k++) {

printf("ANGKA+%d=%d\n",k,ANGKA+k);

printf("*(ANGKA+%d)=%d\n\n",k,*(ANGKA+k)); }

Deskripsi singkat:

Program ini menjelaskan interpretasi penerapan operasi penjumlahan (+), pengurangan dll (-) pada variabel pointer. Ketika program diatas dijalankan masih terdapat kesalahan, berikut program yang telah dilakukan perbaikan. #include <stdio.h> //Mengakses library stdio.h untuk fungsi printf()

#include <stdlib.h> //Mengakses library stdlib.h untuk fungsi system() int main(void) //Fungsi yang harus ada pada setiap program C

{

int ANGKA[5]={10,20,30,40,50}; //Deklarasi array 1-dimensi dengan nama ANGKA yang terdiri dari 5 susunan data bertipe integer

int k; //Deklarasi variabel dengan nama k yang bertipe data integer for (k=0;k<5;k++) //Perulangan

{

printf("ANGKA+%d=%d\n",k,ANGKA+k); //Menampilkan

printf("*(ANGKA+%d)=%d\n\n",k,*(ANGKA+k)); //Menampilkan data pointer }

system("pause"); //Salah satu fungsi dari library stdlib.h return (0); //Nilai balikan dari fungsi main() adalah 0 }

Keterangan

(24)

24/ 31 Berikut hasil dari program diatas

(25)

25/ 31 Source Code Latihan h pada program IV.3.1: int k; struct tanggal { int hari; int bulan; int tahun; }; struct biodata { char nama[20];

struct tanggal lahir; //Struktur di dalam struktur

char asal[20]; };

struct biodata pribadi[7] = {"Uban", 11, 4, 1997,"Pinrang", "Jono", 5, 11, 1986,"Jakarta", "Mora", 17, 5, 1992,"Denpasar", "Marla", 11, 9, 2001,"Subang", "Nira", 2, 4, 1987,"Samarinda", "Sharon",12, 9, 1993,"Ambon", "Susan", 4, 12, 2000,"Padang"};

printf("Nama \t Tahun Lahir \t Asal \n"); printf("---- \t --- \t ---- \n"); for (k=0;k<7;k++) { printf("%s ",pribadi[k].nama); printf("%d ",pribadi[k].lahir.tahun); printf("%s \n",pribadi[k].asal); } Deskripsi singkat:

Program ini menjelaskan tentang struktur susunan data yang terdiri dari berbagai tipe data.. Ketika program diatas dijalankan masih terdapat kesalahan, berikut program yang telah dilakukan perbaikan.

#include <stdio.h> //Mengakses library stdio.h untuk fungsi printf() #include <stdlib.h> //Mengakses library stdlib.h untuk fungsi system() int main(void) //Fungsi yang harus ada pada setiap program C

{

int k;

struct tanggal {

int hari; //Deklarasi variabel di dalam struktur, hari bertipe data integer int bulan; //Deklarasi variabel di dalam struktur, bulan bertipe data integer int tahun; //Deklarasi variabel di dalam struktur, tahun bertipe data integer };

struct biodata {

char nama[20]; //Deklarasi string berukuran 19 karakter struct tanggal lahir; //Struktur di dalam struktur char asal[20]; //Deklarasi string berukuran 19 karakter };

struct biodata pribadi[7] = {"Uban", 11, 4, 1997,"Pinrang", "Jono", 5, 11, 1986,"Jakarta",

(26)

26/ 31 "Mora", 17, 5, 1992,"Denpasar",

"Marla", 11, 9, 2001,"Subang", "Nira", 2, 4, 1987,"Samarinda", "Sharon",12, 9, 1993,"Ambon",

"Susan", 4, 12, 2000,"Padang"}; //Struktur, biodata pribadi mempunyai banyak baris 7

printf("Nama \t Tahun Lahir \t Asal \n"); printf("---- \t --- \t ---- \n"); for (k=0;k<7;k++) //Perulangan

{

printf("%s ",pribadi[k].nama); //Mencetak variabel isi nama dari biodata pribadi

printf("\t %d ",pribadi[k].lahir.tahun); //Mencetak variabel isi ltahun lahir dari biodata pribadi

printf("\t\t%s \n",pribadi[k].asal); //Mencetak variabel isi asal dari biodata pribadi

}

system("pause"); //Salah satu fungsi dari library stdlib.h return (0); //Nilai balikan dari fungsi main() adalah 0 }

Keterangan

Tanda kuning merupakan penambahan/perbaikan

Berikut hasil dari program diatas, dimana program akan menampilkan isi dari variable biodata pribadi yang terdapat dalam struktur.

(27)

27/ 31 Source Code Latihan h pada program IV.3.2: int hh = 11, bb = 4, tttt = 1997;

struct biodata {

char *nama;//pointer sebagai anggota dari struktur

int *hari; int bulan; int *tahun; char *asal; }pribadi,*ptrPrib; ptrPrib = &pribadi; pribadi.nama = "Asri"; pribadi.hari = &hh; pribadi.bulan = bb; pribadi.tahun = &tttt; pribadi.asal = "Pinrang"; printf("%s \t %d \t %d \t %d \t %s\n",ptrPrib->nama,*ptrPrib->hari, ptrPrib->bulan, *ptrPrib->tahun, ptrPrib->asal);

Deskripsi singkat:

Program ini menjelaskan pointer yang variable menyimpan alamat lokasi memori dari suatu data, bukan nilai data tersebut. Ketika program diatas dijalankan masih terdapat kesalahan, berikut program yang telah dilakukan perbaikan.

#include <stdio.h> //Mengakses library stdio.h untuk fungsi printf() #include <stdlib.h> //Mengakses library stdlib.h untuk fungsi system() int main(void) //Fungsi yang harus ada pada setiap program C

{

int hh = 11, bb = 4, tttt = 1997; //Deklarasi variabel, hh, bb dan tttt merupakan variabel yang bertipe int

struct biodata {

char *nama;//Pointer sebagai anggota dari struktur int *hari; //Deklarasi pointer sebagai integer int bulan; //Deklarasi dalam struktur

int *tahun; //Deklarasi pointer sebagai integer char *asal; //Deklarasi pointer sebagai karakter }

pribadi,*ptrPrib; //Nilai data yang alamat lokasi memorinya disimpan pada ptrPrib, disimpan di variabel pribadi

ptrPrib = &pribadi; //Alamat lokasi memori dari variabel pribadi disimpan pada ptrPrib

pribadi.nama = "Asri"; //Variabel pointer pribadi merujuk pada variabel nama yang berisi data Asri

pribadi.hari = &hh; //Variabel pointer pribadi merujuk pada variabel hari yang berisi data variabel hh= 11

pribadi.bulan = bb; //Variabel pointer pribadi merujuk pada variabel bulan yang berisi data variabel bb= 4

(28)

28/ 31 tahun yang berisi data variabel tttt= 1997

pribadi.asal = "Pinrang"; //Variabel pointer pribadi merujuk pada variabel asal yang berisi data Pinrang

printf("%s \t %d \t %d \t %d \t %s\n" ,ptrPrib->nama,*ptrPrib->hari,ptrPrib->bulan, *ptrPrib->tahun, ptrPrib->asal); //Menampilkan informasi

system("pause"); //Salah satu fungsi dari library stdlib.h return (0); //Nilai balikan dari fungsi main() adalah 0 }

Keterangan

Tanda kuning merupakan penambahan/perbaikan

(29)

29/ 31 Source Code Latihan i:

Soal :

Buatlah sistem pendataan nilai mahasiswa menggunakan struktur yang terdiri dari:  Nomor

 NIM

 Nama Mahasiswa

 Nilai (misalnya A, B atau D)

Sistem pendataan nilai tersebut mengijinkan kita untuk memasukan (input) seluruh data tersebut untuk maksimum 10 mahasiswa saja. Setelah seluruh data selesai dimasukan, lalu pada layar akan ditampilkan (output) seluruh data tadi.

Deskripsi singkat:

Program ini menjelaskan penggunaan struktur. Berikut program yang telah dibuat berdasarkan soal diatas.

#include <stdio.h> //Mengakses library stdio.h untuk fungsi printf() #include <stdlib.h> //Mengakses library stdlib.h untuk fungsi system() #include <string.h> //Mengakses library string.h untuk fungsi gets()

struct biodata { //Struktur dengan nama tag biodata

int no; //Deklarasi variabel dalam strukur, no merupakan variabel integer char nim[9]; //Deklarasi string berukuran 8 karakter

char nama[30]; //Deklarasi string berukuran 19 karakter char nilai[5]; //Deklarasi string berukuran 4 karakter

} mahasiswa[5];//Deklarasi variabel string berukuran 9 karakter int main(void) //Fungsi yang harus ada pada setiap program C

{

int j,k; //Deklarasi variabel lokal.

printf("================================\n"); printf("10 Daftar Mahasiswa D4 TKJMD ITB\n"); printf("================================\n\n"); for (j=1; j<=10; j++){ //Perulangan

printf("Data Mahasiswa ke %d\n\n",j); mahasiswa[j].no=j;

printf("NIM :");

gets_s(mahasiswa[j].nim); //Input string printf("Nama :");

gets_s(mahasiswa[j].nama); //Input string printf("Nilai :");

gets_s(mahasiswa[j].nilai); //Input string printf("===================\n");

}

printf("============================================\n"); printf("Berikut ini 10 Daftar Mahasiswa D4 TKJMD ITB\n"); printf("============================================\n\n"); printf("No\tNIM \t\t Nama \t Nilai \n");

(30)

30/ 31 printf("--\t--- \t\t---\t--- \n");

for (k=1; k<=10; k++) { //Perulangan, data akan berhenti jika nilai k kecil sama dengan 10

printf("%d ",mahasiswa[k].no); //Menampilkan informasi, mahasiswa pada variabel data no

printf("\t%s ",mahasiswa[k].nim); //Menampilkan informasi, mahasiswa pada variabel data nim

printf("\t%s ",mahasiswa[k].nama); //Menampilkan informasi, mahasiswa pada variabel data nama

printf("\t\t%s \n",mahasiswa[k].nilai); //Menampilkan informasi, mahasiswa pada variabel data nilai

}

system("pause"); //Salah satu fungsi dari library stdlib.h return (0); //Nilai balikan dari fungsi main() adalah 0 }

Berikut hasil dari program diatas.

Program akan menerima maksimum 10 inputan, dan menampilkan data sesuai dengan yang telah dimasukkan

(31)

Referensi

Dokumen terkait

Metode yang signifikanuntuk meningkatkan kualitas warna adalah dengan menambahkan tepung bunga Marigold sebagai sumber karotenoid kedalam pakan buatan agar dapat

Pengukuran stabilitas relatif dari suatu genotipe pada rentang wilayah yang luas penting untuk menentukan efisiensi pemuliaan Pengujian pada berbagai lingkungan perlu dilakukan

• al-Mughni fi al-Adwiya al-Mufrada – ensiklopedi yang berisi daftar jenis tumbuhan obat yang ada di Arab Saudi, termasuk tumbuhan yang berfungsi sebagai obat bius, dan buku itu juga

JNI menyediakan sekumpulan API yang digunakan untuk mengakses fungsi– fungsi pada library (*.dll atau *.so) yang dibuat dengan bahasa pemrograman yang lain seperti

Tujuan penulisan skripsi ini untuk mengetahui hal-hal yang menjadi dasar atau terjadinya malpraktek dan mengetahui alasan-alasan peniadanaan hukuman bagi dokter yang

Hal tersebut menunjukkan bahwa ketika organisasi memiliki kebijakan, budaya, dan praktik yang mendukung dengan baik, karyawan akan memiliki persepsi yang cenderung

Waktu penerimaan notifikasi ini merupakan delay yang terjadi pada saat mulai terdeteksi sumber gejala dini kebakaran, pemrosesan sistem, pengiriman notifikasi,

Berdasarkan gambar di atas, dapat dilihat bahwa telepon di kantor Bandung dengan nomor 101 dapat melakukan panggilan ke telepon kantor Sampit dengan nomor 501... Surabaya