Anda di halaman 1dari 28

Buku Praktikum

Algoritma dan Pemrograman 2

Untuk Mahasiswa Jurusan Teknik Informatika jenjang Strata 1 (S1)


Program Studi Teknik Informatika

Oleh:
Team Laboran

Comlabs Fakultas Ilmu Komputer


Universitas Sriwijaya
2009

1
Buku ini diterbitkan dalam rangka pengadaan buku ajar untuk pendidikan di perguruan
tinggi khususnya di lingkungan Fakultas Ilmu Komputer Universitas Sriwijaya.

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya

2
Daftar Isi

3
Muqaddimah

4
Lembar Kerja Praktikum 1 : Review Algoritma dan Pemrograman I

Tujuan
Setelah mengerjakan LKP 1 ini, anda diharapkan dapat:
1. mengingat kembali pelajaran yang telah diberikan pada mata kuliah Praktikum
Algoritma dan Pemrograman I.
2. menyelesaikan kasus – kasus algoritma dan pemrograman sederhana.

Dasar Teori
Lihat kembali modul Praktikum Algoritma dan Pemrograman I.

Daftar tools yang digunakan


1. Compiler C: Turbo C++ 4.5

Langkah-langkah Praktik
1. Bukalah software Turbo C++
2. Ketikkan kode program berdasarkan soal yang diberikan laboran pembimbing
3. Compile program dengan menekan Alt + F9 atau pilih menu Project -> Compile
4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug -> Run

Hasil LKP (ditulis tangan di kertas A4)


Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

Kesimpulan

5
Evaluasi dan Pertanyaan
1. Buat sebuah program yang mengimplementasikan semua pengetahuan yang
anda dapat selama mengikuti mata kuliah Praktikum Algoritma dan
Pemrograman I.

6
Lembar Kerja Praktikum 2: Tipe Bentukan

Tujuan
Setelah mengerjakan LKP 2 ini, anda diharapkan dapat:
1. mampu membuat tipe data bentukan dengan menggunakan bahasa C.
2. menggunakan tipe data bentukan untuk menyelesaikan berbagai kasus
sederhana.

Dasar Teori
Tipe bentukan adalah suatu tipe yang dirancang / dibentuk (dan diberi nama) dari
beberapa komponen bertipe tertentu. Jadi, tipe bentukan merupakan sekumpulan elemen
bertipe dasar atau bertipe yang sudah dikenal. Tipe bentukan seringkali disebut sebagai
tipe komposisi, agregat.
Enumerasi
Enumerasi adalah suatu tipe data yang mempunyai elemen-elemen bernilai konstanta
dengan urutan yang sudah tertentu. Nilai-nilai dari konstanta elemen ini berupa nilai-
nilai integer yang diwakili oleh nama-nama pengenal yang ditulis di antara kurung ‘ { ‘
dan kurung ‘ } ‘. Tipe data enumerasi dapat dideklarasikan dengan menggunakan kata
kunci enum dan berguna untuk mendefinisikan dengan lebih jelas suatu himpunan nilai
yang pasti. Contoh :
{tipe hari menyatakan enumerasi nama hari dalam minggu}
tipe hari : (senin, selasa, rabu, kamis, jumat, sabtu, minggu)
Jika dideklarasikan sebuah variabel H sebagai berikut :
H : hari {artinya : H adalah Hari}

Contoh Program :
1 : #include<stdio.h>
2 : #include<conio.h>
3 :
4 : void main()
5 : {
6 : enum hari
7 : {
8 : senin, selasa, rabu
9 : }
10: hariku;
11:
12: hariku = selasa;
13: printf("%d",hariku);
14: }

