Anda di halaman 1dari 49

LAPORAN PRAKTIKUM

APLIKASI PEMPROGRAMAN BAHASA C


Dosen : Ibrahim ST., MT. – TE 4402

Herianto
1510631160060

TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SINGAPERBANGSA KARAWANG
2017
DAFTAR ISI

DAFTAR ISI ....................................................................................................................................................... ii

PRAKTIKUM 1 ALGORITMA DAN FLOWCHART ......................................................................... 1

PRAKTIKUM 2 DASAR PROGRAM BAHASA C .............................................................................. 5

PRAKTIKUM 3 PENGAMBILAN KEPUTUSAN................................................................................ 9

PRAKTIKUM 4 PENGULANGAN PROSES ........................................................................ 14

PRAKTIKUM 5 FUNGSI DASAR ......................................................................................... 18

PRAKTIKUM 6 FUNGSI MATEMATIKA ........................................................................... 23

PRAKTIKUM 7 P O I N T E R ............................................................................................... 26

PRAKTIKUM 8 A R R A Y .................................................................................................... 30

PRAKTIKUM 9 S T R I N G ................................................................................................... 35

PRAKTIKUM 10 S T R U K T U R ........................................................................................ 40
PRAKTIKUM 1

ALGORITMA DAN FLOWCHART

1.1 TUJUAN

1. Mampu memahami persoalan

2. Mendesain penyelesaian persoalan ke dalam algoritma

3. Menotasikan algoritma yang sudah dibuat menggunakan notasi flowchart

1.2 TEORI DASAR

Beberapa langkah dalam proses pembuatan suatu program atau software :

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.

Algoritma

Algoritma adalah urutan langkah-langkah logika yang menyatakan suatu tugas dalam
menyelesaikan suatu masalah atau problem.

1
FlowChart Tabel

1.3 PERCOBAAN

Untuk semua persoalan di bawah ini buatlah programnya


1. Menghitung luas lingkaran dan mencetak hasilnya
2.Proses pengiriman email, jika email tidak terkirim maka
akan dilakukan proses pengiriman email lagi.
3.Proses melakukan panggilan telepon, jika tidak diangkat maka dilakukan panggilan
telepon lagi.

4.Perusahaan daerah air minum menentukan tarif per m3 air berdasarkan


ketentuan sebagai berikut:

Buatlah program yang membaca jumlah pemakaian air, untuk menghitung


biaya yang harus dibayar dan menampilkan hasilnya di layar

5.Buatlah program untuk menjumlahkan bilangan 1 sampai 10, tapi yang dijumlahkan
bilangan ganjil saja.

2
1.4 LAPORAN

 Cetak listing program yang anda buat pada percobaan diatas

2 Cetak keluaran setiap percobaan diatas untuk beberapa kali percobaan

3 Buat kesimpulan

1.5 Hasil laporan beserta dengan foto percobaan


1.1

1.2

1.3

1.4

3
1.5

Keimpulan

Algoritma adalah urutan langkah-langkah logika yang menyatakan suatu tugas dalam
menyelesaikan suatu masalah atau problem.

4
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.Sebuah


programminimal mengandung sebuah fungsi. Fungsi pertama yang harus ada dalam
programC 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 (}).Di
antar kurung kurawal itu dapat dituliskan statemen-statemen program C.

Fungsi-Fungsi Dasar

a. Fungsi main()

Fungsi main() harus ada pada program, sebab fungsi inilah yang menjadi titik awal dan
titik akhir eksekusi program.

b. Fungsi printf()

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

5
Praprosesor #include

#include merupakan salah satu jenis pengarah praprosesor (preprocessor directive).


Pengarah praprosesor ini dipakai untuk membaca file yang di antaranyaberisi deklarasi
fungsi dan definisi konstanta. Beberapa file judul disediakan dalam C. File-file ini
mempunyai ciri yaitu namanya diakhiri dengan ekstensi .h.

2.3 PERCOBAAN

Implementasikan semua permasalahan dibawah ini dengan menggunakan bahasa

pemrograman C :

 Mencetak kalimat dalam beberapa baris, dengan tampilan sebagai berikut:

Program Studi Teknik Elektro Kampus UNSIKA tahun 2013

 Mencetak kalimat dalam beberapa baris, dengan tampilan sebagai berikut :

