ALGORITMA DAN PEMROGRAMAN 2
3 SKS
By : Sri Rezeki Candra Nursari
MATERI Teks/string Pointer File Struktur Kelas Konstruktor dan Destruktor • Kelas dan Obyek • • • • • •
Overloading Operator Inheritance (Pewarisan) Polimorfisme Template Fungsi dan Kelas • Sort • Search • • • •
FILE Pertemuan 03
3 SKS
Pendahuluan File BIT = Binary Digital Byte adalah unit terkecil yang mempunyai makna 1 Byte = 8 bit Field adalah kumpulan byte yang mempunyai arti Record adalah kumpulan field-field dalam satu kelompok • File adalah kumpulan dari record-record • File digunakan agar data yang terkumpul dapat disimpan • File Record Field Byte Bit • • • • •
Pendahuluan File • Tempat penyimpanan data dalam disk disebut dengan FILE • Berdasarkan jenis data yang disimpan, file dibedakan menjadi 2, yaitu : –File Teks –File Biner
Pengaksesan File • File Teks, – semua data akan diubah menjadi teks, sehingga – File dapat dibuka oleh sembarang program pengolah kata seperti notepad, word, dll. – dapat dibaca dengan mudah karena berbentuk teks
• File Biner, – data disimpan berdasarkan nilai binernya (bilangan yang hanya terdiri dari angka 0 dan 1) – representasi data yang disimpan tidak akan sama dengan representasi data yang terlihat.
PERBEDAAN FILE TEKS & FILE BINER Kategori
File Teks
File Biner
Jenis penyimpanan
Berupa teks
Berupa representasi dari bilangan biner
Kecepatan akses
Lebih lambat karena hrs melakukan konversi dari dt bkn teks ke teks saat penyimpanan dan sebalik nya saat pembacaan
Lebih cepat karena tidak diperlukan proses konversi
Pengaksesan Dapat diakses atau dibaca oleh semua program pengolah kata karena berupa teks
Hanya dapat di-akses atau dibaca oleh si pembuat program atau programmer lain bila mengetahui tipe dari data yang di-simpan
File • Komputer memang tidak pernah lepas dari file. • Program yang kita tulis biasanya di letakkan kedalam file • Operasi pada file pada dasarnya meliputi tiga tahapan: – Membuka/mengaktifkan file – Melaksanakan proses file – Menutup file
Fungsi-fungsi Sistem I/O File fopen() Membuka sebuah file fclose() Menutup sebuah file utc() Menulis sebuah karakter kedlm sebuah file gets() Membaca sebuah karakter dari sebuah file fseek() Mencari byte tertentu didalam sebuah file fprintf() = printf(), tetapi tujuannya ke sebuah file
Fungsi-fungsi Sistem I/O File fscanf() feof() ferror() fread() fwrite() rewind() remove()
= scanf(), tetapi dari sebuah file Menghasilkan true, apabila mencapai akhir file Menghasilkan true, jika terjadi kesalahan Membaca sebuah blok data dari sebuah file Menulis sebuah blok data ke dalam sebuah file Memindahkan penunjuk keawal file Menghapus sebuah file
Modus pembukaan File Modus Arti ===================================== “r” Membuka file untuk pembacaan data “w” Membuka file untuk penulisan data “a” Menambah data ke dalam file “rb” Membuka file biner untuk pembacaan data “wb” Membuka file biner untuk penulisan data “ab” Menambah data kedalam file biner “r+” Membuka file untuk pembacaan/penulisan data “w+” Membuka file untuk pembacaan/penulisan data “a+” Menambah/membuat sebuah file untuk pembacaan/penulisan
Modus pembukaan File Modus Arti ===================================== “w+b” Membuka file biner untuk pembacaan/penulisan data “a+b” Menambah/membuat sebuah file biner untuk pembacaan/penulisan “rt” Membuka file teks untuk pembacaan data “wt” Membuka file teks untuk penulisan data “at” Menambah data kedalam file teks “r+t” Membuka file teks untuk pembacaan/penulisan data “w+t” Membuka file teks untuk pembacaan/penulisan data “a+t” Menambah/membuat sebuah file teks untuk pembacaan/penulisan
Modus pembukaan File Modus Arti ===================================== ios::app Membuka file dengan modus keluaran, tetapi memungkinkan operasi penambahan data ios::ate Membuka file untuk keperluan masukan maupun keluaran dan secara otomatis menempatkan penunjuk file ke posisi akhir file ios::in Membuka file untuk operasi masukan. Modus ini merupakan bawaan untuk objek bertipe ifstream ios::out Membuka file untuk operasi keluaran. Modus ini merupakan bawaan untuk objek bertipe ofstream
Modus pembukaan File Modus Arti ===================================== ios::nocreate Membuka file yang sudah ada. Apabila file belum ada, maka operasi pembukaan gagal dilaksanakan ios::noreplace Membuka file baru. Apabila file sudah ada, maka operasi pembukaan gagal dilaksanakan, kecuali ios::ate / ios::app disertakan ios::trunc Menghapus file yang sudah ada dan menciptakan file baru ios::binary Membuka file dengan operasi baca-tulis secara biner
FILE TEKS • Membuka/mengaktifkan file Sebelum suatu file dapat diproses, file harus dibuka terlebih dahulu Mode/library : #include
deklarasi : FILE *fopen(char *namafile, char *mode/modus); contoh : file_keluaran.open(“BIODTKU1.TXT”); file_keluaran adalah nama objek file
FILE TEKS • Menuliskan ke file contoh : file_keluaran<<“Teguh ………..”<<endl;
FILE TEKS • Menutup file Int fclose(FILE*pf); contoh : file_keluaran.close();
FILE TEKS Contoh Soal 01: Perintah file yang merekam Biodata Anda masing-masing (Nama, Alamat, NIDN, Jenis Kelamin, Tahun Masuk) Nama file TXT adalah BIODTKU1.TXT .
Program contoh 01
Algoritma.........????? Pseudocode.......??????
Buat Kelompok : 1. Perintah file yang merekam Isi lima sila dari Pancasila Nama file TXT adalah PANCA.TXT (tls : Al :faqih – ps : ines – pg:pipit) (pr: al:ringga – ps: chandra – pg:rico) 2. Perintah file yang merekam Mata kuliah yang Anda ambil semester ini Nama file TXT adalah MTKLH.TXT (tls : Al : Mufi – Ps : Putri – Pg: Faris) (Pr: Al : Rara – Ps: Yunus). 3. Perintah file yang merekam Nama Teman-teman Anda di Algo II Nama file TXT adalah TEMANKU.TXT (tls : Al : rusma – Ps : wahyu – Pg:alfa) (Pr: Al : Rezki – Ps: rizki). 4. Perintah file yang merekam Nama 10 Propinsi di Indonesia Nama file TXT adalah PROPINSI.TXT (tls : Al : nurfa – Ps : ari – Pg : yadi) (Pr : Al : musi – Ps : vidya).
Algoritma.........????? Pseudocode.......?????? Program...........?????
FILE TEKS • Menampilkan file nama file.getline(buffer, variabel); contoh : file_masukan.getline(buffer, variabel);
FILE Contoh Soal 02: Menampilkan file BIODTKU1.TXT .
Program contoh 02
Algoritma.........????? Pseudocode.......??????
Buat Kelompok : 1. Buatlah program dengan menampilkan PANCA.TXT 2. Buatlah program dengan menampilkan MTKLH.TXT 3. Buatlah program dengan menampilkan TEMANKU.TXT 4. Buatlah program dengan menampilkan PROPINSI.TXT
Algoritma.........????? Pseudocode.......??????
FILE • Mendeklarasikan variabel pointer file Digunakan untuk membaca dan menuliskan file FILE *fp
• Menuliskan karakter Digunakan untuk menuliskan karakter dari sebuah file yang telah dibuat dengan fopen() int putc(int ch, FILE *fp);
• Membaca karakter Digunakan untuk membaca karakter dari sebuah file yang telah dibuka dengan modus baca int gets(FILE *fp);
• Memakai feof() Digunakan untuk mendeteksi akhir file pada saat membaca data int feof(FILE *fp);
FILE BINER • Pengaksesan File Biner lebih cepat dibandingkan File Teks • Tidak terjadi proses konversi saat penulisan dan pembacaan, pengaksesannya • Penyimpanan data nya dilakukan dalam bentuk biner (tersusun dari kumpulan angka 0 atau 1) • Jika Anda ingin menyembunyikan data Anda (agar tidak sembarang orang dapat membacanya) • Harus memahami kode ASCII
Penulisan Data ke FILE BINER • Tidak perlu memberikan tambahan karakter seperti spasi, tabulasi, enter, dan sebagai-mana yang dilakukan di file teks • Contoh : sebuah bilangan integer (int) misalnya akan selalu tersimpan sepanjang 2 byte, tanpa tergantung nilai bilangan tersebut • Data yang tersimpan di file biner sebaiknya benarbenar hanya datanya saja • Syntax : fwrite(alamat_variabel, ukuran_data, banyak_data, namafile)
fwrite(alamat_variabel, ukuran_data, banyak_data, namafile) • fwrite akan menulis isi dari variabel • alamat_variabel alamatnya disebutkan di parameter pertama perintah tersebut • ukuran_data informasi tentang ukuran (dalam byte) • banyak_data banyaknya data yang ingin ditulis • namafile merupakan nama file biner
FILE BINNER Contoh Soal 03: Perintah file yang merekam/menyimpan 3 buah data (22, 7, 66) dengan tipe integer secara biner. Nama file biner adalah Angka.DAT
Program contoh 03
Algoritma.........????? Pseudocode.......??????
FILE Contoh Soal 04: Menampilkan file Angka.DAT
Program contoh 04
Algoritma.........????? Pseudocode.......??????