Jurusan Teknik Informatika Universitas Widyatama Overview Tujuan Instruksional & Lingkup Materi Review konsep File Jenis Konsolidasi File Contoh Konsolidasi File Pengenalan Konsolidasi File Pertemuan : 2 Dosen Pembina : Danang Junaedi 2 Tujuan Instruksional & Lingkup Materi Setelah mengikuti materi pertemuan ini, mahasiswa diharapkan dapat: Mengetahui proses konsolidasi dalam file Menjelaskan bentuk konsolidasi dalam file menjelaskan dan menggunakan konsep pemrosesan file sequential dalam menyelesaikan masalah konsolidasi Lingkup Materi File Sequential Proses Konsolidasi Konsolidasi (tanpa separator) Konsolidasi (dengan separator) Review Konsep File 3 1
Definisi File Storage of data (all such data not lost when a programs terminates) [4] Data yang disimpan pada external memory dan bersifat permanen [1] Tempat penyimpanan data dalam disk [2] 1.Berdasarkan Jenis Data yang disimpan [2] File Teks : semua data yang disimpan dalam file akan diubah menjadi teks File Biner : semua data yang disimpan dalam file akan disimpan berdasarkan nilai binernya Perbedaan No Kategori File Teks File Biner 1 Jenis Penyimpanan Teks Bilangan Biner 2 Kecepatan Akses Lebih lambat Lebih Cepat 3 Pengaksesan Semua program pengolah kata Hanya oleh programmer yang mengetahui tipe dari data yang disimpan 2.Berdasarkan Operasi Input/Output [1] File berpenyangga (buffered files) atau file arus (stream file) atau file standar (standards file) : menggunakan penyangga (buffer) untuk menampung sementara data yang akan dipindahkan dari memori internal komputer ke dan/atau dari file. Menyediakan fasilitas untuk melakukan format data yang akan dibaca dan/atau dimasukan pada file, sehingga lebih cocok digunakan untuk operasi input/output pada file teks. File tidak berpenyangga (unbuffered files) : tidak menggunakan penyangga (buffer), sehingga data langsung dibaca dari dalam file dan/atau dimasukan ke dalam file. Tidak menyediakan format data khusus, sehingga lebih cocok digunakan untuk operasi input/output pada file biner. 3.Berdasarkan Cara Pengaksesan [4] File Sekuensial (Sequential File) : Data dalam file diakses secara sekuensial/berurutan mulai dari urutan pertama sampai dengan akhir file. File Random (Random File) : Data dalam file diakses secara random/acak tergantung kebutuhan. 2
Jenis Konsolidasi File-1 Tanpa Separator (Tidak menggunakan pembatas untuk kelompok data tertentu) MARK Urutan Akses (satu per satu) Key Konsolidasi 10 Judul: Template Algoritma Konsolidasi tanpa separator Kamus : ArsipIn : Sequential file *)Rekln : rekaman/record; 1)(MARK,VAL) >:= EOF (.)> Prosedur Inisialisasi_Seluruh_Kategori Prosedur Terminasi_Seluruh_Kategori Prosedur Kasus_Kosong Prosedur Proses_Elemen_Pertama Prosedur Proses_Current_Kategori Prosedur Terminasi_Kategori Asumsi Data dalam file sudah terurut berdasarkan kunci tertentu Algoritma : OPEN(ArsipIn,RekIn) IF EOF THEN Kasus_Kosong {Mendefinisikan file kosong} ELSE Inisialisasi_Seluruh_Kategori WHILE (Not (EOF)) atau REPEAT Inisialisasi_Kategori Current_Kategori Rekln.KeyIn Proses_Elemen_Pertama WHILE (Not (EOF)) AND (Current_Kategori = RekIn.KeyIn) atau REPEAT Proses_Current_Kategori END WHILE atau UNTIL Current_Kategori <> RekIn.KeyIn Terminasi_Kategori END WHILE atau UNTIL EOF Terminasi_Seluruh_Kategori CLOSE(ArsipIn) END IF 11 12 3
Jenis Konsolidasi File (2) Dengan Separator (Menggunakan pembatas untuk kelompok data tertentu) MARK Separator Urutan Akses (satu per satu) Judul: Template Algoritma Konsolidasi dengan separator Kamus : ArsipIn : Sequential file *)Rekln : rekaman/record; 1)(MARK,VAL) >:= EOF (.)> Prosedur Inisialisasi_Seluruh_Kategori Prosedur Terminasi_Seluruh_Kategori Prosedur Kasus_Kosong Prosedur Proses_Current_Kategori Prosedur Terminasi_Kategori Prosedur/Function Separator 13 14 Algoritma : Inisialisasi_Seluruh_Kategori OPEN(ArsipIn,RekIn) IF EOF THEN Kasus_Kosong {Mendefinisikan file kosong} ELSE WHILE (Not (EOF)) atau REPEAT WHILE (Not (EOF)) AND Separator(KeyIn) DO atau REPEAT END WHILE atau UNTIL (EOF) AND Not (Separator(Keyin)) Inisialisasi_Kategori WHILE (Not (EOF)) AND Separator(KeyIn) DO atau REPEAT Proses_Current_Kategori END WHILE atau UNTIL (EOF) AND Not (Separator(Keyin)) Terminasi_Kategori END WHILE atau UNTIL (EOF) Terminasi_Seluruh_Kategori{Menampilkan seluruh hasil} CLOSE(ArsipIn) END IF Contoh Konsolidasi File Tanpa Separator Dengan Separator No Kode Stock No Kode Stock 1 K01 10 1 K02 20 1 K01 10 1 K02 20 2 K02 30 2 K03 50 2 K02 30 2 K05 20 2 K03 50 dst dst dst 2 K05 20 dst dst dst Separ ator 15 16 4
Studi Kasus 1. Diketahui sebuah file transkip nilai yang menampung data nilai mahasiswa di Universitas Widyatama 2. Diketahui sebuah file setor yang menampung data setoran tabungan di Bank BOG-YSPIS Tolong buatin donk: a. Definisi struktur file b. Contoh isi file c. Algoritma konsolidasi (tanpa dan dengan separator) untuk kasus <nanti diberikan pada saat perkuliahan> Referensi 1. Hartono, Jogiyanto.2000. Konsep Dasar Pemrograman Bahasa C. Andi, Yogyakarta 2. Hartanto, Budi.2004. Memahami Logika Pembuatan Program C Secara Mudah.Andi.Yogyakarta 3. Yatini B., Indra; Nasution, Erliansyah.2005. Algoritma & Struktur Data dengan C++. Graha Ilmu,Yogyakarta 4. Deitel et al.2004. C How To Program 4 th Edition.Pearson-Prentice Hill 5. Rilgivia,Hevi;Sekarwangi, Guntari; Violina, Sriyani.2004. Diktat Kuliah Algoritma II.Teknik Informatika-Universitas Widyatama.Bandung 17 Untuk bahan renungan bersama Apakah anda takut gagal? Sedemikian takutnya sampai anda tidak berusaha untuk mencoba? Coba anda pikirkan kembali, hal tersebut benar-benar tidak masuk akal. Dengan tidak mencoba barang sekalipun, sebenarnya anda SUDAH gagal. Jadi rasa takut gagal adalah penyebab kegagalan yang pasti. Apakah anda merasa takut? Coba perhatikan rasa takut anda. Perhatikan pesan yang berusaha disampaikannya. Rasa takut membuat anda lebih waspada. Rasa takut memberi energi ekstra. Rasa takut membuat anda mampu mengatasi tantangan tersulit. Tidak ada yang mampu mendorong sumber daya dalam diri anda - lebih dari rasa takut. Rasa takut sebenarnya ada untuk mendorong anda maju, bukan untuk menahan anda. Biarkan rasa takut mengajarkan anda. Biarkan rasa takut mempersiapkan anda. Tetapi jangan membuat rasa takut menghentikan anda. Saat rasa takut menahan anda, coba perhatikan baik-baik apa yang menyebabkan rasa takut - dan anda akan menemukan alasan untuk bergerak maju. Kegagalan paling abadi adalah kegagalan untuk mulai bertindak. Bila anda sudah mencoba - dan ternyata gagal, anda memperoleh sesuatu yang bisa dipelajari dan mungkin dicoba kembali. Anda tidak akan pernah gagal bila anda terus berusaha...! 19 5