7
Struktur
Struktur merepresentasikan suatu tipe komposisi dalam konsep algoritmik, yaitu
pengelompokan variabel-variabel yang bernaung dalam satu nama yang sama. Berbeda
dengan suatu array yang berisi kumpulan elemen-elemen array yang bertipe sama dalam
satu nama, suatu struktur dapat terdiri dari kumpulan variabel-variabel yang berbeda
tipenya dalam satu nama. Variabel-variabel yang membentuk struktur ini selanjutnya
disebut dengan elemen-elemen atau anggota struktur. Dengan demikian, suatu struktur
dimungkinkan dapat berisi elemen-elemen data bertipe int, float, char, dan lainnya.
Contoh :
struct [<nama struct>]
{
/* definisi komponen struktur */
tipe_elemen nama_elemen;
tipe_elemen nama_elemen;
} [<nama variabel struktur>];

Sedangkan untuk mengakses elemen dari tiap struktur dapat dilakukan dengan cara
sebagai berikut :
//Deklarasi sebuah Variabel bertipe nama_struct
nama_struct nama_variabel;
<nama variabel struktur>.nama_elemen;

Contoh Program :
1 : #include<stdio.h>
2 : #include<conio.h>
3 :
4 : void main()
5 : {
6 : struct jam
7 : {
8 : int h;
9 : int m;
10: int s;
11: };
12:
13: jam Jam;
14:
15: Jam.h = 9;
16: Jam.m = 10;
17: Jam.s = 20;
18:
19: printf("%d - %d - %d",Jam.h,Jam.m,Jam.s);
20: }

8
Typedef
Bahasa C++ memungkinkan pembuat program untuk mendefinisikan kembali suatu
nama tipe data yang baru berdasarkan nama tipe data yang lama. Ini bukan berarti
bahwa suatu tipe data baru dibuat, tetapi hanya mendefinisikannya menjadi nama yang
baru saja. Untuk mendefinisikan nama tipe data yang baru dapat digunakan kata kunci
typedef.
Bentuk Umum :
typedef <tipe diturunkan> <nama tipe>

Contoh :
typedef float Pecahan;
Pecahan nilai;

Artinya : akan membuat nama tipe data yang baru, yaitu Pecahan yang ekuivalen
dengan nama tipe data float. Selanjutnya nama tipe data yang baru ini dapat digunakan
untuk mendeklarasikan variabel yang bertipe float.
Contoh Program :
1 : #include<stdio.h>
2 : #include<conio.h>
3 :
4 : void main()
5 : {
6 : typedef float jari;
7 :
8 : jari lingkaran = 5.67;
9 :
10: printf("%f",lingkaran);
11: }

Daftar tools yang digunakan


1. Compiler C: Turbo C++ 4.5

Praktik
Buatlah algoritma dan program untuk mencatat data siswa suatu sekolah yang terdiri
dari field nama, alamat, telepon, jenis kelamin dan tanggal lahir

Langkah-langkah Praktik
1. Bukalah software Turbo C++
2. Ketikkan kode program berdasarkan soal yang diberikan
3. Compile program dengan menekan Alt + F9 atau pilih menu Project -> Compile
4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug -> Run

9
5. Simpan file dengan nama Praktikum2.cpp

Hasil LKP (ditulis tangan di kertas A4)


Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

Kesimpulan

Evaluasi dan Pertanyaan


1. Buat sebuah program untuk mencatat data karyawan suatu perusahaan yang
terdiri dari field jumlah karyawan, nama, gaji/bulan, dan status (menikah/belum
menikah), apabila sudah menikah tanya berapa anaknya. Tampilkan dalam
bentuk tabel.

10
Lembar Kerja Praktikum 3: Array

Tujuan
Setelah mengerjakan LKP 3 ini, anda diharapkan dapat:
1. memahami konsep array dalam pemrograman
2. menggunakan array untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori
Array satu dimensi
Dalam bahasa pemrograman, array adalah variabel yang sejenis yang berderet
sedemikian rupa sehingga alamatnya saling bersambung/kontigu atau dengan kata lain
variabel berindeks.
Bentuk umum :