Saya sekarang sedang makan Kantin UNSIKA


Murah meriah
Cocok untuk kalangan mahasiswa

 Program di bawah\ini tidak berhasil di-compile karena masih terdapat


beberapa\kesalahan Betulkan kesalahan program dibawah ini, dantampilkan hasilnya:

#include <stdio.h>main()
{ printf(”ternyata semester %f ini nilaiku jelek”,4);
printf(”matematika %d dan metode numerik
%c”,‟B‟,D);
printf(”ooooo.....ternyata kuliah itu susah %d”,”sekali”);
printf(”sepertinya %s rajin belajar minimal %s sehari”,‟harus‟,8);
}
 Mencetak kalimat dalam beberapa baris, dengan tampilan sebagai berikut:

Dalam membuat ”program komputer”

Terdapat \aturan \aturan yang harus dipenuhi Dalam menuliskan perintah-perintah


dasar

Untuk itu ”programmer” harus menghafal aturan-aturan

Yang berlaku.

2.5 LAPORAN PRAKTIKUM

1. Cetak listing program yang anda buat

2. Berilah kesimpulan hasil praktikum

6
2.6 Hasil laporan beserta dengan foto percobaan

2.1

2.2

2.3

2.4

7
3. Keimpulan

 Proses dari bentuk source program, yaitu program yang ditulis dalam bahasa C
hingga menjadi program yang executable
 Program C pada hakekatnya tersusun atas sejumlah blok fungsi.Sebuah
programminimal mengandung sebuah fungsi. Fungsi pertama yang harus ada
dalam programC 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 (}).Di antar kurung kurawal itu
dapat dituliskan statemen-statemen program C.
 Fungsi-Fungsi Dasar
a.Fungsi main()
b.Fungsi printf()
 Praprosesor #include
#include merupakan salah satu jenis pengarah praprosesor (preprocessor
directive). Pengarah praprosesor ini dipakai untuk membaca file yang di
antaranyaberisi deklarasi fungsi dan definisi konstanta. Beberapa file judul
disediakan dalam C. File-file ini mempunyai ciri yaitu namanya diakhiri dengan
ekstensi .h.

8
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. Keseluruhan operator relasi pada C
ditunjukkan pada Tabel

9
Operator Logika

Operator logika biasa dipakai untuk menghubungkan ekspresi relasi. Keseluruhan


operator logika ditunjukkan pada table

Pernyataan if
Pernyataan if mempunyai bentuk umum : if
(kondisi)
pernyataan; 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.

Pernyataan if
Jika kondisi benar, maka pernyataan-1 dijalankan.
Sedangkan bila kondisi bernilai salah, maka pernyataaan-2 yang dijalankan.
Masing-masing pernyataan-1 dan pernyataan-2 dapat berupa sebuah pernyataan tunggal,
pernyataan majemuk ataupun pernyataan kosong.

Pernyataan if di dalam if

Di dalam suatu pernyataan if (atau if-else) bisa saja terdapat pernyataan if (atau
ifelse) yang lain. Bentuk seperti ini dinamakan sebagai nested if.
Pernyataan else-if

Contoh implementasi nested if ini misalnya pembuatan sebuah program kalkulator


sederhana.
Pernyataan switch

Pernyataan switch merupakan pernyataan yang dirancang khusus untuk menangani


pengambilan keputusan yang melibatkan sejumlah alternatif, misalnya untuk
menggantikan pernyataan if bertingkat.

10
3.3 PERCOBAAN

1. Dengan menggunakan pernyataan if-else bertingkat, buatlah program untuk memilih


penghitungan luas segitiga, persegi panjang atau bujur sangkar.

2. Dengan menggunakan pernyataan switch-case, buatlah program untuk


mengkonversikan nilai huruf ke nilai angka. Huruf A memiliki nilai angka 4, huruf B
memiliki nilai angka 3, huruf C memiliki nilai angka 2, huruf D memiliki nilai angka
1, sedangkan huruf E memiliki nilai angka 0.

3. Dengan menggunakan nested if, buatlah program untuk mencari nilai terkecil dari 3
angka yang diinputkan. Adapun potongan programnya adalah:

4. Kerjakan soal no 2 dengan menggunakan pernyataan if else.

