Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

KUG1A3 Algoritma& Pemrograman

Presentasi serupa


Presentasi berjudul: "KUG1A3 Algoritma& Pemrograman"— Transcript presentasi:

1 KUG1A3 Algoritma& Pemrograman
Burhanuddin D Prodi S1-Sistem Komputer, F Teknik Elektro Universitas Telkom Presentasi Operasi File

2 KU1G3 Algoritma & Pemrograman
Agenda Copy file Merging File Searching File Edit File Sorting File Latihan KU1G3 Algoritma & Pemrograman

3 KU1G3 Algoritma & Pemrograman
Copy File [1] Menggandakan sebuah file menjadi dua buah file/arsip yang sama. Dilakukan dengan membaca rekaman file pertama dan menulis ke file kedua, satu demi satu. 1 2 3 4 5 EOF File1 Ani 111 Budi 112 Ida 113 Ali 114 Rudi 115 Baca Baca Baca Baca Baca Baca Tulis Tulis Tulis Tulis Tulis Tulis 1 2 3 4 5 EOF File2 Ani 111 Budi 112 Ida 113 Ali 114 Rudi 115 KU1G3 Algoritma & Pemrograman

4 KU1G3 Algoritma & Pemrograman
Copy File [1] - lanj Program Copy { Menggandakan file menjadi 2 file yg sama )} Kamus type rekaman : <Kunci : type, lainnya : type> constant mark: type = …….{ suatu nilai mark} File1 :SEQFILE of (*) Rek1 : rekaman (1) <mark,nilailain> File2 :SEQFILE of (*) Rek2 : rekaman KU1G3 Algoritma & Pemrograman

5 KU1G3 Algoritma & Pemrograman
Copy File [1] - lanj Algoritma (lanj.) Assign(File1,’C:\Coba1.dat’) Reset(File1) Assign(File2,’C:\Coba2.dat’) Rewrite(File2) Read(File1,Rek1) while Rek1.Kunci  mark do write(File2,Rek1) read(File1,Rek1) write(File2,<mark,nilailain>) close(File1) close(File2) KU1G3 Algoritma & Pemrograman

6 KU1G3 Algoritma & Pemrograman
Merging [1] Merging : penggabungan dua buah arsip. Cara yang paling sederhana adalah jika arsip pertama disambungkan ke arsip kedua : 1 2 3 EOF File1 Ani 111 Ani 111 Budi 112 Budi 112 Ida 113 Ida 113 Baca 1 2 EOF Uni 211 Uni 211 Uda 212 Uda 212 Baca File2 1 2 3 4 5 EOF Ani 111 Budi 112 Ida 113 Uni 211 Uda 212 Tulis File3 KU1G3 Algoritma & Pemrograman

7 KU1G3 Algoritma & Pemrograman
Merging [1] - lanj Program Gabung1 { Tanpa kasus penangananan kosong} { Menggabung 2 file secara sekuensial } Kamus type rekaman : <Kunci : type, lainnya : type> mark: type = …….{ suatu nilai mark} File1 :SEQFILE of (*) Rek1 : rekaman (1) <mark,nilailain> File2 :SEQFILE of (*) Rek2 : rekaman File3 :SEQFILE of (*) Rek3 : rekaman KU1G3 Algoritma & Pemrograman

8 KU1G3 Algoritma & Pemrograman
Merging [1] - lanj Algoritma (lanj.) Assign(File1,’C:\Coba1.dat’) Reset(File1) Assign(File2,’C:\Coba2.dat’) Reset(File2) Assign(File3,’C:\Coba3.dat’) Rewrite(File3) Read(File1,Rek1) while Rek1.Kunci  mark do write(File3,Rek1) read(File1,Rek1) { ke halaman berikut } KU1G3 Algoritma & Pemrograman

9 KU1G3 Algoritma & Pemrograman
Merging [1] - lanj Algoritma (lanj.) Read(File2,Rek2) while Rek2.Kunci  mark do write(File3,Rek2) read(File2,Rek2) write(File3,<mark,nilailain>) {Menulis mark} close(File1) close(File2) close(File3) KU1G3 Algoritma & Pemrograman

10 KU1G3 Algoritma & Pemrograman
Merging [2] Penggabungan dua buah arsip terurut. Digabung dengan melihat keterurutan. 1 2 3 EOF File1 Ani 111 Ani 111 Budi 112 Budi 112 Ida 117 Ida 117 Baca Key1<Key2 Key1<Key2 1 2 EOF Uni 113 Uni 113 Uda 119 Uda 119 Baca File2 1 2 3 4 5 EOF Ani 111 Budi 112 Uni 113 Ida 117 Uda 119 Tulis Rec1 File3 Tulis Rec2 KU1G3 Algoritma & Pemrograman

11 KU1G3 Algoritma & Pemrograman
Merging [2] - lanj Algoritma (lanj.) Assign(File1,’C:\Coba1.dat’) Reset(File1) Assign(File2,’C:\Coba2.dat’) Reset(File2) Assign(File3,’C:\Coba3.dat’) Rewrite(File3) Read(File1,Rek1) Read(File2,Rek2) while (Rek1.Kunci  mark) and (Rek2.Kunci mark) do If Rek1.Kunci < Rek2.Kunci then Write(File3,Rek1) Else write(File3,Rek2) read(File2,Rek2) KU1G3 Algoritma & Pemrograman

12 KU1G3 Algoritma & Pemrograman
Merging [1] - lanj Algoritma (lanj.) while Rek1.Kunci  mark do write(File3,Rek1) read(File1,Rek1) while Rek2.Kunci  mark do write(File3,Rek2) read(File2,Rek2) write(File3,<mark,nilailain>) close(File1) close(File2) close(File3) KU1G3 Algoritma & Pemrograman

13 KU1G3 Algoritma & Pemrograman
Merging [3] Penggabungan 2 file terurut, namun menggunakan operator or ( bukan and ) Algoritma (lanj.) Assign(File1,’C:\Coba3.dat’) Reset(File1) Assign(File2,’C:\Coba2.dat’) Reset(File2) Assign(File3,’C:\Coba3.dat’) Rewrite(File3) Read(File1,Rek1) Read(File2,Rek2) KU1G3 Algoritma & Pemrograman

14 KU1G3 Algoritma & Pemrograman
Merging [2] - lanj Algoritma (lanj.) while (Rek1.Kunci  mark) or (Rek2.Kunci mark) do If Rek1.Kunci < Rek2.Kunci then Write(File3,Rek1) Read(File1,Rek1) Else write(File3,Rek2) read(File2,Rek2) { Rek1.Kunci=mark and Rek2.Kunci=mark } write(File3,<mark,nilailain>) close(File1) close(File2) close(File3) KU1G3 Algoritma & Pemrograman

15 KU1G3 Algoritma & Pemrograman
Searching File [1] Mencari suatu nilai rekaman pada file. Pencarian dengan cara sekuensial 1 2 3 4 5 EOF File1 Ani 111 Budi 112 Ida 113 Ali 114 Rudi 115 Cari : NIM=113 Ida 113 Ani 111 Budi 112 Baca Uji : NIM=113 ? Uji : NIM=113 ? Uji : NIM=113 ? T T Y Teruskan Teruskan Ketemu KU1G3 Algoritma & Pemrograman

16 KU1G3 Algoritma & Pemrograman
Mengedit File Mencari suatu nilai rekaman pada file, kemudian mengubah isi rekaman tersebut. 1 2 3 4 5 EOF File1 Ani 111 Budi 112 Ida 113 Ali 114 Rudi 115 Ubah nama dengan NIM=113, menjadi Ana Ida 113 Ani 111 Budi 112 Baca Uji : NIM=113 ? Uji : NIM=113 ? Uji : NIM=113 ? T T Y Tulis ke File2 Tulis ke File2 Isi nama=Ana Tulis ke File2 KU1G3 Algoritma & Pemrograman

17 KU1G3 Algoritma & Pemrograman
Latihan Sebuah file sekuensial dengan field adalah NIM (integer) dan nama ( string ). Pecahlah file menjadi 2, dengan nilai NIM dibagi menjadi nim ganjil dan genap. Carilah banyaknya suatu nilai tertentu pada suatu file. Misal mencari cacah rekaman yang memiliki NIM = 112. KU1G3 Algoritma & Pemrograman