tipe_array nama_array [jumlah kolom]

Ilustrasi array satu dimensi :

Array di atas mempunyai enam element.


Contoh Program :
1 : #include <stdio.h>
2 :
3 : void main()
4 : {
5 : int a[5] = {10,25,30,45,50};
6 : int i;
7 :
8 : for(i=0;i<5;i++)
9 : {
10: printf(“%d = %d\n”,i,a[i]);
11: }
12: }

Array Multidimensi
Array multidimensi adalah array yang mempunyai lebih dari satu dimensi. Misal :
A[3][5] artinya array tersebut mempunyai 3 baris 5 kolom.
Bentuk umum :

tipe_array nama_array [jumlah baris][jumlah kolom]

11
Ilustrasi array multi dimensi :

Array di atas mempunyai delapan belas element.


Cara mendefinisikannya adalah:
float M[3][6];
Contoh Program :
1 : #include <stdio.h>
2 :
3 : void main()
4 : {
5 : int a[4][3] = {{10,20,30},{40,50,60},{70,80,90},{1,2,3}};
6 : int i,j;
7 :
8 : for(i=0;i<4;i++)
9 : {
10: for(j=0;j<3;j++)
11: {
12: printf(“%d ”,a[i][j]);
13: }
14: printf(“\n”);
15: }
16: }

Daftar tools yang digunakan


1. Compiler C: Turbo C++ 4.5

Praktikum
Buatlah sebuah program untuk membaca data sebagai berikut :
NIM QUIZ MID UAS
12345 70 40 50
23456 40 70 80
34567 50 50 100
Kemudian tampilkan nilai akhir dari masing – masing NIM dengan rumus :
NA = 0.20*QUIZ + 0.35*MID + 0.45*UAS

Langkah-langkah Praktik
1. Bukalah software Turbo C++
2. Ketikkan kode program berdasarkan soal yang diberikan
3. Compile program dengan menekan Alt + F9 atau pilih menu Project -> Compile

12
4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug -> Run
5. Simpan file dengan nama Praktikum5.cpp

Hasil LKP (ditulis tangan di kertas A4)


Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

Kesimpulan

Evaluasi dan Pertanyaan


1. Buatlah suatu program untuk membalik isi sebuah array

13
Lembar Kerja Praktikum 4: Pengurutan (Bubble)

Tujuan
Setelah mengerjakan LKP 4 ini, anda diharapkan dapat:
1. memahami konsep pengurutan metode bubble dalam pemrograman
2. menggunakan pengurutan metode bubble untuk menyelesaikan berbagai kasus
sederhana.

Dasar Teori
Bubble sort atau metode pengurutan apung diinspirasi oleh gelembung sabun yang
berada di atas permukaan air. Karena berat jenis gelembung sabun lebih ringan daripada
berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di
atas dipakai pada pengurutan apung. Elemen array yang berharga paling kecil
“diapungkan”, artinya diangkat ke atas (ke ujung kiri array) melalui proses pertukaran.
Algoritma untuk metode ini adalah sebagai berikut :
Algoritma Gelembung :
procedure UrutGelembung (input/output L : Array, input n : integer)
Deklarasi
i : integer {pencacah untuk jumlah langkah}
k : integer {pencacah untuk pengapungan setiap langkah}
temp : integer {peubah bantu untuk pertukaran}
Algoritma
for i 1 to N-1 do
for k n downto i+1 do
if L[k] < L[k-1] then {pertukarkan L[k] dengan L[k-1]}
temp L[k]
L[k] L[k-1]
L[k-1] temp
endif
endfor
endfor

Daftar tools yang digunakan


1. Compiler C: Turbo C++ 4.5

Praktikum
Buatlah sebuah program yang menerima inputan berupa suatu barisan nilai, output yang
dihasilkan oleh program tersebut adalah barisan nilai yang terurut dari bilangan terbesar
ke terkecil.
Catatan : Gunakan metode pengurutan bubble

