30
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 :

10212003 Modul02

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,