Upload
mulya-diana-murti
View
3
Download
0
Embed Size (px)
DESCRIPTION
modul 2
Citation preview
MODUL II
Menulis dan Membaca Berkas Teks
Mulya Diana Murti
10212003
Email : [email protected]
Abstrak
Pada praktikum yang berjudul Menulis dan Membaca Berkas Teks ini kita akan memasukkann
inputan program dari keyboard ke konsol,piping pada program menggunakan cin , menulis
kedalam berkas teks , menulis berkas teks dengan argumen program, menuliskan banyak kata
tanpa diedit , menuliskan pasangan data x dan y , serta membaca berkas teks.Selanjutnya kita
akan memplot data x dan y yang ada menggunakan gnuplot.
1. Input dan Output pada Konsol
Pada praktikum yang pertama ini bertujuan untuk memasukkan inputan oleh user dari
keyboard ke konsol.
Ketikkan kode berikut :
mailto:[email protected]
Pada program ini , computer akan meminta user untuk menginput nama serta NIM.Setelah user
selesai menginput NIM , maka computer akan mengelompokkan user berdasarkan kelompok
NIM ganjil atau genap.
Dari masukan kode di atas :
1. bool ganjil = (bool)(NIM%2) merupakan pendeklarasian bahwa variable ganjil
merupakan variable yang memiliki nilai sisa 1 ketika NIM yang dimasukkan user dibagi
dengan 2 , jika hal ini terpenuhi maka computer akan mengelompokkan user ke
kelompok ganjil.
2. Jika pendeklarasian dari variable ganjil tidak terpenuhi atau sisanya bernilai 0, maka
dilanjutkan else komputer akan mengelompokkan user ke kelompok genap.
Kita akan mengecek keluaran program ,
Dapat kita lihat bahwa , saat pemanggilan dilakukan , maka akan keluar COMP :Siapakah
nama Anda? Disini user akan memasukkan namanya.Masukan nama oleh user ini hanya
berlaku untuk satu argumen saja , karena jika user memasukkan nama lebih dari satu argument ,
maka pada program ini komputer akan membacanya sebagai argument ke dua yang merupakan
inputan selanjutnya untuk NIM.Dari argument ini komputer tidak akan membaca nilainya , yang
berarti sisa dari argument ini adalah 0.Maka komputer akan langsung mengelompokkan user
kedalam kelompok genap.
Selanjutnya komputer akan meminta user untuk memasukkan NIM serta akan
mengelompokkannya berdasarkan inputan dari user.
2. Piping pada Program yang Menggunakan cin
Untuk dapat menginput jawaban dari komputer sekaligus , maka dapat dilakukan dengan cara
mengetikkan echo sebelum mengetikkan jawaban ketika menjalankan program.Disini user tidak
perlu menginput jawaban dari komputer satu persatu , dengan catatan user harus tahu apa
pertanyaan dari komputer serta urutannya.Mari kita lihat dengan menjalankan perintah console-
io berikut ,
Mengompilasi
Menjalankan program
Masukan oleh user
3. Menulis ke Dalam Berkas Teks
Pada praktikum ini , kita akan menulis teks dengan bentuk filename.txt dan mengintip apa
yang ada pada file tersebut dengan melakukan pemanggilan cat filename.txt.
Pada program dengan filename hello.txt di atas , terdapat Hello world! yang merupakan
isi dari file.Isi dari file ini dapat kita intip dengan menjalankan program sebagai berikut ,
Filename bertipe char
dengan nama hello.txt
Pendeklarasian fout
sebagai output file
streaming
Membuka file hello.txt
Menutup file
4. Menulis Berkas Teks dengan Argumen Program
Pada praktikum kali ini kita akan menuliskan Hello world! ke dalam file teks dengan nama
keluaran diberikan melalui argument program.
Ketikkan kode berikut :
Selanjutnya kita jalankan program dengan ./writehelloarg , disini compiler akan membuat file
dan konten sesuai dengan yang dirancang pada program.
Mengompilasi
Menjalankan program
Mengintip isi file
hello.txt
Keluaran program
Memberikan nama
default kepada file
dengan nama file
hello.txt
Kopi string ditunjukkan
oleh string sumber
(filename) ke dalam
array yang ditunjuk
oleh tujuan
Pendeklarasian fout
Membuka file hello.txt
Menulis Hello world
pada file
Menutup file
Namun,ketika kita melakukan pemanggilan program dengan ./writehelloarg hello2.txt maka
disini compiler akan membuat file baru dengan nama file hello2.txt dan dengan konten yang
sama dengan hello.txt sebelumnya yang sudah diprogram , yaitu Hello world!.Dan untuk
mengintip isi file tersebut , maka kita mengetikkan cat hello2.txt.
5. Menuliskan Banyak Kata Tanpa Dapat Diedit
Ketikkan kode berikut :
Pendeklarasian
NO_FILENAME dengan
tipe bool yang bernilai
true
Pendeklarasian EXIT
dengan tipe bool yang
bernilai false
Membuka file
Syarat perintah jalan
jika file di buka
Jika user menekan
tombol x ,maka nilai
true untuk exit
Pada program ini kita dapat memasukkan input berupa kata-kata apa saja , hal ini dilakukan
setelah memasukkan output filename , yaitu mywords.txt.Proses masukan input ini akan berakhir
ketika user menekan tombol x yang diikuti oleh enter.Karena ketika kita menekan tombol x
maka EXIT akan bernilai true yang menyebabkan fout tertutup.
Mari kita lihat jalan dari program di atas :
6. Menuliskan Pasangan Data x dan y
Pada program kali ini , kita akan menuliskan pasangan data x dan y pada file txt.
Ketikkan kode berikut :
User menginput x
yang mengakibatkan
jalannya program
berhenti
Program ini akan menampilkan nilai x dan y sesuai dengan persamaan yang dibuat dalam
program.Saat program dijalankan , maka program akan menjalankan persamaan dan
menuliskannya pada file data-xy.Persamaan di atas dideklarasikan dengan x yang merupakan
suatu nilai bertipe double yang dimulai dari 0 sampai 10.Disaat itu pulalah y juga akan mengikuti
persamaan y=(x-3)*(x-7).Selanjutnya mari kita jalankan program di atas,
Dapat kita lihat ketika kita melakukan pengintipan nilai dari program , nilai dari y ketika x=10
atau f(10) =21, y ketika x=5 atau f(5)=-4 , y ketika x=7 atau f(7)=0 , dan begitu pula dengan nilai
y yang lainnya dengan nilainya yang sesuai dengan persamaan.
7. Membaca Berkas Teks
Program ini bertujuan untuk membaca berkas teks yang telah kita buat.
Masukkan kode berikut :
Mari kita lihat jalannya program dengan beberapa macam pemanggilan,
a. ./readfile
Dapat kita lihat ketika kita memanggil program dengan ./readfile , maka keluarannya adalah
Usage : readfile filename.Hal ini terjadi karena argc
Dapat kita lihat , ketika kita melakukan pemanggilan program dengan ./readfile data-xy.txt ,
maka keluaran yang dihasilkan adalah data pada data-xy.cpp yang telah kita buat tadi.Disini
argument data-xy.txt diperiksa apakah data-xy.txt ada didalam folder kita.Jika ada , maka
selanjutnya program akan menampilkan data tersebut sampai baris terakhir.Setelah data yang
ditampilkan habis , maka program akan berhenti.
c. ./readfile data-xyz.txt
Dapat kita lihat ketika kita melakukan pemanggilan program dengan ./readfile data-xyz.txt ,
maka keluaran yang dihasilkan adalah readfile : data-xyz.txtcan not be opened.Hal ini terjadi
karena argc>2 , yang mengakibatkan program terus melanjutkan perintah.Disini program tidak
menemukan data-xyz.txt berada di folder.
8. Membaca Berkas Teks Pasangan Data x dan y
Ketikkan kode berikut :
Nilai dari ss atau stringstream bergantung pada berapa nilai pada tiap line,nilai dari ss akan
dimasukkan ke x[i] dan y[i] sampai proses selesai.Disini pada keluarannya program akan
menampilkan nilai dari x[i] dan y[i] dimana x dan y tersebut dipisahkan oleh satu tab (\t),dan
setiap i dipisahkan oleh satu spasi.
Mari kita jalankan program dengan melakukan pemanggilan ./readxy data-xy.txt,
Dapat kita lihat program menampilkan data pada data-xy.txt.Namun , disini
9. Membaca dan Menulis Berkas Data x dan y
Pada program kali ini kita akan membaca dan menulis berkas data x dan y.
Ketikkan kode berikut :
Mari kita lihat keluaran program dengan pemanggilan :
a. ./writexy data-xy-org.txt
Dapat kita lihat , ketika kita melakukan pemanggilan dengan ./write data-xy-org.txt maka
keluaran yang ditampilkan adalah data pada data-xy.txt dan membuat file baru dengan nama
data-xy-org.txt.
b. ./absxy data-xy-org.txt data-xy-abs.txt
Dapat kita lihat , ketika kita melakukan pemanggilan dengan ./write data-xy-org.txt data-xy-
abs.txt maka keluaran yang ditampilkan adalah data pada data-xy-org.txt dan dilanjutkan dengan
data-xy.txt dengan nilai y mutlak, dan membentuk suatu file baru dengan nama data-xy-abs.txt.
10. Perkenalan dengan Gnuplot
Gnuplot dalam digunakan dengan melakukan pemanggilan gnuplot.Berikut keluaran setelah
pemanggilan gnuplot.
Pemanggilan gnuplot
11. Tugas Tambahan
Fungsi 1 : y1= 10sin(3t)
Dengan nilai t= 0 sampai 100 s.
Keluaran fungsi 1 :
Keluaran dari fungsi1 diatas dapat kita plot nilainya dan menghasilkan gambar sebagai berikut,
Fungsi 2 : y2=10 sin(3t/2)
Dengan t=0 sampai 100 s
Keluaran fungsi 2 :
Keluaran dari fungsi2 diatas dapat kita plot nilainya dan menghasilkan gambar sebagai berikut,
Fungsi3 : y3=y1+y2
Ketikkan kode berikut :
Kemudian ketikkan kode untuk pemanggilan promram diatas
Keluaran fungsi 3 :
Keluaran dari fungsi3 diatas dapat kita plot nilainya dan menghasilkan gambar sebagai berikut,