3.4 LAPORAN PRAKTIKUM

1.2 Kerjakan program pada percobaan 1 dengan perintah switch-case


1.3 Buatlah flowchart dari percobaan 1 sampai percobaan 4 dan output hasil eksekusi
programnya

11
3.5FlowChart
3.1 3.2 3.3

12
3.7 Hasil laporan beserta dengan foto percobaan

3.1

3.2

3.3

3.4

Keimpulan

 Untuk keperluan pengambilan keputusan, C menyediakan beberapa jenis pernyataan,


berupa
a. Pernyataan if
b. Pernyataan if-else, dan
c. Pernyataan switch

13
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
Mengulang suatu proses merupakan tindakan yang banyak dijumpai dalam pemrograman.
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 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.
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 seterusnya. Kalau kondisi bernilai salah pada saat dites, maka
pernyataan tidak dijalankan lagi.

4.3 PERCOBAAN

1) Dengan menggunakan pernyataan for, buatlah program untuk menjumlahkan integer mulai dari 1
sampai dengan harga batas yang dibaca dari keyboard. Penjumlahan dapat dilakukan dengan
menggunakan sebuah tempat penampungan hasil penjumlahan, dan penjumlahan dilakukan satu

14
per satu terhadap angka mulai 1 sampai dengan angka yang dibaca dengan hasil sementara yang
telah disimpan. Jika angka terakhir telah dijumlahkan, maka penampungan hasil sementara
menjadi hasil akhir.
Tampilan:
Masukkan integer positif :10 Jumlah 1 sampai
10=55
2) Gunakan loop while untuk membuat program yang dapat mencari total angka yang
dimasukkan dengan tampilan sebagai berikut :
Masukkan bilangan ke-1 : 5
Mau memasukkan data lagi [y/t] ? y

Masukkan bilangan ke-2 : 3


Mau memasukkan data lagi [y/t] ? t Total bilangan =
8

3) Buatlah program yang menentukan sebuah integer dengan acak, dan membaca sebuah
integer berulang kali sampai integer yang dibaca sama dengan integer yang
ditentukansecara acak.

Tampilan:
misalkan angka hasil pengacakan adalah) Angka tebakan:34
Tebakan terlalu kecil Angka
Tebakan:55 Tebakan Terlalu besar
Angka Tebakan:50 Tebakan benar

4.5 LAPORAN PRAKTIKUM

Buatlah flowchart dari percobaan 1 sampai percobaan 3 dan output hasil eksekusi
programnya

15
4.6 FlowChart
4.1 4.2 4.3

16
4.7 Hasil laporan beserta dengan foto percobaan

4.1

4.2

4.3

Keimpulan

Pernyataan for
Mengulang suatu proses merupakan tindakan yang banyak dijumpai dalam pemrograman.
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 while
Pada pernyataan while, pengecekan terhadap loop dilakukan di bagian awal (sebelum
tubuh loop). Lebih jelasnya, bentuk pernyataan while adalah sebagai berikut :
while (kondisi)

17
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

Pengertian
Fungsi adalah suatu bagian dari program yang dirancang untuk melaksanakan tugas
tertentu dan letaknya dipisahkan dari program yang menggunakannya. Elemen utama dari
program bahasa C berupa fungsi-fungsi, dalam hal ini program dari bahasa C dibentuk
dari kumpulan fungsi pustaka (standar) dan fungsi yang dibuat sendiri oleh
pemrogram. Fungsi banyak digunakan pada program C dengan tujuan :
a) Program menjadi terstruktur, sehingga mudah dipahami dan mudah dikembangkan.
Dengan memisahkan langkah-langkah detail ke satu atau lebih fungsi-fungsi, maka
fungsi utama (main()) menjadi lebih pendek, jelas dan mudah dimengerti.
b) Dapat mengurangi pengulangan (duplikasi) kode. Langkah-langkah program yang
sama dan dipakai berulang-ulang di program dapat dituliskan sekali saja secara
terpisah dalam bentuk fungsi-fungsi. Selanjutnya bagian program yang membutuhkan
langkah-langkah ini tidak perlu selalu menuliskannya, tetapi cukup memanggil
fungsifungsi tersebut.

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.
Pada umumnya fungsi memerlukan nilai masukan atau parameter yang disebut sebagai
argumen. Nilai masukan ini akan diolah oleh fungsi. Hasil akhir fungsi berupa sebuah nilai
(disebut sebagai return value atau nilai keluaran fungsi).
Memberikan Nilai Keluaran Fungsi

