• Tidak ada hasil yang ditemukan

P00 Perintah Dasar dalam Linux

N/A
N/A
Protected

Academic year: 2021

Membagikan "P00 Perintah Dasar dalam Linux"

Copied!
12
0
0

Teks penuh

(1)

P00

|

Perintah Dasar dalam Linux

Modul Praktikum FI2283 Pemrograman dan Simulasi Fisika

Versi 2014.08.25

Catatan. Perhatikan berkas (atau file) apa yang harus anda buat dalam setiap tugas. Setiap kali praktikum buat folder baru dengan nama YYYYMMDD-NN dengan YYYY adalah tahun, MM bulan, DD hari, dan YYYYMMDD-NN nomor prak-tikum. Contoh, untuk hari Senin, 1 September 2014, setiap pengguna meny-impan berkas-berkasnya dalam folder 20140901-01 di bawah folder Documents (untuk ini tanyakan jelasnya pada asisten praktikum Anda). Bila berkas Anda tidak ditemukan maka nilai praktikum hanya dari angka kehadirannya saja.

1 Perintah Dasar dalam Linux 1

1

Perintah Dasar dalam Linux

Linux merupakan sistem operasi yangterminal-based, sehingga untuk bisa meng-gunakan Linux dengan baik, pengguna harus terbiasa dengan perintah-perintah dasar Linux yang diketikkan ke dalam konsol. Perlu diingat bahwa perintah dalam Linux bersifatcase-sensitive. Berikut ini adalah beberapa perintah dasar yang umum digunakan dalam Linux:

(2)

pwd Mengetahui alamat lengkap dari direktori kerja saat ini.

ls Mengetahui isi dari direktori kerja saat ini.

cd <anak direktori> Berpindah ke direktori lain yang berada dalam direk-tori kerja saat ini. Ganti<anak direktori>dengan

..untuk berpindah ke direktori yang satu level lebih tinggi dari direktori kerja saat ini.

cp <asal> <tujuan> Menyalin file<asal> ke<tujuan>.

mv <asal> <tujuan> Memindahkan file <asal> ke <tujuan>. Bisa juga digunakan untuk mengubah nama file.

rm <file> Menghapus<file>.

./<program> Mengeksekusi <program>. Perlu diingat bahwa

<program>haruslah memiliki atributexecutable, dan dalam Linux file yang dapat dieksekusi tidak perlu harus memiliki ekstensi khusus (seperti .exe pada Windows).

Tombol <Tab> Auto-complete. Tekan dua kali untuk melihat semua kemungkinan yang ada saat ini.

(3)

P01

|

Pengenalan Pemrograman C++ di Linux

Modul Praktikum FI2283 Pemrograman dan Simulasi Fisika

Versi 2014.08.31

Catatan. Perhatikan berkas (atau file) apa yang harus anda buat dalam setiap tugas. Setiap kali praktikum buat folder baru dengan nama YYYYMMDD-NN di mana YYYY adalah tahun, MM bulan, DD hari, dan NN nomor praktikum. Untuk hari Senin, 1 September 2014 yang merupakan praktikum pertama, se-tiap pengguna menyimpan berkas-berkasnya dalam folder 20140901-01 di bawah folder Documents (untuk ini tanyakan jelasnya pada asisten praktikum Anda). Bila berkas Anda tidak ditemukan maka nilai praktikum hanya dari angka ke-hadirannya saja.

1 Program pertama hello.cpp 2

2 Arti pilihan-o saat kompilasi program 2

3 Melewatkan argumen saat program dipanggil 3

4 Peran spasi pada argumen program 3

5 Menampilkan semua argumen program 4

6 Contoh penggunaan instruksi if 4

7 Program tambah.cpp 5

8 Program add.cpp 6

9 Program subst.cpp 7

(4)

1

Program pertama

hello.cpp

Perhatikan kode lengkap berikut ini

#include <iostream> using namespace std;

int main(int argc, char *argv[]) {

cout << "Hello C++!" << endl; return 0;

}

Salin kode tersebut dengan menggunakan piranti lunak penyunting teks yang umumnya tersedia dalam sistem operasi Linux, seperti Vi atau Vim, Kate, Joe, Emacs, KWrite, atau lainnya. Simpan dengan namahello.cppdan kemudian kompilasi dengan cara

g++ hello.cpp -o hello

dan jalankan dengan mengetikkan

.\hello

Apakah hasil yang muncul pada konsol?

Tugas 1. Modifikasi kode di atas dan simpan dengan nama berkashello2.cpp

sehingga dapat memberikan keluaran seperti berikut ini