14
Langkah-langkah Praktik
1. Bukalah software Turbo C++
2. Ketikkan kode program berdasarkan algoritma yang diberikan
3. Compile program dengan menekan Alt + F9 atau pilih menu Project -> Compile
4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug -> Run
5. Simpan file dengan nama Praktikum4.cpp

Hasil LKP (ditulis tangan di kertas A4)


Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

Kesimpulan

Evaluasi dan Pertanyaan


1. Buatlah sebuah program yang menerima inputan berupa suatu barisan nilai,
output yang dihasilkan oleh program tersebut adalah barisan nilai yang terurut
dari bilangan terkecil ke terbesar.

15
Lembar Kerja Praktikum 5: Pengurutan (Selection)

Tujuan
Setelah mengerjakan LKP 5 ini, anda diharapkan dapat:
1. memahami konsep pengurutan metode selection dalam pemrograman
2. menggunakan pengurutan metode selection untuk menyelesaikan berbagai
kasus sederhana.

Dasar Teori
Metode pengurutan ini disebut pengurutan seleksi (selection sort) karena gagasan
dasarnya adalah memilih elemen maksimum/minimum dari array, lalu menempatkan
elemen maksimum/minimum itu pada awal atau akhir array (elemen terujung).
Selanjutnya elemen terujung tersebut “diisolasi” dan tidak disertakan pada proses
selanjutnya.
Algoritma dari metode selection ini adalah sebagai berikut :
Algoritma Pengurutan Seleksi :
procedure SelectionSort (input/output L : LarikInt, input n : integer)
Deklarasi
i : integer
j : integer
imaks : integer
maks : integer
temp : integer
Algoritma
for i n downto 2 do {jumlah pass sebanyak n-1}
{cari elemen maksimum pada elemen L[1...i]}
imaks 1
maks L[1]
for j 2 to i do
if L[j] > maks then
imaks j
maks L[j]
endif
endfor
{pertukarkan maks dengan L[i]}
temp L[i]
L[i] L[imaks]
L[imaks] temp
endfor

Daftar tools yang digunakan


1. Compiler C: Turbo C++ 4.5

16
Praktik
Buatlah sebuah program yang menerima inputan berupa suatu barisan nilai, output yang
dihasilkan oleh program tersebut adalah barisan nilai yang terurut dari bilangan terbesar
ke terkecil.
Catatan : Gunakan metode pengurutan selection

Langkah-langkah Praktik
1. Bukalah software Turbo C++
2. Ketikkan kode program berdasarkan algoritma yang diberikan
3. Compile program dengan menekan Alt + F9 atau pilih menu Project ->
Compile
4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug -> Run
5. Simpan file dengan nama Praktikum5.cpp

Hasil LKP (ditulis tangan di kertas A4)


Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

Kesimpulan

Evaluasi dan Pertanyaan


1. Buatlah suatu program yang menerima inputan berupa suatu barisan nilai, output
yang dihasilkan oleh program tersebut adalah barisan nilai yang terurut dari
bilangan terkecil ke terbesar.
Catatan : Gunakan metode pengurutan selection

17
Lembar Kerja Praktikum 6: Pencarian (Sequen)

Tujuan
Setelah mengerjakan LKP 6 ini, anda diharapkan dapat:
1. memahami konsep pencarian beruntun dalam pemrograman.
2. menggunakan pencarian beruntun untuk menyelesaikan berbagai kasus
sederhana.

Dasar Teori
Metode pencarian beruntun (sequential search) adalah proses membandingkan setiap
elemen array satu per satu secara beruntun, mulai dari elemen pertama, sampai elemen
yang dicari ditemukan, atau seluruh elemen sudah diperiksa.
Algoritma dari metode pencarian beruntun ini adalah :
Algoritma Sequential Search :
procedure search(input L : LarikInt, input x : integer)
{mencari keberadaan nilai x di dalam array L[1..n] }
{K. Awal : x dan array L[1..n] sudah terdefinisi nilainya }
{K. Akhir : Bilangan Ditemukan jika x ditemukan. Jika x tidak ditemukan,
Bilangan tidak ditemukan }
DEKLARASI :
i : integer {pencatat indeks array}
ketemu : boolean {pengecek jika x ditemukan}
ALGORITMA :
i 0
ketemu  false
while (i < n) and (not ketemu) do
if L[i] = x then
write (“x ditemukan pada index ke-%d“,i)
ketemu  true
endif
i i + 1
endwhile
{i = n or L[i] = x}
if ketemu = false then
write (“x tidak ditemukan”)
endif

Daftar tools yang digunakan


1. Compiler C: Turbo C++ 4.5

Praktikum :
Buatlah sebuah program yang menerima inputan berupa suatu barisan nilai, dan
kemudian dapat dicari elemen tertentu dari barisan nilai tersebut.
Catatan : Gunakan metode pencarian sequen

18
Langkah-langkah Praktik
1. Bukalah software Turbo C++
2. Ketikkan kode program berdasarkan algoritma yang diberikan
3. Compile program dengan menekan Alt + F9 atau pilih menu Project -> Compile
4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug -> Run
5. Simpan file dengan nama Praktikum6.cpp

Hasil LKP (ditulis tangan di kertas A4)


Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

Kesimpulan

Evaluasi dan Pertanyaan


1. Buatlah suatu program yang menerima input berupa suatu barisan nilai,
kemudian dapat dicari elemen tertentu dari barisan nilai tersebut, dan selanjutnya
nilai elemen tersebut dapat diubah.
Catatan : Gunakan metode pencarian sequen

19
Lembar Kerja Praktikum 7: Pencarian (Biner)

Tujuan
Setelah mengerjakan LKP 7 ini, anda diharapkan dapat:
1. memahami konsep pencarian biner dalam pemrograman
2. menggunakan konsep pencarian biner untuk menyelesaikan berbagai kasus
sederhana.

Dasar Teori
Prinsip pencarian dengan membagi data atas dua bagian mengilhami metode pencarian
bagidua (binary search). Data yang disimpan di dalam array harus sudah terurut.
Pencarian dengan cara ini akan mengurangi waktu pencarian karena pembandingan
harga direduksi. Namun cara pencarian ini hanya dapat dilakukan jika elemen array
sudah terurut. Cara ini tidak mungkin dilakukan jika elemen array tidak terurut.
Algoritma dari pencarian biner adalah sebagai berikut :
Algoritma Binary Search :
procedure BinSearch (input L : LarikInt, input n : integer, input x : integer,
output idx : integer)
{Mencari x di dalam array L[1..n] yang sudah terurut menurun dengan metode
pencarian bagi dua. Keluaran prosedur ini adalah indeks elemen array yang
mengandung nilai x; idx diisi 0 jika x tidak ditemukan.}
{K. Awal : L[1..n] sudah berisi data yang sudah terurut menurun, dan x adalah
nilai yang akan dicari.}
{K. Akhir : idx berisi indeks elemen array yang mengandung nilai x; tetapi
bila x tidak ditemukan, maka idx diisi dengan -1}
DEKLARASI
i, j : integer {indeks kiri dan indeks kanan array}
k : integer {indeks elemen tengah}
ketemu : boolean {flag untuk menentukan apakah x ditemukan}
ALGORITMA
i 1 {ujung kiri array}
j n {ujung kanan array}
ketemu false {asumsikan x belum ditemukan}
while (not ketemu) and (i ≤ j) do
k (i+j) div 2 {bagi dua array L pada posisi k}
if (L[k] = x) then
ketemu true
else {L[k] ≠ x}
if (L[k] > x) then
{lakukan pencarian pada array bagian kanan, set indeks
ujung kiri array yang baru}
i k + 1
else
{lakukan pencarian pada array bagian kiri, set indeks
ujung kanan array yang baru}
j k – 1
endif
endif