Suatu fungsi dibuat untuk maksud menyelesaikan tugas tertentu. 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

18
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).
Sebagai contoh untuk menghasilkan nilai terkecil di antara dua buah nilai real, maka
definisinya berupa :
float minimum(float x, float y)
{
if (x < y) return(x);
else
return(y);
}

Perhatikan, di depan nama minimum diberikan tipe keluaran fungsi berupa float. Seluruh
parameter sendiri juga didefinisikan dengan tipe float.

5.3 PERCOBAAN

1) Dengan menggunakan pernyataan for, buatlah program untuk menjumlahkan integer mulai dari 1
sampai dengan harga batas yang dibaca dari keyboard. Penjumlahan dapat dilakukan dengan
menggunakan sebuah tempat penampungan hasil penjumlahan, dan penjumlahan dilakukan satu
per satu terhadap angka mulai 1 sampai dengan angka yang dibaca dengan hasil sementara yang
telah disimpan. Jika angka terakhir telah dijumlahkan, maka penampungan hasil sementara
menjadi hasil akhir.
Tampilan:
Masukkan integer positif :10 Jumlah 1 sampai
10=55
2) Gunakan loop while untuk membuat program yang dapat mencari total angka yang
dimasukkan dengan tampilan sebagai berikut :
Masukkan bilangan ke-1 : 5
Mau memasukkan data lagi [y/t] ? y

Masukkan bilangan ke-2 : 3


Mau memasukkan data lagi [y/t] ? t Total bilangan =
8

3) Buatlah program yang menentukan sebuah integer dengan acak, dan membaca sebuah
integer berulang kali sampai integer yang dibaca sama dengan integer yang
ditentukansecara acak.

19
Tampilan:
misalkan angka hasil pengacakan adalah) Angka tebakan:34
Tebakan terlalu kecil Angka
Tebakan:55 Tebakan Terlalu besar
Angka Tebakan:50 Tebakan benar

5.4 LAPORAN PRAKTIKUM

Buatlah flowchart dari percobaan 1 sampai percobaan 3 dan output hasil eksekusi
programnya

20
5.6 FlowChart
5.1 5.2 5.3

21
5.7 Hasil laporan beserta dengan foto percobaan

5.1

5.2

5.3

Keimpulan

Fungsi adalah suatu bagian dari program yang dirancang untuk melaksanakan tugas tertentu
dan letaknya dipisahkan dari program yang menggunakannya. Elemen utama dari program
bahasa C berupa fungsi-fungsi, dalam hal ini program dari bahasa C dibentuk dari kumpulan
fungsi pustaka (standar) dan fungsi yang dibuat sendiri oleh pemrogram.
Fungsi banyak digunakan pada program C dengan tujuan :
a.Program menjadi terstruktur
b.Dapat mengurangi pengulangan (duplikasi) kode.

22
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.hbahasa C yakni:

23
6.2 PERCOBAAN

Buat program gerak jatu bebas untuk menghitung durasi benda di udara dan kecepatan
sebelum menyentuh tanah untuk beberapa kali percobaan dengan ketinggian yo berbeda-
beda.

6.3 LAPORAN PRAKTIKUM

Buatlah flowchart dari percobaan 1 sampai percobaan 4 dan output hasil eksekusi
programnya
6.6 FlowChart
6

6.7 Hasil laporan beserta dengan foto percobaan

6.1

24
Keimpulan

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>

25
PRAKTIKUM 7

POINTER

7.1 TUJUAN

1. Mengetahui konsep dari variabel pointer


2. Mengetahui penggunaanpointer 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). Sebagai contoh, px adalah variabel pointer dan x
adalah variabel yang ditunjuk oleh px. Kalau x berada pada alamat memori (alamat awal)
1000, maka px akan berisi 1000. Sebagaimana diilustrasikan pada gambar berikut:

Mendeklarasikan Variabel Pointer

Suatu variabel pointer dideklarasikan dengan bentuk sebagai berikut :

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
26
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).
Pengaksesan taklangsung dilakukandenganmenggunakan operator indirection
(tak langsung) berupa simbol * (bersifat unary).

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 PERCOBAAN