Selamat praktikum FI2283, <Nama Anda>.

setelah dipanggil, di mana ganti<Nama Anda> dengan rangkaian karakter yang merepresentasikan nama Anda sebagai peserta praktikum FI2283.

2

Arti pilihan

-o

saat kompilasi program

Kembali gunakan programhello.cppyang telah dibuat sebelumnya, kompilasi program tersebut dengan cara yang berbeda, yaitu

(5)

Berkas apakah yang muncul dan bagiamana sekarang Anda menjalankan pro-gram hasil kompilasi tersebut?

Tugas 2. Kompilasi program hello.cpp semula sehingga saat dijalankan, perin-tah yang harus diberikan pada konsol adalah

./myhello

Tuliskan cara melakukan kompilasi tersebut dalam berkaslaporan.txt. Berkas ini nanti akan diperiksa oleh asisten.

3

Melewatkan argumen saat program dipanggil

Salin kode berikut ini

#include <iostream> using namespace std;

int main(int argc, char *argv[]) { if(argc > 1) {

cout << "Selamat praktikum, "; cout << argv[1] << endl; }

return 0; }

dan simpan dalam berkas dengan namanama.cpp, lalu kompilasi sehingga dapat dipanggil dengan cara

./nama "Nama-Depan Nama-Belakang"

Tugas 3. Lakukan pemanggilan dengan menggunakan jumlah kata yang lebih banyak dengan keseluruhan kalimat masih diapit oleh tanda petik ganda buka dan tutup. Tuliskan perintah yang dipanggil dan hasilnya kembali dalam berkas

laporan.txt.

4

Peran spasi pada argumen program

Tugas 4. Kembali gunakan hasil kompilasi program nama.cpp dan lakukan pemanggilan dengan cara

(6)

./nama "Nama-Depan Nama-Belakang" ./nama Nama-Depan Nama-Belakang

Jelaskan perbedaan hasilnya dalam berkaslaporan.txt.

5

Menampilkan semua argumen program

Ketik kode berikut dalam suatu program dengan namaarg-list.cpp

#include <iostream> using namespace std;

int main(int argc, char *argv[]) { for(int i = 0; i < argc; i++) {

cout << argv[i] << endl; }

return 0; }

Kompilasi sehingga diperoleh perintaharg-list.

Tugas 5. Gunakan hasil kompilasi program arg-list.cpp dan lakukan pe-manggilan dengan cara

./arg-list

./arg-list "Selamat pagi" ./arg-list Selamat pagi ./arg-list 1 2 3 Apa kabar

Jelaskan apa tujuan program tersebut serta jelaskan perbedaan hasilnya dalam berkaslaporan.txt.

6

Contoh penggunaan instruksi

if

Ketik kode berikut dalam suatu program dengan namaifnama.cpp

#include <iostream> using namespace std;

(7)

int main(int argc, char *argv[]) { cout << endl;

if(argc < 2) {

cout << "Tolong masukkan nama Anda."; cout << endl;

} else {

cout << "Selamat praktikum, "; for(int i = 1; i < argc; i++) {

cout << argv[i] << " "; } cout << "." << endl; } cout << endl; return 0; }

dan kompilasi sehingga diperoleh perintahifnama.

Tugas 6. Eksekusi program yang telah dibuat dengan cara

./ifnama

dan ulangi dengan cara

./ifnama Limana Kapau Nissa Munaakah

di mana kata-kata di atas dapat Anda ganti sesukanya :-). Jelaskan apa fungsi program tersebut dan bagian mana program yang dijalankan saat dipanggil dengan cara pertama dan bagian mana yang dijalankan saat dipanggil dengan cara kedua. Tuliskan jawaban Anda dalam berkaslaporan.txt.

7

Program

tambah.cpp

Programtambah.cpp adalah contoh program dengan kontrol jumlah argumen dan informasi apa parameter yang harus lewatkan.

#include <iostream> #include <stdlib.h> using namespace std;

(8)

if(argc < 2) {

cout << "Calculate sum of number sequence."; cout << endl;

cout << "Usage: tambah x1 x2 x3 [..]" << endl; } else {

double sx = 0;

for(int i = 1; i < argc; i++) { sx = sx + atof(argv[i]); }

for(int i = 1; i < argc; i++) { cout << (argv[i]); if(i < argc - 1) { cout << " + "; } } cout << " = " << sx << endl; } return 0; }

Tugas 7. Salin dan kompilasi kode tersebut menjadi perintah tambah dan jalankan dengan cara

./tambah 1 2 3 4 5

