algoritma dan pemrograman 2 - reezeki2011 | tutorial ... · algoritma dan pemrograman 2 ... •...

38
ALGORITMA DAN PEMROGRAMAN 2 3 SKS By : Sri Rezeki Candra Nursari

Upload: lephuc

Post on 06-Mar-2019

284 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

ALGORITMA DAN PEMROGRAMAN 2

3 SKS By : Sri Rezeki Candra Nursari

Page 2: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

MATERI

• Teks/string• Pointer• File• Struktur• Kelas• Konstruktor dan

Destruktor• Kelas dan Obyek

• Overloading Operator• Inheritance (Pewarisan)• Polimorfisme • Template Fungsi dan

Kelas• Sort• Search

Page 3: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

FILE

Pertemuan 03

3 SKS

Page 4: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

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

Page 5: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

Pendahuluan File• Tempat penyimpanan data dalam

disk disebut dengan FILE• Berdasarkan jenis data yang

disimpan, file dibedakan menjadi 2, yaitu :–File Teks–File Biner

Page 6: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

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.

Page 7: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

PERBEDAAN FILE TEKS & FILE BINERKategori 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 di-baca 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

Page 8: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

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

Page 9: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

Fungsi-fungsi Sistem I/O File

fopen() Membuka sebuah filefclose() Menutup sebuah fileutc() Menulis sebuah karakter kedlm sebuah filegets() Membaca sebuah karakter dari

sebuah filefseek() Mencari byte tertentu didalam sebuah filefprintf() = printf(), tetapi tujuannya ke sebuah file

Page 10: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

Fungsi-fungsi Sistem I/O File

fscanf() = scanf(), tetapi dari sebuah filefeof() Menghasilkan true, apabila mencapai akhir fileferror() Menghasilkan true, jika terjadi kesalahanfread() Membaca sebuah blok data dari sebuah filefwrite() Menulis sebuah blok data ke dalam sebuah filerewind() Memindahkan penunjuk keawal fileremove() Menghapus sebuah file

Page 11: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

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

Page 12: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

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

Page 13: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

Modus pembukaan File

Modus Arti=====================================ios::app Membuka file dengan modus keluaran, tetapi

memungkinkan operasi penambahan dataios::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

Page 14: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

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 operasipembukaan 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

Page 15: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

FILE TEKS• Membuka/mengaktifkan file

Sebelum suatu file dapat diproses, file harus dibuka terlebih dahulu

Mode/library : #include <fstream.h>deklarasi : FILE *fopen(char *namafile, char *mode/modus);

contoh :file_keluaran.open(“BIODTKU1.TXT”);file_keluaran adalah nama objek file

Page 16: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

FILE TEKS

• Menuliskan ke filecontoh :file_keluaran<<“Teguh ………..”<<endl;

Page 17: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

FILE TEKS

• Menutup fileInt fclose(FILE*pf);

contoh :file_keluaran.close();

Page 18: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

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 .

Page 19: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

Programcontoh 01

Page 20: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

Algoritma.........?????Pseudocode.......??????

Page 21: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

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

Page 22: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

Algoritma.........?????Pseudocode.......??????Program...........?????

Page 23: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

FILE TEKS

• Menampilkan filenama file.getline(buffer, variabel);

contoh :file_masukan.getline(buffer, variabel);

Page 24: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

FILE

Contoh Soal 02:Menampilkan file BIODTKU1.TXT .

Page 25: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

Programcontoh 02

Page 26: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

Algoritma.........?????Pseudocode.......??????

Page 27: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

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

Page 28: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

Algoritma.........?????Pseudocode.......??????

Page 29: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

FILE• Mendeklarasikan variabel pointer file

Digunakan untuk membaca dan menuliskan fileFILE *fp

• Menuliskan karakterDigunakan untuk menuliskan karakter dari sebuah file yang telah dibuat dengan fopen()

int putc(int ch, FILE *fp);

• Membaca karakterDigunakan 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);

Page 30: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

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

Page 31: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

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 benar-benar hanya datanya saja

• Syntax :fwrite(alamat_variabel, ukuran_data, banyak_data, namafile)

Page 32: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

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• namafilemerupakan nama file biner

Page 33: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

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

Page 34: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

Programcontoh 03

Page 35: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

Algoritma.........?????Pseudocode.......??????

Page 36: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

FILE

Contoh Soal 04:Menampilkan file Angka.DAT

Page 37: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

Programcontoh 04

Page 38: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 | Tutorial ... · ALGORITMA DAN PEMROGRAMAN 2 ... • Harus memahami kode ASCII. Penulisan Data ke FILE BINER • Tidak perlu memberikan

Algoritma.........?????Pseudocode.......??????