1) Buatlah program untuk mengetahui alamat suatu variabel


// Program untuk menampilkan alamat suatu variabel
#include <stdio.h>
int main()
{
int alif = 5; float ba = 7.5; double ta
= 17.777;

printf("Isi variabel:\n"); printf("alif = %d\n",


alif);
printf("ba = %f\n", ba);
printf("ta = %lf\n", ta);

printf("\n");
printf("Alamat variabel:\n"); printf("alif = %p\n",
&alif);
printf("ba = %p\n", &ba);
printf("ta = %p\n", &ta);

return 0;
}
2) Buatlah program untuk mengakses elemenArray via ponter

// --------------------------------------------
// Program Pengaksesan elemen array via pointer // -----------------------------------------
------

27
------

#include <stdio.h>

int main()
{
int tgl_lahir[] = { 24, 6, 1965 }; int *ptgl;

ptgl = tgl_lahir; // ptgl menunjuk ke array;

// Menampilkan isi array via pointer int i;


for (i = 0; i < sizeof(tgl_lahir) / sizeof(int); i++)
printf("%d\n", *(ptgl + i)); return 0;
}
7.4LAPORAN

Buatlah flowchart dari percobaan 1 sampai percobaan 2 dan output hasil eksekusi
programnya
7.6 FlowChart
7.1 7.2

28
7.7 Hasil laporan beserta dengan foto percobaan

7.1.1

7.1

7.2

Keimpulan
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). Sebagai contoh, px adalah variabel pointer dan x
adalah variabel yang ditunjuk oleh px. Kalau x berada pada alamat memori (alamat awal)
1000, maka px akan berisi 1000.

29
PRAKTIKUM 8

ARRAY

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 nilai-nilai
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 (one-dimensional array)
mewakili bentuk suatu vektor. Array berdimensi dua (two dimensional array) mewakili
bentuk dari suatu matriks atau table. Array berdimensitiga (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 elemenarray, misalnyaint, char, float.

30
nama_var : nama variabelarrayƒ
ukuran : untuk menyatakan jumlah maksimal elemenarray.

Mengakses Elemen Array Berdimensi Satu


Pada C, data array akan disimpan dalam memori yang berurutan. Elemen pertama
mempunyai indeks bernilai 0. Jika variabel nilai_tes dideklarasikan sebagai array dengan 5
elemen, maka elemen pertama memiliki indeks sama dengan 0, dan elemen terakhir memiliki
indeks 4.
Inisialisasi Array Berdimensi Satu

Sebuah array dapat diinisialisasi sekaligus pada saat dideklarasikan. Untuk mendeklarasikan
array, nilai-nilai yang diinisialisasikan dituliskan di antara kurung kurawal ({}) yang
dipisahkan dengan koma.
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.


Mengakses Elemen Array Berdimensi Dua

Arraysepertidata_lulusdapatdiakses dalambentukdata_lulus[indekspertama,indeks kedua] :


1) data_lulus[0][1] = 540;
merupakan instruksi untuk memberikan nilai 540 ke array data_lulus untuk indeks pertama =
0 dan indeks kedua bernilai 1.
2) printf(“%d”,data_lulus[2][0]); merupakan perintah untukmenampilkan elemen yang
memiliki indeks pertama = 2 dan indeks kedua = 0.

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];
sebagai contoh :
int data_huruf[2][8][8];

31
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 contohditujukan pada
program sorting.c. Program digunakan untuk memasukkan sejumlah data, kemudian data
tersebut diurutkan naik (ascending) dan dicetak ke layar.
8.3 PERCOBAAN

1. Buatlah program yang membaca sebuah array karakter,‟a‟…‟z‟. Kemudian menghitung


frekuensi kemunculan tiap karakter.
Tampilan: Masukkan jumlah karakter yang akan dihitung: 5
Masukkan karakter ke-1:a
Masukkan karakter ke-2:b
Masukkan karakter ke-3:c
Masukkan karakter ke-3:a
Masukkan karakter ke-3:a

Frekuensi a=3
Frekuensi b=1
Frekuensi c=1

2. Buatlah program menggunakan inisialisasi array berdimensi dua sebagai berikut:


