Anda di halaman 1dari 72

LAPORAN PRAKTIKUM

APLIKASI PEMROGRAMAN BAHASA C


Dosen Pengampu : Ibrahim Lammada.,ST.,MT

Disusun Oleh :
ANGGIA BUNGA PERTIWI KAKIAY 1610631160028

PROGRAM STUDI TEKNIK ELEKTRO


FAKULTAS TEKNIK
UNIVERSITAS SINGAPERBANGSA KARAWANG
2018

1
DAFTAR ISI
PRAKTIKUM 1...............................................................................................................8
ALGORITMA & FLOWCHART...................................................................................8
1.1 TUJUAN.................................................................................................................8
1.2 TEORI DASAR......................................................................................................8
1.3 ALGORITMA DAN FLOWCHART..................................................................9
1.4 LISTING PROGRAM........................................................................................13
1.5 HASIL OUTPUT................................................................................................15
1.6 KESIMPULAN...................................................................................................18
PRAKTIKUM 2.............................................................................................................19
DASAR PROGRAM BAHASA C.................................................................................19
2.1 TUJUAN...............................................................................................................19
2.2 TEORI DASAR....................................................................................................19
2.3 LISTING PROGRAM........................................................................................20
2.4 HASIL OUTPUT.................................................................................................21
2.6 KESIMPULAN.....................................................................................................23
PRAKTIKUM 3.............................................................................................................24
PENGAMBILAN KEPUTUSAN..................................................................................24
3.1 TUJUAN...............................................................................................................24
3.2 TEORI DASAR....................................................................................................24
3.3 ALGORITMA DAN FLOWCHART................................................................26
3.4 LISTING PROGRAM........................................................................................30
3.5 HASIL OUTPUT................................................................................................33
3.6 KESIMPULAN...................................................................................................35
PRAKTIKUM 4.............................................................................................................37
PENGULANGAN PROSES..........................................................................................37
4.1 TUJUAN...............................................................................................................37
4.2 TEORI DASAR....................................................................................................37
4.3 ALGORITMA DAN FLOWCHART................................................................38
4.4 LISTING PROGRAM........................................................................................40
4.5 HASIL OUTPUT................................................................................................43
4.6 KESIMPULAN...................................................................................................44
PRAKTIKUM 5.............................................................................................................45
FUNGSI DASAR............................................................................................................45

2
5.1 TUJUAN...............................................................................................................45
5.2 TEORI DASAR....................................................................................................45
5.3 LISTING PROGRAM.........................................................................................45
5.4 HASIL OUTPUT..................................................................................................47
5.5 KESIMPULAN.....................................................................................................49
PRAKTIKUM 6.............................................................................................................50
FUNGSI MATEMATIKA.............................................................................................50
6.1 TUJUAN...............................................................................................................50
6.2 TEORI DASAR....................................................................................................50
6.3 ALGORITMA DAN FLOWCHART..................................................................50
Algoritmanya:..............................................................................................................50
6.4 LISTING PROGRAM.........................................................................................51
6.5 HASIL OUTPUT..................................................................................................51
6.7 KESIMPULAN.....................................................................................................53
PRAKTIKUM 7.............................................................................................................54
P O I N T E R..................................................................................................................54
7.1 TUJUAN...............................................................................................................54
7.2 TEORI DASAR....................................................................................................54
7.3 ALGORITMA DAN FLOWCHART..................................................................54
7.4 LISTING PROGRAM.........................................................................................56
7.5 HASIL OUTPUT..................................................................................................57
7.6 KESIMPULAN.....................................................................................................58
PRAKTIKUM 8.............................................................................................................59
A R R A Y........................................................................................................................59
8.1 TUJUAN...............................................................................................................59
8.2 TEORI DASAR....................................................................................................59
8.3 ALGORITMA DAN FLOWCHART..................................................................60
8.4 LISTING PROGRAM.........................................................................................61
8.5 HASIL OUTPUT..................................................................................................63
8.6 KESIMPULAN.....................................................................................................64
PRAKTIKUM 9.............................................................................................................65
S T R I N G.....................................................................................................................65
9.1 TUJUAN...............................................................................................................65
9.2 TEORI DASAR....................................................................................................65
9.3 ALGORITMA DAN FLOWCHART..................................................................65

3
9.4 LISTING PROGRAM.........................................................................................67
9.5 HASIL OUTPUT..................................................................................................69
9.6 KESIMPULAN.....................................................................................................70
PRAKTIKUM 10...........................................................................................................71
S T R U K T U R.............................................................................................................71
10.1 TUJUAN.............................................................................................................71
10.2 TEORI DASAR..................................................................................................71
10.3 ALGORITMA DAN FLOWCHART................................................................72
10.4 ALGORITMA DAN FLOWCHART................................................................72
10.5 HASIL OUTPUT................................................................................................77
10.6 KESIMPULAN...................................................................................................79

4
PRAKTIKUM 1

ALGORITMA & FLOWCHART


1.1 TUJUAN
1. Mampu memahamin persoalan
2. Mendesain penyelesaian persoalan ke dalam algoritma
3. Menotasikan algoritma yang ssudah dibuat menggunakan notasi
flowchart

1.2 TEORI DASAR


Beberapa langkah dalam proses pembuatan suatu program atau software
1. Mendefinisikan masalah dan menganalisanya
Langkah awal yang harus dilakukan adalah mengidentifikasikan masalah
antara
lain tujuan dari pembuatan program, parameter-parameter yang
digunakan,
fasilitas apa saja yang akan disediakan oleh program. Kemudian
menentukan
metode atau algoritma apa yang akan diterapkan untuk menyelesaikan
masalah
tersebut dan terakhir menentukan bahasa program yang digunakan untuk
pembuatan program.

2. Merealisasikan dengan langkah-langkah berikut :

Start

Desain
Algoritma & flowchart

Menulis Program

Test Kebenaran Program

Dokumentasi
5

End
1.3 ALGORITMA DAN FLOWCHART
1.3.1 Mencetak luas lingkaran
Algoritmanya:
 Menetapkan phi = 3.14
 Menghitung jari-jari lingkaran
 Menghitung luas lingkaran dengan rumus L= phi * r * r
 Menghitung nilai L

Flowchartnya:

1.3.2 Pengiriman email


Algoritmanya:
 Ketik kalimat yang ingin dikirim melalui email
 Masukan alamat email yang ingin dituju
 Jika email terkirim, maka email telah sampai
 Jika tidak terkirim, maka kirim ulang email dengan alamat
tujuannya.

6
Flowchartnya:

1.3.3 Proses panggilan telepon


Algoritmanya:
 Ketik nomor yang ingin ditelepon
 Jika diangkat maka terhubung
 Jika tidak diangkat maka lakukan panggilan ulang

Flowchartnya:

7
1.3.4 Perusahaan Air minum
Algoritma:
 Perusahhan daerah air minum menerima data pemakaian
 Data diolah dan diselesaikan pertarif pemakaian
 Tarif per m^3 (air) apabila 0-15 m^3 = 300-, jika > 15 m^3 =