Angka-angka di atas dapat Anda ubah semaunya. Laporkan cara Anda me-manggil program dan hasilnya dalam berkaslaporan.txt.

8

Program

add.cpp

#include <iostream> #include <stdlib.h> using namespace std;

int main(int argc, char *argv[]) {

if(argc < 2) {

cout << "Calculate sum of two integers"; cout << endl;

cout << "Usage: add i1 i2" << endl; } else {

double x1 = atof(argv[1]); double x2 = atof(argv[2]);

(9)

double sx = x1 + x2; cout << sx << endl; }

return 0; }

Tugas 8. Dalamlaporan.txttuliskan bagaimana Anda melakukan kompilasi program add.cpp dan jelaskan cara-cara memanggil yang masih memberikan hasil yang relevan dengan hasilnya.

9

Program

subst.cpp

Tugas 9. Modifikasi programadd.cppsehingga dapat menghitung selisih dua variabel saat dipanggil dari konsol dengan cara

./subst 100.3 40.2

sehingga memberikan hasil

60.1

di mana contoh angkanya dapat Anda ubah-ubah. Simpan program tersebut dengan namasubst.cpp.

10

Perkenalan argumen dan pipe

Salin kode berikut dalam berkas dengan namaaddintp.cpp

/*

addintp.cpp

Add integers and use of pipe S. Viridi <dudung@gmail.com> 20130906 */ #include <iostream> #include <stdlib.h> #include <unistd.h> using namespace std;

(10)

/* URI http://stackoverflow.com/questions/2564503 /how-do-i-check-if-my-program-has-data-piped-into-it [20130906] URI http://linux.die.net/man/3/isatty [20130906] URI http://www.rtems.com/ml/rtems-users/2011/march /msg00102.html [20130906] */

int main(int argc, char *argv[]) {

// Check whether there is pipe from other program bool isPipe = !isatty(STDIN_FILENO);

// Checek whether there is (are) argument(s) bool isArgs = (argc > 1);

// Default message

char msg[] = "Usage: [addintp i1 i2] | addintp i3 i4"; if(isPipe && !isArgs) {

cout << msg << endl; } else if(!isPipe && isArgs){

if(argc > 2) { int i1 = atoi(argv[1]); int i2 = atoi(argv[2]); cout << i1 + i2 << endl; } else { cout << msg << endl; }

} else if(isPipe && isArgs){ if(argc > 2) { int i0; cin >> i0; int i1 = atoi(argv[1]); int i2 = atoi(argv[2]); cout << i0 + i1 + i2 << endl; } else { cout << msg << endl; } } else { cout << msg << endl; } }

(11)

Tugas 10. Jalankan program tersebut dengan menggunakan dua buah bilangan dan laporkan hasilnya dalamlaporan.txt.

./addintp ./addintp 1 3

./addintp 1 3 | ./addintp 10 ./addintp 1 3 | ./addintp 10 5

Jelaskan pula dalamlaporan.txt apa fungsi dari program tersebut.

Keluaran praktikum

1. hello.cpp,hello2.cpp,nama.cpp,arg-list.cpp,ifname.cpp,tambah.cpp,

add.cpp,subst.cpp, danaddintp.cpp

2. laporan.txtyang berisikan jawaban dari Tugas 2, 3, 4, 5, 6, 7, 8, dan 10

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. 1

(12)

Referensi

Dokumen terkait

[r]

Teori Konstruktivisme , dalam www.teachersrock.net/ciri_konst.htm.. Pembelajaran dengan penguatan. Penguatan tidak selalu hal yang menggembirakan, tetapi bisa juga sebaliknya. Hal

Bagian ATK mengecek surat jalan yang diterima dengan formulir purchase order yang telah diarsip sebelumnya, jika tidak sesuai maka akan dilakukan konfirmasi ulang dengan supplier,

Konsentrasi primer yang lebih dari 1 µM akan menyebabkan primer tersebut menempel pada sekuen yang tidak diinginkan, sedangkan konsentrasi primer yang lebih

Laporan ini disusun pada minggu kedua Agustus 2013, paska liburan lebaran, karena dan mengingat maraknya kasus penembakan misterius dan makin banyaknya kekerasan

ANALISIS BERPIKIR REFLEKTIF SISWA DALAM MEMECAHKAN MASALAH MATEMATIKA MATERI GARIS SINGGUNG LINGKARAN KELAS VIII A (UNGGULAN) DI MTs NEGERI PAGU TAHUN.

Tindakan sewenang-wenang Raja John tersebut mengakibatkan rasa tidak puas dari para bangsawan yang akhirnya berhasil mengajak Raja John untuk membuat suatu perjanjian yang

[r]