// -------------------------------------------
// Program inisialisasi array berdimensi dua
// -------------------------------------------

#include <stdio.h>

int main()
{
int huruf_A[8][8] =
{
{ 0, 1, 1, 1, 1, 1, 0, 0 }, { 0, 1, 0, 0, 0, 1, 0, 0 },
{ 0, 1, 0, 0, 0, 1, 0, 0 },
{ 1, 1, 1, 1, 1, 1, 1, 0 }, { 1, 1, 0, 0, 0, 0, 1, 0 },
{ 1, 1, 0, 0, 0, 0, 1, 0 }, { 1, 1, 0, 0, 0, 0, 1, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0 }
};

32
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;
}

Kemudian lakukan untuk beberapa percobaan

8.4 LAPORAN
Buatlah flowchart dari percobaan 1 sampai percobaan 3 dan output hasil eksekusi
programnya.
8.6 FlowChart
8.1 8.2

8.7 Hasil laporan beserta dengan foto percobaan

8.1

33
8.2

Keimpulan

Array sering disebut (diterjemahkan) sebagai larik. Array adalah kumpulan dari nilai-nilai
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 (one-dimensional array)
mewakili bentuk suatu vektor. Array berdimensi dua (two dimensional array) mewakili
bentuk dari suatu matriks atau table. Array berdimensitiga (three-dimensional array)
mewakili bentuk suatu ruang. Array juga dapat dilewatkan sebagai parameter fungsi.

34
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, misalnya:

“ABCDE”

Nilai string ini disimpan dalam memori secara berurutan dengan komposisi sebagai berikut:

Setiap karakter akan menempati memori sebesar 1 byte. Byte terakhir otomatis akan berisi
karakter NULL (\0). Dengan mengetahui bahwa suatu string diakhiri nilai NULL, maka akhir
dari nilai suatu string akan dapat dideteksi. Sebagai sebuah array
karakter, karakter pertama dari nilai string mempunyai indeks ke-0, karakter kedua
mempunyai indeks ke-1, dan seterusnya.
Variabel String

35
Variabel string adalah variabel yang dipakai utuk menyimpan nilai string.
Misalnya :
char name[15];

merupakan instruksi untuk mendeklarasikan variabel string dengan panjang maksimal 15


karakter (termasuk karakter NULL). Deklarasi tersebut sebenarnya tidak lain merupakan
deklarasi array bertipe char.

Inisialisasi String

Suatu variabel string dapat diinisialisasi seperti halnya array yang lain. Namun tentu saja
elemen terakhirnya haruslah berupa karakter NULL. Sebagai contoh :

char name[] = {'R','A','N', 'I',‟\0‟};

yang menyatakan bahwa name adalah variabel string dengan nilai awal berupa string
: “RANi” .

INPUT OUTPUT DATA STRING


Memasukkan Data String

Perhatikan :

nama_array adalah variabel bertipe array of char yang akan digunakanuntuk


menyimpan string masukan.

36
Di depan nama_array tidak perlu ada operator & (operator alamat), karena
nama_array tanpa kurung siku sudah menyatakan alamat yang ditempatioleh 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. Beberapa di antara fungsi pustaka
untuk operasi string akan dibahas di bawah ini.

Fungsi strcpy() untuk Menyalin Nilai String


Bentuk pemakaian :
#include <string.h>
strcpy(tujuan, asal)
Fungsi ini dipakai untuk menyalin string asal ke variabel string tujuan termasuk karakter '\0'.
Keluaran dari fungsi ini (return value) adalah string tujuan. Dalam hal ini, variabel tujuan
haruslah mempunyai ukuran yang dapat digunakan untuk menampung seluruh karakter dari
string asal.

9.3 PERCOBAAN

1) Ketikkan sebuah kalimat melalui keyboard kemudian didapatkan keluaran berupa laporan
apakah kalimat tsb palindrom ataukah bukan. Misal :
Kalimat : KASUR RUSAK Termasuk
PALINDROM
Kalimat : MAKAN MALAM Bukan PALINDROM

Catatan : disebut palindrom adalah bila urutan kalimat dibalik akan menghasilkan kalimat
yang sama

