INF-103 Pemrograman II INPUT/OUPUT INTRO Dr. Taufik Fuadi Abidin, M.Tech Irvanizam, M.Sc Program Studi Informatika FMIPA UNIVERSITAS KUALA http://www.informatika.unsyiah.ac.id
Program I: hello.cpp // Program Hello World dalam C++ // oleh Programmer, versi 1.0 #include <iostream> // I/O library using namespace std; int main(){ cout << "Hello, World!" << endl; 2
Program I: Lanjutan cout << "Hello, world!" << endl; Identifier cout didefinisikan dalam library iostream sebagai output stream standar yang terhubung ke layar Identifier endl merupakan manipulator standar yang akan mencetak semua string dalam cout ke layar ditambah sebuah baris baru (newline) Operator << adalah operator put-to output yang akan mencetak semua elemen ke dalam cout. 3
Program I: Lanjutan Tanpa menggunakan using namespace std, maka bagian cout menjadi: std::cout << "Hello, world!" << std::endl; Operator :: disebut sebagai scope resolution operator. Operator ini memberitahu compiler scope apa yang harus diperhatikan sehingga identifier cout bermakna 4
Program I: Lanjutan Sebuah fungsi dalam C++ memiliki tipe return. Tipe ini dapat berupa void, yang berarti bahwa tidak ada nilai yang dikembalikan. Fungsi main() mengembalikan sebuah nilai integer. Secara implisit, fungsi main() mengembalikan nilai 0 yang berarti eksekusi berakhir secara normal. Jadi akhir dari Program I dapat ditambah pernyataan: return 0; Sebelum simbol pada bagian akhir program 5
Program II: hello2.cpp // Program Hello World dalam C++ // oleh Programmer, versi 2.0 #include <iostream> // I/O library using namespace std; int main(){ cout << "Hello, "; cout << "World!" << endl; return 0; 6
Program III: hello3.cpp // Program Hello World dalam C++ // oleh Programmer, versi 3.0 #include <iostream> // I/O library using namespace std; int main(){ cout << "Hello, World" << endl; cout << "Universe!" << endl; cout << "Hello, World\nUniverse!" << endl; return 0; 7
Program IV: // Change in dimes and cent #include <iostream> using namespace std; int main (){ int price, change, dimes, cents; cout << Masukkan jumlah uang (0:100): "; cin >> price; change = 100 price; // sisa dimes = change / 10; // jumlah koin 10 cents = change % 10; // jumlah koin 1 cent cout << "\n\nsisa:" << dimes << " dimes "; cout << cents << " cents." << endl; 8
Kompilasi C++ Menggunakan OS Linux: c++ -Wall -o myprog program1.cpp Eksekusi: Linux%>./myprog Menggunakan OS Windows: bcc -Wall -o myprog.exe program1.cpp Eksekusi: c:%>myprog 9
Comment /* Program Elements Multiline Comments Are Frequently Introductory Programmer: Laura Pohl */ Date: F, 1989 Version: DJD v4.2 10
iostream C++ juga dapat menggunakan fungsi yang ada dalam C, seperti printf() dan scanf(), namun penggunaan iostream library lebih dianjurkan karena tidak perlu memperhatikan format dan tipe data yang akan dicetak. Sebagai contoh: cout << x; Tipe dari x tidak perlu diketahui sehingga peluang akan terjadi kesalahan dapat ditekan. Dalam format C ditulis: printf("%format_dari_x", x); 11
Program: io.cpp #include <iostream> using namespace std; int main(){ int i, double x; cout << "\nenter a double: "; cin >> x; cout << "Enter a positive integer: "; cin >> i; while (i < 1){ cerr << "error i = " << i << endl; cout << "Enter a positive integer: "; cin >> i; cout << "i * x = " << i * x << endl; 12
Program: gcd.cpp int gcd(int m, int n){ int r; while (n!= 0) { r = m % n; m = n; n = r; return m; 13
Program: utama.cpp #include <iostream> using namespace std; int main(){ int x, y, jumlah; cout << "\nprogram GCD C++"; cout << "\njumlah perhitungan GCD:"; cin >> jumlah; for (int i = 0; i < jumlah; ++i) { cout << "\nmasukkan dua integer: "; cin >> x >> y; cout << "\ngcd("<< x << ","<< y <<")= "; cout << gcd(x, y) << endl; 14
Kompilasi C++ Menggunakan OS Linux: c++ -Wall -o myprog gcd.cpp utama.cpp Eksekusi: Linux%>./myprog 15
Casting Dalam C++ Jika i bertipe int static_cast<double>(i) Mengubah nilai i menjadi dalam format double Bagaimana dengan kedua pernyataan berikut? y = static_cast<char>('a' + 1) x = static_cast<double>(static_cast<int>(y) + 1) 16
Contoh Casting Lanjutan #include <iostream> using namespace std; const double lbs_to_kg = 2.2046, inches_to_meter = 39.370; int main(){ int weight, height; double kilograms, meters; cout << "\nenter weight in pounds: "; cin >> weight; kilograms = weight / lbs_to_kg; cout << "\nthis is approximately " << static_cast<int>(kilograms) << "kg." << endl; cout << "\nenter height in inches: "; cin >> height; meters = height/inches_to_meter; cout << "\nyour BMI is approximately " << "body fat ratio is " << kilograms/(meters * meters) << ". Under 25 is good. << endl; 17