Laporan Praktikum - Anggia Bunga Pertiwi Kakiay - 1610631160028
Laporan Praktikum - Anggia Bunga Pertiwi Kakiay - 1610631160028
Disusun Oleh :
ANGGIA BUNGA PERTIWI KAKIAY 1610631160028
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
Start
Desain
Algoritma & flowchart
Menulis 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:
6
Flowchartnya:
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);
}
#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;
}
}
#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);
}
#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.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
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
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 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
#include <stdio.h>
16
main ()
{
printf ("Program Studi Teknik Elektro\n");
printf ("Kampus UNSIKA Tahun 2013");
}
#include <stdio.h>
main ()
{
printf ("Saya sekarang sedang makan\n");
printf ("Kantin UNSIKA\n");
printf ("Murah meriah\n");
printf ("Cocok untuk kalangan mahasiswa");
}
#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);
}
#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"); }
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
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.
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 :
Pernyataan switch
21
Pernyataan switch merupakan pernyataan yang dirancang khusus untuk
menangani pengambilan keputusan yang melibatkan sejumlah alternatif,
misalnya untuk menggantikan pernyataan if bertingkat.
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
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;
}
}
#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;
}
}
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;
}
}
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
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.
31
Apakah akan memasukan bilangan lagi
Jika iya, masukan bilangan kedua
Jika tidak, langsung menjumlahkan bilangan yang dimasukkan
Flowchartnya:
32
Flowchartnya:
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);
}
34
scanf("%d", &a);
printf("mau masukin lagi [y/t]?");
getchar();
jawab= getchar();
hasil += a;
}
printf("total bilangan=%d\n", hasil);}
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.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
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.
Prototipe Fungsi
Prototipe fungsi digunakan untuk menjelaskan kepada kompiler mengenai :
tipe keluaran fungsi
jumlah parameter
tipe dari masing-masing parameter
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);
}
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;
}
}
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.
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);
}
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
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.
47
Algoritmanya:
Menentukan 3 alamat dari variable missal, a,b,c
Menampilkan isi variable dan alamat variable
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.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
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.
53
Cetak hasil array berdimensi dua
Flowchartnya:
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;
}
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
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.
58
Algoritmanya:
Masukkan alamat email
Memeriksa kalimat palindrom
Mencetask hasilnya
Flowchartnya:
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;
}}}}}
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)
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};
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;
}
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;
}
69
printf("bintang anda adalah %s\n", bintang.nama);
else
printf("bintang anda bukan lah %s\n",bintang.nama);
return 0;
}
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