Anda di halaman 1dari 16

MODUL 2 Membaca dan Menulis Berkas Teks Pemrograman dan Simulasi Fisika FI2283

Nova Lailatul Rizkiyah 10212042 Progam studi fisika, Institut Teknologi Bandung, Indonesia Email: novalailatulrizkiyah@gmail.com Asisten: Adam Mubarok Tanggal Praktikum: 5 Februari 2014 Absrak Pada modul Membaca dan Menulis Berkas teks ini bertujuan untuk mengenalkan kita pada kegunaan program C++ lainnya, yakni membaca dan menulis teks ke dalam suatu berkas. Teks yang kita tulis bisa beragam, bisa ditambah dengan argument program bahkan menuliskan pasangan data x dan y yang nantinya bisa divisualisasikan sebagai grafik/gambar. Selain menulis, kegunaan modul kali ini adalah membaca berkas teks, yang intinya, pada percobaan du bagian akhir, membaca dan menulis dijadikan satu bagian yang utuh, ditambah visualisasi hasil berkas dengan gnuplot.

1. Input dan Output pada konsol(console-io.cpp) Input:

Output:

Tujuan program console-io.cpp adalah perintah untuk menginput string pada computer dan menampilkannya sesuai perintah program diatas. Di run menggunakan ./console-io, jika inputan hanya 1 string maka, komputer akan menanyakan NIM, dan meminta inputan NIM. Namun jika lebih dari 1 string maka, komputer akan langsung berargumen terdaftar pada NIM genap tanpa menanyakan dan menginput NIM. Output 2:

Ketiga perintah ./console-io Nama, ./console-io Nama1 (spasi) nama2, ./console-io Nama1(spasi) NIM akan menghasilkan keluaran yang sama dimana perintah untuk menginput nama dan NIM pada masing-masing bagian. Seperti pada penjelasan diatas bahwa jika menginput string awal (perintah memasukkan nama) lebih dari 1 maka akan ditampilkan (Nama), Anda terdaftar pada kelompok ber-NIM genap tanpa menginput NIM terlebih dahulu.

2. Piping pada program yang menggunakan cin(console-io.cpp) Input:

Output:

Tujuan yang harus diketahui adalah setiap program C++ memanfaatkan perintah cin dapat dijalankan tanpa interaksi dengan pengguna jika telah diketahui jumlah masukan yang diperlukan. Jika perintah run adalah echo (nama) (NIM) | ./console-io seperti siatas maka akan dikeluarkan output tanpa butuh inputan string lagi karena sudah dipanggil dalam perintah run tersebut.

3. Menulis ke dalam berkas text input(writerhello.cpp) Input:

Output:

Pada program kali ini bertujuan untuk membuat file dengan nama hello.txt dengan isi file tersebut adalah Hello world. Jika di compile dengan ./writerhello tidak akan menghasilkan apa-apa, namun akan terbentuk file hello.txt jika di-ls (me-list file dalam suatu folder)

4. menulis berkas teks dengan argument program(writehelloarg.cpp) input:

Output:

Pada program ini dijelaskan bahwa strcpy(filename, argv[1]); berfungsi untuk mengcopi isi file ke dalam nama file baru. Nama file asli adalah hello.txt. dan berisi argument Hello world =). Jika di run menggunakan ./writehelloarg maka tidak menghasilkan apa-apa, namun jika di-ls akan tampil file dengan nama hello.txt. Jika di run manggunakan ./writehello (nama file baru).txt akan mengcopi isi file nama ke dalam file baru. Bisa dilihat dari fungsi cat (namafile) yang berguna untuk mengintip isi file tersebut.

5. menulis banyak kata tanpa diedit(writewords.cpp) input:

Output:

Jika diintip mrnggunakan cat:

Pada program ini diminta untuk menuliskan nama untuk inputan serta menginput isi file tersebut tanpa memasukkannya ke dalam code program seperti pada percobaan sebelum-sebelumnya. Maka, hasil keluaran isi file seperti tampak padagambar diatas. Yang merupakan bagian dari terminasi program adalah If(fout.is_open()) { Int i = 0; Bool FIRST_TIME = True; While(!EXIT) { Char ch = getchar(); If(ch== x) { EXIT =true; Terminasi program adalah bertujuan untuk menghentikan program. 6. . Menuliskan pasangan data x dan y(writexy.cpp)

Output:

Hubungan bentuk y=f(x) adalah y=(x-3)*(x-7). Nilai dari f(10)=21, f(5)=-4, f(7)=0, Isi dari berkas yang dihasilkan dalam perintah writexy sama seperti yang ada dalam code program. Program ini bertujuan untuk menuliskan pasangan/hubungan antara fungsi x dan fungsi y.

7. Membaca teks(readfile.cpp) Input:

Output:

Pada program kali ini bertujuan untuk membaca hasil isi file yang sudah disimpan dalam file data-xy.txt. jika di run menggunakan ./readfile maka akan dihasilkan argument readfile filename. ./readfile data-xy.txt artinya membaca file data-xy.txt sedangkan jika ./readfile dataxyz.txt tidak ada sehingga tampil argument can not be opened. 8. Membaca berkas teks pasangan data x dan y(readxy.cpp) Input:

Output:

Perbedaan hasil antara perintah ./readfile (nama file dan ../readxy (namafile) adalah jika dalam ./readxy (nama file) tidak akan ditampilkan x dan y karena dalam code program readxy ada perintah if(line[0] ! = #) yang artinya skip the header line that begins with # 9. Membaca dan menulis berkas data x dan y (absxy.cpp) Input:

Output:

Perintah ./writexy data-xy-org.txt adalah membaca/menuliskan data yang tadi sudah dibuat dengan perubahan diambil y yang negative saja, sedangkan ./absxy data-xy-org.txt data-xy-abs.txt berguna untuk membaca hasil dari ./writexy data-xy-org.txt lalu memanipulasi menjadi dataxy-abs.txt Hasilnya dapat dilihat pada gambar diatas bahwa hasil manipulasi tersebut memutlakkan y negatif. 10. Perkenalan dengan Gnuplot Gnuplot Membuat grafik dengan nama data-xy.png Akan menghasilkan gambar seperti ini: