Latar Belakang Tujuan Latar Belakang Tujuan Latar Belakang Tujuan Latar Belakang Tujuan

STIMATA MODUL 4 : Perulangan

A. Latar Belakang

Praktikum pada modul 4 ini membahas penggunaan control perulangan yang telah dibahas pada saat Dasar Teori dikelas. Ada tiga macam jenis dari struktur kontrol pengulangan yaitu while, do … while, dan for. Mengerjakan latihan dan melakukan praktek mengenai penggunaan perulangan sebagai penambahan pemahaman mahasiswa dengan skill, selain pemahan abstrak.

B. Tujuan

Pada akhir pembahasan, diharapkan mahasiswa dapat memahami jenis-jenis perulangan dalam pemrograman C++:  While  Do ... While  For

C. Dasar Teori While

Forma while: while expression statement Fungsi while adalah mengulang statement selama expression bernilai benar Contoh, kita akan membuat sebuah program untuk menghitung berangsur-angsur menurun menggunakan perulanan while include iostream.h int main { int n; cout Masukkan bilangan awal: ; cin n; while n0 { cout n , ; --n; } cout Terakhir; return 0; } Masukkan bilangan awal : 8 8, 7, 6, 5, 4, 3, 2, 1, Terakhir Ketika program tersebut dijalankan dan user menginputkan sebuah angka mulailah program menghitung menurun. Kemudian while memulai perulangan, jika nilai yang diinputkan oleh user untuk kondisi n 0, maka block instruksi dibawah while akan dieksekusi dan mengidentifikasi angka berulang selama kondisi n0 bernilai benar Semua proses dalam program diatas dapat diterjemahkan pada alur berikut 1. User memberikan sebuah angka ke variabel n.

2. While menginstruksikan untuk mengecek, jika n0. Pada kondisi tersebut ada dua

kemungkinan: true: menjalankan statement langkah ke 3, false: melompati statement. Program menuju step 5.. 3. Menjalankan statement: cout n , ; Algoritma dan Pemrograman I 14 STIMATA --n; mencetak n pada layar monitor dan nilai n berkurang dengan 1. 4. Akhir blok. Secara otomatis kembali ke step 2. 5. Meneruskan program setelah akhir blok, kemudian mencetak TERAKHIR Dan mengakhiri program. Perulangan Do … While Format: do statement while condition; include iostream.h int main { unsigned long n; do { cout Enter number 0 to end: ; cin n; cout You entered: n \n; } while n = 0; return 0; } Enter number 0 to end: 12345 You entered: 12345 Enter number 0 to end: 160277 You entered: 160277 Enter number 0 to end: 0 You entered: 0 include iostream.h include conio.h void main { char c; clrscr; cout Masukkan sebuah Karakter X, untuk keluar PROGRAM endl; do { c = getch; menerima sebuah inputan karakter putcharc; menampilkan hit key } while c = X; coutTampil terus, Mass; } pada program ini, kita ingin menguji karakter inputan kita dengan kondisi yang diberikan c = X apakah sesuai atau tidak. Karakter inputan kita ditangkap oleh getch, kemudian di simpan pada variabel c. Perulangan DO…While, mengerjakan statemen terlebih dahulu baru dilakukan pembacaan kondisi yang diberikan. Pada contoh program diatas komentar “Tampil terus, Mass”, akan berada terus dilayar, jika karakter yang diinputkan tidak sama dengan huruf X huruf besar. 5 NAMA FILE LTH05.CPP include iostream.h void odd int a; void even int a; int main { int i; do { Algoritma dan Pemrograman I 15 STIMATA cout Type a number: 0 to exit; cin i; odd i; } while i=0; return 0; } void odd int a { if a2=0 cout Number is odd.\n; else even a; } void even int a { if a2==0 cout Number is even.\n; else odd a; } Perulangan for. Format perulangan For adalah: for initialization; condition; increase statement; Keterangan: 1. initialization jalankan, Umum nilai initial adalah sebuah variabel kounter. Nilai ini dijalankan hanya sekali

2. condition diperikasa, jika bernilai true perulangan dilanjutkan, selain itu perulangan

dihentikan dan statement dilewati. 3. statement dijalankan. Sebagai mana biasanya, hal itu dapat berupa singgel instruksi atau blokintruksi. 4. finally, jika terpenuhi maka increase dijalankan dan perulangan kembali ke langkah 2. Contoh program ini mengitung menurun dengan menggunakan perintah FOR include iostream.h int main { for int n=10; n0; n-- { cout n , ; } cout OK; return 0; } 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, OK TUGAS 1. Membuat program untuk menghitung angka dimulai dari 10 sampai 25. Angka awal dan akhir dimasukkan dalam dalam lokal variabel 2. Membuat program untuk mengitung angka dari kecil ke besar, dengan memasukkan sendiri nilai awal dan akhir yang akan dihitung.

3. Membuat program dengan hasil dilayar adalah 1,2,3, LEWAT AJA,5,6,7,8,9,10

Algoritma dan Pemrograman I 16 STIMATA MODUL 5 : Control and Jumps

A. Latar Belakang

Pada modul 5 ini membahas penggunaan control and jumps yang telah dibahas pada saat Dasar Teori dikelas. Perlunya mempraktekan hal tersebut sebagai penambahan pemahaman mahasiswa secara skill, selain pemahan secara abstrak.

B. Tujuan

Pada akhir pembahasan, diharapkan mahasiswa dapat memahami :  Jenis perintah untuk mengontrol alur program jalan eksekusi program dalam C++.  break, continue, goto dan switch.

C. Dasar Teori

Instruksi break Kita dapat menggunaan break untuk perulangan, jika kondisi tidak terpenuhi. Break dapat digunakan untuk mengakhiri perulangan atau menghentikan eksekusi yang tidak sebagai mana mestinya. Bisa dikatakan juga dapat digunakan untuk penghentian sebelum perulangan berakhir. Sebagai contoh kita ingin menghentika perhitungan menurun pada angka tertentu sebelum proses berakhir sacara wajar. break include iostream.h int main { int n; for n=10; n0; n-- { cout n , ; if n==3 { cout penghentian paksa; break; } } return 0; }

10, 9, 8, 7, 6, 5, 4, 3, penghentian paksa

Instruksi continue Continue menyebabkan program melewati proses yang seharusnya dieksekusi dalam perulangan sebagai mana jika blok statement telah dan akan sampai, sehingga menyebabkan meloncati pada perulangan berikutnya. Sebagai contoh kita akan meloncati angka lima 5 pada perhitungan menurun berikut ini. continue include iostream.h int main { for int n=10; n0; n-- { if n==5 continue; cout n , ; } cout OK; return 0; } 10, 9, 8, 7, 6, 4, 3, 2, 1, OK Insruksi goto Algoritma dan Pemrograman I 17 STIMATA Membuat lompatan ke point laintnya didalam program. Ketentuannya adalah lompatan diarahkan ke label yang diberi tanda colon : Contoh program dibawah ini ditunjukkan dengan label loop :, Sedangkan aksses goto terhadap label tersebut ditunjukkan pada goto loop. include iostream.h int main { int n=10; loop: cout n , ; n--; if n0 goto loop; cout FIRE; return 0; } 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, FIRE Selective Structure: switch. switch expression { case constant1: block of instructions 1 break; case constant2: block of instructions 2 break; . . . default: default block of instructions } Contoh switch example if-else equivalent switch x { case 1: cout x is 1; break; case 2: cout x is 2; break; default: cout value of x unknown; } if x == 1 { cout x is 1; } else if x == 2 { cout x is 2; } else { cout value of x unknown; } TUGAS 1. Buatlah program untuk mengitung angka 1 sd 25, program berhenti diangka 10. gunakan perintah break 2. Buatlah program untuk mengitung angka 1 sd 25, namun angka 10 tidak ditampilkan, gunakan perintah continue 3. Membuat pilihan jurusan; dari angka yang diinputkan [1 sd 5] jika 1 = “D3 MI”; 2 = “D3 TK”; 3=”SI SI”; 4=”S1 TI” dan 5 = “S1 SK” dengan menggunakan perintah switch. CONTOH tampilan Masukkan Pilihan Jurusan : 1 Jurusan Anda Pilih : D3 MI Algoritma dan Pemrograman I 18 STIMATA Algoritma dan Pemrograman I 19 STIMATA MODUL 6 : Function