max 650,-
 Bayar sesuai tariff
Flowchartnya:

8
1.3.5 Bilangan 1-10
Algoritmanya:
 Masukan nomer ganjil 1-10
 Jumlahkan deret angka tersebut
 Tampilkan hasil penjumlahan

Flowchartnya:

9
1.4 LISTING PROGRAM
1.4.1 Menghitung luas lingkaran
#include <stdio.h>
main()
{
float phi = 3.14;
float jari2,luas;
printf ("Masukan Jari-jari Lingkaran:");
scanf("%f", &jari2);
luas=phi*jari2*jari2;
printf("luas : %f", luas);
}

1.4.2 Proses pengiriman email

#include <stdio.h>
int main()
{
char huruf;
printf ("Proses Pengiriman Email apakah Email Terkitim atau Tidak
[Y/T]?=");
scanf ("%c", &huruf);
switch (huruf)
{
case 'Y' : printf ("Email Sudah Terkirim\n");break;
case 'T' : printf ("Mengirim Ulang\n");break;
}}
1.4.3 Proses melakukan panggilan telepon

10
#include <stdio.h>
int main()
{
char huruf;
printf ("Poses Pemanggilan Telepon apakah Diangkat atau Tidak
[Y/T]?=");
scanf ("%c", &huruf);
switch (huruf)
{
case 'Y' : printf ("Telepon Terhubung\n");break;
case 'T' : printf ("TELEPON ULANG\n");break;
}
}

1.4.4 Perusahhan daerah air minum

#include <conio.h>
#include <stdio.h>
void main()
{
int jpa;
int tpm,total;
printf ("Jumlah Pemakaian Air:");
scanf("%d",&jpa);
if (jpa<=15) tpm=300;
else tpm=650;
total=jpa*tpm;
printf("harga air: %d",tpm);
printf("\n total biaya air: %d\n",total);
}

1.4.5 Penjumlahan bilangan

#include <stdio.h>
long int deret (int x);
main()
{
int N;
long int hasil;
printf("masukan nilai akhir deret:");
scanf ("%d",&N);
hasil=deret(N);
printf("\n Nilai hasil penjumlahan deret= %d", hasil);
}
long int deret (int x)
{
int I;

11
long int Z=0;
printf("Nilai I :");
for (I=1; I<=x; I=I+2)
{
Z+=I;
printf("\n %d",I);
}
return (Z);
}

1.5 HASIL OUTPUT


1.4.1

1.4.2

12
1.4.3

1.4.4

1.4.5

13
1.6 KESIMPULAN
Pada materi algoritma dan flowchart menurut saya kesimpulan yang dapat di
ambil adalah, langkah awal yang harus kita pahami. Karena pada dasarnya
algoritma merupakan urutan langkah-langkah logika yang menyatakan suatu
tugas dalam menyelesaikan suatu masalah atau problem. Flowchart sendiri
memiliki symbol symbol yang fungsi nya ini berbeda beda, jadi ketika di
buatkan suatu diagram, syimbol ini bisa menjadi logika bagi sang
pembacanya.

14
PRAKTIKUM 2

DASAR PROGRAM BAHASA C

2.1 TUJUAN
1. Mengenal sintaks dan fungsi-fungsi dasar dalam bahasa C
2. Mampu membuat flowchart untuk algoritma untuk memecahkan suatu
masalah sederhana, selanjutnya mengimplementasikannya dalam bahasa

2.2 TEORI DASAR


Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin
Richards pada tahun 1967. Bahasa ini memberikan ide kepada Ken
Thompson yang kemudian mengembangkan bahasa yang disebut dengan B
pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C
oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone Laboratories
Inc. (sekarang adalah AT&T Bell Laboratories). Bahasa C pertama kali
digunakan pada komputer Digital Equipment Corporation PDP-11 yang
menggunakan sistem operasi UNIX.

Proses Kompilasi dan Linking Program C


Proses dari bentuk source program, yaitu program yang ditulis dalam bahasa
C hingga menjadi program yang executable.

Struktur Penulisan Program C


Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Fungsi
pertama yang harus ada dalam program C dan sudah ditentukan namanya
adalah main(). Setiap fungsi terdiri atas satu atau beberapa pernyataan, yang
secara keseluruhan dimaksudkan untuk melaksanakan tugas khusus. Bagian
pernyataan fungsi (sering disebut tubuh fungsi) diawali dengan tanda kurung
kurawal buka ({) dan diakhiri dengan tanda kurung kurawal tutup (}).
Walaupun fungsi tidak memiliki pernyataan, kurung kurawal haruslah tetap
ada. Sebab kurung kurawal mengisyaratkan awal dan akhir definisi fungsi.
Berikut ini adalah struktur dari program C.

Pemrograman dengan bahasa C dikatakan bahasa terstruktur karena


strukturnya menggunakan fungsi-fungsi sebagai program-program
bagiannya (subroutine).

Fungsi-Fungsi Dasar

15
a. Fungsi main()
Fungsi main() harus ada pada program, sebab fungsi inilah yang
menjadi titik awal dan titik akhir eksekusi program. Tanda { di awal
fungsi menyatakan awal tubuh fungsi dan sekaligus awal eksekusi
program, sedangkan tanda } di akhir fungsi merupakan akhir tubuh
fungsi dan sekaligus adalah akhir eksekusi program.

b. Fungsi printf()
Fungsi printf() merupakan fungsi yang umum dipakai untuk
menampilkan suatu keluaran pada layar peraga. Untuk menampilkan
tulisan.

Dalam C suatu konstanta string ditulis dengan diawali dan diakhiri


tanda petik-ganda (“). Perlu juga diketahui pernyataan dalam C selalu
diakhiri dengan tanda titik koma (;). Tanda titik koma dipakai sebagai
tanda pemberhentian sebuah pernyataan.

Tanda \ pada string yang dilewatkan sebagai argumen printf()


mempunyai makna yang khusus. Tanda ini bisa digunakan untuk
menyatakan karakter khusus seperti karakter baris-baru ataupun
karakter backslash (miring kiri). Jadi karakter seperti \n sebenarnya
menyatakan sebuah karakter.

Dalam bentuk yang lebih umum, format printf() dengan string kontrol
dapat berupa satu atau sejumlah karakter yang akan ditampilkan
ataupun berupa penentu format yang akan mengatur penampilan dari
argumen yang terletak pada daftar argumen. Mengenai penentu format
diantaranya berupa:
%d untuk menampilkan bilangan bulat (integer)
%f untuk menampilkan bilangan titik-mengambang (pecahan)
%c untuk menampilkan sebuah karakter
%s untuk menampilkan sebuah string

Praprosesor #include
#include merupakan salah satu jenis pengarah praprosesor
(preprocessor directive). Pengarah praprosesor ini dipakai untuk
membaca file yang di antaranya berisi deklarasi fungsi dan definisi
konstanta

Komentar dalam Program


Dalam C, suatu komentar ditulis dengan diawali dengan tanda /* dan
diakhiri dengan tanda */.

2.3 LISTING PROGRAM


2.2.1 Mencetak kalimat.

#include <stdio.h>

16
main ()
{
printf ("Program Studi Teknik Elektro\n");
printf ("Kampus UNSIKA Tahun 2013");
}

2.3.2 Mencetak kalimat.

#include <stdio.h>
main ()
{
printf ("Saya sekarang sedang makan\n");
printf ("Kantin UNSIKA\n");
printf ("Murah meriah\n");
printf ("Cocok untuk kalangan mahasiswa");
}

2.3.3 Membetulkan kesalahan pada program.

#include <stdio.h>
main()
{
printf("Ternyat Semester ini Nilaiku Jelek %d\n",4);
printf("Matematika %s dan Metode Numerik %s\n","B","D");
printf("oooo... Ternyata kuliah itu Susah %s\n","sekali");
printf("sepertinya %s rajin belajar minimal %d", "harus",8);
}

2.3.4 Mencetak kalimat.

#include <stdio.h>
main()
{
printf("\tDalam membuat \"Program komputer\"\n");
printf("\tTerdapat aturan aturan yang harus dipenuhi\n");
printf("\tDalam menuliskan perintah perintah dasar \n");
printf("\tUntuk itu \"programmer\" harus menghafal aturan\n
\taturan\n");
printf("\tYang berlaku"); }

2.4 HASIL OUTPUT


2.4.1

17
2.4.2

2.4.3

18
2.4.3

2.6 KESIMPULAN
Jadi, kesimpulannya mengerti akan dasar progam bahasa C sangat di
perlukan untuk melakukan praktikum pada bab 2 ini. Jika kita tidak paham
akan maksud dari masing – masing fungsi dasar maka kita pun tidak bisa
membuat programnya.

19
PRAKTIKUM 3

PENGAMBILAN KEPUTUSAN

3.1 TUJUAN
1. Menjelaskan tentang operator kondisi (operator relasi dan logika)
2. Menjelaskan penggunaan pernyataan if
3. Menjelaskan penggunaan pernyataan if-else
4. Menjelaskan penggunaan pernyataan if dalam if
5. Menjelaskan penggunaan pernyataan else-if
6. Menjelaskan penggunaan pernyataan switch

3.2 TEORI DASAR


Untuk keperluan pengambilan keputusan, C menyediakan beberapa jenis
pernyataan, berupa:
a) Pernyataan if
b) Pernyataan if-else, dan
c) Pernyataan switch
Pernyataan-pernyataan tersebut memerlukan suatu kondisi, sebagai basis
dalam pengambilan keputusan. Kondisi umum yang dipakai berupa keadaan
benar dan salah.

