Dokumen tersebut membahas tentang pengaksesan berkas (file) dalam bahasa pemrograman C, meliputi pengorganisasian data dalam berkas secara beruntun dan acak, serta contoh-contoh kode program untuk menulis dan membaca data ke dan dari berkas. Dokumen juga memberikan studi kasus untuk membuat program yang menampilkan pilihan-pilihan pengolahan data.
Dokumen tersebut membahas tentang backup data. Metode backup yang disebutkan antara lain menggunakan perintah cp, scp, tar, rsync, cpio serta menggunakan tape drive dan RAID mirroring. Strategi backup yang direkomendasikan adalah backup harian untuk file-file penting dan backup mingguan untuk file sistem.
Backup dan restore merupakan proses penting untuk menyelamatkan data dari kerusakan media penyimpanan atau bencana. Dokumen ini menjelaskan berbagai metode backup seperti cp, tar, rsync, dump dan restore beserta contoh penerapannya. Juga dibahas strategi backup seperti father-son dan ten-tape serta penggunaan RAID untuk meningkatkan ketahanan data.
File bertipe record memungkinkan akses secara acak pada komponen-komponen di dalamnya. File bertipe dapat dibuka dengan rewrite untuk membuat file baru atau reset untuk membuka file yang ada. File bertipe mendukung operasi baca dan tulis pada record-recordnya menggunakan prosedur read dan write.
Dokumen ini membahas tentang file processing menggunakan bahasa C, termasuk cara membuka dan menutup file, input dan output file, serta definisi dasar file seperti stream, teks file, dan format file.
Dokumen ini membahas tentang sistem file dan manajemen direktori pada Linux. Terdiri dari jenis-jenis file seperti user data, sistem data, dan file eksekusi; aturan penamaan file; operasi dasar file seperti membuat, menghapus, memindahkan, dan menyalin file; manajemen direktori; serta direktori-direktori penting seperti root, home, bin, usr, var, dev, sbin, etc; dan proses booting sistem Linux.
Dokumen ini membahas tentang jenis file, aturan penamaan file, operasi file seperti membuat, menghapus, memindahkan file dan direktori, serta direktori penting dalam sistem file Linux seperti /home, /bin, /usr, dan proses booting sistem Linux melalui beberapa run level seperti run level 3 sebagai default run level.
Modul ini membahas tentang perintah dasar sistem operasi Linux dan operasi input output. Perintah dasar Linux digunakan untuk melihat informasi pengguna, manipulasi berkas dan direktori, serta mencari bantuan manual. Operasi I/O meliputi proses I/O, file descriptor, pembelokan, pipa dan filter yang digunakan untuk mengalihkan aliran masukan dan keluaran antar proses.
Dokumen ini membahas tentang operasi berkas pada C++ menggunakan tiga pustaka utama yaitu ofstream, ifstream, dan fstream untuk menulis, membaca, dan melakukan operasi tulis baca pada berkas. Diberikan contoh kode untuk membuka, menulis, membaca, dan menutup berkas.
Dokumen tersebut membahas tentang praktikum sistem file Linux. Praktikum ini bertujuan untuk memahami struktur direktori Linux, perintah dasar seperti cd, ls, mkdir, dan penggunaan perintah superuser su. Dokumen ini juga menjelaskan fungsi direktori penting seperti /, /home, /bin, /dev, serta penggunaan perintah untuk mengopy, memindahkan, dan membuat file dan direktori.
Skrip tersebut memberikan contoh penggunaan variabel lingkungan dan program eksternal dalam shell Linux. Skrip tersebut menjelaskan cara mengakses output dari perintah eksternal menggunakan backtick, menggunakan variabel default, dan mendemonstrasikan penggunaan variabel lingkungan seperti $0, $#, $IFS, dan lainnya.
Sistem berkas memungkinkan pengaksesan file tanpa memperhatikan detail penyimpanan dengan mengubah pernyataan akses file menjadi instruksi input/output rendah. Sistem berkas bertanggung jawab untuk mengelola direktori file, menentukan aliran data antara memori dan penyimpanan, serta mengkoordinasikan komunikasi antara CPU dan media penyimpanan. Ada beberapa jenis file seperti file induk, file transaksi, dan file data transaksi.
Dokumen tersebut membahas pengantar tentang Linux sebagai sistem operasi open source yang bersifat multitasking dan multiuser serta dapat digunakan pada berbagai platform."
Dokumen ini membahas tentang jenis file, aturan penamaan file, operasi file seperti membuat, menghapus, memindahkan file dan direktori, serta direktori penting dalam sistem file Linux seperti /home, /bin, /usr, dan proses booting sistem Linux melalui beberapa run level seperti run level 3 sebagai default run level.
Modul ini membahas tentang perintah dasar sistem operasi Linux dan operasi input output. Perintah dasar Linux digunakan untuk melihat informasi pengguna, manipulasi berkas dan direktori, serta mencari bantuan manual. Operasi I/O meliputi proses I/O, file descriptor, pembelokan, pipa dan filter yang digunakan untuk mengalihkan aliran masukan dan keluaran antar proses.
Dokumen ini membahas tentang operasi berkas pada C++ menggunakan tiga pustaka utama yaitu ofstream, ifstream, dan fstream untuk menulis, membaca, dan melakukan operasi tulis baca pada berkas. Diberikan contoh kode untuk membuka, menulis, membaca, dan menutup berkas.
Dokumen tersebut membahas tentang praktikum sistem file Linux. Praktikum ini bertujuan untuk memahami struktur direktori Linux, perintah dasar seperti cd, ls, mkdir, dan penggunaan perintah superuser su. Dokumen ini juga menjelaskan fungsi direktori penting seperti /, /home, /bin, /dev, serta penggunaan perintah untuk mengopy, memindahkan, dan membuat file dan direktori.
Skrip tersebut memberikan contoh penggunaan variabel lingkungan dan program eksternal dalam shell Linux. Skrip tersebut menjelaskan cara mengakses output dari perintah eksternal menggunakan backtick, menggunakan variabel default, dan mendemonstrasikan penggunaan variabel lingkungan seperti $0, $#, $IFS, dan lainnya.
Sistem berkas memungkinkan pengaksesan file tanpa memperhatikan detail penyimpanan dengan mengubah pernyataan akses file menjadi instruksi input/output rendah. Sistem berkas bertanggung jawab untuk mengelola direktori file, menentukan aliran data antara memori dan penyimpanan, serta mengkoordinasikan komunikasi antara CPU dan media penyimpanan. Ada beberapa jenis file seperti file induk, file transaksi, dan file data transaksi.
Dokumen tersebut membahas pengantar tentang Linux sebagai sistem operasi open source yang bersifat multitasking dan multiuser serta dapat digunakan pada berbagai platform."
2. Algoritma dan Pemrograman 2
T-Informatika FT UNPAM Atang Susila
PENGAKSESAN BERKAS (FILE) DALAM C
Arsip/File/Berkas merupakan struktur penyimpanan data didalam memori sekunder seperti hard disk. Struktur
arsip memungkinkan data disimpan secara permanen dan diakses kembali jika diperlukan. Setiap item data yang
disimpan dalam arsip disebut rekaman (record).
Pengorganisasian data dalam arsip ada 2 cara :
1. Beruntun (seqential)
a. metode paling sederhana
b. rekaman disimpan secara beruntun (rekaman yg satu setelah yg lain)
c. data diakses mulai dari rekaman pertama sampai yang diinginkan
d. pada umumnya lambat
e. mudah dibuat dan dipelihara
2. Acak (random)/akses-langsung (direct access)
a. rekaman diakses secara langsung tanpa perlu mulai dari yang pertama
b. pengaksesan data individual lebih cepat
c. lebih sulit dibuat dan dipelihara
I. PENGAKSESAN ARSIP BERUNTUN
Arsip beruntun adalah sekumpulan rekaman bertipe sama yang diakses secara beruntun mulai dari rekaman
pertama sampai rekaman yang dituju atau sampai dengan rekaman terakhir.
Struktur arsip beruntun tidak jauh berbeda dengan struktur larik. Setiap komponen larik disebut elemen
sedangkan pada arsip disebut rekaman. Perbedaan arsip dengan larik hanya pada pilihan cara pengaksesan
3. Algoritma dan Pemrograman 3
T-Informatika FT UNPAM Atang Susila
elemen dan arah pemrosesan. Rekaman dalam arsip beruntun tidak dapat diakses secara langsung karena harus
dibaca dari awal rekaman, sementara dalam larik elemennya dapat diakses secara langsung melalui indeknya.
Struktur arsip beruntun
Sebelum melakukan pemrosesan arsip, maka arsip tersebut harus dideklarasikan terlebih dahulu. Bentuk mum
pendeklarasian arsip dalam bahasa C adalah sbb:
FILE *arsip;
Perintah-perintah baku yang dapat digunakan dalam pemrosesan arsip beruntun adalah :
fopen : menyiapkan arsip untuk penulisan atau pembacaan
fclose : menutup arsip
fscanf : membaca rekaman dari arsip
fprintf : menulis rekaman ke arsip
4. Algoritma dan Pemrograman 4
}
T-Informatika FT UNPAM Atang Susila
Contoh 1 : Menulis ke dan membaca dari arsip berurutan
#include<iostream.h>
#include<stdio.h>
FILE *fp;
void main(void)
{
int i=0,k;
//Menyimpan data ke file
fp=fopen("d:kampusprogramc++FileIO1data1.dat","w");
if(fp==NULL)cout<<"Error membuka berkas"<<endl;
else
{
for(i=0;i<=10;i++)fprintf(fp,"%d ",i);
fclose(fp);
}
//Membaca data dari file
fp=fopen("d:kampusprogramc++FileIO1data1.dat","r");
if(fp==NULL)cout<<"Error membuka berkas"<<endl;
else
{
while(!feof(fp))
{
fscanf(fp,"%d ",&k);cout<<k<<" ";
}
cout<<endl;
fclose(fp);
}
5. Algoritma dan Pemrograman 5
}
T-Informatika FT UNPAM Atang Susila
Contoh 2 : Menulis ke dan membaca dari arsip berurutan
#include<iostream.h>
#include<stdio.h>
FILE *fp;
void main(void)
{
int i,j,jml_dat,k[100];
//Menyimpan data ke file
fp=fopen("d:kampusprogramc++FileIO2data1.dat","w");
if(fp==NULL)cout<<"Error membuka berkas"<<endl;
else
{
for(i=0;i<=10;i++)fprintf(fp,"%d ",i);fclose(fp);
}
//Membaca data dari file
fp=fopen("d:kampusprogramc++FileIO2data1.dat","r");
if(fp==NULL)cout<<"Error membuka berkas"<<endl;
else
{
i=0;
while(!feof(fp))
{
fscanf(fp,"%d ",&k[i]);i++;
}
jml_dat=i;fclose(fp);
}
for(j=0;j<jml_dat;j++)cout<<k[j]<<" ";cout<<endl;
6. Algoritma dan Pemrograman 6
T-Informatika FT UNPAM Atang Susila
II. PENGAKSESAN FILE SECARA RANDOM
Panjang rekaman dalam file yang diakses secara random tetap dan dapat diakses secara langsung tanpa
melalui pencarian melalui rekaman lain. Oleh karena itu file yang diakses secara random cocok digunakan dalam
bidang reservasi pesawat terbang, sistem perbangkan, aplikasi lain yang memerlukan pengaksesan data secara
cepat terhadap data tertentu. Karena panjang rekaman bersipat tetap maka lokasi dari suatu rekaman relatif
terhadap awal berkas dapat dihitung sebagai fungsi dari kunci rekaman.
Struktur penyimpanan secara random
Perintah-perintah baku yang dapat digunakan dalam pemrosesan arsip beruntun adalah :
fopen : menyiapkan arsip untuk penulisan atau pembacaan
fclose : menutup arsip
fread : membaca rekaman dari arsip
fwrite : menulis rekaman ke arsip
fseek : menempatkan pointer pada posisi tertentu
7. Algoritma dan Pemrograman 7
T-Informatika FT UNPAM Atang Susila
Contoh 1 : Menulis ke dan membaca dari arsip secara random
//Penyimpanan & Pembacaan data secara random
#include<iostream.h>
#include<stdio.h>
FILE *fp;
void main(void)
{
int i,j,jml_dat;
int k[100];
//Menulis data ke arsip
fp=fopen("d:kampusprogramc++FileIO3data1.dat","w");
if(fp==NULL)cout<<"Error membuka file"<<endl;
else
{
for(i=0;i<=10;i++)fwrite(&i,sizeof(i),1,fp);
fclose(fp);
}
//Membaca seluruh data data dari arsip
fp=fopen("d:kampusprogramc++FileIO3data1.dat","r");
if(fp==NULL)cout<<"Error membuka file"<<endl;
else
{
i=0;
while(!feof(fp))
{
fread(&k[i],sizeof(int),1,fp);
i++;
}
8. Algoritma dan Pemrograman 8
}
T-Informatika FT UNPAM Atang Susila
fclose(fp);
}
//Mencetak selauruh data ke layar
jml_dat=i-1;
cout<<"Jumlah data = "<<jml_dat<<endl;
for(j=0;j<jml_dat;j++)cout<<k[j]<<" ";
cout<<endl;
fp=fopen("d:kampusprogramc++FileIO3data1.dat","r");
if(fp==NULL)cout<<"Error membuka file"<<endl;
else
{
//Baca data ke-0
fseek(fp,0*sizeof(j),SEEK_SET);
fread(&j,sizeof(j),1,fp);
cout<<"Data ke-0 = "<<j<<endl;
//Baca data ke-1
fseek(fp,1*sizeof(j),SEEK_SET);
fread(&j,sizeof(j),1,fp);
cout<<"Data ke-1 = "<<j<<endl;
//Baca data ke-5
fseek(fp,5*sizeof(j),SEEK_SET);
fread(&j,sizeof(j),1,fp);
cout<<"Data ke-5 = "<<j<<endl;
//Baca data ke-0
rewind(fp);
fread(&j,sizeof(j),1,fp);
cout<<"Data ke-0 = "<<j<<endl;
}
9. Algoritma dan Pemrograman 9
}
T-Informatika FT UNPAM Atang Susila
Contoh 2 : Menulis ke dan membaca dari arsip secara random
//Penyimpanan & Pembacaan data secara random, data ditulis sekaligus
#include<iostream.h>
#include<stdio.h>
FILE *fp;
void main(void)
{
int i,j,jml_dat, k[100];
fp=fopen("d:kampusprogramc++FileIO4data1.dat","w");
if(fp==NULL)cout<<"Error membuka berkas"<<endl;
else {
for(i=0;i<=10;i++)k[i]=i;
fwrite(k,sizeof(i),11,fp);
fclose(fp);
}
fp=fopen("d:kampusprogramc++FileIO4data1.dat","r");
if(fp==NULL)cout<<"Error membuka berkas"<<endl;
else {
i=0;
rewind(fp);
while(!feof(fp))
{
fread(&k[i],sizeof(int),1,fp);i++;
}
fclose(fp);
}
jml_dat=i-1;
cout<<"Jumlah data = "<<jml_dat<<endl;
for(j=0;j<jml_dat;j++)cout<<k[j]<<" ";
cout<<endl;
10. Algoritma dan Pemrograman 10
T-Informatika FT UNPAM Atang Susila
STUDY KASUS
Buatlah program C/C++ yang memberikan tampilan sbb :
Ket :
Pilihan 1 : Memasukan sejumlah data dari keyboard
Pilihan 2 : Menyimpan seluruh data kedalam sebuah arsip
Pilihan 3 : Membaca data dari arsip
Pilihan 4 : Menampilkan data
Pilihan 5 : Mengurutkan data
Pilihan 6 : Menampilkan data yang telah diurutkan