Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pengolahan string dan operasi file

Presentasi serupa


Presentasi berjudul: "Pengolahan string dan operasi file"— Transcript presentasi:

1 Pengolahan string dan operasi file

2 String adalah sederetan karakter yang diapit dalam tanda kutip
Sifat string String adalah list karakter Urutan mempengaruhi Panjang tidak terbatas Bisa berisi karakter kosong

3 Predikat pengolah string
Concat Digunakan untuk menggabungkan 2 buah string concat(String1, String2, String3) String3 adalah hasil penggabungan Frontchar Digunakan untuk mengambil sebuah karakter awal di string frontchar(String, Karakter,SisaString) Frontsr Digunakan untuk memisahkan string menjadi 2 buah string lain frontstr(JmlKar,String,StringAwal,StringAkhir) Fronttoken Digunakan untuk memisahkan sebuah token pertama dari string fronttoken(String,Token,StringSisa) Str_len Digunakan untuk menghitung jumlah karakter suatu string str_len(String,Panjang)

4 Predikat pengubah jenis data
Char_int Mengubah karakter ke kode ASCII nya dan sebaliknya char_int(Kar,Int) Str_char Mengubah string karakter tunggal menjadi karakter dan sebaliknya str_char(String,Kar) Str_int Mengubah string yang menyatakan integer menjadi integer dan sebaliknya str_int(String,Int) Str_real Mengubah string yang menyatakan bilangan real menjadi real dan sebaliknya str_real(Str,Real) Upper_lower Mengubah huruf besar menjadi huruf kecil dan sebaliknya baik untuk karakter maupun string upper_lower(HurufBesar,HurufKecil)

5 Contoh program mengubah format tanggal
DOMAINS tanggal = string tgl = real PREDICATES ubah_tanggal(tanggal,tgl) CLAUSES Ubah_tanggal(Tang,Tanggal) :- frontsr(2,Tang,Tg,Tang1), frontchar(Tang1,_,Tang2), frontstr(2,Tang2,Bulan,Tang3), frontchar(Tang3,_,Tahun), concat(Tahun,Bulan,ThBl), concat(ThBl,Tg,Tgl), str_real(Tgl,Tanggal).

6 Contoh program Enkripsi
DOMAINS kalimat = string PREDICATES enkripsi(kalimat,kalimat,kalimat) CLAUSES enkripsi(X,Y,Enk) :- frontchar(X,Ch,X1),!, char_int(Ch,ChInt), ChInt1 = ChInt – 1, char_int(Ch1,ChInt1), frontchar(Y1,Ch1,Y), enkripsi(X1,Y1,Enk). enkripsi(_,Y,Enk) :- !, Enk = Y.

7 Operasi file File sebagai piranti masukkan dan keluaran
writedevice(file_tulis) readdevice(file_baca) Membaca dan Menulis file openread(NamaSimbolik,NamaFile) openwrite(NamaSimbolik,NamaFile) closefile(NamaSimbolik) Menambah Isi File openappend(NamaSimbolik,NamaFile) file_str(NamaFile,Output) Akses File Acak filepos(NamaSimbolik,Posisi,Modus) openmodify(NamaSimbolik,NamaFile) Akhir sebua file eof(NamaSimbolik) Operasi Lain existfile(NamaSimbolik) renamefile(FileLama,FileBaru) deletefile(NamaFile) disk(DosPath)

8 Contoh program tulis dan baca file
DOMAINS file = nama_file PREDICATES tulis_file baca_file GOAL makewindow(1,11,5,”Baca-Tulis File”,5,10,15,60), tulis_file,nl, write(“File file3.dat dibaca kembali”),nl,nl, baca_file. CLAUSES tulis_file :- openwritedevice(nama_file,”a:file3.dat”), writedevice(nama_file), readln(Kalimat), write(Kalimat), closefile(nama_file), writedevice(screen). baca_file :- openread(nama_file,”a:file3.dat”), readdevice(nama_file), readln(Klm), write(Klm), closefile(nama_file).