Operator Relasi
Operator relasi biasa dipakai untuk membandingkan dua buah nilai. Hasil
pembandingan berupa keadaan benar atau salah.

Operator Logika
Operator logika biasa dipakai untuk menghubungkan ekspresi relasi.

Pernyataan if
Bentuk ini menyatakan :
Jika kondisi yang diseleksi adalah benar (bernilai logika = 1), maka
pernyataan yang mengikutinya akan diproses.
Sebaliknya, jika kondisi yang diseleksi adalah tidak benar (bernilai
logika = 0), maka pernyataan yang mengikutinya tidak akan diproses.

Arti dari pernyataan if-else :


Jika kondisi benar, maka pernyataan-1 dijalankan.
Sedangkan bila kondisi bernilai salah, maka pernyataaan-2 yang
dijalankan.
Pernyataan if di dalam if
Di dalam suatu pernyataan if (atau if-else) bisa saja terdapat pernyataan if
(atau if else) yang lain. Bentuk seperti ini dinamakan sebagai nested if.
Secara umum, bentuk dari pernyataan ini adalah sebagai berikut :

20
Kondisi yang akan diseleksi pertama kali adalah kondisi yang terluar
(kondisi-1).
Jika kondisi-1 bernilai salah, maka statemen else yang terluar
(pasangan if yang bersangkutan) yang akan diproses. Jika else
(pasangannya tsb) tidak ditulis, maka penyeleksian kondisi akan
dihentikan.
Jika kondisi-1 bernilai benar, maka kondisi berikutnya yang lebih
dalam (kondisi-2) akan diseleksi. Jika kondisi-2 bernilai salah, maka
statemen else pasangan dari if yang bersangkutan yang akan diproses. Jika
else (untuk kondisi-2) tidak ditulis, maka penyeleksian kondisi akan
dihentikan.
Dengan cara yang sama, penyeleksian kondisi akan dilakukan sampai
dengan kondisi-n, jika kondisi-kondisi sebelumnya bernilai benar.

Pernyataan else-if
Contoh implementasi nested if ini misalnya pembuatan sebuah program
kalkulator sederhana. User memberikan masukan dengan format :

Operand1 operator operand2


Jenis operasi yang dikenakan bergantung pada jenis operator ang
dimasukkan oleh user.
Oleh karena itu program akan mengecek apakah operator berupa tanda ‘*’,
‘/’, ‘+’, ataukah tanda ‘-‘.
 Jika operator berupa tanda ‘*’ maka operand1 akan dikalikan dengan
operand2.
 Jika operator berupa tanda ‘/’ maka operand1 akan dibagi dengan
operand2.
 Jika operator berupa tanda ‘+’ maka operand1 akan dijumlahkan
dengan operand2.
 Jika operator berupa tanda ‘-’ maka operand1 akan dikurangi dengan
operand2.
 Kalau operator yang dimasukkan bukan merupakan salah satu dari
jenis operator di atas, maka ekspresi tersebut tidak akan diproses, dan
user akan mendapatkan pesan berupa : “Invalid operator!”

Pernyataan switch

21
Pernyataan switch merupakan pernyataan yang dirancang khusus untuk
menangani pengambilan keputusan yang melibatkan sejumlah alternatif,
misalnya untuk menggantikan pernyataan if bertingkat.

3.3 ALGORITMA DAN FLOWCHART


3.3.1 Perhitungan luas segitiga dan persegi panjang
Algoritmanya:
 Masukkan pilihan untung menghitung (1= segitiga atau 2=
persegi panjang)
 Apabila pilihannya 1, masukkan alas dan tinggi
 Apabila pilihannya 2, masukkan panjang dan lebar
 Cetak luas segitiga atau luas persegi panjang

Flowchartnya:

22
3.3.2 Penggunaan pernyataan switch-case
Algoritmanya:
 Masukan huruf (A-E)
 Konversikan semua huruf menjadi angka
 A=4, B=3, C=2, D=1
 Cetak keluaran

Flowchartnya

3.3.3 Penggunaan nested if


Algoritmanya:
 Mas
ukan 3 angka
 3
angka missal bilangan
bulat
 Dari