20
endwhile
{ketemu = true or i > j}
if ketemu then {x ditemukan}
idx k
else
idx -1
endif

Daftar tools yang digunakan


1. Compiler C: Turbo C++ 4.5

Praktik
Buatlah suatu program yang menerima input berupa suatu barisan nilai, kemudian dapat
dicari elemen tertentu dari barisan nilai tersebut.
Catatan : Gunakan metode pencarian biner, ingat urutkan data terlebih dahulu

Langkah-langkah Praktik
1. Bukalah software Turbo C++
2. Ketikkan kode program berdasarkan algoritma yang diberikan
3. Compile program dengan menekan Alt + F9 atau pilih menu Project ->
Compile
4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug -> Run
5. Simpan file dengan nama Praktikum7.cpp

Hasil LKP (ditulis tangan di kertas A4)


Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

Kesimpulan

21
Evaluasi dan Pertanyaan
1. Buatlah suatu program yang menerima input berupa suatu barisan nilai,
kemudian dapat dicari elemen tertentu dari barisan nilai tersebut, dan
selanjutnya nilai elemen tersebut dapat diubah.
Catatan : Gunakan metode pencarian biner, inget urutkan data terlebih dahulu

22
Lembar Kerja Praktikum 8: Pointer

Tujuan
Setelah mengerjakan LKP 7 ini, anda diharapkan dapat:
1. memahami konsep pointer dalam pemrograman.
2. menggunakan pointer untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori
Definisi
Pointer dapat diartikan sebagai suatu nilai yang menunjuk alamat suatu lokasi memori.
Lokasi memori tersebut mungkin diwakili oleh sebuah variabel atau mungkin juga
lokasi bebas dalam memori. Sedangkan pointer sendiri yang berupa nilai ditampung
dalam sebuah variabel yang disebut variabel pointer. Jadi variabel pointer atau pointer
berisi suatu nilai yang menyatakan alamat suatu lokasi.
Contoh :

a *c b *d var

2 * 3 * value

A * B * address

Step:
1. d=&a  *d = 2 ; d = A
2. c=&b  *c = 3 ; c = B
3. b=*d  b = 2 ; &b = B
4. *d=*c *d = 2 ; d = A

Dari contoh di atas terlihat bahwa addres pada variabel pointer dapat berubah – ubah,
apabila addres suatu variabel pointer berubah maka valuenya akan berubah sesuai
addres yang ditunjuk oleh pointer tersebut. Apabila pada address yang ditunjuk oleh
pointer tersebut mengalami perubahan value, maka value pada pointer juga akan
berubah.
Contoh Program :
1 : #include <stdio.h>
2 :
3 : void main()
4 : {

23
5 : int a,b;
6 : int *c;
7 : int *d;
8 : a = 2;
9 : b = 3;
10:
11: d = &a;
12: printf("a = %d\n",a);
13: printf("alamat a = %d\n",&a);
14: printf("d = %d\n",*d);
15: printf("alamat d = %d\n",d);
16:
17: c = &b;
18: printf("b = %d\n",b);
19: printf("alamat b = %d\n",&b);
20: printf("c = %d\n",*c);
21: printf("alamat c = %d\n",c);
22:
23: b = *d;
24: printf("b = %d\n",b);
25: printf("alamat b = %d\n",&b);
26: printf("d = %d\n",*d);
27: printf("alamat d = %d\n",d);
28:
29: *d = *c;
30: printf("d = %d\n",*d);
31: printf("alamat d = %d\n",d);
32: printf("c = %d\n",*c);
33: printf("alamat c = %d\n",c);
34: }

Daftar tools yang digunakan


1. Compiler C: Turbo C++ 4.5