A. Latar Belakang

Function adalah satu blok instruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program. Pada bab ini akan dipelajari tentang pembuatan fungsi pada program C++ serta cara penggunaannya serta mengerjakan soal latihan dan melakukan praktek mengenai pembuatan fungsi sebagai penambahan pemahaman mahasiswa dengan skill, selain pemahan abstrak.

B. Tujuan

Pada akhir pembahasan, diharapkan mahasiswa mampu membuat fungsi, melewatkan variabel dalam sebuah fungsi C++.

C. Dasar Teori

FUNGSI Fungsi adalah sebuah kumpulan instruksi yang dijalankan ketika dipanggil dari program yang sama atau dari program lain. Berikut ini adalalah format dari fungsi: Type name argumen1, argument2, …. statement dimana type : adalah type data pengembalian dari fungsi atau tipe dari fungsi itu sendiri void, int , float,…. name : adalah nama fungsi yang mungkin dapat dipanggil argument : adalah setiap argument yang berisi tipe data yang diikuti varibel seperti int x statement : adalah badan atau kerangka dari fungsi itu sendiri Pada program LTH06.CPP berikut adalah contoh pembuatan fungsi yang sederhana pada C+ +. Baris kedua dari program okefungsi void adalah nama fungsi. Dalam contoh program LTH06.CPP tidak ada parameter yang dilewatkan dalam fungsi. Program ini dibuat sederhana sekali. Yang perlu kita pahami disini adalah bagaimana kita menyusun sebuah fungsi sendiri dan cara pemanggilannya. Bangun fungsi diletakkan sebelum bangun utama dari program C++. Pemanggilan fungsi dilakakun pada baris kedelapan okefungsi . Nah bagaimana jika ada parameter yang harus dilewatkan?. Jawabnya dapat dijumpai pada program LTH07.CPP. Disini dapat kita lihat bagaimana cara melewatkan parameter dalam sebuah fungsi. Fungsi tanpa tipe, Fungi jenis ini menggunakan void 6 Nama File LTH06.CPP include iostream.h bangun fungsi void okefungsi void { cout Im a function; } bangun utama program int main { okefungsi ; pemanggilan nama fungsi return 0; Algoritma dan Pemrograman I 20 STIMATA } 6a. Nama file LTH6a.CPP include iostream.h int penjumlahan int a, int b { int r; r = a+b; return r; } int main { int z; z = pemjumlahan 5,3; cout hasilnya z; return 0; } Hasilnya 8 VARIABEL DALAM FUNGSI 7 Nama File LTH07.CPP include iostream.h include conio.h pendefinisian fungsi dan variabelnya. int penguranganint a, int b { int r; r=a-b; return r;} int main { clrscr; deklarasi fariabel int x=5, y=3, z; z = pengurangan 7,2; menampilkan pada layar pemanggilan fungsi cout Hasil model pertama z \n; cout Hasil model kedua pengurangan 7,2 \n; cout Hasil model ketiga pengurangan x,y \n; z= 4 + pengurangan x,y; cout Hasil model keempat z \n; pemberhentian program getch; return 0; } Melewatkan argument dengan nilai dan referensi Seperi pada lazimnya sebuah fungsi cara melewatkan argumen biasianya dengan nilai. Hal ini bisa kita liha pada contoh program sebelumnya LTH07.CPP. Disana kita ingin melewatkan argumen a dan b yang bertipe int pada fugnsi pengurangan. Algoritma dan Pemrograman I 21 STIMATA Sedangkan pada LTH08.CPP adalah fungsi model exclusive pada C++ yang berbeda dengan C. Disini digunakan referensi untuk melewatkan argumen dan bukanya nilai yang digunakan untuk melewatkan argumen. Kelebihan cara seperti ini, kita dapat memodifikasi variabel yang ingin dilewatkan. Dimana modifikasi tersebut tidak bisa dilakukan jika cara melewatkan argumen dengan nilai. 8 Nama File LTH08.CPP include iostream.h void duplicate int a, int b, int c { a=2; b=2; c=2; } int main { int x=1, y=3, z=7; duplicate x, y, z; cout x= x , y= y , z= z; return 0; } 9 Nama File LTH09.CPP include iostream.h void plesmint int x, int mint, int plest { mint = x-1; plest = x+1; } int main { int x=100, y, z; plesmint x, y, z; cout Previous= y , Next= z; return 0; } Default nilai dalam sebuah Fungsi Default nilai dalam sebuah fungsi disini menggabarkan bahwa nilai standar dapat diikutkan atau dilewatkan pada variabel nama fungsi dan bukan pada global variabel atau locl variabel. Kelibihan penggunaan defaulr ini, yaitu ketika pemanggilan nama fungsi untuk eksekusi fungsi. Pada saat pemanggilan tersebut tidak harus melewatkan seluruh nilai variabel yang dibutuhkan. Nilai default tidak harus diserrtakan pada saat pemanggilan fungsi. Jika nilai default tidak diganti dengan nilai lainnya saat fungsi tersebut dipanggil maka nilai defaul secara otomatis nilai diabaca. Contoh panggunaan nilai default ini bisa dilihat pada program LTH12.CPP. 10 Nama File LTH10.CPP include iostream.h int dibagi int a, int b=2 { int r; r=ab; Algoritma dan Pemrograman I 22 STIMATA return r; } int main { cout dibagi 12; cout endl; cout dibagi 20,4; return 0; } 11 Nama File LTH11.CPP overloaded function include iostream.h int divide int a, int b { return ab; } float divide float a, float b { return ab; } int main { int x=5,y=2; float n=5.0,m=2.0; cout divide x,y; cout \n; cout divide n,m; cout \n; return 0; } TUGAS 1. Buatlah program dalam bentuk fungsi untuk menghitung Isi dari sebuah kubus. 2. Apa kelebihan program dalam bentuk sebuah fungsi bila dibandingkan dengan program bukan. 3. Jika tanda ampersand pada contoh program LTH09.CPP pada plest dhilangkan, muncul apa pada saat program tersebut di compile dan apa artinya. 4. Pada latihan program ke 10 LTH10.CPP, lakiukan perubahan dengan mengganti int b=2 menjadi int b. Apa yang terjadi ketika anda compile program baru tesebut. Mengapa demikian? Algoritma dan Pemrograman I 23 STIMATA MODUL 7 : Array dan Karakter String A. Latar Belakang Pada modul 7, akan dibahas mengenai Array dan Karakter String. Mengerjakan Latihan dan mempraktekan membuat aplikasi yang mengandung array, serta menggunakan fungsi yang menggunakan parameter array dan kapan harus menggunakan array, akan dibahas lebih lanjut pada modul ini. B. Tujuan Pada akhir pembahasan, diharapkan mahasiswa dapat memahami tentang array, tipe-tipe array serta karakter string dan implementasinya dalam C++. C. Dasar Teori ARRAY Array adalah seri dari elemen-elemen Variabel dalam satu tempat yang sama didalam memori dimana bisa menjadi individu-individu elemen hanya dengan menambahkan index dengan nama yang berbeda satu dengan lainnya unique Sebagai gambaran, kita dapat menyimpan 5 nilai dengan tipe int tanpa harus mendeklarasikan 5 variabel yang berbeda identitas satu dengan lainnya. Dengan array kita dapat menyimpan 5 nilai yang berbeda dalam tipe yang sama dengan identitas yang unik. Contoh : Dalam array berikut kita ingin menyimpan 5 nilai dengan tipe integer int dengan nama array-nya billy, dapat diilustrasikan sebagai berikut. Seperti variabel lainnya, array harus dideklarasikan terlebih dahulu sebelumdigunakan. Bentuk pendeklarasian array dalam C++ adalah sebagai berikut : Type nama [elements]; Type : type yang valid adalah [ int, float…] Nama : adalah nama variable yang dikenal Elements : adalah data field didalam tanda [ ] yang spesifik, menunjukkan jumlah elemen dalam array. 12 Nama File LTH12.CPP arrays example include iostream.h int data [] = {16, 2, 77, 40, 12071}; int n, result=0; int main { for n=0 ; n5 ; n++ { result += data[n]; } cout result; return 0; Algoritma dan Pemrograman I 24 STIMATA } Multidimensional array Multidimensional array dapat dideskripsikan array dalam array. Segai contoh kita dapat mengasosiasikan dalam sebuah tabel dalam satu kesatuan bentuk nyata dari tipe data. jimmy menggambarkan multidimensi dari 3 dibanding 5 misal dalam bentuk tabel berari 3 baris , 5 kolom. Untuk mendeklarasikan hal tersebut dalam array, kita dapat menuliskan sebagai berikut: int jimmy [3][5]; Dari array yang bernama jimmy tersebut kita dapat mengetahui isi dari arra tesebut. Sebagai contoh kita dapat menunjukan isi array untuk baris kedua dan kolom ke empat dengan berarti isi dari array yang dimaksud adalah jimmy [1][3]. Seperti diperlihatkan pada gambar dibawah ini: 13 Nama File LTH13.CPP include iostream.h define WIDTH 5 define HEIGHT 3 int budi [HEIGHT][WIDTH]; int n,m; int main { for n=0;nHEIGHT;n++ for m=0;mWIDTH;m++ { budi[n][m]=n+1m+1; } return 0; } Array Sebagai Parameter Pada suatu ketika kita mungkin perlu melewatkan array ke fungsi sebagai parameter. Dalam C++ hal tersebut bukanlah hal yang tidak mungkin melewatkan sebuah nilai dalam blok memori sebagai parameter ke sebuah fungsi. Contoh 14 Nama File LTH14.CPP include iostream.h void printarray int arg[], int length { 5 10 15 2 4 6 8 10 Algoritma dan Pemrograman I 25 STIMATA for int n=0; nlength; n++ cout arg[n] ; cout \n; } int main { int firstarray[] = {5, 10, 15}; int secondarray[] = {2, 4, 6, 8, 10}; printarray firstarray,3; printarray secondarray,5; return 0; } KARAKTER STRING Dalam contoh-contoh program sebelumnya, kita hanya menggunakan variabel numerik yang biasa mengekpresikan angka-angka eklusifnya. Tapi bilangan numetik didalam juga berisi karakter string. Disitu disajikan proses perpindahan dari karakter, kata-kata, kalimat, nama-nama, teks-teks, dan sebagainya. Sampai sekarang kita hanya menggunakannya dalam bentuk konstan, tetapi kita tidak pernah dapat mempertimbangkan variabel-variabel tersebut dapat masuk didalamnya. Sebagai contoh, array berikut or sring of characters char jenny [20]; dapat menyimpan sampai 20 karakter. Kita dapat membayangkannya sebagai berikut kita dapat merepresentasikan jenny array 20 elements of type characters menyimpan karakter string “Hello” dan “Merry Christmas” dalam ilustrasi berikut: Memasukkan angka ke String Selama lvalue pemasukan berupa elemen dalam bentuk array, hal itu masih dibenarkan valid untuk memasukkan karakter string kedalam array yang bertipe char. Kita dapat menggunakan model seperti berikut : mystring[0] = H; mystring[1] = e; mystring[2] = l; mystring[3] = l; mystring[4] = o; mystring[5] = \0; Tetapi yang anda pikirkan, hal ini nampaknya bukan cara atau sebua metode yang praktis. Pada umumnya pemasukan nilai-nilai kedalam array, dan lebih khususnya ke dalam sebuah karakter string menggunakan fungsi seperti strcpy. Strcpy string copy didefinisikan dalam libracy c++ Algoritma dan Pemrograman I 26 STIMATA file header cstring. H dan dapat kita akses dengan cara menuliskan sesuai dengan format sebagai berikut: strcopy string1, string2; Format tersebut adalah untuk mengopy menyimpan isi dari string2 kedalam string1 dapat juga bentuk lain seperti sebuah array, pointer, atau konstata string. Sebagai contoh, untuk mengkopi konstanta string kedalam variabel mystring: Strcopy mystring, “Hello”; 15. Nama File LTH15.CPP include iostream.h include string.h int main { char szMyName [20]; strcpy szMyName,Khoirul; cout szMyName; return 0; } Tampilan dilayar pada saat program di runing adalah Khoirul Catatan: kita memerlukan file header string.h diberi tanda blok hitam pada file LH15.CPP diatas agar supaya fungsi strcopy dapat di gunakan. Meskipun demikian kita dapat juga menulis sebuah fungsi yang sederhana untuk mensetting string dengan operasi kerja yang mirip atau sama dengan strcopy. 16. Nama File LTH16.CPP include iostream.h void setstring char szOut [], char szIn [] { int n=0; do { szOut[n] = szIn[n]; } while szIn[n++] = \0; } int main { char szMyName [20]; setstring szMyName,Khoirul; cout szMyName; return 0; } Khoirul Metode lain yang sering digunakan untuk memasukkan menginputkan data ke dalam array adalah dengan menggunakan cin. Ketika cin digunakan dengan karakter string biasanya diikuti dengan getline. Hal itu dapat diakses dengan mengikuti format dibawah ini: cin.getline char buffer[ ], int length, char delimiter =’ \n’; keterangan buffer adalah alamat dimana input mau disimpan, length adalah panjang maksimum dari buffer, delimiter adalah memindahkah ke baris baru, defaultnya tidak diikutkan dalam penulisan. Jika ingin mengikutkan kita harus menuliskannya. Dibawah ini, program LTH17.CPP dapat kita lihat penggunaan cin untuk menginputkan data. Algoritma dan Pemrograman I 27 STIMATA

17. Nama File LTH16.CPP include iostream.h

int main { char mybuffer [100]; cout Siapa Nama Anda? ; cin.getline mybuffer,100; cout Hello mybuffer .\n; cout Team Mana Kesukaan Anda? ; cin.getline mybuffer,100; cout Saya Suka mybuffer juga.\n; return 0; } Konversi String ke Bentuk lainnya Sebuah string mungkin mengandung tipe data lainnya seperti bilangan, mungkin digunakan untuk menerjemahkan isi bilangan tersebut ke data bertipe numerik. Sebagai contoh data string berisi “9499”, data tersebut berisi 4 karakter yang berurutan yang tidak mudah dikonversi ke singel data bertipe integer. Library cstdlib menyediakan tiga fungsi untuk tujuan tersebut

1. atoi: konversi string ke int 2. atol: konversi string ke long

3. atof: konversi string ke float

18 Nama File LTH18.CPP include iostream.h include stdlib.h int main { char mybuffer [100]; float harga; int jumlah; cout Masukkan Harga: ; cin.getline mybuffer,100; price = atof mybuffer; cout Masukkan Jumlah: ; cin.getline mybuffer,100; quantity = atoi mybuffer; cout Total Harga: hargajumlah; return 0; } TUGAS 1. Jika diketahui data sebagai berikut Char NamaPembeli[50];Char NamaBarang[50];Char Harga[5];Char Jumlah[3]; TotalHarga = Harga x Jumlah; Nama, harga dan jumlah di Inputkan dari keyboard Buatkan program dengan format tampilan seperti berikut Nama Pembeli : BAIDHOWI Nama Barang : SARUNG SUTERA SAMARINDA Harga : 250000 Jumlah : 3 Total Harga : 750000 Algoritma dan Pemrograman I 28 Siapa Nama Anda? Khoirul Hello Khoirul. Team Mana Kesukaan Anda? AC Milan Saya Suka AC Milan juga Masukkan Harga: 2.75 Masukkan Jumlah: 21 Total Harga : 57.75 STIMATA Simpan Progam Anda dengan nama CSTR01.CPP 2. Tuliskan Format dan jelaskan pula fungsi dari library cstring berikut;

a. strcat b. strcmp

c. strcpy d. strlen Algoritma dan Pemrograman I 29 STIMATA MODUL 8 : Pointer Dynamic Memory

A. Latar Belakang

Variabel merupakan suatu nilai yang disimpan dalam memory yang dapat diakses dengan identifier. Variabel ini sesunggunhnya disimpan pada suatu alamat didalam memory. Dimana setiap alamat memory akan berbeda dengan yang lainnya unik. Pada modul 8, akan dibahas mengenai Pointer dan Dynamic Memory. Dengan mempraktekan teori yang telah diberikan dan mengerjakan soal-soal latihan, hal ini akan memberikan penambahan pengetahuan dan pemahaman tentang Pointer dan Dynamic Memory.

B. Tujuan

Pada akhir pembahasan, diharapkan mahasiswa dapat memahami tentang pointer dan dynamic memory dalam sebuah fungsi C++.

C. Dasar Teori