ketiga angka tersebut cari
nilai yang lebih kecil
 Ceta
k keluaran angka yang
tebih kecil

Flowchartnya:

3.3.4 Menyelesaikan soal


nomor 2 dengan
pernyataan if else
Algoritmanya:
 Masukan huruf (A-E)
 Konversikan semua huruf menjadi angka
 A=4, B=3, C=2, D=1
 Cetak keluaran
Flowchartnya:

23
3.4 LISTING PROGRAM
3.4.1 Perhitungan luas segitiga dan persegi panjang

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main()
{
int pilih;
float panjang, lebar, luas_persegi;
float alas, tinggi, luas_segitiga;
menu:
printf("Tampilan:\nMasukan pilihan anda [1/2]:");scanf("%d",&pilih);
switch(pilih)
{
case 1:
segitiga:
system ("cls");
printf("menghitung luas segitiga\n");
printf("masukan alas:");
scanf("%f",&alas);
printf("masukan tinggi:");
scanf("%f",&tinggi);
putchar (7);

24
luas_segitiga=alas*tinggi/2;
printf("jadi luasnya adalah:=%2.2f cm2\n\n",luas_segitiga);
getch();
break;
case 2:
persegi:
system("cls");
printf("menghitung luas persegi panjang\n");
printf("masukan panjang:");
scanf("%f", &panjang);
printf("masukan lebar:");
scanf("%f",&lebar);
luas_persegi=panjang*lebar;
printf("jadi luasnya adalah:%2.2f cm2\n",luas_persegi);
break;
}
}

3.4.2 Penggunaan pernyataan switch-case

#include <stdio.h>
int main()
{
char huruf;
printf("masukan nilai huruf=");
scanf("%c", &huruf);
switch (huruf)
{
case 'A':printf("nilai 4\n");break;
case 'B':printf("nilai 3\n");break;
case 'C':printf("nilai 2\n");break;
case 'D':printf("nilai 1\n");break;
case 'E':printf("nilai 0\n");break;
}
}

3.4.3 Penggunaan nested if


#include <stdio.h>
main()
{
int a, b, c, hasil;
printf("Masukan 3 angka:\n");
scanf("%d %d %d", &a, &b, &c);
if(a<b)
if(a<c)
hasil=a;
else
hasil=c;

25
else if(b<c)
hasil=b;
else
hasil=c;
printf("angka yang terkecil %d\n",hasil);}
3.4.4 Menyelesaikan soal nomor 2 dengan pernyataan if else
#include <stdio.h>
int main()
{
char huruf;
printf("masukan nilai huruf=");
scanf("%c", &huruf);
switch (huruf)
{
case 'A':printf("nilai 4\n");break;
case 'B':printf("nilai 3\n");break;
case 'C':printf("nilai 2\n");break;
case 'D':printf("nilai 1\n");break;
case 'E':printf("nilai 0\n");break;
}
}

3.5 HASIL OUTPUT


3.5.1

26
3.5.2

27
3.5.3

3.5.4

28
3.6 KESIMPULAN
Dengan menggunakan operasi if –else untuk mengambil keputusan dalam
proses program saat berjalan, akan sangat penting bagi kita untuk melihat
flowchart yang ada atau membayangkan dengan logika if – else. Fungsi lain
dari if else adalah kita dapat membuat program dengan input yang bisa
dipilih oleh pengguna program.

29
PRAKTIKUM 4

PENGULANGAN PROSES

4.1 TUJUAN
1. Menjelaskan proses pengulangan menggunakan pernyataan for
2. Menjelaskan proses pengulangan menggunakan pernyataan while
3. Menjelaskan proses pengulangan menggunakan pernyataan do-while

4.2 TEORI DASAR


Pernyataan for
Pada semua bahasa pemrograman, pengulangan proses ditangani dengan
suatu mekanisme yang disebut loop. Dengan menggunakan loop, suatu
proses yang berulang misalnya menampilkan tulisan yang sama seratus
kali pada layar dapat diimpelementasikan dengan kode program yang
pendek.
Pernyataan pertama yang digunakan untuk keperluan pengulangan proses
adalah pernyataan for. Kegunaan dari masing-masing ungkapan pada
pernyataan for:
 Ungkapan1 : digunakan untuk memberikan inisialisasi terhadap
variable pengendali loop.
 Ungkapan2 : dipakai sebagai kondisi untuk keluar dari loop.
 Ungkapan3 : dipakai sebagai pengatur kenaikan nilai variabel
pengendali loop.

Ketiga ungkapan dalam for tersebut harus dipisahkan dengan tanda titik
koma (;). Dalam hal ini pernyatan bisa berupa pernyataan tunggal maupun
jamak. Jika pernyataannya berbentuk jamak, maka pernyataan-pernyataan
tersebut harus diletakkan di antara kurung kurawal buka ({) dan kurung
kurawal tutup (}).

Pernyataan while
Pada pernyataan while, pengecekan terhadap loop dilakukan di bagian
awal (sebelum tubuh loop). Lebih jelasnya, bentuk pernyataan while
adalah sebagai berikut :
while (kondisi)
pernyataan;
dengan pernyataan dapat berupa pernyataan tunggal, pernyataan majemuk
ataupun pernyataan kosong.

Pernyataan do-while
Pada pernyataan do-while, tubuh loop berupa pernyataan,dengan
pernyataan bisa berupa pernyataan tunggal, pernyataan majemuk ataupun
pernyataan kosong. Pada pernyataan do, mula-mula pernyataan dijalankan.
Selanjutnya, kondisi diuji. Seandainya kondisi bernilai benar, maka
pernyataan dijalankan lagi, kemudian kondisi diperiksa kembali, dan

30
seterusnya. Kalau kondisi bernilai salah pada saat dites, maka pernyataan
tidak dijalankan lagi.

4.3 ALGORITMA DAN FLOWCHART


4.3.1 Penggunaan pernyataan for
Algoritmanya:
 Masukkan jumlah integer positif(i) = 10
 Hitunglah jumlah i
 1+…+n
 Cetak angka keluaran
Flowchartnya:

4.3.2 Penggunaan loop while


Algoritmanya:
 Masukkan bilangan

31
 Apakah akan memasukan bilangan lagi
 Jika iya, masukan bilangan kedua
 Jika tidak, langsung menjumlahkan bilangan yang dimasukkan
Flowchartnya:

4.3.3 Menentukan sebuah integer dengan acak


Agloritmanya:
 Memasukkan nilai acak yang diinginkan
 Memasukkan angkat tebakan
 Jika lebih besar dari angka tebakan maka masukkan angka lagi
 Jika lebih kecil dari angka tebakan maka masukkan angka lagi
 Maka angka tebakan tepat dan benar

32
Flowchartnya:

4.4 LISTING PROGRAM


4.4.1 Penggunaan pernyataan for
#include <stdio.h>
long int deret(int x);
main()
{
int N;

33
long int hasil;
printf ("tampilan:\n masukan integer positif:");
scanf("%d",&N);
hasil=deret (N);
printf("\n jumlah = %d", hasil);
}
long int deret(int x)
{
int i;
long int z=0;
printf("Nilai i:");
for (i=1; i<=x; i=i+1)
{
z+=i;
printf("\n %d",i);
}
return (z);
}

4.4.2 Penggunaan loop while


#include <stdio.h>
main()
{
char jawab='y';
int a=0, hasil=0, n=0;
while (jawab=='y' || jawab=='y')
{
n=n+1;
printf("masukan bilangan ke-%d : ",n);

34
scanf("%d", &a);
printf("mau masukin lagi [y/t]?");
getchar();
jawab= getchar();
hasil += a;
}
printf("total bilangan=%d\n", hasil);}

4.4.3 Menentukan sebuah integer dengan acak


#include <stdio.h>
#include <stdlib.h>
#define max_angka (100+1)

int main()
{
char mulai;
int tebakan, angka_user, langkah;
time_t t;
srand((unsigned)time(&t));
do
{
angka_user=0;
langkah=0; tebakan=rand() %max_angka;
if (tebakan==0) tebakan=1; while (angka_user!=tebakan) {langkah++;
printf("masukan angka tebakan anda:");
scanf("%d", &angka_user);
getchar();
if (angka_user > tebakan)
{

35
printf ("tebakan terlalu besar\n");
}
else if (angka_user < tebakan){
printf("tebakan terlalu kecil\n");
}
else
{
printf("mantap! anda menebak dalam %d kali\n\n\n", langkah);
}
}
getchar();
}while (mulai=='y');
return 0;
}

4.5 HASIL OUTPUT


4.5.1

4.5.2

36
4.5.3

4.6 KESIMPULAN
Dengan operasi for dan while dala percobaan ini kita mencoba
mengaplkasikan dalam matematika untuk mencari jumlah dari angka yang
dimasukan pada input. Proses pengulangan dapat jalan apabila variable dan
konstanta yang kita masukan dalam program sudah tepat, sering sekali ada
kesalahan dalam memasukan variable dan konstanta sehingga program tidak
berjalan sesuai dengan yang kita inginkan.

37
PRAKTIKUM 5

FUNGSI DASAR

5.1 TUJUAN
1. Memahami fungsi dasar bahaca C
2. Membuat Fungsi
3. Memahami parameter dalam fungsi
4. Memahami cara melewatkan parameter ke dalam fungsi

5.2 TEORI DASAR


Fungsi adalah suatu bagian dari program yang dirancang untuk melaksanakan
tugas tertentu dan letaknya dipisahkan dari program yang menggunakannya.
Fungsi banyak digunakan pada program C dengan tujuan, program menjadi
terstrukutur dan dapat mengurangi pengulangan ( duplikasi ) kode.

Fungsi Dasar
Fungsi standar C yang mengemban tugas khusus contohnya adalah ;
printf() , yaitu untuk menampilkan informasi atau data ke layar.
scanf() , yaitu untuk membaca kode tombol yang diinputkan.

Memberikan Nilai Keluaran Fungsi


Suatu fungsi dapat hanya melakukan suatu tugas saja tanpa memberikan
suatu hasil keluaran atau melakukan suatu tugas dan kemudian memberikan
hasil keluaran. Fungsi yang hanya melakukan suatu tugas saja tanpa
memberikan hasil keluaran misalnya adalah fungsi untuk menampilkan hasil
di layar.

Fungsi Dengan Keluaran Bukan Integer


Untuk fungsi yang mempunyai keluaran bertipe bukan integer, maka fungsi
haruslah didefiniskan dengan diawali tipe keluaran fungsinya (ditulis di
depan nama fungsi).

Prototipe Fungsi
Prototipe fungsi digunakan untuk menjelaskan kepada kompiler mengenai :
tipe keluaran fungsi
jumlah parameter
tipe dari masing-masing parameter

5.3 LISTING PROGRAM


5.3.1 Penjumlahan n buah data
#include<stdio.h>
main()

38
{
int a=0,n;
float rata;

for(n=1;n<=3;n++)
{
printf("Masukan angka ke-%d :",n);
scanf("%d",&a);
rata+=a/3;
}
printf("Rata - rata nya adalah %f",rata);
}

5.3.2 Menukar 2 bilangan


#include <stdio.h>

main()
{
int angka;
printf("masukan nilai [1 atau 2]:");
scanf("%s",&angka);

switch(angka)
{
case '1':
printf("nilai :4");
break;
case '2':
printf("nilai :3");

39
break;

}
}

5.3.3 Menentukan nilai terbesar


#include <stdio.h>
main()
{
int a, b, c, hasil;
printf("Masukan 3 angka:\n");
scanf("%d %d %d", &a, &b, &c);
if(a>b)
if(a>c)
hasil=a;
else
hasil=c;
else if(b>c)
hasil=b;
else
hasil=c;
printf("angka yang terbesar %d\n",hasil);
}

5.4 HASIL OUTPUT


5.4.1

40
5.4.2

5.4.3

41
5.5 KESIMPULAN
Dalam bab ini kita mempelajari tentang beberapa fungsi dasar dari bahasa c
ini, kita telah mencobanya dalam percobaan seperti mencari nilai terbesar
dari bilangan dan banyak lagi lainya.

42
PRAKTIKUM 6

FUNGSI MATEMATIKA

6.1 TUJUAN
1. Menjelaskan fungsi matematika dalam bahasa C.
2. Menerapkan fungsi-fungsi matematika yang terdapat dalam C dalam
menyelesaikan permasalahan.

6.2 TEORI DASAR


Bahasa C menyediakan bawaan fungsi matematika yang terdapat dalam
pustaka (Library) : math.h. Agar fungsi matematika tersebut dapat
digunakan dalam program maka fungsi matematika harus disertakan dalam
program melalui pernyataan: #include<math.h> Beberapa fungsi matematika
yang terdapat dalam library math.h bahasa C yakni:

6.3 ALGORITMA DAN FLOWCHART


Algoritmanya:
 Menetapkan nilai gravitasi 9.8
 Masukan ketinggian aeal dan kelajuan awal
 Menghitung kelajuan waktu dengan rumus
 Menghitung kelajuan benda dengan rumus
 Cetak waktu dan kelajuan benda
Flowchartnya:

43
6.4 LISTING PROGRAM
Program gerak jatuh bebas untuk menghitung durasi benda di udara dan
kecepatan sebelum menyentuh tanah.

#include <stdio.h>
#include <math.h>
main()
{
float y0,v0,y,v,t,g=9.8;
printf("masukan ketinggian awal:");
scanf("%f",&y0);
printf("masukan kelajuan awal:");
scanf("%f",&v0);
t=(v0+sqrt(v0+2*g*y0))/g;
v=v0-g*t;
printf("waktu yang diperlukan untuk menyentuh tanah:%.2fs\n",t);
printf("kelajuan benda saat menyentuh tanah:%.2fm/s2\n",v);
}