9 Contoh program Menambah isi file
DOMAINS file = file_tulis PREDICATES tambah_file GOAL clearwindow, write(“Tuliskan sebuah kalimat dan setelah “), write(“menekan enter, kalimat tsb akan ditambahkan ‘), write(“ke file file1.dat\n”), tambah_file. CLAUSES tambah_file :- openappend(file_tulis,”a:file1.dat\n”), writedevice(file_tulis), readln(Kalimat), write(Kalimat), closefile(file_tulis), writedevice(screen).

10 Contoh program menggabungkan dua buah file
DOMAINS file = file1 nama = string PREDICATES gabung_file(nama,nama) GOAL makewindow(1,13,14,”Menggabungkan File”,3,10,18,60),nl, clearwindow,nl, write(“ Nama file 1 ”), readln(Nama1),nl, write(“ Nama file 2 “), readln(Nama2),nl, gabung_file(Nama1,Nama2), file_str(Nama1,Isi), display(Isi). CLAUSES tambah_file :- openappend(file_tulis,”a:file1.dat\n”), writedevice(file_tulis), readln(Kalimat), write(Kalimat), closefile(file_tulis), writedevice(screen).

11 program untuk melihat isi file pada posisi tertentu
CLAUSES tulis_file(Nama) :- openwrite(nama_file,Nama), writedevice(nama_file), readln(Kalimat), write(Kalimat), closefile(nama_file), writedevice(screen). posisi :- readdevice(keyboard),nl, write(“ Posisi karakter yang dilihat : “), readint(Pos), readdevice(nama_file), filepos(nama_file,Pos,0), readchar(Kar), write(“ Karakter tersebut adalah : “,Kar), posisi. DOMAINS nama = string file = nama_file PREDICATES tulis_file(nama) posisi GOAL makewindow(1,13,14,”Posisi File”,3,10,18,60),nl write( “ Nama file : “), readln(Nama),nl, write(“Tuliskan kalimat yang akan disimpan di disket “),nl tulis_file(Nama),nl, write(“ Memeriksa karakter dalam file ”),nl,nl, openread(nama_file,nama), posisi.

12 Program mengubah isi file
DOMAINS nama = string file = nama_file PREDICATES ubah_file(nama) GOAL makewindow(1,13,14,”Mengubah isi File”,3,10,18,60),nl write( “ Nama file : “), readln(Nama),nl file_str(Nama,Isi), write(Isi),nl,nl, ubah_file(Nama). CLAUSES ubah_file(Nama) :- openmodify(name_file,Nama), write(“ Posisi karakter yang akan di ubah : “), readint(Pos), writedevice(nama_file), filepos(nama_file,Pos,0), readln(Kata), write(Katat), closefile(nama_file), writedevice(screen). file_str(Nama,Isi_Baru), display(Isi_Baru).

13 Mengubah isi file menjadi huruf besar
DOMAINS file = input;output PREDICATES menu ubah_file cek_eof(file) GOAL menu. CLAUSES menu :- makewindow(1,13,3,”Ubah File”,0,0,25,80),nl write( “ Nama file yang akan diubah ? “), readln(FileInput),nl, write( “ Nama file hasil ? “), readln(FileOutput), openread(input,FileInput), readdevice(input), openwrite(output,FileOutput), writedevice(output), ubah_file, closefile(input), closefile(output), write(“ Anda ingin memeriksa hasilnya (y/t) ? “), readchar(Jawaban), Jawaban = ‘y’,!, clearwindow file_str(FileOutput,Hasil), writedevice(screen), write(Hasil). menu :- write(“ \n Selesai”). ubah_file :- cek_eof(input), readln(Klm), upper_lower(KlmBesar,Klm), write(KlmBesar),nl, fail. ubah_file. cek_eof(_). cek_eof(File) :- not(eof(File)),cek_eof(File).


Download ppt "Pengolahan string dan operasi file"

Presentasi serupa


Iklan oleh Google