Praktikum
Buatlah sebuah program yang menrima inputan berupa string dan kemudian dapat
menghitung banyaknya karakter yang dimasukkan dengan menggunakan pointer

Langkah-langkah Praktik
1. Bukalah software Turbo C++
2. Ketikkan kode program berdasarkan algoritma yang diberikan
3. Compile program dengan menekan Alt + F9 atau pilih menu Project ->
Compile
4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug -> Run
5. Simpan file dengan nama Praktikum6.cpp

24
Hasil LKP (ditulis tangan di kertas A4)
Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

Kesimpulan

Evaluasi dan Pertanyaan


1. Buatlah suatu program yang menerima inputan berupa string, dan outputnya
berupa string yang dimasukkan, namun apabila karakter yang dimasukkan
adalah huruf besar, diganti dengan huruf kecil, dan sebaliknya

25
Lembar Kerja Praktikum 9: File Eksternal

Tujuan
Setelah mengerjakan LKP 9 ini, anda diharapkan dapat:
1. memahami konsep file dalam pemrograman
2. menggunakan file untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori
Sejauh ini praktikum yang dilakukan pada LKP ini menggunakan input dari keyboard
dan memberikan output pada layar monitor. Pada kenyataannya seringkali dilakukan
pembacaan input dari arsip dan penulisan output ke arsip.
Berikut adalah keyword yang penting dalam pemrosesan arsip
FILE*  Tipe data pengaksesan arsip
fopen  Fungsi untuk membuka arsip
fclose  Fungsi untuk menutup arsip
fprintf  Fungsi untuk menulis ke dalam arsip
fscanf  Fungsi untuk membaca dari dalam arsip
Contoh Program :
Menulis ke dalam arsip :
1 : #include <stdio.h>
2 :
3 : void main()
4 : {
5 : FILE* file;
6 : file = fopen("arsip.txt","w");
7 : fprintf(file,"Selamat_Datang_di_Fakultas_Ilmu_Komputer");
8 : }
Membaca dari dalam arsip :
1 : #include <stdio.h>
2 :
3 : void main()
4 : {
5 : FILE* file;
6 : char teks1[100];
7 : file = fopen("arsip.txt","r");
8 :
9 : fscanf(file,"%s",teks1);
10:
11: printf("%s",teks1);
12: }

26
Catatan :
w dan r adalah kunci untuk pengaksesan arsip, w berarti write, digunakan agar arsip
yang diakses hanya dapat ditulis saja, sedangkan r berarti read, digunakan agar arsip
yang diakses hanya dapat dibaca saja.

Daftar tools yang digunakan


1. Compiler C: Turbo C++ 4.5

Praktik
Buatlah sebuah program yang dapat membaca data sebagai berikut :
NIM QUIZ MID UAS
12345 70 40 50
23456 40 70 80
34567 50 50 100
Kemudian data tersebut dapat disimpan dalam suatu arsip/file tertentu, dan dapat
ditampilkan kembali sewaktu-waktu, lengkap dengan Nilai Akhir untuk masing –
masing NIM
Catatan : Rumus Nilai Akhir  NA = 0.20*QUIZ + 0.35*MID + 0.45*UAS

Langkah-langkah Praktik
1. Bukalah software Turbo C++
2. Ketikkan kode program berdasarkan algoritma yang diberikan
3. Compile program dengan menekan Alt + F9 atau pilih menu Project -> Compile
4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug -> Run
5. Simpan file dengan nama Praktikum7.cpp

Hasil LKP (ditulis tangan di kertas A4)


Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

27
Kesimpulan

Evaluasi dan Pertanyaan


1. Cari kunci lain untuk pengaksesan arsip, jelaskan dan beri contoh!
2. Buatlah sebuah kalkulator sederhana yang hasil akhirnya disimpan ke dalam
sebuah arsip bernama “hasil.txt”

28

Anda mungkin juga menyukai