6.5 HASIL OUTPUT


Dengan nilai tinggi awal dan laju awal yang berbeda beda:

44
45
6.7 KESIMPULAN
Pada percobaan dimodul bab 6 ini saya bisa mengetahui banyak fungsi
matematika dalam bahasa C dan ketika di implementasikan kedalam program
di percobaan pun bersahasil. Hasil perhitungan manual dengan rumus dan
hasli perhitungan pada program di percobaan kali ini ssangat akurat. Karena
ke akuratan nya ini maka dapat disipulkan bahwa percobaan bab 6 dengan
tema fungsi matematika berhasil.

46
PRAKTIKUM 7

POINTER

7.1 TUJUAN
1. Mengetahui konsep dari variabel pointer
2. Mengetahui penggunaan pointer array
3. Mengetahui penggunaan pointer string

7.2 TEORI DASAR


Konsep Dasar Pointer
Variabel pointer sering dikatakan sebagai variabel yang menunjuk ke obyek
lain. Pada kenyataan yang sebenarnya, variabel pointer berisi alamat dari
suatu obyek lain (yaitu obyek yang dikatakan ditunjuk oleh pointer).

Mendeklarasikan Variabel Pointer


Suatu variabel pointer dideklarasikan dengan bentuk sebagai berikut :

dengan tipe dapat berupa sembarang tipe yang sudah dibahas pada bab-bab
sebelumnya, maupun bab-bab berikutnya. Adapun nama_variabel adalah
nama dari variabel pointer.

Mengatur Pointer agar Menunjuk ke Variabel Lain


Agar suatu pointer menunjuk ke variabel lain, mula-mula pointer harus diisi
dengan alamat dari variabel yang akan ditunjuk. Untuk menyatakan alamat
dari suatu variabel, operator & (operator alamat, bersifat unary) bisa
dipergunakan, dengan menempatkannya di depan nama variabel.

Mengakses Isi Suatu Variabel Melalui Pointer


Jika suatu variabel sudah ditunjuk oleh pointer, variabel yang ditunjuk oleh
pointer tersebut dapat diakses melalui variabel itu sendiri (pengaksesan
langsung) ataupun melalui pointer (pengaksesan tak langsung).

Pointer dan Array


Hubungan antara pointer dan array pada C sangatlah erat. Sebab
sesungguhnya array secara internal akan diterjemahkan dalam bentuk
pointer. Pembahasan berikut akan memberikan gambaran hubungan antara
pointer dan array.

7.3 ALGORITMA DAN FLOWCHART


7.3.1 Program untuk mengetahui suatu variable

47
Algoritmanya:
 Menentukan 3 alamat dari variable missal, a,b,c
 Menampilkan isi variable dan alamat variable
Flowchartnya:

7.3.2 Progrram mengakses array via pointer


Algoritmanya:
 Menentukan tanggal lahir dengan pointer
 Tampilkan tanggal lahir dengan pointer
Flowchartnya:

48
7.4 LISTING PROGRAM
7.4.1 Program untuk mengetahui suatu variable
#include <stdio.h>
int main()
{
int alif=5;
float ba=7.5;
double ta=17.777;
printf("isi variable:\n");
printf("alif=%d\n",alif);
printf("ba=%f\n",ba);
printf("ta=%1f\n",ta);

printf("\n");
printf("alamat variable:\n");
printf("alif=%p\n",&alif);

49
printf("ba=%p\n",&ba);
printf("ta=%p\n",&ta);
return 0;
}
7.4.2 Program engakses array via pointer
#include <stdio.h>
int main()
{
int tgl_lahir[]={24,6,2000};
int *ptgl;
ptgl=tgl_lahir;
int i;
for (i=0;i<sizeof(tgl_lahir)/sizeof(int);i++)
printf("%d\n",*(ptgl+i));
return 0;
}

7.5 HASIL OUTPUT


7.5.1

7.5.2

50
7.6 KESIMPULAN
Kesimpulan yang bisa diambil dari percobaan mengenai pointer ini menurut
saya dari goals atau tujuan nya saja sudah berhasil, hasil dari percobaan
dengan terori mengenai pointer selaras dan membuat kami lebih mengerti
penerapan dari program program menggunakan pointer.

51
PRAKTIKUM 8

AR RAY

8.1 TUJUAN
1. Menjelaskan tentang array berdimensi satu, dua dan berdimensi banyak
2. Menjelaskan tentang inisialisasi array tak berukuran
3. Menjelaskan array sebagai parameter fungsi

8.2 TEORI DASAR


Array sering disebut (diterjemahkan) sebagai larik. Array adalah kumpulan
dari nilainilai data bertipe sama dalam urutan tertentu yang menggunakan
sebuah nama yang sama. Nilai-nilai data di suatu array disebut dengan
elemen-elemen array. Letak urutan dari elemen-elemen array ditunjukkan
oleh suatu subscript atau indeks. Array bisa berupa array berdimensi satu,
dua, tiga atau lebih. Array berdimensi satu (onedimensional array)
mewakili bentuk suatu vektor. Array berdimensi dua (two dimensional
array) mewakili bentuk dari suatu matriks atau table. Array berdimensi
tiga (three-dimensional array) mewakili bentuk suatu ruang.

A. Array Berdimensi Satu


Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa :
tipe_data nama_var[ukuran];
dengan :
tipe_data : untuk menyatakan tipe dari elemen array, misalnya
int, char, float.
nama_var : nama variabel array ƒ
ukuran : untuk menyatakan jumlah maksimal elemen array.

Array Berdimensi Dua


Array berdimensi satu dapat disimpan pada sebuah array berdimensi dua.
Pendeklarasian array berdimensi dua adalah sebagai berikut :
int data_lulus[4][3];
Nilai 4 untuk menyatakan banyaknya baris dan 3 menyatakan banyaknya
kolom. Gambar berikut memberikan ilustrasi untuk memudahkan
pemahaman tentang array berdimensi dua.
Sama halnya pada array berdimensi satu, data array akan ditempatkan
pada memori yang berurutan

Array Berdimensi Banyak


C memungkinkan untuk membuat array yang dimensinya lebih dari dua.
Bentuk umum pendeklarasian array berdimensi banyak :
tipe nama_var[ukuran 1][ukuran2}…[ukuranN];

52
sebagai contoh :
int data_huruf[2][8][8];
merupakan pendeklarasian array data_huruf sebagai array berdimensi tiga.
Sama halnya dengan array berdimensi satu atau dua, array berdimensi
banyak juga bisa diinisialisasi.

ARRAY SEBAGAI PARAMETER


Array juga dapat dilewatkan sebagai parameter fungsi. Sebagai contoh
ditujukan pada program sorting.c. Program digunakan untuk memasukkan
sejumlah data, kemudian data tersebut diurutkan naik (ascending) dan
dicetak ke layar.

8.3 ALGORITMA DAN FLOWCHART