37
2) Buatlah program untuk mengurutkan nama seseorang. Contoh:
Sebelum diurutkan :
Nama ke-1: Suadi marwan Nama
ke-2: Abdi Raharjo Nama ke-3:
Shintiana Nama ke-4: Budi
Sulistyo

Sesudah diurutkan
Nama ke-1: Abdi Raharjo Nama ke-
2: Budi Sulistyo Nama ke-3:
Shintiana Nama ke-4: Suadi
Marwan

9.4 LAPORAN

Buatlah flowchart dari percobaan dan output hasil eksekusi programnya

9.5 FlowChart
9.1 9.2

38
9.7 Hasil laporan beserta dengan foto percobaan

9.1

9.2

Keimpulan

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.

39
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 ofstruct)

10.2 TEORI DASAR

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; };

yang mendefinisikan sebuah tipe data struktur bernama date yang memiliki tiga buah elemen
(field) berupa:

40
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.
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.

10.3 PERCOBAAN

1. Definisikan sebuah struktur (misalkan namanya = data_toko) yang memiliki 3 buah field
berupa : sebuah array karakter dengan 5 elemen (misalkan namanya = nama),sebuah
integer (misalkan namanya = data), dan sebuah float (misalkan namanya = harga).
Inputkan data & tampilkan hasilnya !

41
Tampilan :
Masukkan nama barang : sabun Masukkan jumlah
barang : 5 Masukkan harga per barang : 20000
Jadi barang yang dimasukkan adalah sabun, jumlah barang 5 dan total harganya adalah
100000

2. Buatlah program sebagai berikut dengan menggunakan array of struct :


Input:
Nama Mhs Nilai Tugas
Nilai UTS Nilai UAS
Pengisian nilai dilakukan secara langsung
Proses:
Nilai Akhir= 20% tugas + 40% UTS + 40%UAS
Nilai huruf A(81-100), AB(71-80), B(65-70), BC(61-64), C(56-60), D(40
55), E(0-39)
Nilai dinyatakan lulus jika minimal C
Output :
Nama : Rano
Nilai tugas : 60
Nilai UTS : 80
Nilai UAS : 80
Nilai akhir : 76
Nilai Huruf : AB

Nama : Cita
Nilai tugas : 80
Nilai UTS : 100
Nilai UAS : 80
Nilai akhir : 88
Nilai Huruf : A
3. Buatlah program untuk Pembuatan dan Pengsksessan Struktur berikut:

// --------------------------------------------------------------------------------
// pembuatan dan pengaksesan struktur
// -------------------------------------------

#include <stdio.h>

int main()
{
struct data_tanggal
42
{
int tahun; int bulan; int
tanggal;
};

// Deklarasi variabel struktur struct data_tanggal


tanggal_lahir;
// Pengaksesan anggota struktur tanggal_lahir.tanggal
= 1; tanggal_lahir.bulan = 9; tanggal_lahir.tahun = 1964;

printf("%d/%d/%d\n", tanggal_lahir.tanggal, tanggal_lahir.bulan,


tanggal_lahir.tahun);

return 0;
}
Kemudian lakukan percobaan dengan untuk beberapa
variable akses anggota struktur.
4. Buatlah Program Penetapan Zodiak dengan menggunkan fungsi Struktur, untuk menentukan
apakah zodiak anda Sagitarius atau bukan
// ----------------------------
// Program inisialisasi struktur
// untuk penentuan zodiak
// ----------------------------

#include <stdio.h>

struct zodiak
{
char nama[11]; 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);

43
if ( (tgl_lhr >= bintang.tgl_awal && bln_lhr == bintang.bln_awal) ||
(tgl_lhr <= bintang.tgl_akhir && bln_lhr ==
bintang.bln_akhir) )
printf("Bintang Anda adalah %s\n", bintang.nama);
else
printf("Bintang Anda bukanlah %s\n", bintang.nama);

return 0;
}
Kemudian Lakukan percobaan untuk zodiak yang lain

10.5 LAPORAN

Buatlah flowchart dari percobaan 1 sampai percobaan 4 dan output hasil eksekusi
Programnya

44
10.6 FlowChart
10.1 10.2

10.3 10.4

45
10.7 Hasil laporan beserta dengan foto percobaan
10.1

10.2

10.3

10.4

Keimpulan

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

46
47

Anda mungkin juga menyukai