INF-103 PEMROGRAMAN II
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
INF-103 PEMROGRAMAN II
Program I: hello.cpp // Program Hello World dalam C++ // oleh Programmer, versi 1.0 #include
// I/O library using namespace std; int main(){ cout << "Hello, World!" << endl; }
2
INF-103 PEMROGRAMAN II
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
INF-103 PEMROGRAMAN II
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
INF-103 PEMROGRAMAN II
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
INF-103 PEMROGRAMAN II
Program II: hello2.cpp // Program Hello World dalam C++ // oleh Programmer, versi 2.0 #include // I/O library using namespace std; int main(){ cout << "Hello, "; cout << "World!" << endl; return 0; } 6
INF-103 PEMROGRAMAN II
Program III: hello3.cpp // Program Hello World dalam C++ // oleh Programmer, versi 3.0 #include // I/O library using namespace std; int main(){ cout << "Hello, World" << endl; cout << "Universe!" << endl; cout << "Hello, World\nUniverse!" << endl; return 0; } 7
INF-103 PEMROGRAMAN II
Program IV: // Change in dimes and cent #include 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
INF-103 PEMROGRAMAN II
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
INF-103 PEMROGRAMAN II
Comment /* Program Elements Multiline Comments Are Frequently Introductory Programmer: Laura Pohl Date: F , 1989 Version: DJD v4.2 */
10
INF-103 PEMROGRAMAN II
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
INF-103 PEMROGRAMAN II
Program: io.cpp #include 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
INF-103 PEMROGRAMAN II
Program: gcd.cpp int gcd(int m, int n){ int r; while (n != 0) { r = m % n; m = n; n = r; } return m; }
13
INF-103 PEMROGRAMAN II
Program: utama.cpp #include 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
INF-103 PEMROGRAMAN II
Kompilasi C++ Menggunakan OS Linux: c++ -Wall -o myprog gcd.cpp utama.cpp Eksekusi: Linux%>./myprog
15
INF-103 PEMROGRAMAN II
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('A' + 1) x = static_cast<double>(static_cast(y) + 1)
16
INF-103 PEMROGRAMAN II
Contoh Casting Lanjutan #include 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(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