8.3.1 Menghitung frekuensi dari sebuah huruf
Algoritmanya:
 Masukan jumlah karakter yang akan dihitung
 Proses karakter yang akan di hitung
 Memasukan kerakter
 Menghitung frekuensi karakter yang ada di masukan
Flowchartnya:

8.3.2 Array berdimensi dua


Algoritmanya :
 Menentukan huruf yang akan dibuat
 Proses array yang berdimensi 2

53
 Cetak hasil array berdimensi dua
Flowchartnya:

8.4 LISTING PROGRAM


8.4.1 Menghitung frekuensi sebuah huruf
#include<stdio.h>
main()
{
char tmp, kar[255];
int htg[255];
int a, b, c=0, n, cek;
printf("Masukkan jumlah karakter : ");
scanf("%d",&n);
for(a=1;a<=n;a++)
{
printf("Masukkan karakter ke-%d\t: ",a);
scanf("\n%c",&tmp);
for(b=0;b<=c;b++)
{

54
cek=1;
if(tmp==kar[b])
{
cek=0;
htg[b]++;
break;
}
}
if(cek==1)
{
kar[c]=tmp;
htg[c]=1;
c++;
}
}
printf("\n");
for(a=0;a<c;a++)
{
printf("Frekuensi yang muncul pada karakter %c adalah %2d\n",
kar[a], htg[a]);
}
}
8.4.2 Array berdimensi dua
#include<stdio.h>
int main()
{
int huruf_A[8][8]=
{
{0, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 0, 0, 0, 0, 1, 0},

55
{0, 1, 0, 0, 0, 0, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 0, 0, 0, 0, 1, 0},
{0, 1, 0, 0, 0, 0, 1, 0},
{0, 1, 0, 0, 0, 0, 1, 0},
{0, 0, 0, 0, 0, 0, 0, 0}
};
int i, j;
for(i=0; i<8; i++)
{
for(j=0; j<8; j++)
if (huruf_A[i][j]==1)
putchar('*');
else
putchar(' ');
printf("\n");
}
return 0;
}

8.5 HASIL OUTPUT

56
8.6 KESIMPULAN
Array adalah kumpulan dari nilainilai data bertipe sama dalam urutan tertentu
yang menggunakan sebuah nama yang sama. Dala array ini juga ada
beberapa tingkatan dalam pemogramannya ada yang dimensi satu, dua dan
banyak. Merurut saya hasil perbandingan dan pengamatan untuk
mengaplikasikan array kedalam program ini sangan sulit. Sulit disini bukan
karena ada problem di materi atau aplikasinya tapi dikatenakan
ketidakmampuannya saya untuk memahami praktikum pada saat ini. Hanya
untuk di perocobaan yang kedua saya sudah molai sedikit paham mengenai
cara kerja dari fungsi array ini.

57
PRAKTIKUM 9

STRING

9.1 TUJUAN
1. Menjelaskan tentang konsep string
2. Menjelaskan operasi I/O pada string
3. Menjelaskan cara mengakses elemen string
4. Menjelaskan berbagai fungsi mengenai string

9.2 TEORI DASAR


Konstanta dan Variabel String
String merupakan bentuk data yang biasa dipakai dalam bahasa pemrograman
untuk keperluan menampung dan memanipulasi data teks, misalnya untuk
menampung (menyimpan) suatu kalimat. Pada bahasa C, string bukanlah
merupakan tipe data tersendiri, melainkan hanyalah kumpulan dari nilai-nilai
karakter yang berurutan dalam bentuk array berdimensi satu.

Konstanta String
Suatu konstanta string ditulis dengan diawali dan diakhiri tanda petik ganda.

Variabel String
Variabel string adalah variabel yang dipakai utuk menyimpan nilai string.

INPUT OUTPUT DATA STRING :


Memasukkan Data String
Perhatikan :
 nama_array adalah variabel bertipe array of char yang akan
digunakan untuk menyimpan string masukan.
 Di depan nama_array tidak perlu ada operator & (operator
alamat), karena nama_array tanpa kurung siku sudah
menyatakan alamat yang ditempati oleh elemen pertama dari
array tsb.
 Kalau memakai scanf(), data string masukan tidak boleh
mengandung spasi.

Menampilkan Isi Variabel String


Untuk menampilkan isi variabel string, fungsi yang digunakan
adalah puts() atau printf().
Fungsi-Fungsi Mengenai String
Berikut ini akan dibahas beberapa fungsi pustaka yang umumnya
disediakan oleh kompiler C untuk mengoperasikan suatu nilai
string. Fungsi-fungsi pustaka untuk operasi string, prototype-
prototype nya berada di file judul string.h.
9.3 ALGORITMA DAN FLOWCHART
9.3.1 Menentukan kalimat polindrom

58
Algoritmanya:
 Masukkan alamat email
 Memeriksa kalimat palindrom
 Mencetask hasilnya
Flowchartnya:

9.3.2 Mengurutkan nama sesuai alfabeth


Algoritmanya:
 Menentukan angka mana uang akan berangkat
 Input nama nama tersebut
 Memproses nama-nama tersebut
 Mengurutkan sesaui alfabeth
 Cetak hasil
Flowcharnya:

59
9.4 LISTING PROGRAM
9.3.1 Menentukan kalimat polindrom
#include <stdio.h>
#include <conio.h>
#include <string.h>

int main()
{
char a[100], b[100];
printf("Kalimat:");
gets(a);
strcpy(b,a);
strrev(b);
if(strcmp(a,b)==0)

60
printf("\nKata'%s'merupakan kata polindrom\n",&a);
else
printf("\nKata'%s'bukan merupakan kata polindrom\n",&a);
getch();
}
9.4.2 Mengurutkan nama sesuai alfabeth
#include <stdio.h>
#define N 20
char nama [N][20];
int i, j, k, l;
main()
{
int jml;
char jumlah[10];
printf("jumlah nama yang akan diurutkan=");
gets(jumlah);
jml=atoi(jumlah);
for(i=0;i<jml;i++)
{printf("\nNama ke-%d:",i+1);
gets(&nama[i][0]);
}bubble (jml);
printf("\nNama sesudah diurutkan:");
for (i=0; i<jml; i++)
{printf("\nNama ke- %d : %-20s",i+1,&nama[i][0]);
}
}bubble(n)
int n;
{char temp;
for (i=1; i<=n; i++)

61
{for(j=i; j<n; j++)
{for(l=0; l<20; l++)
{if (nama[i-1][l]<nama[j][l])
{break;
}if(nama [i-1][l]>nama[j][l])
{for(k=0; k<20; k++)
{temp=nama[i-1][k];
nama[i-1][k]=nama[j][k];
nama [j][k]=temp;
}break;
}}}}}

9.5 HASIL OUTPUT


9.5.1

62
9.5.2

9.6 KESIMPULAN
Dari hasil percobaan bisa disimpulkan bahawa percobaan kali ini sudah bisa
membuat kita lebih paham lagi ada keguanaan dan cara mengimplementasikan
sebuah fungsi pointer kerdalam program.