18 Tambah, edit, delete file
Ingin Tambah (T), Edit(U),Hapus(H)? E Masukkan NIP : 0001 Field diubah : NIP(N),Nama(M), Gol(G),Masakerja(K) ? M Nama lama (dari file ) : Budi Nama baru : Agus ( save ke file) Data sekarang : Nama : Agus, NIP : 0001, Gol : 1, Masakerja : 10 tahun. KU1G3 Algoritma & Pemrograman

19 KU1G3 Algoritma & Pemrograman
Tugas Proyek Ada prosedur / fungsi mengecek huruf kembar Ada prosedur input array jam, masuk ke file Ada prosedur untuk memasukkan data ke file data pegawai. Bisa nambah, edit, hapus data. Ada file jam kerja & file NIP, nama, gol, masa krja Ada output untuk memunculkan gaji per pegawai ( dg masukan NIP ) dan gaji semua pegawai ( dengan total gaji dimunculkan ) Print program  tulis dengan tangan : pembuat masing-masing prosedur/program utama. Print output : KU1G3 Algoritma & Pemrograman

20 Input array -> file jamkerja
NIP Pegawai ke-1 : 0001 Jumlah minggu : 3 Jam kerja mgg ke-1 : 20 Jam kerja mgg ke-2 : 40 Jam kerja mgg ke-3 : 30 Urutan jam kerja: Ke-1 : 20 jam minggu ke-1 Ke-2 : 30 jam minggu ke-3 Ke-3 : 40 jam minggu ke-2 ( Simpan ke file JMKERJA) KU1G3 Algoritma & Pemrograman

21 KU1G3 Algoritma & Pemrograman
PRINT OUT Print program  tulis dengan tangan : pembuat masing-masing prosedur/program utama. Print output : Memasukkan data pegawai (5 pegawai)(0001,gol1,10 tahun) + jamkerja (NIP 0001) (20,40,30) Mengedit data pegawai ( NIP : 0001) Cetak gaji perorangan : ( NIP 0001) Cetak gaji keseluruhan ) Isi file jam kerja & file pegawai KU1G3 Algoritma & Pemrograman

22 KU1G3 Algoritma & Pemrograman
Tugas Praktikum Buat program untuk menghitung gaji pegawai. Buat prosedur untuk memasukkan data ke file data pegawai. Bisa nambah, edit, hapus, insert data yang terdiri dari NIP, nama, gol, masa kerja dan jam kerja. File bisa menampung sampai 100 buah data. Gaji terdiri dari gaji pokok + gaji_jam. Gaji pokok : untuk gol 1, untuk gol 2 dan seterusnya. gaji_jam = jam kerja * Buat output untuk memunculkan : gaji per pegawai, gaji total tiap pegawai urut membesar dan gaji semua pegawai. KU1G3 Algoritma & Pemrograman

23 KU1G3 Algoritma & Pemrograman
Masukan Nama NIM Gol Masa kerja Jam kerja Peg1 101 2 10 70 Peg3 103 6 50 Peg2 102 7 75 Peg5 105 4 Peg0 100 5 25 KU1G3 Algoritma & Pemrograman

24 KU1G3 Algoritma & Pemrograman
OUTPUT Tampilkan data 5 pegawai, setelah diinputkan Mengedit data pegawai ( NIP : 101) nama diganti. Tampilkan data pegawai, setelah diinputkan Cetak gaji seorang pegawai ( NIP101) Cetak gaji seluruh pegawai urut besarnya gaji Hapus record ( NIP 105 ) Sisipkan record NIP 106 sebelum NIP 103. Nama NIP Gol Masa kerja Jam kerja Gaji Peg5 105 4 10 50 650 Peg0 100 5 25 625 Peg2 102 2 7 75 575 Peg1 101 70 550 Peg3 103 6 450 KU1G3 Algoritma & Pemrograman


Download ppt "KUG1A3 Algoritma& Pemrograman"

Presentasi serupa


Iklan oleh Google