63
PRAKTIKUM 10

STRUKTUR

10.1 TUJUAN
1. Menjelaskan cara mendeklarasikan struktur
2. Menjelaskan cara menginisialisasi struktur
3. Menjelaskan cara mengakses elemen struktur
4. Menjelaskan pembentukan dan cara mengakses array dari struktur
(array of struct)

10.2 TEORI DASAR


Dalam Struktur adalah pengelompokan variabel-variabel yang bernaung
dalam satu nama yang sama. Berbeda dengan array yang berisi kumpulan
variabel-variabel yang bertipe sama dalam satu nama, maka suatu struktur
dapat terdiri atas variabel-variabel yang berbeda tipenya dalam satu nama
struktur. Struktur biasa dipakai untuk mengelompokkan beberapa informasi
yang berkaitan menjadi sebuah.

Variabel-variabel yang membentuk suatu struktur, selanjutnya disebut


sebagai elemen dari struktur atau field. Dengan demikian dimungkinkan
suatu struktur dapat berisi elemen-elemen data berbeda tipe seperti char,
int, float, double, dan lain-lain. Contoh sebuah struktur adalah informasi
data tanggal (date) yang berisi:
day
month, dan
year

Mendefinisikan & Mendeklarasikan Struktur


Suatu struktur didefinisikan dengan menggunakan kata kunci struct. Contoh
pendefinisian sebuah tipe data struktur :
struct date {
int month;
int day;
int year;
};
struct date {
int month, day, year;
};

Menginisialisasi Struktur
Sebuah struktur juga bisa diinisialisasi pada saat dideklarasikan. Hal ini
serupa dengan inisialisasi array, yaitu elemen-elemennya dituliskan di
dalam sepasang kurung kurawal (‘{ }‘) dengan masing-masing dipisahkan
dengan koma. Deklarasi struktur didahului dengan kata kunci static,
contoh:

64
static struct zodiak bintang =
{"Sagitarius", 22, 11, 21, 12};

Array dan Struktur


Elemen-elemen dari suatu array juga dapat berbentuk sebuah struktur.
Misalnya array yang dipakai untuk menyimpan sejumlah data siswa (struct
student). Array struktur berdimensi satu ini membentuk suatu tabel, dengan
barisnya menunjukkan elemen dari array-nya dan kolomnya menunjukkan
elemen dari struktur. Array student yang memiliki elemen yang bertipe
struct person sebanyak MAKS.

10.3 ALGORITMA DAN FLOWCHART


10.3.1 Mendefinisikan sebuah struktur
Alogritmanya:
Flowchartnya:
10.3.2 Program array off struct
Algoritmanya:
Flowchartnya:
10.3.3 Pembuatan dan Pengeseran Struktur
Algoritmanya:
Flowchartnya:
10.3.4 Program Penetapan Zodiak
Algoritmanya:
Flowchartnya:

10.4 ALGORITMA DAN FLOWCHART


10.4.1 Mendefinisikan sebuah struktur
#include<stdio.h>
main()
{
char nama [20];
float j, h, hbr, jbr;
printf("Masukkan nama barang : ");
scanf("%s",nama);

65
printf("Masukkan jumlah barang : ");
scanf("%f",&j);
printf("Masukkan harga per barang : ");
scanf("%f",&h);
hbr=j*h;
printf("\nJadi Barang yang dimasukkan adalah %s\n",nama);
printf("Jumlah barang %2.2f dan total harganya adalah
%2.2f\n",j , hbr);
getch();
}
10.4.2 Program Array of struct
#include<stdio.h>
#include<math.h>

main ()

{
char na[40],p;
float uts,uas,tgs,akh;
printf("=========================================
===============================\n");
printf(" PROGRAM NILAI MAHASISWA\n");
printf("=========================================
===============================\n");
printf("Masukan Nama Mahasiswa : ");
gets(na);
printf("Masukan Nilai Tugas : ");
scanf("%f",&tgs);
printf("Masukan Nilai UTS : ");
scanf("%f",&uts);

66
printf("Masukan Nilai UAS : ");
scanf("%f",&uas);
akh=tgs*0.2+uts*0.4+uas*0.4;
if(akh>=81)
{
p='A';
}
else if(71<=akh<=80)
{
p='AB';
}
else if(65<=akh<=70)
{
p='B';
}
else if(akh>=61)
{
p='BC';
}
else if(akh>=56)
{
p='C';
}
else if (akh>=40)
{
p='D';
}
else
{

67
p='E';
}

printf("\n------------------------------------------------------\n");
printf(" Data Nilai Mahasiswa");
printf("\n------------------------------------------------------\n");
printf("Nama : %s\n",na);
printf("NILAI TUGAS : %2.2f\n",tgs);
printf("NILAI UTS : %2.2f\n",uts);
printf("NILAI UAS : %2.2f\n",uas);
printf("NILAI AKHIR : %2.2f\n",akh);
printf("NILAI HURUF : %c\n",p);
return 0;
}

10.4.3 Pembuatan dan penggeseran struktur


#include<stdio.h>
int main()
{
struct data_tanggal
{
int tahun;
int bulan;
int tanggal;
};
//Deklarasi variabel struktur
struct data_tanggal tanggal_lahir;
//Pengaksesan anggota struktur
tanggal_lahir.tanggal = 11;

68
tanggal_lahir.bulan = 9;
tanggal_lahir.tahun = 1964;
printf("%d/%d/%d\n",tanggal_lahir.tanggal, tanggal_lahir.bulan,
tanggal_lahir.tahun);
return 0;
}

10.4.4 Program penetapan zodiac


#include <stdio.h>
struct zodiak
{
char nama[15];
int tgl_awal;
int bln_awal;
int tgl_akhir;
int bln_akhir;
};
int main()
{
struct zodiak bintang=
{
"sagitarius",22,11,21,12
};
int tgl_lhr,bln_lhr,thn_lhr;
printf("tanggal lahir anda(xx-xx-xxxx):");
scanf("%d-%d-%d",&tgl_lhr,&bln_lhr,&thn_lhr);
if((tgl_lhr>=bintang.tgl_awal&&
bln_lhr==bintang.bln_awal)||
(tgl_lhr<=bintang.tgl_akhir&&
bln_lhr==bintang.bln_akhir))

69
printf("bintang anda adalah %s\n", bintang.nama);
else
printf("bintang anda bukan lah %s\n",bintang.nama);
return 0;
}

10.5 HASIL OUTPUT


10.5.1

10.5.2

70
10.5.3

10.5.4

71
10.6 KESIMPULAN
Pada semua percobaan menurut saya percobaan ke-10 ini memang sangat
komplks karena gabungan dari Array dan lain sebagainya. Bab ini telah
mampu membuat kita para mahasiswa menjadi lebih memahami tentang
apa itu fungsi struktur pada bahasa pemograman C.

72

Anda mungkin juga menyukai