Pemrograman Algoritma Struktur Data

Ukuran: px
Mulai penontonan dengan halaman:

Download "Pemrograman Algoritma Struktur Data"

Transkripsi

1 MODUL PERKULIAHAN Pemrograman Algoritma Struktur Data Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Tehnik Informatika Abstract Pengenalan Bahasa C++ Konstanta dan tipe data dalam C++ Mencetak nilai konstanta bilangan integer dan float serta string dalam C++ Memberi nilai ke dalam variabel bilangan integer dan float dalam C++ Kompetensi Mampu menggunakan IDE Borland C++ Mampu membuat program console sederhana dalam Bahasa C++ dan mencetak konstanta bilangan, karakter dan string dalam Bahasa C++ Mampu memberi nilai ke dalam variabel bertipe data bilangan integer dan float serta menampilkan nilai variabel bilangan integer dan float

2 STRUKTUR DASAR C++ 1. Pendahuluan Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas dan tidak rancu untuk memecahkan suatu masalah dalam rentang waktu tertentu. Setiap aksi harus dapat dikerjakan dan mempunyai efek tertentu. Algoritma dapat dituliskan dengan banyak cara, mulai dari menggunakan bahasa alami yang digunakan sehari-hari, simbol grafik bagan alir, sampai menggunakan bahasa pemograman seperti bahasa C atau C C dan C++ Berbicara tentang C++ biasanya tidak lepas dari C, sebagai bahasa pendahulunya. Pencipta C adalah Brian W. Kerninghan dan Dennis M. Ritchie pada sekitar tahun 1972, dan sekitar satu dekade setelahnya diciptakanlah C++, oleh Bjarne Stroustrup dari Laboratorium Bell, AT&T, pada tahun C++ cukup kompatibel dengan bahasa pendahulunya C. Pada mulanya C++ disebut a better C. Nama C++ sendiri diberikan oleh Rick Mascitti pada tahun 1983, yang berasal dari operator increment pada bahasa C. 3. Mengenal C++ C++ merupakan perluasan bahasa C dengan tambahan fasilitas kelas (Class). Program C++ berupa sekumpulan fungsi. Bahkan program utama juga berbentuk fungsi, yaitu fungsi main(). Kode C++ bersifat case sensitive, artinya membedakan antara huruf kapital dengan huruf kecil. Bahasa C dan C++ merupakan bahasa yang sangat populer dalam dunia pengembangan perangkat lunak. Kedua bahasa ini digolongkan ke dalam bahasa tingkat menengah (middle level language). Keistimewaan dari bahasa C++ adalah karena bahasa ini mendukung pemrograman berarah objek atau yang lebih sering dikenal dengan istilah Object Oriented Programming (OOP). Mengapa perlu Object Oriented Programming (OOP)? Mempermudah programmer menulis program. Mempercepat proses pembuatan program Mempermudah pemeliharaan program 2 Pemrograman Algoritma Struktur Data Modul 01

3 Bahasa C Fleksibel: dapat mengakses/mendekati mesin, namun mudah dimengerti oleh manusia. Portabel: dipakai mulai dari komputer mikro sampai superkomputer. Bahasa yang paling banyak digunakan dalam ilmu komputer, untuk membuat OS, aplikasi, dan lain lain. Didukung oleh banyak pustaka (libraries) Bahasa C++ Merupakan pengembangan bahasa C dan diberi kemampuan OOP. C++ merupakan subset dari bahasa C, maka pustaka yang ditulis dalam bahasa C dapat dipergunakan dalam bahasa C++. Kerangka program C++ #include <iostream.h> //Protopype fungsi tipe_data nama_fungsi(parameter1,parameter2,..); //Fungsi utama void main() statemen_yang_akan_dilakukan;... return 0; //Implementasi fungsi tipe_data nama_fungsi(parameter1,parameter2,...) statemen_yang_akan_dilakukan;... Contoh1 : 3 Pemrograman Algoritma Struktur Data Modul 01

4 #include<iostream.h> int main() cout <<"Selamat menggunakan C++"; return 0; Keterangan: #include adalah sebuah prosesor pengarah yang mengatakan kepada kompiler untuk meletakan kode dari header file iostream.h kedalam program. Fungsi cout memerlukan file iostream.h. Main adalah nama judul fungsi. Tanda () digunakan untuk mengapit argumen fungsi yaitu nilai yang akan dilewatkan ke fungsi. Tanda pada fungsi main() menyatakan awal eksekusi program. Adapun pada fungsi main() menyatakan akhir eksekusi program. Pemakaian fungsi cout dipakai untuk menampilkan text di layar monitor anda. memakai tanda atau symbol <<, yang diketahui sebagai operator pemasukan (insertion operators). Tanda tersebut mengatakan kepada kompiler agar segera menghasilkan output sesuai dengan input anda. Selamat menggunakan C++ adalah suatu pernyataan yang diapit oleh tanda petik ganda. Setiap pernyataan harus diakhiri dengan tanda titik koma (;). return 0 maksudnya pada baris ini juga ada kode yang memerintahkan fungsi main kembali ke 0. Pada saat satu kali kembali. Contoh 2: #include <iostream.h> int main() int x, y, z; cout << Masukkan bilangan kesatu: ; cin >> x; cout << Masukkan bilangan kedua: ; cin >> y; z = x + y; cout << Jadi hasil penjumlahannya adalah: << z; return 0; 4 Pemrograman Algoritma Struktur Data Modul 01

5 Hasil Eksekusi : 1. Komentar : Komentar merupakan bagian yang penting dalam program. Komentar tidak akan mempengaruhi terhadap jalannya program karena komentar tidak ikut dieksekusi pada saat proses kompilasi. Fungsi komentar antara lain: 1. Menjelaskan tujuan / fungsi program 2. Memudahkan saat program dibuat atau direvisi 3. Menjelaskan keterangan-keterangan lain tentang kegunaan sejumlah pernyataan dalam program. a. Menggunakan tanda // Pada C++ suatu komentar diawali dengan dua tanda garis miring (//). Semua tulisan yang terletak sesudah tanda // hingga akhir baris dengan sendirinya akan diperlakukan sebagai keterangan. Tanda ini digunakan untuk menuliskan komentar yang banyaknya hanya satu baris. b. Menggunakan tanda /*...*/ Tanda ini dapat digunakan untuk menuliskan komentar yang banyaknya satu baris atau lebih. Bentuk ini bermanfaat untuk mengabaikan sejumlah pernyataan yang telah dibuat oleh pemrograman karena suatu alasan misalnya sedang melacak kesalahan. 2. Identifier Identifier (pengenalan) adalah suatu nama yang biasa dipakai dalam pemrograman untuk menyatakan variabel, konstanta bernama, tipe data, fungsi, label, objek. Indentifikasi dilakukan untuk mempermudah proses penanganan data atau nilai. Ketentuan penulisan identifier: a. Tidak boleh berupa angka atau diawali dengan karakter yang berupa angka. b. Tidak boleh mengandung spasi. c. Tidak boleh menggunakan karakter-karakter simbol ( $, dll). d. Tidak boleh menggunakan kata kunci (keyword) yang terdapat pada C++. 5 Pemrograman Algoritma Struktur Data Modul 01

6 e. Nama identifier sebaiknya disesuaikan dengn kebutuhannya artinya jangan sampai orang lain bingung hanya karena salah satu penamaan identifier. Contoh identifier: int bilangan_bulat; long X2; int A[5] const int MAX=5; int A=10, B=15, C=25; 3. Tipe Data Tipe data berfungsi untuk merepresentasikan jenis dari sebuah nilai yang terdapat dalam program. Dalam C++ terdapat beberapa tipe data dasar yang telah didefinisikan yaitu: 1. Tipe bilangan bulat (integer) Digunakan untuk data-data angka yang tidak mengandung angka dibelakang koma. Misalnya 3, 21, 78. contoh: #include <iostream.h> int main() int x; //mendeklarasikan variabel x dengn tipe data int x=3; //melakukan assigment terhadap variabel x cout << Nilai x adalah <<x; return 0; 2. Tipe Bilangan Desimal (floating-point) Adalah tipe yang mempresentasikan data-data bilangan yang mengandung angka dibelakang koma, misalnya 3.16, 21.5, dll. Tipe data Float = 32, double = 64, dan long double = 80. Contoh: #include <iostream.h> int main() double y; y = 27.55; //melakukan assigment terhadap variabel y cout << Nilai y adalah <<y; return 0; 6 Pemrograman Algoritma Struktur Data Modul 01

7 3. Tipe Logika (boolean) Tipe ini merepresentasikan data-data yang hanya mengandung dua buah nilai, yaitu nilai logika (boolean) yang terdiri dari nilai benar (direpresentasikan dengan nilai 1) dan nilai salah (direpresentasikan dengan nilai 0). 4. Tipe Karakter / String Tipe ini merepresentasikan data-data yang berupa karakter, dan dinyatakan dengan tipe char, sedangkan untuk string dinyatakan dengan pointer dari tipe char yaitu char*. Contoh : #include <iostream.h> int main() char Karakter ='A'; char*nama ="Susi Susanti"; char Jurusan[15]="INFORMATIKA"; cout <<Karakter<<endl; cout <<nama<<endl; cout <<Jurusan<<endl; return 0; 5. Tipe data Bentukan Adalah tipe data yang dibuat sendiri sesuai kebutuhan dalam program yang akan dimuat. a. Struktur Struktur adlah tipe data bentukan yang menyimpan lebih dari satu variabel bertipe sama maupun berbeda. Deklarasinya: Struct nama_struktur Tipe_data variabel1; Tipe_data variabel2;... ; #include<iostream.h> #include<string.h> int main() 7 Pemrograman Algoritma Struktur Data Modul 01

8 struct MAHASISWA char NIM[15]; char Nama[20]; char Alamat[30]; char Kota[15]; A; strcpy(a.nim," "); strcpy(a.nama,"susi Susanti"); strcpy(a.alamat,"jl.raya Meruya Selatan"); strcpy(a.kota,"jakarta"); cout<<a.nim<<endl; cout<<a.nama<<endl; cout<<a.alamat<<endl; cout<<a.kota<<endl; return 0; Hasil Eksekusi : b. Enumerasi Tipe Enumerasi adalah tipe data yang nilainya terbatas pada nilai-nilai yang telah didefinisikan saja. Tipe enumerasi digunakan untuk membentuk tipe data yang nilainya pasti. Deklarasinya: enum nama_tipenilai1, nilai2,...; Contoh pendefinisian tipe enumerasi: enum JENIS_KELAMINPria, Wanita; enum HARIMinggu, Senin, Selasa, Rabu, Kamis, Jumat, Sabtu; 8 Pemrograman Algoritma Struktur Data Modul 01

9 contoh : #include<iostream.h> #include<string.h> enum JENIS_KELAMINPria, Wanita; int main() struct MAHASISWA char NIM[15]; char Nama[20]; char Alamat[30]; char Kota[15]; JENIS_KELAMIN gender; A; strcpy(a.nim," "); strcpy(a.nama,"susi Susanti"); strcpy(a.alamat,"jl.raya Meruya Selatan"); strcpy(a.kota,"jakarta"); A.gender=Wanita; cout<<"nim : "<<A.NIM<<endl; cout<<"nama : "<<A.Nama<<endl; cout<<"alamat : "<<A.Alamat<<endl; cout<<"kota : "<<A.Kota<<endl; cout<<"jenis Kelamin : "<<A.gender<<endl; return 0; Hasil Eksekusi : 9 Pemrograman Algoritma Struktur Data Modul 01

10 Latihan : 1. Buatlah program dengan menggunakan struct dengan hasil eksekusi program sebagai berikut: Plat Nomor Kendaraan : B1669OK Jenis Kendaraan : AVANZA Nama Pemilik : Bambang Susilo Alamat : Jl. Meruya raya No 1 Kota : Jakarta 2. Buatlah program dengan tampilan sbb: Masukkan sebuah huruf =... Masukan sebuah kata =... Masukkan Angka =... Huruf yang Anda masukkan adalah... Kata yang Anda masukkan adalah... Angka yang Anda masukkan adalah Pemrograman Algoritma Struktur Data Modul 01

11 Daftar Pustaka Andri Kristanto, Algoritma & Pemrograman dengan C++ Edisi 2, Graha Ilmu, Yogyakarta, Budi Raharjo, Pemrograman C++, Informatika, Bandung, Moh. Sjukani, Algoritma & Struktur Data dengan C, C++ dan JAVA, Mitra Wacana Media, Bandung, Pemrograman Algoritma Struktur Data Modul 01

12 MODUL PERKULIAHAN Pemrograman Algoritma Struktur Data Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Tehnik Informatika Abstract Operator dan && dalam bahasa C++ Proses konversi dari multi conditions menjadi nested if Kompetensi Mampu menggunakan operator (OR) dan && (AND) dan melakukan kombinasi antara berbagai operator tersebut. Mampu melakukan konversi dari multi conditions menjadi nested if

13 OPERATOR C++ Operator adalah simbol yang mengolah nilai pada operand dan menghasilkan satu nilai baru. Operator dapat dikelompokan menjadi 4 bagian yaitu: 1. Operator Assignment 2. Operator Unary 3. Operator Binary 4. Operator Ternary 1. Operator Assignment Adalah operator yang berfungsi untuk memasukkan (assign) nilai ke dalam suatu variabel ataupun konstanta. Operator ini dilambangkan dengan tanda sama dengan (=) Contoh: MyChar = 'C'; MyString = "Rahasia C++"; MyInteger = 24; MyDouble = ; 2. Operator Unary Adalah operator yang hanya melibatkan sebuah operand. Yang termasuk ke dalam tabel operator unary antara lain: Operator Jenis Operasi Contoh + Positif +7 - Negatif Incremen C++ -- decremen C-- Increment adalah suatu penambahan nilai yang terjadi pada sebuah variabel. Operator yang digunakan untuk melakukan increment adalah operator ++. Ada dua jenis increment dalam C++ yaitu pre-increment dan post-increment. Pre-increment artinya melakukan penambahan nilai sebelum suatu variabel itu diproses. Post-incremen artinya melakukan proses terlebih dahulu sebelum dilakukan penambahan nilai. 2 Pemrograman Algoritma Struktur Data Modul 02

14 Decrement merupakan kebalikan dari proses increment, yaitu menurunkan (mengurangi) nilai dari suatu variabel. Operator yang digunakan untuk melakukan decrement adalah operator --. Decrement juga dibagi 2 yaitu pre-decrement dan post-decrement. Contoh : #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <conio.h> void main() int A; //mendeklarasikan variabel A = 5; cout<<"contoh melakukan pre-increment \n"; cout<<"nilai A awal adalah : "<<A<<endl; cout<<"nilai ++A adalah :"<<++A<<endl; cout<<"nilai A akhir adalah:"<<a<<endl; cout<<'\n'<<endl; cout<<"contoh melakukan pre-decrement \n"; cout<<"nilai A awal adalah : "<<A<<endl; cout<<"nilai --A adalah :"<<--A<<endl; cout<<"nilai A akhir adalah:"<<a<<endl; cout<<'\n'<<endl; //mengubah nilai A menjadi 10 A = 10; cout<<"contoh melakukan post-increment \n"; cout<<"nilai A awal adalah : "<<A<<endl; cout<<"nilai A++ adalah :"<<A++<<endl; cout<<"nilai A akhir adalah:"<<a<<endl; cout<<'\n'<<endl; cout<<"contoh melakukan post-decrement \n"; cout<<"nilai A awal adalah : "<<A<<endl; cout<<"nilai A-- adalah :"<<A--<<endl; cout<<"nilai A akhir adalah:"<<a<<endl; cout<<'\n'<<endl; getch(); 3 Pemrograman Algoritma Struktur Data Modul 02

15 Hasil Eksekusi : 3. Operator Binary Adalah operator yang digunakan dalam operasi yang melibatkan dua buah operand. Operator Binary dikelompokan menjadi 4 jenis yaitu: a. Operator Aritmatika b. Operator Logika c. Operator Relasional d. Operator Bitwise a. Operator Aritmatika Adalah operator yang digunakan untuk melakukan operasi-operasi aritmatika seperti penjumlahan, pengurangan, dan sebagainya. Operator Keterangan * Perkalian / Pembagian % Modulus atau sisa bagi + Penjumlahan - Pengurangan Contoh : 4 Pemrograman Algoritma Struktur Data Modul 02

16 #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <conio.h> int main() int X = 10, Y = 3; int jumlah, kurang, kali, bagi, sisa_bagi; jumlah = X + Y; kurang = X - Y; kali = X * Y; bagi = X / Y; sisa_bagi= X % Y; cout<<x<<" + "<<Y<<" = "<<jumlah<<endl; cout<<x<<" - "<<Y<<" = "<<kurang<<endl; cout<<x<<" * "<<Y<<" = "<<kali<<endl; cout<<x<<" / "<<Y<<" = "<<bagi<<endl; cout<<x<<" % "<<Y<<" = "<<sisa_bagi<<endl; getch(); Hasil eksekusi : b. Operator Logika Adalah operator yang digunakan untuk melakukan operasi dimana nilai yang dihasilkan dari operasi tersebut hanya bernilai benar (true / 1) atau salah (false / 0). Nilai ini biasa disebut dengan boolean. Yang termasuk operator logika antara lain: 1. Operator AND (&&) 5 Pemrograman Algoritma Struktur Data Modul 02

17 hanya akan menghasilkan nilai 1 (benar) jika semua operand-nya bernilai benar, namun jika tidak maka operasi tersebut akan menghasikan nilai 0 (salah). 2. Operator OR ( ) hanya akan menghasilkan nilai 0 (salah) jika semua operand-nya bernilai salah, namun jika tidak maka operasi tersebut akan menghasilkan nilai 1 (benar). 3. Operator NOT (!) Nilai yang dihasilkan oleh nilai NOT adalah kebalikan dari nilai yang dikandung di dalamnya. Jika nilai awal 1 (benar) maka nilai operasi NOT menjadi 0 (salah). Contoh : #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> int main() cout<<"logika AND"<<endl; cout<<" 1 AND 1 = "<<(1&&1)<<endl; cout<<" 1 AND 0 = "<<(1&&0)<<endl; cout<<" 0 AND 1 = "<<(0&&1)<<endl; cout<<" 0 AND 0 = "<<(0&&0)<<endl; cout<<endl; cout<<"logika OR"<<endl; cout<<" 1 OR 1 = "<<(1 1)<<endl; cout<<" 1 OR 0 = "<<(1 0)<<endl; cout<<" 0 OR 1 = "<<(0 1)<<endl; cout<<" 0 OR 0 = "<<(0 0)<<endl; cout<<endl; cout<<"logika NOT"<<endl; cout<<" NOT 1 = "<<(!1)<<endl; cout<<" NOT 0 = "<<(!0)<<endl; getch(); Hasil Eksekusi : 6 Pemrograman Algoritma Struktur Data Modul 02

18 c. Operator Relasional Adalah operator yang digunakan untuk menentukan relasi atau hubungan dari dua buah operand. Operator ini banyak digunakan untuk melakukan pengecekan sebuah ekspresi (kondisi) dalam struktur percabangan. OperatorJenis Operasi > Lebih besar < Lebih kecil >= Lebih besar atau sama dengan <= Lebih kecil atau sama dengan == Sama dengan!= Tidak sama dengan Contoh : #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> int main() int nilai; //memasukkan bilangan bulat cout<<" Masukkan sebuah bilangan bulat : "; cin>>nilai; 7 Pemrograman Algoritma Struktur Data Modul 02

19 if (nilai % 2 == 0) cout<<nilai<<" adalah bilangan Genap"<<endl; else cout<<nilai<<" adalah bilangan Ganjil"<<endl; getch(); Hasil eksekusi : d. Operator Bitwise Adalah operator yang digunakan untuk melakukan operasi-operasi yang berhubungan dengan pemanipulasian bit. Yang termasuk dalam operator bitwise anta lain: Operator Keterangan << Shift left >> shift right && operasi bit AND Operasi bit OR ^ Operasi bit XOR ~ Operasi bit NOT Operator & berguna untuk melakukan operasi DAN pada tataran bit Pemrograman Algoritma Struktur Data Modul 02

20 Operator berguna untuk melakukan operasi ATAU pada tataran bit Operator ^ berguna untuk melakukan operasi ATAU EKSKLUSIF pada tataran bit Operator ~ memberikan hasil dengan masing-masing bit berupa kebalikan dari bit operand Operator << (geser kiri) berfungsi untuk menggeser bit-bit ke kiri. contoh: 29 << 1 memberikan nilai hasil Operator << (geser kanan) berfungsi untuk menggeser bit-bit ke kanan. contoh: 29 << 1 memberikan nilai Contoh : #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> int main() int x=64; int y= 1; cout<<" NOT "<<x<<" = "<< ~x<<endl; cout<<x<<" OR "<<y<<" = "<<(x y)<<endl; cout<<x<<" AND "<<y<<" = "<<(x&y)<<endl; cout<<x<<" XOR "<<y<<" = "<<(x^y)<<endl; cout<<x<<" GESER KIRI "<<y<<" = "<<(x<<y)<<endl; cout<<x<<" GESER KANAN "<<y<<" = "<<(x>>y)<<endl; getch(); 9 Pemrograman Algoritma Struktur Data Modul 02

21 Hasil eksekusi : 4. Operator Ternary Adalah operator yang digunakan dalam operasi yang melibatkan tiga buah operand. Bentuk umum: Ekspresi1? Ekspresi2: Ekspresi3; Jika ekspresi1 bernilai benar, maka program akan mengeksekusi ekspresi2. Sedangkan jika ekspresi1 salah maka yang dieksekusi adalah ekspresi3. Contoh : #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> int main() int angka; cout<<"masukkan bilangan: "; cin>>angka; (angka %2 ==0)? (cout<<angka<<" adalah bilangan Genap \n") : (cout<<angka<<" adalah bilangan Ganjil \n"); getch(); Hasil eksekusi : 10 Pemrograman Algoritma Struktur Data Modul 02

22 Latihan : 1. Buatlah program untuk menentukan bilangan positif atau negatif dengan menggunakan operator ternary! 2. Buatlah program untuk menentukan nilai mahasiswa lulus atau tidak lulus (nilai lulus jika >= 65) dengan menggunakan operator ternary! 3. Buatlah program untuk menghitung menghitung luas persegi panjang (panjang * lebar) dengan inputan dari user 4. Buatlah program untuk menghitung menghitung Keliling lingkaran (2 * PI * jari-jari), Dengan inputan dari user! 11 Pemrograman Algoritma Struktur Data Modul 02

23 Daftar Pustaka Andri Kristanto, Algoritma & Pemrograman dengan C++ Edisi 2, Graha Ilmu, Yogyakarta, Budi Raharjo, Pemrograman C++, Informatika, Bandung, Moh. Sjukani, Algoritma & Struktur Data dengan C, C++ dan JAVA, Mitra Wacana Media, Bandung, Pemrograman Algoritma Struktur Data Modul 02

24 MODUL PERKULIAHAN Pemrograman Algoritma Struktur Data Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Tehnik Informatika Abstract Struktur Kondisi IF Struktur Kondisi Switch Case Kompetensi Mampu menggunakan struktur kondisi IF dalam bahasa pemrograman C++. Mampu menggunakan struktur kondisi Switch Case dalam bahasa pemrograman C++.

25 PERCABANGAN (DECISION) Decision digunakan untuk memilih salah satu alternatif jawaban yang tepat dari pilihan yang ada. Suatu pemilihan statemen yang akan dieksekusi dimana pemilihan tersebut didasarkan atas kondisi tertentu. Statemen yang terdapat dalam sebuah blok percabangan akan dieksekusi jika kondisi yang didefinisikan terpenuhi (bernilai benar) Artinya jika kondisi tidak terpenuhi (bernilai salah) maka statemen tersebut tidak ikut dieksekusi atau akan diabaikan oleh compiler. 1. Struktur satu kondisi (perintah IF) digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam blok if akan diproses dan dikerjakan. Bentuk umum struktur kondisi if adalah: if(kondisi) pernyataan; contoh : #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <conio.h> void main() int nilai; //memasukkan bilangan bulat cout<<"masukkan sebuah bilangan bulat: "; cin>>nilai; //menampilkan teks jika nilai yang tersimpan lebih besar dari 0 if (nilai > 0) cout<<"nilai yang Anda masukkan adalah bilangan positif"; getch(); Hasil Eksekusi : 2 Pemrograman Algoritma Struktur Data Modul 03

26 2. Struktur dua kondisi (perintah if else) Perintah if...else minimal terdapat dua pernyataan. Jika kondisi yang diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang dilaksanakan dan jika kondisi yang diperiksa bernilai salah maka pernyataan yang kedua yang dilaksanakan. Bentuk Umum : if (kondisi) statemen_jika_kondisi_terpenuhi; else statemen_jika_kondisi_tidak_terpenuhi; Contoh : #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <conio.h> void main() int nilai; cout<<"masukkan sebuah bilangan bulat: "; cin>>nilai; if (nilai %2 == 0) cout<<nilai <<" adalah bilangan genap"; else cout<<nilai <<" adalah bilangan ganjil"; getch(); Hasil eksekusi : 3 Pemrograman Algoritma Struktur Data Modul 03

27 3. Struktur tiga kondisi (perintah multiple if else) Percabangan jenis ini merupakan perluasan dari struktur yang memiliki dua kondisi diatas yaitu dengan menyisipkan satu atau lebih kondisi ke dalamnya. Bentuk umum: if (kondisi1) statemen_jika_kondisi1_terpenuhi; else if (kondisi2) statemen_jika_kondisi2_terpenuhi; else if (kondisi3) statemen_jika_kondisi3_terpenuhi;... else statemen_jika_semua_kondisi_tidak_terpenuhi; Contoh 1: #include <vcl.h> #pragma hdrstop #include <iostream.h> 4 Pemrograman Algoritma Struktur Data Modul 03

28 #include <conio.h> void main() int nilai; //memasukkan bilangan bulat cout<<"masukkan sebuah bilangan yang akan diperiksa : "; cin>>nilai; //pengecek bilangan apakah habis dibagi dua atau tidak if (nilai > 0) cout<<nilai<< " adalah bilangan positif "; else if (nilai < 0) cout<<nilai<< " adalah bilangan negatif "; else cout<< " Anda memasukkan bilangan NOL "; getch(); Hasil Eksekusi : Contoh 2 : 5 Pemrograman Algoritma Struktur Data Modul 03

29 #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <conio.h> void main() int nilai; char huruf; cout<<"masukkan nilai : " ; cin>>nilai; if ((nilai>=81) && (nilai<=100)) huruf='a'; else if ((nilai>=71) && (nilai<=80)) huruf='b'; else if ((nilai>=61) && (nilai<=70)) huruf='c'; else if ((nilai>=51) && (nilai<=60)) huruf='d'; else huruf='e'; cout<<"jadi nilai huruf yang didapat adalah: "<<huruf; getch(); Hasil eksekusi : 6 Pemrograman Algoritma Struktur Data Modul 03

30 Latihan : Buatlah program untuk menentukan huruf, dengan ketentuan sebagai berikut: Jika karakter >= A dan karakter <= Z maka Karakter yang Anda masukkan adalah huruf besar. Jika karakter >= a dan karakter <= z maka Karakter yang Anda masukkan adalah huruf kecil. Jika karakter >= 0 dan karakter <= 9 maka Karakter yang Anda masukkan adalah Angka. Jika bukan semuanya berarti Karakter yang Anda masukkan adalah bukan alphanumeric. Jawab : #include <vcl.h> #pragma hdrstop //Program menentukan karakter #include <iostream.h> #include <conio.h> void main() char karakter; cout<<"masukkan sebuah karakter: "; cin>>karakter; if (karakter >= 'A' && karakter <= 'Z') cout<<"masukkan Anda adalah huruf besar"; else if (karakter >= 'a' && karakter <= 'z') cout<<"masukkan Anda adalah huruf kecil"; else if (karakter >= '0' && karakter <= '9') cout<<"masukkan Anda adalah angka"; else cout<<"masukkan Anda bukan alphanumeric"; getch(); 7 Pemrograman Algoritma Struktur Data Modul 03

31 Hasil Eksekusi : 4. Perintah switch Perintah ini memiliki bentuk switch case yang digunakan untuk pilihan berjumlah banyak. Perintah switch tidak dianjurkan pada pilihan yang melibatkan jangkauan nilai (range) tetapi dianjurkan pada pilihan berupa konstanta dan banyak misalnya untuk memilih menu. Bentuk umum: switch (pernyataan) case nilai_1: blok_pernyataan1; break; case nilai_2: blok_pernyataan2; break; 8 Pemrograman Algoritma Struktur Data Modul 03

32 default: blok_pernyataan_n; Cara kerjanya: 1. switch akan mengevaluasi pilihan dan apabila isinya sama dengan nilai_1, maka blok pernyataan 1 akan dijalankan sampai menemukan perintah break untuk kemudian keluar dari blok switch. 2. Bila pilihan tidak sama isinya dengan nilai_1, maka akan dicocokkan lagi dengan nilai_2. dan apabila isinya sama dengan nilai_2, maka blok pernyataan 2 akan dijalankan sampai menemukan perintah break untuk kemudian keluar dari blok switch. 3. Terakhir, apabila isi pilihan tidak sesuai dengan nilai_1, nilai_2 dan seterusnya maka secara otomatis yang dijalankan adalah blok pernyataan default. Contoh : #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <conio.h> void main() int bil; cout<<"masukkan sebuah angka (1.. 7): "; cin>>bil; switch (bil) case 1: cout<<"hari ke - "<<bil<<"adalah MINGGU"; break; case 2: cout<<"hari ke - "<<bil<<" adalah SENIN"; break; case 3: cout<<"hari ke - "<<bil<<"adalah SELASA"; break; case 4: cout<<"hari ke - "<<bil<<"adalah RABU"; break; case 5: cout<<"hari ke - "<<bil<<"adalah KAMIS"; break; case 6: cout<<"hari ke - "<<bil<<"adalah JUMAT"; break; case 7: cout<<"hari ke - "<<bil<<"adalah SABTU"; break; 9 Pemrograman Algoritma Struktur Data Modul 03

33 default: cout<<"kode tidak ada"; getch(); Hasil eksekusi : Soal Latihan : 1. Buatlah program menggunakan menu : A. Menentukan karakter B. Toko Buku C. Buatlah program untuk menentukan masukkan dari user apakah berupa huruf vokal atau konsonan! 2. Buatlah program untuk menghitung luas dengan menggunakan menu, dengan ketentuan sebagai berikut: 1. Menghitung Luas Bujur Sangkar. 2. Menghitung Luas Persegi Panjang. 3. Menghitung Luas Segi Tiga 4. Menghitung Luas Lingkaran. 10 Pemrograman Algoritma Struktur Data Modul 03

34 Daftar Pustaka Andri Kristanto, Algoritma & Pemrograman dengan C++ Edisi 2, Graha Ilmu, Yogyakarta, Budi Raharjo, Pemrograman C++, Informatika, Bandung, Moh. Sjukani, Algoritma & Struktur Data dengan C, C++ dan JAVA, Mitra Wacana Media, Bandung, Pemrograman Algoritma Struktur Data Modul 03

35 MODUL PERKULIAHAN Pemrograman Algoritma Struktur Data Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Tehnik Informatika Abstract Struktur perulangan dengan for, do while dan while Pengaplikasian struktur perulangan untuk memecahkan soal soal matematika dan fisika Kompetensi Mampu menggunakan struktur perulangan dengan for, do while dan while dalam Bahasa Pemrograman C++ Mampu memanfaatkan struktur perulangan untuk memecahkan soal soal matematika dan fisika

36 PERULANGAN (LOOPING) 1. Pernyataan While Pada pernyataan while, pengecekan terhadap loop dilakukan dibagian awal (sebelum tubuh loop). Bentuk umum : while (kondisi) pernyataan; Perulangan ini banyak digunakan bila jumlah perulangannya belum diketahui. Proses perulangan akan terus berlanjut selama kondisinya bernilai benar (true) dan akan berhenti bila kondisinya bernilai salah. Contoh : #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <conio.h> void main() int x; x = 1; /* awal variabel */ while (x <= 10) /* Batas akhir perulangan */ cout<<"bahasa C++ "<<endl; x ++; /* variabel x ditambah dengan 1 */ getch(); Hasil Eksekusi : 2 Pemrograman Algoritma Struktur Data Modul 04

37 Keterangan : Pada perulangan while, proses atau perintah mencetak kata-kata BAHASA C++ akan terus dilakukan selama variabel x masih kurang atau sama dengan 10. Setiap kali melakukan perulangan, nilai dari variabel x akan bertambah 1. Contoh 2: #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <conio.h> void main() int i = 0; while (i!= 99) cout<<" Masukkan Sebuah Bilangan : "; cin>>i; cout<<"bilangan Anda adalah= "<<i<<endl; getch(); Hasil eksekusi : Ket : Program minta inputan dari user dengan tipe integer Selama user belum memasukkan nilai 99 maka program akan terus melooping. Looping akan berhenti jika user telah memasukkan angka Pemrograman Algoritma Struktur Data Modul 04

38 2. Pernyatan Do.. While Pada pernyataan do-while, tubuh loop berupa pernyataan. Pada pernyataan do, mula-mula pernyataan dijalankan. Selanjutnya, kondisi diuji. Seandainya kondisi bernilai benar, maka pernyataan dijalankan lagi, kemudian kondisi diperiksa kembali, dan seterusnya. Kalau kondisi bernilai salah, maka pernyataan tidak dijalankan lagi. Pada dasarnya struktur perulangan do...while sama saja dengan struktur while, hanya saja pada proses perulangan dengan while, seleksi berada di while yang letaknya di atas sementara pada perulangan do...while, seleksi while berada di bawah batas perulangan. Jadi dengan menggunakan struktur do while sekurang-kurangnya akan terjadi satu kali perulangan. Bentuk umum: do pernyataan; while (kondisi) Contoh : #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <conio.h> void main() int x; x = 1; do cout<<"bahasa C++ "<<endl; x ++; while(x <= 10); getch(); Hasil eksekusi : 4 Pemrograman Algoritma Struktur Data Modul 04

39 3. Pernyataan For Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan for tampaknya lebih efisien karena susunannya lebih simpel dan sederhana. Bentuk umum perulangan for: for(inisialisasi; syarat; penambahan) pernyataan; Inisialisasi : pernyataan untuk menyatakan keadaan awal dari variabel kontrol. syarat : ekspresi relasi yang menyatakan kondisi untuk keluar dari perulangan. penambahan : pengatur perubahan nilai variabel kontrol. Contoh : #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <conio.h> void main() /* Program perulangan menggunakan for */ int x; for(x = 1; x<= 10; x++) cout<<"bahasa C++ "<<endl; getch(); Hasil Eksekusi : 5 Pemrograman Algoritma Struktur Data Modul 04

40 4. FOR BERSARANG (NESTED FOR) For bersarang dapat melibatkan lebih dari satu variabel namun yang jelas satu diantaranya akan digunakan sebagai indeks perulangan. Bentuk umum: for( variabel1=nilai_awal; kondisi1; variabel1++) for( variabel2=nilai_awal; kondisi2; variabel2++) for( variabel3=nilai_awal; kondisi3; variabel3++) Statemen_statemen yang akan diulang;. Contoh 1 : #pragma hdrstop #include <iostream.h> #include <conio.h> #include <iomanip.h> int main() int x,y; for (x=1; x<=10; x++) for (y=1; y<=10; y++) cout<<setw(4)<<x*y<<" "; cout<<"\n"; getch(); Hasil eksekusi : 6 Pemrograman Algoritma Struktur Data Modul 04

41 Contoh 2 : #pragma hdrstop #include <iostream.h> #include <conio.h> #include <iomanip.h> int main() int x,y ; for (x=1; x<=10; x++) for (y=1; y<=x; y++) cout<<setw(4)<<x*y<<" "; cout<<"\n"; getch(); Hasil eksekusi : Contoh 3: #pragma hdrstop #include <iostream.h> #include <conio.h> #include <iomanip.h> int main() int b,a,e; char u[26]= "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 7 Pemrograman Algoritma Struktur Data Modul 04

42 cout<<"masukan Angka : "; cin>>b; for(a = b-1; a>=0; a--) cout<<u[a]<<" "; getch(); Hasil eksekusi : Contoh 4 : #pragma hdrstop #include <iostream.h> #include <conio.h> #include <iomanip.h> int main() int a,b,e; char u[26]= "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; cout<<"masukan Angka : "; cin>>e; for(b = 0; b< e; b++) for(a = 0; a<= b; a++) cout<<u[a]<<" "; cout<<endl; getch(); Hasil eksekusi : 8 Pemrograman Algoritma Struktur Data Modul 04

43 Contoh program faktorial : #include <vcl.h> #pragma hdrstop #include <iostream> #include<conio.h> using namespace std; long faktorial(int m) if (m == 0) return 1; else return m * faktorial(m - 1); int main() int n = 3; cout << n << "! = " << faktorial(n) << endl; n = 6; cout << n << "! = " << faktorial(n) << endl; getch(); 9 Pemrograman Algoritma Struktur Data Modul 04

44 Hasil eksekusi : Soal Latihan : 1. Buatlah program dengan menggunakan while dengan tampilan sbb: 2. Buatlah program dengan menggunakan nested for dengan tampilan sbb: 3. Buatlah program untuk menampilkan deret bilangan genap antara 2 sampai 30, dengan menggunakan for 4. Buatlah program untuk menampilkan deret bilangan ganjil antara 11 sampai Buatlah program untuk menampilkan deret bilangan genap antara 3 sampai Pemrograman Algoritma Struktur Data Modul 04

45 Daftar Pustaka Andri Kristanto, Algoritma & Pemrograman dengan C++ Edisi 2, Graha Ilmu, Yogyakarta, Budi Raharjo, Pemrograman C++, Informatika, Bandung, Moh. Sjukani, Algoritma & Struktur Data dengan C, C++ dan JAVA, Mitra Wacana Media, Bandung, Pemrograman Algoritma Struktur Data Modul 04

46 MODUL PERKULIAHAN Pemrograman Algoritma Struktur Data Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Tehnik Informatika Abstract Function Dalam Bahasa C Kompetensi Mampu membuat program yang mengandung void function dan typed function

47 Function (Fungsi) Fungsi adalah satu blok kode yang dapat melakukan tugas tertentu atau satu blok instruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program. Sebuah fungsi berisi sejumlah pernyataan yang dikemas dalam sebuah nama. Nama tersebut selanjutnya dapat dipanggil berkali-kali di beberapa tempat dalam program. Keuntungan pembuatan fungsi secara umum adalah : Program besar dapat dipisah menjadi program-program kecil. Dapat dikerjakan oleh beberapa orang sehingga koordinasi mudah. Kemudahan dalam mencari kesalahan-kesalahan karena alur logika jelas dan kesalahan dapat dilokalisasi dalam suatu modul tertentu saja. Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa mengganggu program keseluruhan. Mempermudah dokumentasi. Sifat-sifat dari fungsi yang baik adalah : Nilai fan-in tinggi, artinya semakin sering suatu fungsi dipanggil oleh pengguna semakin tinggi nilai fan-in. Fan-out rendah, artinya semakin spesifik fungsi suatu modul akan semakin rendah nilai fan-out. Self-contained tinggi, artinya kemampuan untuk memenuhi kebutuhannya sendiri. Bentuk umum sebuah fungsi adalah: Tipe_fungsi nama_fungsi (parameter fungsi) Deklarasi parameter Tubuh fungsi Tipe fungsi digunakan untuk menentukan tipe keluaran fungsi I. Fungsi Tanpa Nilai Balik Fungsi tanpa nilai balik (return Value) digunakan untuk melakukan proses-proses yang tidak menghasilkan nilai, seperti melakukan pengulangan, proses pengesetan nilai ataupun yang lainnya. Fungsi semacam ini tipe kembaliannya akan diisi dengan nilai void. 2 Pemrograman Algoritma Struktur Data Modul 05

48 Bentuk umumnya: Void_nama_fungsi(parameter1, parameter2,..) Statemen_yang_akan_dieksekusi;... Contoh : #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> void tulis(void) int j; for (j=0;j<10;j++) cout<<"belajar Bahasa C++"<<endl; main(void) tulis(); getch(); Hasil eksekusi : 3 Pemrograman Algoritma Struktur Data Modul 05

49 2. Fungsi Dengan Nilai Balik Fungsi dengan nilai balik yaitu fungsi yang digunakan untuk melakukan proses-proses yang berhubungan dengan nilai. Adapun cara pendefinisiannya adalah dengan menuliskan tipe data dari nilai yang akan dikembalikan didepan nama fungsi. Bentuk umum: tipe_data nama_fungsi(parameter1, parameter2,..) Statemen_yang_akan_dieksekusi;... return nilai_balik; Contoh : #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> #include<iostream.h> LuasBujurSangkar(int sisi) int L; L = sisi * sisi; return L; main() int s, Luas; cout<<"masukkan nilai sisi : "; cin>>s; Luas=LuasBujurSangkar(s); cout<<"luas Bujur Sangkar adalah "<<Luas; getch(); 4 Pemrograman Algoritma Struktur Data Modul 05

50 Hasil Eksekusi : 3. Fungsi Dengan Parameter Parameter adalah suatu variabel yang berfungsi untuk menampung nilai yang akan dikirimkan ke dalam fungsi. Parameter itu sendiri terbagi dua macam yaitu: Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi. Parameter aktual adalah parameter (tidak selamanya menyatakan variabel) yang digunakan dalam pemanggilan fungsi. Contoh : #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> int TambahSatu(int X) X = X + 1; return X; main() int bilangan; cout<<"masukkan sebuah bilangan : "; cin>>bilangan; cout<<"nilai akhirnya adalah "<<TambahSatu(bilangan); getch(); 5 Pemrograman Algoritma Struktur Data Modul 05

51 Hasil Eksekusi : Melewatkan Parameter Ada 2 cara melewatkan Parameter yaitu: 1. Berdasarkan nilai (pass by value). 2. Berdasarkan referensi (pass by reference). Contoh : #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> void Kali2(int& X) X = X * 2; cout<<"nilai didalam fungsi adalah: "<<X<<endl; main() int bilangan; cout<<"masukkan sebuah bilangan : "; cin>>bilangan; cout<<endl; cout<<"nilai awal : "<<bilangan<<endl; //memanggil nilai awal Kali2(bilangan); //memangggil fungsi Kali2 cout<<"nilai akhirnya adalah "<<bilangan<<endl; getchar(); 6 Pemrograman Algoritma Struktur Data Modul 05

52 Hasil Eksekusi : Contoh pass by reference #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> void Kali2(int& X) X = X * 2; cout<<"nilai didalam fungsi adalah: "<<X<<endl; main() int bilangan; cout<<"masukkan sebuah bilangan : "; cin>>bilangan; cout<<endl; cout<<"nilai awal : "<<bilangan<<endl; //memanggil nilai awal Kali2(bilangan); //memangggil fungsi Kali2 cout<<"nilai akhirnya adalah "<<bilangan<<endl; getch(); 7 Pemrograman Algoritma Struktur Data Modul 05

53 #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> void Kali2(int& X); main() int bilangan; cout<<"masukkan sebuah bilangan : "; cin>>bilangan; cout<<endl; cout<<"nilai awal : "<<bilangan<<endl; //memanggil nilai awal Kali2(bilangan); //memangggil fungsi Kali2 cout<<"nilai akhirnya adalah "<<bilangan<<endl; getch(); void Kali2(int& X) X = X * 2; cout<<"nilai didalam fungsi adalah: "<<X<<endl; Hasil eksekusi : 8 Pemrograman Algoritma Struktur Data Modul 05

54 Soal Latihan : 1. Buatlah suatu fungsi untuk menjumlahkan 2 buah bilangan Program : #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <conio.h> int Tambah (int a, int b) int r; r = a + b; return (r); int main() int z; z = Tambah(5,3); cout<<"hasilnya = " <<z<<endl; getch(); 2. Buatlah Program tambah, kurang, kali, bagi dengan menggunakan fungsi Program : #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> float Tambah(float x, float y); float Kurang(float x, float y); float Kali(float x, float y); float Bagi(float x, float y); int main() 9 Pemrograman Algoritma Struktur Data Modul 05

55 int x,y; cout<<"masukan nilai pertama:"; cin>>x; cout<<"masukan nilai kedua:"; cin>>y; cout<<"hasil Penjumlahan:"<<Tambah(x,y)<<endl; cout<<"hasil Pengurangan:"<<Kurang(x,y)<<endl; cout<<"hasil Perkalian:"<<Kali(x,y)<<endl; cout<<"hasil Pembagian:"<<Bagi(x,y)<<endl; getch(); float Tambah(float x, float y) return (x+y); float Kurang(float x, float y) return (x-y); float Kali(float x, float y) return (x*y); float Bagi(float x, float y) return (x/y); 10 Pemrograman Algoritma Struktur Data Modul 05

56 3. Buatlah program menggunakan fungsi untuk menghitung luas persegi panjang dan luas bujur sangkar! Program : #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> LuasBujurSangkar(int sisi) int L; L = sisi * sisi; return L; LuasPersegiPanjang(int panjang, int lebar) int L; L = panjang * lebar; return L; main() int s,p,l, Luas; cout<<"menghitung Luas Bujur Sangkar"<<endl; cout<<"masukkan nilai sisi : "; cin>>s; Luas=LuasBujurSangkar(s); cout<<"luas Bujur Sangkar adalah "<<Luas<<endl; cout<<endl; cout<<"menghitung Luas Persegi Panjang"<<endl; cout<<"masukkan panjang : "; cin>>p; cout<<"masukkan lebar : "; cin>>l; Luas=LuasPersegiPanjang(p,l); cout<<"luas Bujur Sangkar adalah "<<Luas<<endl; getch(); 11 Pemrograman Algoritma Struktur Data Modul 05

57 Hasil eksekusi 4. Buatlah fungsi tukar dari 2 buah inputan user! //Program tukar #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> void tukar(int& X, int& Y); main() int a,b; cout<<"masukkan bilangan pertama: "; cin>>a; cout<<"masukkan bilangan kedua: "; cin>>b; cout<<endl; cout<<"sebelum ditukar (): "<<endl; cout<<"nilai pertama = "<<a<<endl; cout<<"nilai kedua = "<<b<<endl; cout<<endl; tukar(a,b); cout<<"sesudah ditukar () adalah "<<endl; cout<<"nilai pertama = "<<a<<endl; cout<<"nilai kedua = "<<b<<endl; cout<<endl; 12 Pemrograman Algoritma Struktur Data Modul 05

58 getch(); void tukar(int& X, int& Y) int Z; Z = X; X = Y; Y = Z; Hasil eksekusi : 13 Pemrograman Algoritma Struktur Data Modul 05

59 Daftar Pustaka Andri Kristanto, Algoritma & Pemrograman dengan C++ Edisi 2, Graha Ilmu, Yogyakarta, Budi Raharjo, Pemrograman C++, Informatika, Bandung, Indra Yatini B, Flowchart, Algoritma, dan Pemrograman Menggunakan Bahasa C++ Builder, Graha Ilmu, Yogyakarta, Pemrograman Algoritma Struktur Data Modul 05

60 MODUL PERKULIAHAN Pemrograman Algoritma Struktur Data Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Tehnik Informatika Abstract Kompetensi Fungsi Rekursif Mampu menjelaskan konsep fungsi rekursif Mampu mengimplementasikan masalah matematika yang solusinya bersifat rekursif dengan program yang mengandung fungsi rekursif

61 Fungsi Rekursif Rekursif berarti suatu proses yang memanggil dirinya sendiri. Dalam rekursif sebenarnya terkandung pengertian prosedur atau fungsi. Perbedaannya adalah bahwa rekursif bisa memanggil ke dirinya sendiri, tetapi prosedur atau fungsi harus dipanggil lewat pemanggil prosedur atau fungsi. Rekursif merupakan teknik pemrograman yang penting, dan beberapa bahasa pemrograman modern mendukung keberadaan proses rekursif ini. Pemanggilan prosedur atau fungsi ke dirinya sendiri bisa berarti proses yang berulang yang tidak bisa diketahui kapan akan berakhir. Dalam pemakaian sehari-hari, rekursi merupakan teknik pemrograman yang berdaya guna untuk digunakan pada pekerjaan pemrograman dengan mengekspresikannya ke dalam suku-suku dari program lain dengan menambahkan langkahlangkah sejenis. Contoh paling sederhana dari proses rekursi adalah menghitung nilai faktorial dari bilangan bulat. Nilai faktorial, secara rekursif dapat ditulis sebagai : 0! = 1 N! = N x (N-1)!, Untuk N > 0 yang secara notasi pemrograman bisa ditulis sebagai : FAKTORIAL (0) = 1 1) FAKTORIAL (N) = N * FAKTORIAL (N-1) 2) Persamaan 2) di atas merupakan contoh hubungan rekurens (recurrence relation), yang berarti bahwa nilai suatu fungsi dengan argumen tertentu bisa dihitung dari fungsi yang sama dengan argumen yang lebih kecil. Persamaan 1) yang tidak bersifat rekursif, disebut nilai awal. Setiap fungsi rekursi paling sedikit mempunyai 1 (satu) nilai awal; jika tidak, fungsi tersebut tidak bisa dihitung secara eksplisit. Contoh program Rekursif 1. Faktorial : #include <vcl.h> #pragma hdrstop #include <iostream> #include <conio.h> 2 Pemrograman Algoritma Struktur Data Modul 06

62 using namespace std; //mendefinisikan Fungsi Faktorial int Faktorial(int X) if (X==1) return (1); return X * Faktorial(X-1); //memanggil dirinya sendiri // Fungsi Utama int main() int Bilangan,Hasil; cout<<"masukkan Bilangan Yang Akan Dihitung : "; cin>>bilangan; //Memanggil Fungsi Faktorial Hasil=Faktorial(Bilangan); //Menampilkan Hasil cout<<bilangan<<"! = "<<Hasil; getch(); Hasil Eksekusi : 3 Pemrograman Algoritma Struktur Data Modul 06

63 2. Faktorial #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <conio.h> long factorial(long a) if (a>1) return (a*factorial(a-1)); else return(1); int main () long L; cout<<"masukkan nilai : "; cin>>l; cout<< "!" << L << " = " << factorial (L); getch(); 3. Program Pangkat : //Pangkat #include <vcl.h> #pragma hdrstop #include <iostream.h> 4 Pemrograman Algoritma Struktur Data Modul 06

64 #include <conio.h> double Pangkat(double A, int N) if (N==0) return 1; else return A * Pangkat(A, N-1); void main () int A,N; cout<<"masukkan nilai = "; cin>>a; cout<<"pangkat berapa = "; cin>>n; cout<<"hasil Pangkat = "<<Pangkat(A,N); getch(); Hasil Eksekusi : Latihan : 1. Buat program untuk menghitung deret S = N menggunakan Function Rekursi 2. Buat program untuk menghitung deret S = N menggunakan Function Rekursi 3. Buat program untuk menghitung 10 deret Fibonacci dengan menggunakan Function Rekursi: Pemrograman Algoritma Struktur Data Modul 06

65 Jawab : No.1 Program Deret //Deret #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <conio.h> int S(int n) if (n==1) return (1); else return (n + S(n-1)); main () int n; cout<< Masukkan n = ; cin>>n; cout<< Deret S = n \n ; cout<< Jumlah Deret S = <<S(n); getch(); Hasil Eksekusi : 6 Pemrograman Algoritma Struktur Data Modul 06

66 No. 2 //Deret #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <conio.h> int S(int n) if (n==1) return (2); else return (2*n + S(n-1)); main () int n; cout<<"masukkan n = "; cin>>n; cout<<"deret S = n \n"; cout<<"jumlah Deret S = "<<S(n); getch(); 7 Pemrograman Algoritma Struktur Data Modul 06

67 Hasil Eksekusi : 8 Pemrograman Algoritma Struktur Data Modul 06

68 Daftar Pustaka Andri Kristanto, Algoritma & Pemrograman dengan C++ Edisi 2, Graha Ilmu, Yogyakarta, Budi Raharjo, Pemrograman C++, Informatika, Bandung, Indra Yatini B, Flowchart, Algoritma, dan Pemrograman Menggunakan Bahasa C++ Builder, Graha Ilmu, Yogyakarta, Moh. Sjukani, Algoritma & Struktur Data dengan C, C++ dan JAVA, Mitra Wacana Media, Bandung, Pemrograman Algoritma Struktur Data Modul 06

69 MODUL PERKULIAHAN Pemrograman Algoritma Struktur Data Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Tehnik Informatika Abstract Array satu dimensi dan Array dua dimensi Kompetensi Mampu membuat program untuk menginisialisasi array satu dimensi dan array dua dimensi. Mampu membuat program untuk mengisi elemen array satu dimensi dan array dua dimensi menggunakan struktur perulangan.

70 ARRAY Array adalah himpunan elemen (variabel) dengan tipe data yang sama dan disimpan secara berurutan dalam memori yang ditandai dengan memberikan indeks pada suatu nama variabel. 1. Array Berdimensi Satu Gambaran sebuah Array ditunjukkan pada contoh di bawah ini, dimana kita dapat menyimpan 5 nilai dengan tipe float tanpa harus mendeklarasikan 5 identifier variabel yang berbeda. Perhatikan contoh di bawah ini : Elemen-elemen Array Nama Array Gambar 1. Gambaran Sebuah Array Bagian kosong di atas merepresentasikan elemen array, dalam kasus ini adalah nilai integer. Angka 0 4 merupakan indeks dan selalu dimulai dari 0. Seperti penggunaan variabel pada umumnya, array harus dideklarasikan terlebih dahulu, dengan format sebagai berikut : Type name [elements]; Maka contoh array di atas dideklarasikan sebagai berikut : Float Suhu [5] ; Inisialisasi Array Ketika mendeklarasikan array lokal (didalam fungsi), jika tidak diberikan nilai maka isi dari array tidak akan ditentukan (undetermined) sampai nilai diberikan. Jika mendeklarasikan array global array (di luar semua fungsi) maka isi dari array akan diinisialisasikan sebagai 0 : 2 Pemrograman Algoritma Struktur Data Modul 07

71 Suhu Atau dideklarasikan dengan memberikan nilai array yang dituliskan dalam kurung kurawal : Float Suhu [5] = 28.5, 28, 29, 30.5, 27 Maka elemen array akan berisi : Suhu Nilai array dapat di akses secara individual, dengan format : name [index] Maka dari contoh sebelumnya nama yang digunakan untuk mengakses masing-masing elemen : Suhu[0] Suhu[1] Suhu[2] Suhu[3] Suhu[4] Suhu Misalkan akan disimpan nilai 75 pada elemen ke tiga, maka instruksinya : Suhu[2] = 28; Dan jika nilai elemen ke tiga tadi akan diberikan ke variabel a, maka dapat dituliskan : a = Suhu[2]; contoh 1: Buatlah program untuk menampilkan data suatu suhu //contoh Array #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> void contoh() float Suhu[5]= 27.5, 28, 29, 30.5, 27; for (int i=0; i<5; i++) 3 Pemrograman Algoritma Struktur Data Modul 07

72 cout<<"suhu [" <<i<< "] = "<<Suhu[i]<<endl; void main() contoh(); getchar(); Hasil Eksekusi : Contoh 2: Buat program nilai dan jumlahkan nilai tersebut, kemudian hitung jumlahnya dan nilai ratarata dari 5 buah bilangan yang dimasukkan #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> void main() int daf_nilai[5]; int i,jum; float rata; for (i=1; i<=5; i++) cout<<"masukkan nilai tes ke-" <<i<< " : "; cin>>daf_nilai[i]; jum = 0 ; for (i=1;i<=5;i++) 4 Pemrograman Algoritma Struktur Data Modul 07

73 jum = jum + daf_nilai[i]; rata = jum / 5; cout<<"jumlah : "<<jum<<endl; cout<<"rata-rata : "<<rata<<endl; getch(); Hasil eksekusi : 2. Array Multidimensi Array multidimensi dapat dianggap sebagai array dari array. Contoh array 2 dimensi dapat dibayangkan sebagai table berdimensi 2 yang tersusun dari elemenelemennya, semua bertipe sama. Contoh : suhu Array suhu menyatakan array dua dimensi berukuran 3 x 5 elemen bertipe integer. Cara mendeklarasikan dalam bahasa C ++ adalah ; Int suhu [3] [5]; Sedangkan cara untuk menunjuk pada salah satu elemennya bisa dilakukan dengan menyebutkan nama array diikuti dengan alamat sel menurut baris dan kolomnya, misalnya : Suhu [0] [3] atau suhu [2] [1] 5 Pemrograman Algoritma Struktur Data Modul 07

74 Array multidimensi tidak hanya terbatas pada array dimensi 2 saja tetapi dapat berupa array dimensi 3 dan seterusnya. 3. Array Sebagai Parameter Suatu saat kita mungkin perlu untuk menjadikan array sebagai parameter sebuah fungsi. Dalam C/C++ tidak memungkinkan untuk mengirimkan nilai seluruh blok memori sebagai parameter fungsi, tetapi kita dapat mengirimkan alamat awalnya. Agar sebuah fungsi dapat menerima array sebagai parameter, cara yang dilakukan adalah menentukan tipe dan nama array (tanpa menentukan banyak elemen) dalam parameter fungsi saat fungsi dideklarasikan. Contoh : Void coba_array (int array1[]) Prosedur acak akan menerima sebuah parameter bertipe integer dengan nama p_array, untuk mengirimkan sebuah array yang dideklarasikan sebagai : Int array [40]; Cukup memanggil fungsi dengan statement : Coba_array (array); Contoh : #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> void array (int data[], int panjang) for (int n=0; n<panjang; n++) cout<< data[n] << " "; cout<<endl; void main() int array1[]=5,10,15; int array2[]=2,4,6,8,10; array(array1,3); array(array2,5); getchar(); 6 Pemrograman Algoritma Struktur Data Modul 07

75 Hasil Eksekusi : Seperti kita lihat pada program di atas, parameter pertama (int data[ ]) menerima sebarang array yang tipenya int, berapapun panjangnya. Untuk itu perlu ditambahkan parameter yang kedua untuk memberitahu panjang array yang dikirim. Nilai ini kemudian dapat dipakai pada statement perulangan for untuk menampilkan elemen array sesuai banyaknya. Dalam deklarasi fungsi juga diperbolehkan untuk memasukkan array multidimensi. Format untuk menyertakan array berbeda dengan format parameter array dimensi satu. Contoh deklarasi parameter array dimensi 3: Void coba_array ( int array1[ ] [3] [4] ) Perhatikan kurung siku pertama [ ] dibiarkan kosong sementara yang lainnya harus ditentukan. Hal ini karena compiler dalam fungsi harus dapat menentukan berapa besar array pada dimensi tambahan. Untuk bisa mengetahui lebih jelas tentang sifat-sifat array sebagai parameter sebuah fungsi kita perlu memahami lebih lanjut tentang operasi pointer. Latihan : Buat program C++ untuk menampilkan 5 nama Mahasiswa yang diinput melalui keyboard. #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> void data_mahasiswa() string nama [5]; int indeks; for (indeks=1; indeks <=5; indeks++) cout<<"masukkan nama mahasiswa ke-"<<indeks<<" : "; cin >> nama[indeks]; 7 Pemrograman Algoritma Struktur Data Modul 07

76 clrscr(); cout <<" Daftar Nama Mahasiswa " << endl; cout <<" " << endl; cout <<"No Nama Mahasiswa " << endl; cout <<" " << endl; for (indeks=1; indeks <=5; indeks++) cout << indeks << '\t' << nama[indeks]<<endl; void main() clrscr(); data_mahasiswa(); getch(); Jika kita input nama berikut : Hasil eksekusinya adalah : 8 Pemrograman Algoritma Struktur Data Modul 07

77 Soal : Dari program latihan di atas kembangkan sehingga dapat menyimpan Umur dan Jenis Kelamin dari mahasiswa. Untuk umur adalah yang berumur di atas 20 tahun saja. Kemudian tambahkan program tersebut untuk menghitung rata-rata umur dari semua mahasiswa yang dimasukkan. Programnya : #include <vcl.h> #pragma hdrstop #include<iostream.h> #include<conio.h> void data_mahasiswa() string nama [5]; int umur [5]; char jenis[5]; int indeks; int x; float jumlah, rata; for (indeks=1; indeks <=5; indeks++) cout<<"masukkan nama mahasiswa ke-"<<indeks<<" : "; cin >> nama[indeks]; cout<<"masukkan umur mahasiswa ke-"<<indeks<<" : "; cin >> umur[indeks]; cout<<"masukkan jenis mahasiswa ke-"<<indeks<<" : "; cin >> jenis[indeks]; clrscr(); cout <<" Daftar Nama Mahasiswa " << endl; cout <<" " << endl; cout <<"No Nama Umur Jenis " << endl; cout <<" " << endl; x=umur[0]; for (indeks=1; indeks <=5; indeks++) if (umur[indeks] > x) 9 Pemrograman Algoritma Struktur Data Modul 07

78 x=umur[indeks]; for (indeks=1; indeks <=5; indeks++) if (umur[indeks]>=17) cout << indeks << '\t' << nama[indeks]<<'\t'<<umur[indeks]<<'\t'<<jenis[indeks]<<endl; jumlah = 0; for (indeks=1; indeks <=5; indeks++) jumlah = jumlah + umur[indeks]; rata = jumlah/indeks; cout<<endl; cout<<"umur yang paling tua = "<<x<<endl; cout<<endl; cout<<"jumlah Umur = "<<jumlah<<endl; cout<<"rata-rata = "<<rata<<endl; void main() clrscr(); data_mahasiswa(); getch(); Jika diinput dari keyboard data berikut : 10 Pemrograman Algoritma Struktur Data Modul 07

79 Hasil Eksekusinya adalah : 11 Pemrograman Algoritma Struktur Data Modul 07

80 Daftar Pustaka Andri Kristanto, Algoritma & Pemrograman dengan C++ Edisi 2, Graha Ilmu, Yogyakarta, Budi Raharjo, Pemrograman C++, Informatika, Bandung, Indra Yatini B, Flowchart, Algoritma, dan Pemrograman Menggunakan Bahasa C++ Builder, Graha Ilmu, Yogyakarta, Moh. Sjukani, Algoritma & Struktur Data dengan C, C++ dan JAVA, Mitra Wacana Media, Bandung, Pemrograman Algoritma Struktur Data Modul 07

81 MODUL PERKULIAHAN Pemrograman Algoritma Struktur Data Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Informatika Abstract Pointer Linked List Kompetensi Mampu menggunakan pointer untuk mengalokasikan memori secara dinamis. Mampu menjelaskan konsep linked list. Mampu mengimplementasikan linkedlist dalam sebuah program sampai dengan menambah node node baru dan list traversal.

82 POINTER dan LINKED LIST I. POINTER Pointer adalah tipe data yang digunakan untuk menunjuk ke suatu data. Suatu variabel yang bertipe pointer (variabel pointer) tidak berisi data, melainkan berisi alamat suatu data. Di dalam komputer setiap lokasi data mempunyai alamat yang khas. Gambar berikut contoh suatu pointer yang menunjuk ke suatu data. Pointer Variabel X Data Berisi alamat variabel X Gambar 1. Gambaran Pointer Berdasarkan kondisi di atas, dimungkinkan untuk mengakses data pada variabel X melalui Pointer. Pointer biasa digunakan sehubungan dengan pembentukan variabel dinamis. Variabel Dinamis adalah variabel yang bisa dialokasikan di dalam memori atau dihapus dari memori ketika program dieksekusi. Hal seperti ini banyak dipakai pada struktur data seperti linked list dan pohon biner MENDEKLARASIKAN VARIABEL POINTER Bentuk deklarasi variabel pointer : tipe *variabel; Contoh : double *p; p adalah variabel pointer yang menunjuk ke data bertipe double. menyatakan pointer double *p; variabel pointer yang menunjuk Contoh lain : tipe data yang ditunjuk oleh variabel pointer p ke data bertipe double Gambar 2. Penentuan tipe Pointer 2 Pemrograman Algoritma Struktur Data Modul 08

83 struct RekamanBuku string judul; string pengarang; int jumlah; struct RekamanBuku *novel; Pada contoh ini, novel adalah variabel pointer yang menunjuk ke tipe struktur RekamanBuku. Gambarannya seperti berikut : novel judul pengarang jumlah yang ditunjuk oleh novel bertipe RekamanBuku gambar 3. Variabel pointer yang menunjuk ke struktur Supaya suatu variabel pointer menunjuk ke suatu variabel data, penugasan seperti berikut diperlukan : Variabel_pointer = &variabel_data Simbol & berarti alamat. Pernyataan di atas berarti bahwa : variabel_pointer diisi dengan alamat variabel_data MENGAKSES DATA VIA POINTER Untuk melihat cara pengaksesan data melalui pointer, cobalah kode novel.cpp berikut : //kode program novel.cpp #include <vcl.h> #pragma hdrstop #include <iostream> #include <conio.h> #include <string> 3 Pemrograman Algoritma Struktur Data Modul 08

84 using namespace std; struct RekamanBuku string judul; string pengarang; int jumlah; ; int main() struct RekamanBuku *novel, buku; // Isi data buku buku.judul = "Badai Pasti Berlalu"; buku.pengarang = "Marga T."; buku.jumlah = 2; // Variabel pointer novel diatur menunjuk ke variabel buku novel = &buku; // Mengakses data melalui variabel pointer novel cout << "Judul : " << novel->judul << endl; cout << "Pengarang : " << novel->pengarang << endl; cout << "Jumlah : " << novel->jumlah << endl; getch(); Hasil eksekusi program : 4 Pemrograman Algoritma Struktur Data Modul 08

85 1.3. MENGGUNAKAN VARIABEL DINAMIS Beberapa struktur data memanfaatkan variabel dinamis. Variabel dinamis adalah variabel yang bisa diciptakan ketika program dieksekusi. Menciptakan variabel dinamis butuh variabel pointer, kuncinya yaitu operator new. Misalnya terdapat variabel pointer novel yang bertipe pointer. Agar tercipta variabel dinamis yang akan ditunjuk oleh novel, perintahnya adalah : Novel = new RekamanBuku; Gambar berikut menunjukkan keadaan setelah pernyataan tersebut dieksekusi : novel??? judul pengarang jumlah tanda Tanya menyatakan nilainya belum ditentukan secara eksplisit oleh pemrogram Gambar 4. Keadaan setelah variabel dinamis diciptakan Kode program berikut ptrdata.cpp memberikan gambaran tentang penciptaan variabel dinamis dan pengaksesannya. Anda bandingkan dengan kode yang serupa, tetapi tidak memakai variabel dinamis (yaitu pada program novel.cpp) //program ptrdata.cpp #include <vcl.h> #pragma hdrstop #include <iostream> #include <conio.h> #include <string> using namespace std; struct RekamanBuku ; string judul; string pengarang; int jumlah; int main() 5 Pemrograman Algoritma Struktur Data Modul 08

86 struct RekamanBuku *novel; // Buat variabel dinamis dan atur agar ditunjuk oleh novel novel = new RekamanBuku; // Isi data melalui novel novel->judul = "Meriam Benteng Navarone"; novel->pengarang = "Alistair McClean"; novel->jumlah = 4; // Mengakses data melalui variabel pointer novel cout << "Judul : " << novel->judul << endl; cout << "Pengarang : " << novel->pengarang << endl; cout << "Jumlah : " << novel->jumlah << endl; // Bebaskan memori untuk variabel dinamis delete novel; getch(); Hasil eksekusi program : 1.4. MENGHAPUS VARIABEL DINAMIS Bila suatu variabel dinamis tidak diperlukan lagi, memori yang digunakannya bisa dihapus. Perintah yang diperlukan untuk keperluan tersebut berupa prosedur delete. Perintahnya adalah : Deletevariabel_pointer; Dengan cara tersebut, memori yang ditunjuk oleh variabel_pointer dihapus. 6 Pemrograman Algoritma Struktur Data Modul 08

87 Keadaan awal : novel Setelah delete novel : novel Memori untuk data ini dibebaskan atau didealokasikan Gambar 5. Gambaran penghapusan variabel dinamis Contoh penggunaan delete terdapat pada program ptrdata.cpp, yaitu diletakkan setelah variabel dinamis tidak diperlukan lagi POINTER dan ARRAY DINAMIS Array juga dapat dipesan secara dinamis melalui new. Contoh kode program dinamis.cpp //kode program dinamis.cpp #include <vcl.h> #pragma hdrstop #include <iostream> #include <conio.h> #include <string> using namespace std; struct RekamanBuku string judul; string pengarang; int jumlah; ; 7 Pemrograman Algoritma Struktur Data Modul 08

88 int main() struct RekamanBuku *novel; // Buat variabel dinamis berupa array dan atur agar ditunjuk oleh novel novel = new RekamanBuku[5]; // Isi data melalui novel novel[0].judul = "Meriam Benteng Navarone"; novel[0].pengarang = "Alistair McClean"; novel[0].jumlah = 4; novel[1].judul = "Octopussy"; novel[1].pengarang = "Ian Flemmings"; novel[1].jumlah = 2; novel[2].judul = "Badai Pasti Berlalu"; novel[2].pengarang = "Marga T."; novel[2].jumlah = 2; novel[3].judul = "Twilight"; novel[3].pengarang = "Stephenie Meyer"; novel[3].jumlah = 3; novel[4].judul = "Harry Potter Deadly Hallows"; novel[4].pengarang = "JK Rowlings"; novel[4].jumlah = 4; // Mengakses data melalui variabel pointer novel for (int j = 0; j < 5; j++) cout << "Judul : " << novel[j].judul << endl; cout << "Pengarang : " << novel[j].pengarang << endl; cout << "Jumlah : " << novel[j].jumlah << endl; cout << endl; // Bebaskan memori untuk variabel dinamis delete [] novel; getch(); 8 Pemrograman Algoritma Struktur Data Modul 08

89 Hasil eksekusi program : Hal yang terpenting dalam menggunakan array dinamis adalah penyebutan jumlah elemen array dilakukan dengan menuliskan jumlah elemen dalam tanda [ ]. Pada program di atas : novel = new RekamanBuku[5]; menyatakan bahwa jumlah elemen array yang diciptakan dan ditunjuk oleh novel sebanyak 5 buah. Gambaran setelah pernyataan di atas dijalankan dapat dilihat pada gambar berikut : novel judul pengarang jumlah novel[0] novel[1] novel[2] novel[3] novel[4] Gambar 6. Pengalokasian Array Dinamis 9 Pemrograman Algoritma Struktur Data Modul 08

90 II. KONSEP LINKED LIST 1. Mengenal Struktur Data Linked List Linked List (Senarai Berantai) adalah jenis struktur data yang berisi kumpulan data yang disusun secara linear dengan setiap data disimpan dalam sebuah simpul dan antara satu simpul dengan simpul lain dihubungkan melalui pointer. Struktur data ini mempunyai bentuk dasar dengan sifat data disisipkan ke dalam senarai melalui salah satu ujungnya. Gambar 7. Menunjukkan keadaan dalam linked list apabila secara berturut-turut nama Amir, Bakdi, Cintya dan Dhanu dimasukkan ke dalam linked list. Contoh linked list : pertama Dhanu Cintya Bakdi Amir null Gambar 7. Linked List Perhatikan gambar di atas bahwa Amir sebagai data yang pertama kali dimasukkan akan berada pada salah satu ujung (ujung kanan). Sedangkan data yang terakhir kali dimasukkan yaitu Dhanu, justru berada dibagian kiri, yang ditunjuk oleh pointer pertama. Dengan kata lain, pointer pertama selalu menunjuk ke data yang terakhir kali dimasukkan. Berbeda dengan stack, penghapusan data dalam linked list bias dilakukan di mana saja. Dalam terminologi linked list, setiap data diletakkan dalam sebuah simpul (node). Pada gambar di atas terdapat 4 buah simpul. Setiap simpul terdiri atas 2 bagian, yaitu bagian data dan bagian penunjuk ke simpul berikutnya. Pada contoh di atas bagian data hanya mengandung sebuah data, yaitu nama orang. Namun bagian data bisa saja mengandung beberapa data. Misalnya bagian data terdiri atas nomor mahasiswa dan nama mahasiswa seperti contoh berikut : Andi Sadewo Berisi nomor mahasiswa Dan Nama mahasiswa Pointer yang digunakan untuk menunjuk ke simpul berikutnya. Berisi NULL kalau tidak menunjuk Ke simpul. Gambar 8. Penjelasan simpul dalam linked list 10 Pemrograman Algoritma Struktur Data Modul 08

91 2. Operasi Dasar Dalam Linked List (Senarai Berantai) Operasi dasar pada Linked List berupa : INSERT( ), menyatakan operasi untuk memasukkan data ke dalam linked list pada posisi yang ditunjuk oleh pointer pertama. Operasi ini biasa dinyatakan dengan insert(s, d) atau biasa disingkat insert(d). S menyatakan linked list dan d menyatakan item data yang dimasukkan ke dalam linked list S. FIND( ), menyatakan operasi untuk mencari suatu data dalam linked list. Operasi ini biasa dinyatakan dengan fungsi find(pendahulu, x). nilai baliknya berupa true kalau data yang dicari (yaitu x) ada; atau false kalau data yang dicari tidak ada. Pada saat nilai balik bernilai true, pendahulu menunjuk simpul yang berada tepat sebelum simpul yang berisi data yang dicari. REMOVE( ), menyatakan operasi untuk menghilangkan sebuah simpul dari linked list. Operasi ini biasa dinyatakan dengan remove(s, x) atau remove(x) saja. 11 Pemrograman Algoritma Struktur Data Modul 08

92 Daftar Pustaka Abdul Kadir, Teori dan Aplikasi STRUKTUR DATA menggunakan C++, CV. ANDI OFFSET, Yogyakarta, Andri Kristanto, Algoritma & Pemrograman dengan C++ Edisi 2, Graha Ilmu, Yogyakarta, Budi Raharjo, Pemrograman C++, Informatika, Bandung, Moh. Sjukani, Algoritma & Struktur Data dengan C, C++ dan JAVA, Mitra Wacana Media, Bandung, Pemrograman Algoritma Struktur Data Modul 08

93 MODUL PERKULIAHAN Pemrograman Algoritma Struktur Data Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Informatika Abstract List traversal secara rekursif Penyisipan node di awal dan di tengah linked list. Kompetensi Mampu membuat program yang secara rekursif melakukan list traversal Mampu membuat program yang melakukan penyisipan node di awal dan di tengah linked list.

94 LIST TRAVERSAL Traversal atau kunjungan simpul list sesuai urutan untuk memproses setiap simpul tepat satu kali. Algoritma traversal, menggunakan variabel penuding PTR untuk menuding simpul yang sedang di proses saat ini. Karena itu LINK(PTR) akan menuding simpul berikut dalam list. Statement PTR := LINK(PTR) akan menggerakkan penuding ke simpul berikutnya. PTR Gambar 1. Algoritma Traversal secara rinci : Mula-mula, kita awali dengan memberi nilai kepada PTR, sama dengan START. Kita proses INFO(PTR), yakni informasi pada simpul pertama dalam List. Selanjutnya PTR diperbaharui melalui statement PTR := LINK(PTR). Sekarang proses INFO(PTR), yakni informasi pada simpul kedua. Demikian seterusnya sampai nilai PTR = NULL, akhir dari traversal. ALGORITMA 1. PTR := START. 2. Kerjakan Langkah 3 dan 4 dalam hal PTR <> NULL : 3. Proses INFO(PTR). 4. PTR := LINK(PTR). 5. EXIT. CARI (SEARCHING) DALAM LINKED LIST 1. Cari dalam list tidak terurut 2. Cari dalam list terurut CARI DALAM LIST TIDAK TERURUT 2 Pemrograman Algoritma Struktur Data Modul 09

95 Melakukan Traversal Simpul list, sambil setiap kali memeriksa apakah informasi dalam simpul yang tengah dikunjungi tersebut sama dengan ITEM. Dalam algoritma ini diperlukan 2 buah pemeriksaan pada setiap putaran yaitu : 1. Memeriksa apakah telah sampai pada akhir dari list, yakni dengan memeriksa apakah PTR = NULL. 2. Memeriksa apakah ITEM telah ditemukan lokasinya, yakni dengan memeriksa apakah INFO(PTR) = ITEM ALGORITMA SEARCH(INFO, LINK, START, ITEM, LOC) 1. PTR := START. 2. Kerjakan langkah 3 dalam hal PTR <> NULL : 3. Jika INFO(PTR) = ITEM, maka : LOC := PTR, exit. Bila tidak PTR := LINK(PTR). 4. LOC := NULL. (Pencarian gagal) 5. Exit. CARI DALAM LIST TERURUT Melakukan traversal simpul list, sambil setiap kali memeriksa apakah informasi dalam simpul yang tengah dikunjungi tersebut sama dengan ITEM. Karena terurutnya list, tidak perlu melakukan traversal sampai akhir dari list, walau ITEM tidak terdapat dalam list. Begitu INFO(PTR) > ITEM, hentikan proses pencarian. Dalam algoritma ini diperlukan 2 buah pemeriksaan pada setiap putaran yaitu : 1. Memeriksa apakah INFO(PTR) sudah lebih besar dari ITEM, berarti ITEM tidak terdapat dalam list, hentikan proses cari. 2. Memeriksa apakah ITEM telah ditemukan lokasinya, yakni dengan memeriksa apakah INFO(PTR) = ITEM. ALGORITMA SRCHSL(INFO, LINK, START, ITEM, LOC) 1. PTR := START. 2. Kerjakan langkah 3 dalam hal PTR <> NULL : 3. Jika INFO(PTR) < ITEM, maka : PTR := LINK(PTR). Bila tidak jika ITEM = INFO(PTR), maka : 3 Pemrograman Algoritma Struktur Data Modul 09

96 LOC := PTR, dan exit. (pencarian sukses) Bila tidak : LOC := NULL, and exit. 4. LOC := NULL. 5. Exit. Contoh : // Contoh senarai berantai (linked list) #include <vcl.h> #pragma hdrstop #include <conio.h> #include <iostream> #include <string> using namespace std; class Simpul public: string kode; string nama; Simpul* berikut; // Konstruktor Simpul(string xkode, string xnama) kode = xkode; nama = xnama; berikut = NULL; void display() cout << kode << " : " << nama << endl; ; class SenaraiBerantai private: Simpul* pertama; 4 Pemrograman Algoritma Struktur Data Modul 09

97 public: // Konstruktor SenaraiBerantai() pertama = NULL; // Destruktor ~SenaraiBerantai() // Menghapus semua simpul Simpul* penunjukhapus; while (pertama!= NULL) penunjukhapus = pertama; pertama = pertama->berikut; delete penunjukhapus; // Memasukkan data ke senarai berantai Nilai balik tidak ada void insert(string kode, string nama) Simpul* ptrbaru; ptrbaru = new Simpul(kode, nama); ptrbaru->berikut = pertama; pertama = ptrbaru; // Mencari data Nilai balik berupa true kalau yang dicari ketemu // Dalam hal ini, pendahulu merupakan simpul yang terletak di depan simpul yang dicari bool find(simpul* &pendahulu, Simpul* &posisidata, string x) posisidata = pertama; pendahulu = NULL; bool ditemukan = false; while (posisidata!= NULL) 5 Pemrograman Algoritma Struktur Data Modul 09

98 string kode = posisidata->kode; if (kode.compare(x) == 0) ditemukan = true; break; // Keluar dari while pendahulu = posisidata; posisidata = posisidata->berikut; return ditemukan; // Mencari data Nilai balik berupa NULL kalau yang dicari tidak ketemu Simpul* find(string x) Simpul* pendahulu; Simpul* posisidata; bool ditemukan = find(pendahulu, posisidata, x); if (! ditemukan) return NULL; else return posisidata; // Menghapus simpul yang berisi kode x // Nilai balik berupa : // - true kalau data berhasil dihapus // - false kalau data tidak ada bool remove(string x) Simpul* pendahulu; Simpul* posisidata; bool ditemukan = find(pendahulu, posisidata, x); if (! ditemukan) cout << "Data yang akan dihapus tidak ditemukan." << endl; 6 Pemrograman Algoritma Struktur Data Modul 09

99 return false; if (pendahulu == NULL) // Data yang dihapus ditunjuk oleh pertama pertama = pertama->berikut; delete posisidata; else // Data yang dihapus tidak ditunjuk oleh pertama pendahulu->berikut = posisidata->berikut; delete posisidata; // Menampilkan data void display(void) cout << "Isi senarai berantai:" << endl; Simpul* penunjuk = pertama; while (penunjuk!= NULL) penunjuk->display(); penunjuk = penunjuk->berikut; ; int main() SenaraiBerantai senarai; // Masukkan 5 buah nama senarai.insert("amn", "Aminudin"); senarai.insert("zas", "Zaskia"); senarai.insert("rin", "Rina Melati"); senarai.insert("far", "Farhan"); 7 Pemrograman Algoritma Struktur Data Modul 09

100 senarai.insert("agn", "Agnes Monica"); cout << "Keadaan awal:" << endl; senarai.display(); senarai.remove("rin"); cout << endl; cout << "Setelah RIN dihapus:" << endl; senarai.display(); // Cari RIN string dicari = "RIN"; cout << endl; cout << "Pencarian " << dicari << endl; Simpul* posisidata = senarai.find(dicari); if (posisidata == NULL) cout << dicari << " tidak ditemukan." << endl; else cout << "Hasil pencarian:" << endl; posisidata->display(); // Cari FAR dicari = "FAR"; cout << endl; cout << "Pencarian " << dicari << endl; posisidata = senarai.find(dicari); if (posisidata == NULL) cout << dicari << " tidak ditemukan." << endl; else cout << "Hasil pencarian:" << endl; posisidata->display(); getch(); Hasil Eksekusi Program : 8 Pemrograman Algoritma Struktur Data Modul 09

101 9 Pemrograman Algoritma Struktur Data Modul 09

102 Daftar Pustaka Andri Kristanto, Algoritma & Pemrograman dengan C++ Edisi 2, Graha Ilmu, Yogyakarta, Budi Raharjo, Pemrograman C++, Informatika, Bandung, Moh. Sjukani, Algoritma & Struktur Data dengan C, C++ dan JAVA, Mitra Wacana Media, Bandung, Pemrograman Algoritma Struktur Data Modul 09

103 MODUL PERKULIAHAN Pemrograman Algoritma Struktur Data Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Informatika Abstract ADT Stack Implementasi stack dengan array Implementasi stack dengan linked list Kompetensi Mampu menjelaskan yang dimaksud dengan ADT stack Mampu membuat program yang mengimplementasikan stack dengan array

104 ADT STACK I. STRUKTUR DATA TUMPUKAN Stack (Tumpukan) adalah struktur data yang memungkinkan penyisipan dan pengambilan data dilakukan dari satu ujung yang disebut puncak. Sesuai namanya, struktur data ini digambarkan seperti keadaan tumpukan piring atau tumpukan buku. Cara yang paling mudah untuk meletakkan piring ke dalam tumpukan yakni dengan menaruhnya di bagian puncak. Begitu juga kalau Anda ingin mengambil piring. Piring diambil dari data yang berada di puncak tumpukan. kosong C B A Berisi 3 C B Diambil 1 A dari puncak Gambar 1. Struktur Data Tumpukan Tumpukan memiliki sifat Last In First Out (LIFO). Artinya, data yang terakhir kali dimasukkan/disisipkan akan menjadi data yang pertama kali keluar. Pada contoh di atas, yang berisi tumpukan A, B, dan C jelas terlihat bahwa C adalah data yang terakhir kali ditumpukkan. Jika terjadi operasi pengambilan data maka C adalah data yang akan keluar terlebih dulu. 2 Pemrograman Algoritma Struktur Data Modul 09

105 II. OPERASI DASAR PADA TUMPUKAN Operasi dasar pada tumpukan adalah PUSH dan POP. - PUSH adalah operasi untuk memasukkan data ke dalam tumpukan. Operasi ini biasa dinyatakan dengan push(t,d). T menyatakan tumpukan dan d menyatakan item data yang disisipkan ke dalam tumpukan T. - POP adalah operasi untuk mengambil data dari tumpukan. Operasi ini biasa dinyatakan dengan pop(t). Dalam hal ini data teratas dari tumpukan T akan dikeluarkan dan menjadi nilai balik pop. Itulah sebabnya, penggunaan pop sering dituangkan dalam bentuk pernyataan : data = pop (T); Tabel berikut memperlihatkan sejumlah operasi PUSH dan POP Tabel 1. Ilustrasi PUSH dan POP pada Tumpukan (STACK) Operasi Penjelasan Hasil tumpukan T push(t, Paris ) push(t, Innsbruck ) pop(t) push(t, Amsterdam ) push(t, Geneva ) push(t, Roma ) push(t, Vienna ) pop(t) pop(t) pop(t) push(t, London ) Paris dimasukkan terlebih dulu, baru Innsbruck Innsbruck dikeluarkan, kemudian Amsterdam dimasukkan, dan diikuti Geneva Roma dan Vienna ditambahkan Vienna, Roma dan Geneva dikeluarkan. Kemudian London ditambahkan Innsbruck Paris Geneva Amsterdam Paris Geneva Amsterdam Paris London Amsterdam Paris 3 Pemrograman Algoritma Struktur Data Modul 09

106 III. APLIKASI TUMPUKAN Aplikasi Tumpukan (Stack) sangat banyak, beberapa penerapan Tumpukan diantaranya adalah : Membalik String. Jika kita memproses suatu string dimulai dari yang paling kiri dan menaruh ke tumpukan karakter per karakter maka karakter paling kiri akan berada pada posisi paling bawah dalam tumpukan. Kalau kemudian, karakter dalam tumpukan diambil satu persatu dan disusun dari kiri ke kanan maka string akan terbentuk dengan susunan terbalik terhadap aslinya, seperti diperlihatkan pada gambar di bawah ini. O String asal FERNANDO D di proses ketumpokan N A di ambil satu persatu dan di susun dari kiri ke kanan : ODNANREF N R E F Gb. Pembalikan string melalui tumpukan Mengkonversikan bilangan system decimal ke system biner. Contoh. Bilangan 19 identik dengan bilangan biner : Algoritma untuk melakukannya adalah seperti berikut : 1. Tumpukan <---- kosong 2. While Bilangan > 0 3. Digit ---- sisa pembagian bilangan bulat dengan 2 4. Push(Tumpukan, Digit) 5. Bilangan ---- pembagian bilangan bulat dengan 2 6. End-While 7. While (Tumpukan tidak kosong) 8. Digit ---- Pop 4 Pemrograman Algoritma Struktur Data Modul 09

107 9. Tampilkan digit 10. End-While Mengevaluasi Ekspresi Aritmetika. Misalnya, tumpukan dipakai untuk memproses perhitungan semacam (2+1)*3+5*2 yang melibatkan berbagai operator dengan prioritas yang berbeda. Memproses pasangan tanda kurung dalam suatu ekspresi. Misalnya, ekspresi seperti (a(bc d[]) dianggap valid, sedangkan ekspresi (a(bc d] dianggap tidak valid. Menangani fungsi Rekursif. Secara internal computer menggunakan tumpukan ketika terjadi pemanggilan fungsi secara rekursif. 4. Implementasi Stack dengan Vektor Tumpukan dapat dibuat dengan berbagai cara. Salah satu cara yaitu, menggunakan Vector. Dalam hal ini, jumlah data Implementasi Stack dengan Vector #include <vcl.h> #pragma hdrstop #include <iostream> #include <string> #include <vector> using namespace std; class Tumpukan private: vector<string> tumpukan; int puncak; public: // Konstruktor Tumpukan(int ukuran) : puncak(-1) tumpukan.resize(ukuran); // Ukuran vector 5 Pemrograman Algoritma Struktur Data Modul 09

108 // Memasukkan data ke tumpukan // Nilai balik berupa false // kalau tumpukan sudah penuh bool push(string data) // Periksa kalau tumpukan penuh if (puncak == (tumpukan.size()-1)) return false; // Masukkan data ke tumpukan puncak++; tumpukan[puncak] = data; string pop(void) if (! empty()) return tumpukan[puncak--]; else return ""; // String kosong menyatakan // tumpukan sudah habis bool empty(void) return (puncak == -1); ; int main() int ukuran = 10; Tumpukan stack(ukuran); // Buat objek // Masukkan 5 buah nama stack.push("aminudin"); stack.push("zaskia"); stack.push("rina Melati"); stack.push("farhan"); 6 Pemrograman Algoritma Struktur Data Modul 09

109 stack.push("agnes Monica"); // Kosongkan isi tumpukan dan tampilkan while (! stack.empty()) string nama = stack.pop(); cout << nama << endl; getchar(); Hasil Eksekusi Program Tumpukan Dengan Vector 7 Pemrograman Algoritma Struktur Data Modul 09

110 Daftar Pustaka Andri Kristanto, Algoritma & Pemrograman dengan C++ Edisi 2, Graha Ilmu, Yogyakarta, Budi Raharjo, Pemrograman C++, Informatika, Bandung, Indra Yatini B, Flowchart, Algoritma, dan Pemrograman Menggunakan Bahasa C++ Builder, Graha Ilmu, Yogyakarta, Moh. Sjukani, Algoritma & Struktur Data dengan C, C++ dan JAVA, Mitra Wacana Media, Bandung, Pemrograman Algoritma Struktur Data Modul 09

111 MODUL PERKULIAHAN Pemrograman Algoritma Struktur Data Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Teknik Informatika Abstract Implementasi Stack dengan linked list Kompetensi Mampu membuat program yang mengimplementasikan stack dengan linked list

112 IMPLEMENTASI STACK DENGAN LINKED LIST I. Implementasi Aplikasi Linked List untuk membuat tumpukan (Stack) // Implementasi kelas SimpulTumpukan dan ListTumpukan // (Aplikasi untuk membalik string) #include <vcl.h> #pragma hdrstop #include <iostream> #include <string> #include <conio.h> using namespace std; class SimpulTumpukan public: char data; SimpulTumpukan* berikut; ; // Konstruktor SimpulTumpukan(char data); class ListTumpukan private: SimpulTumpukan* puncak; public: ListTumpukan(); virtual ~ListTumpukan(); void push(char data); bool empty(); char pop(); ; 2 Pemrograman Algoritma Struktur Data Modul 11

113 // Konstruktor SimpulTumpukan::SimpulTumpukan(char data) SimpulTumpukan::data = data; SimpulTumpukan::berikut = NULL; ListTumpukan::ListTumpukan() ListTumpukan::puncak = NULL; // Destruktor ListTumpukan::~ListTumpukan() // Menghapus semua simpul SimpulTumpukan* penunjukhapus; while (puncak!= NULL) penunjukhapus = puncak; puncak = puncak->berikut; delete penunjukhapus; // push() (Bersifat publik) // Untuk memasukkan data ke dalam tumpukan void ListTumpukan::push(char data) SimpulTumpukan* ptrbaru; ptrbaru = new SimpulTumpukan(data); ptrbaru->berikut = puncak; puncak = ptrbaru; 3 Pemrograman Algoritma Struktur Data Modul 11

114 // empty() (Bersifat publik) // Menghasilkan true kalau tumpukan dalam keadaan kosong bool ListTumpukan::empty() return puncak == NULL; // pop() (Bersifat publik) // Mengambil sebuah nilai dari tumpukan char ListTumpukan::pop() if (empty()) cout << "Tumpukan sudah kosong. " << "Tidak bisa diambil lagi" << endl; return 0; // Karakter NULL menyatakan tumpukan sudah kosong SimpulTumpukan* ptrdata; char data; ptrdata = puncak; data = puncak->data; puncak = puncak->berikut; delete ptrdata; return data; int main() ListTumpukan tumpukan; tumpukan.push('a'); tumpukan.push('b'); tumpukan.push('c'); tumpukan.push('d'); 4 Pemrograman Algoritma Struktur Data Modul 11

115 // Ambil isi tumpukan cout << "Isi tumpukan dari atas ke bawah:" << endl; char karakter; while (! tumpukan.empty()) karakter = tumpukan.pop(); cout << karakter << endl; getch(); Hasil eksekusi : II. APLIKASI DOUBLE LINKED LIST (SENARAI BERANTAI GANDA) Double Linked List adalah jenis linked list yang memiliki 2 buah pointer. Pointer pertama dipakai untuk menunjuk ke simpul berikutnya dan pointer kedua digunakan untuk menunjuk ke simpul pendahulunya. // Contoh untuk menguji senarai berantai ganda #include <vcl.h> #pragma hdrstop #include <iostream> #include <conio.h> using namespace std; class SimpulGanda public: 5 Pemrograman Algoritma Struktur Data Modul 11

PENGERTIAN. 2. Operator Unary 3. Operator Binary 4. Operator Ternary

PENGERTIAN. 2. Operator Unary 3. Operator Binary 4. Operator Ternary OPERATOR C++ PENGERTIAN Operator adalah simbol yang mengolah nilai pada operan dan menghasilkan satu nilai baru. Operator dapat dikelompokan menjadi 4 bagian yaitu: 1. Operator Assignment 2. Operator Unary

Lebih terperinci

Pengenalan C++ Oleh : Dewi Sartika

Pengenalan C++ Oleh : Dewi Sartika Pengenalan C++ Oleh : Dewi Sartika Pendahuluan Bahasa Pemrograman C++ merupakan bahasa tingkat menengah dimana bahasa ini didasarkan atas bahasa C, keistimewaan dari bahasa C++ adalah bahasa ini mendukung

Lebih terperinci

Struktur Bahasa C dan C++

Struktur Bahasa C dan C++ Elemen Program Struktur Bahasa C dan C++ Bahasa C merupakan bahasa pendahulu dari bahasa C++. Pencipta C adalah Brian W. Kernighan dan Dennis M. Ritchie pada sekitar tahun 1972. C adalah bahasa pemrograman

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK. Operator. Budhi Irawan, S.Si, M.T

PEMROGRAMAN BERORIENTASI OBJEK. Operator. Budhi Irawan, S.Si, M.T PEMROGRAMAN BERORIENTASI OBJEK Operator Budhi Irawan, S.Si, M.T OPERATOR Operator adalah tanda yang digunakan untuk melakukan operasi operasi tertentu didalam program. Dengan adanya operator maka dapat

Lebih terperinci

LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM TURBO C++

LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM TURBO C++ I.PENDAHULUAN 1. 1. ALGORITMA Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas dan tidak rancu untuk memecahkan suatu masalah dalam rentang waktu tertentu. Setiap aksi harus dapat dikerjakan

Lebih terperinci

Komentar, Identifier, Konstanta dan Variabel

Komentar, Identifier, Konstanta dan Variabel PEMROGRAMAN BERORIENTASI OBJEK Komentar, Identifier, Konstanta dan Variabel Budhi Irawan, S.Si, M.T KOMENTAR PROGRAM Dalam proses pengembangan sebuah program, pasti akan disibukan dengan penulisan kode-kode

Lebih terperinci

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009 SOAL C++ 1. Penulisan Preprocessor yang benar di awali dengan tanda pound atau tanda : a. # c. @ b. & d. = 2. Contoh penulisan file header yang benar yaitu : a. &include c. =include

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK. Tipe Data. Budhi Irawan, S.Si, M.T

PEMROGRAMAN BERORIENTASI OBJEK. Tipe Data. Budhi Irawan, S.Si, M.T PEMROGRAMAN BERORIENTASI OBJEK Tipe Data Budhi Irawan, S.Si, M.T TIPE DATA Tipe Data berfungsi untuk merepresentasikan jenis dari nilai yang terdapat dalam program. Contoh apabila mempunyai suatu data

Lebih terperinci

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman Jurusan Teknik Informatika Fakultas Teknik Universitas Maritim Raja Ali Haji ALGORITMA DAN PEMOGRAMAN I. ALGORITMA II. BAHASA

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN BERORIENTASI OBJEK PEMROGRAMAN BERORIENTASI OBJEK Fungsi Budhi Irawan, S.Si, M.T 10/27/2017 9:12:31 AM 1 PENDAHULUAN Fungsi merupakan kumpulan statemen yang dikelompokan menjadi satu bagian kode (blok program) untuk menyelesaikan

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK. Percabangan. Budhi Irawan, S.Si, M.T

PEMROGRAMAN BERORIENTASI OBJEK. Percabangan. Budhi Irawan, S.Si, M.T PEMROGRAMAN BERORIENTASI OBJEK Percabangan Budhi Irawan, S.Si, M.T PERCABANGAN Salah satu permasalahan yang akan dijumpai dalam pembuatan program adalah percabangan. Percabangan yang dimaksud adalah suatu

Lebih terperinci

MODUL 1 Alur Seleksi dengan C++

MODUL 1 Alur Seleksi dengan C++ 1 MODUL 1 Alur Seleksi dengan C++ Teori Singkat C++ merupakan perluasan bahasa C dengan tambahan fasilitas kelas (Class). Dengan fasilitas ini, maka C++ mendukung teknik pemrograman berorientasi objek

Lebih terperinci

Tipe bentukan dan pointer selanjutnya akan kita pelajari pada modul pemrograman 1 (akhir semester).

Tipe bentukan dan pointer selanjutnya akan kita pelajari pada modul pemrograman 1 (akhir semester). TIPE DATA Penggunaan tipe data pada bahasa c++ erat kaitannya dengan penggunaan memori, perlu diperhatikan dalam penggunaanya. Terdapat tiga tipe data dalam bahasa C++ yaitu : 1. Tipe Data Dasar terdiri

Lebih terperinci

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2 VARIABEL, TIPE DATA DAN EKSPRESI Bab 2 2.1 IDENTIFIER Indentifier adalah nama yang diberikan untuk nama objek, nama fungsi, nama variable, dll ( sifatnya case sensitive ). Identifier pada C++ terdiri dari

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK. Pengulangan. Budhi Irawan, S.Si, M.T

PEMROGRAMAN BERORIENTASI OBJEK. Pengulangan. Budhi Irawan, S.Si, M.T PEMROGRAMAN BERORIENTASI OBJEK Pengulangan Budhi Irawan, S.Si, M.T PENGULANGAN Pengulangan adalah suatu proses yang melakukan perulangan statement-statement dalam sebuah program secara terus-menerus sampai

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA Hal 1 dari 10 A. KOMPETENSI 1. Memahami pengertian dan manfaat fungsi 2. Memahami fungsi tanpa nilai balik 3. Memahami fungsi dengan nilai balik 4. Memahami jenis parameter: masukan, keluaran, dan masukan/keluaran

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA Hal 1 dari 12 A. KOMPETENSI 1. Mampu membuat komentar dalam kode program 2. Memahami konstanta, variabel dalam C++ 3. Mampu membuat inisialisasi nilai ke dalam variabel B. ALAT DAN BAHAN 1. PC/ Laptop

Lebih terperinci

Pertemuan 5 PEMILIHAN/PERCABANGAN

Pertemuan 5 PEMILIHAN/PERCABANGAN ALGORITMA PEMROGRAMAN (Semester 1 - IF6110202) Pertemuan 5 PEMILIHAN/PERCABANGAN Jadwal: Selasa, 24/10/2017, 10:20-12.00 (2 sks) Dosen:Condro Kartiko CAPAIAN PEMBELAJARAN UMUM Setelah mengikuti mata kuliah

Lebih terperinci

Keg. Pembelajaran 2 : Mengenal Bahasa C++

Keg. Pembelajaran 2 : Mengenal Bahasa C++ Keg. Pembelajaran 2 : Mengenal Bahasa C++ 1. Tujuan Kegiatan Pembelajaran Setelah mempelajari materi kegiatan pembelajaran ini mahasiswa akan dapat : 1) Mengenal secara baik sintak-sintak dalam bahasa

Lebih terperinci

STRUKTUR DATA MENGGUNAKAN C++ Windha Mega PD, S.Kom

STRUKTUR DATA MENGGUNAKAN C++ Windha Mega PD, S.Kom STRUKTUR DATA MENGGUNAKAN C++ Windha Mega PD, S.Kom DASAR PEMROGRAMAN C++ Bahasa C++ adalah bahasa yang menggunakan kompiler untuk translator dari kode program menjadi bahasa mesin. Bahasa C++ mempunyai

Lebih terperinci

Konsep Dasar Pemrograman Dan Pengenalan C++

Konsep Dasar Pemrograman Dan Pengenalan C++ PRAKTIKUM 1 DAN 2 Konsep Dasar Pemrograman Dan Pengenalan C++ I. KONSEP DASAR PEMROGRAMAN Program adalah deretan instruksi yang digunakan untuk mengendalikan komputer, sehingga komputer dapat melakukan

Lebih terperinci

PRAKTIKUM PEMROGRAMAN KOMPUTER MODUL II PERCABANGAN. Bahasa Pemrograman : C / C++

PRAKTIKUM PEMROGRAMAN KOMPUTER MODUL II PERCABANGAN. Bahasa Pemrograman : C / C++ PRAKTIKUM PEMROGRAMAN KOMPUTER MODUL II PERCABANGAN Bahasa Pemrograman : C / C++ PROGRAM TEKNIK INDUSTRI UNIVERSITAS ISLAM NEGERI SUNAN KALIJAGA YOGYAKARTA 2007 1 Percabangan adalah suatu pemilihan statemen

Lebih terperinci

Algoritma Pemrograman. Fery Updi,M.Kom

Algoritma Pemrograman. Fery Updi,M.Kom Algoritma Pemrograman Fery Updi,M.Kom 1 Kompetensi Detail Mampu menjelaskan Prinsip-prinsip Algoritma Mampu menjelaskan Konsep Bahasa Pemrograman Mampu membuat Flowchart dan Pseudocode Mampu menjelaskan

Lebih terperinci

Instalasi Code::Blocks, Tipe Data, Variabel, Konstanta, Operator, Input-Output dan Flowchart

Instalasi Code::Blocks, Tipe Data, Variabel, Konstanta, Operator, Input-Output dan Flowchart Instalasi Code::Blocks, Tipe Data, Variabel, Konstanta, Operator, Input-Output dan Flowchart Pertemuan ke-1 Praktikum Algoritma dan Pemrograman Laboratorium Pemrograman dan Informatika Teori Pengumuman

Lebih terperinci

8.1 FUNGSI, DEKLARASI DAN DEFINISI NYA

8.1 FUNGSI, DEKLARASI DAN DEFINISI NYA 8 FUNGSI Fungsi adalah sekumpulan perintah operasi program yang dapat menerima argumen input dan dapat memberikan hasil output yang dapat berupa nilai ataupun sebuah hasil operasi. Nama fungi yang didefinisikan

Lebih terperinci

Pengantar Pemrograman

Pengantar Pemrograman Pengantar Pemrograman MateriMinggu ke-4&5 Kontrol Berbasis Keputusan: Pernyataan if dan switch Fakultas Teknik Sipil & Fakultas Teknik Sipil & Lingkungan Pernyataan if pernyataan untuk melakukan pengambilan

Lebih terperinci

STRUKTUR DASAR PEMROGRAMAN

STRUKTUR DASAR PEMROGRAMAN STRUKTUR DASAR PEMROGRAMAN P E N G E N A L A N P R O G R A M S T U D I Institut Teknologi Sumatera 15/09/2017 PENGANTAR PROGRAM STUDI 1 TUJUAN KULIAH Subtopik Input Proses Output dalam program Deklarasi

Lebih terperinci

Achmad Solichin.

Achmad Solichin. Pemrograman Bahasa C dengan Turbo C Sh-001@plasa.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit),

Lebih terperinci

OPERATOR DAN STATEMEN I/O

OPERATOR DAN STATEMEN I/O OPERATOR DAN STATEMEN I/O PEMROGRAMAN TURBO C++ OPERATOR Operator adalah symbol yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi. OPERATOR PENUGASAN Operator Penugasan

Lebih terperinci

PERCABANGAN P E N G E N A L A N P R O G R A M S T U D I T E K N I K I N F O R M AT I K A. Institut Teknologi Sumatera

PERCABANGAN P E N G E N A L A N P R O G R A M S T U D I T E K N I K I N F O R M AT I K A. Institut Teknologi Sumatera PERCABANGAN P E N G E N A L A N P R O G R A M S T U D I T E K N I K I N F O R M AT I K A Institut Teknologi Sumatera PRE TEST Apa itu tipe data? Apa itu variabel? Apa itu konstanta? Sebuah lingkaran memiliki

Lebih terperinci

Tipe Data dan Operator

Tipe Data dan Operator Tipe Data dan Operator Dasar Algoritma dan Pemrogrman Eka Maulana, ST, MT, MEng. Klasifikasi Tipe Data 1 Tipe Data Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam

Lebih terperinci

Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah: Perkalian Pembagian Sisa Pembagian (mod) Penjumlahan 6 2

Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah: Perkalian Pembagian Sisa Pembagian (mod) Penjumlahan 6 2 [Kristanto:2009] Operator merupakan simbol atau kata yang dapat digunakan dalam program untuk melakukan suatu operasi atau manipulasi, seperti menjumlahkan dua buah nilai, memberikan nilai kesuatu variabel,

Lebih terperinci

SUMBER BELAJAR PENUNJANG PLPG

SUMBER BELAJAR PENUNJANG PLPG SUMBER BELAJAR PENUNJANG PLPG 2017 [TIK] BAB VIII PEMROGRAMAN BERORIENTASI OBJEK [Alfa Faridh Suni] KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN 2017 BAB VIII

Lebih terperinci

3. Elemen Dasar C++ S. Indriani S. L., M.T L.,

3. Elemen Dasar C++ S. Indriani S. L., M.T L., 3. Elemen Dasar C++ S. Indrianii L., M.T Himpunan karakter Suatu pengenal berupa satu atau beberapa karakter Huruf A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q

Lebih terperinci

Chapter 1 KONSEP DASAR C

Chapter 1 KONSEP DASAR C Chapter 1 KONSEP DASAR C Sejarah Dan Standar C Akar dari bahasa C adalah BCPL (dikembangkan oleh Martin Richard tahun 1967). Kemudian Tahun 1970, Ken Thompson mengembangkan bahasa tersebut yang di kenal

Lebih terperinci

Bahasa C-M6 By Jamilah, Skom 1

Bahasa C-M6 By Jamilah, Skom 1 BAB 1 KONSEP DASAR BAHASA C 1.1 SEJARAH DAN STANDAR C Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richard pada tahun 1967. Bahasa ini memberkan ide kepada ken thompson yang kemudian

Lebih terperinci

Bab 2. Dasar-Dasar Pemrograman C

Bab 2. Dasar-Dasar Pemrograman C Bab 2. Dasar-Dasar Pemrograman C Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 Overview Tipe Data Standar (Standart Data Type) Aturan Pendefinisian Identifier Variabel Mendeklarasikan

Lebih terperinci

PRAKTIKUM 4 PERCABANGAN

PRAKTIKUM 4 PERCABANGAN PRAKTIKUM 4 PERCABANGAN Tujuan: Dapat menggunakan instruksi percabangan di dalam pemecahan masalah I. PERCABANGAN Salah satu permasalahan yang pasti akan dijumpai dalam pembuatan program adalah percabangan.

Lebih terperinci

Chapter 2 Tipe Data, Identifier, Operator dan Control Statement

Chapter 2 Tipe Data, Identifier, Operator dan Control Statement Chapter 2 Tipe Data, Identifier, Operator dan Control Statement Tipe Data dan Identifier Program adalah kumpulan instruksi yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk

Lebih terperinci

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER)

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER) MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER) I. TUJUAN 1. Mahasiswa mengenal struktur bahasa pemrograman C dan C++ 2. Mahasiswa mengenal perintah-perintah dasar C dan C++ 3. Mahasiswa

Lebih terperinci

Dasar Pemrograman Java

Dasar Pemrograman Java Dasar Pemrograman Java Tessy Badriyah, SKom. MT. http://lecturer.eepis-its.edu/~tessy Tujuan Pembelajaran Penggunaan Komentar dalam program Memahami perbedaan identifier yang valid dan yang tidak valid

Lebih terperinci

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN Tim Pengajar KU1202 - Institut Teknologi Sumatera tujuan perkuliahan Mahasiswa memahami pengertian dan percabangan Mahasiswa dapat menggunakan notasi percabangan

Lebih terperinci

elemen Dasar Bahasa Pemrograman C

elemen Dasar Bahasa Pemrograman C Elemen-elemen elemen Dasar Bahasa Pemrograman C Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN - 2008 Identifier : Elemen Dasar C Nama pengenal (identifier) adalah nama-nama yang ditentukan

Lebih terperinci

MODUL PRAKTIKUM ALGORITMA DAN PEMROGRAMAN

MODUL PRAKTIKUM ALGORITMA DAN PEMROGRAMAN MODUL PRAKTIKUM ALGORITMA DAN PEMROGRAMAN PROGRAM STUDI TEKNIK KOMPUTER FAKULTAS TEKNIK UNIVERSITAS ISLAM 45 BEKASI 2015 1 Peraturan : 1. Mahasiswa harus berpakaian rapi dalam mengikuti praktikum. 2. Mahasiswa

Lebih terperinci

MODUL 1 PENGENALAN PROGRAM C++ DAN PERNYATAAN MASUKAN-KELUARAN

MODUL 1 PENGENALAN PROGRAM C++ DAN PERNYATAAN MASUKAN-KELUARAN 1 MODUL 1 PENGENALAN PROGRAM C++ DAN PERNYATAAN MASUKAN-KELUARAN A. MAKSUD DAN TUJUAN 1. MAKSUD Mengenal cara menggunakan bahasa pemrograman C++ dengan menggunakan C++ Builder dan mengenala pernyataan

Lebih terperinci

Bahasa C. Dosen : Dhamayanti

Bahasa C. Dosen : Dhamayanti Bahasa C Dosen : Dhamayanti C dan C++ Bahasa C merupakan bahasa pendahulu dari bahasa C++. Pencipta C adalah Brian W. Kernighan dan Dennis M. Ritchie pada sekitar tahun 1972. C adalah bahasa pemrograman

Lebih terperinci

Struktur Dasar Bahasa C Tipe Data Dalam bahasa C terdapat lima tipe data dasar, yaitu :

Struktur Dasar Bahasa C Tipe Data Dalam bahasa C terdapat lima tipe data dasar, yaitu : 1 Struktur Dasar Bahasa C Tipe Data Dalam bahasa C terdapat lima tipe data dasar, yaitu : Contoh Program : { int x; float y; char z; double w; clrscr(); /* untuk membersihkan layar */ x = 10; /* variable

Lebih terperinci

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN Tim Pengajar KU1202 - Institut Teknologi Sumatera tujuan perkuliahan Mahasiswa memahami pengertian dan percabangan Mahasiswa dapat menggunakan notasi percabangan

Lebih terperinci

Tipe Data, Identifier, Operator dan Control Statement

Tipe Data, Identifier, Operator dan Control Statement Kurikulum Qt { Basic OOP } Chapter 2 Tipe Data, Identifier, Operator dan Control Statement. Agenda Tipe data dan identifier Tipe data bahasa C++ Variabel dan Konstanta Statement Operator dan Ekspresi Control

Lebih terperinci

PENGANTAR BAHASA C++

PENGANTAR BAHASA C++ PENGANTAR BAHASA C++ SEJARAH SINGKAT BAHASA C Program C merupakan bahasa komputer yang sangat singkat & tidak memiliki kepanjangan. Bahasa ini diciptakan oleh Dennis Ritchie sekitar tahun 1972. Hingga

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA Hal 1 dari 14 A. KOMPETENSI 1. Mampu memahami jenis-jenis dan penggunaan tipe dasar di dalam C++ 2. Mendefinisikan tipe data bentukan (array, struktur, dan enumerasi) 3. Memahami null terminated string

Lebih terperinci

MODUL I PENDAHULUAN & PENGENALAN TURBO C++

MODUL I PENDAHULUAN & PENGENALAN TURBO C++ MODUL I PENDAHULUAN & PENGENALAN TURBO C++ 1. TUJUAN Mahasiswa dapat mengenal pemograman C++, sejarahnya dan mahasiswa dapat memahami konsep-konsep dari Turbo C++. 2. TEORI DASAR PENDAHULUAN A. ALGORITMA

Lebih terperinci

Basic Input/Output Operator Yoannita

Basic Input/Output Operator Yoannita DASAR PEMROGRAMAN Basic Input/Output Operator Yoannita Standard Output (cout) cout

Lebih terperinci

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR 1 PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR Siti Mukaromah, S.Kom TEKNIK PENYAJIAN ALGORITMA Teknik Tulisan Structure English Pseudocode Teknik Gambar Structure Chart HIPO Flowchart 2 PSEUDOCODE Kode

Lebih terperinci

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION POINTER POINTER ADALAH SUATU VARIABEL PENUNJUK, BERISI NILAI YANG MENUNJUK ALAMAT SUATU LOKASI MEMORI TERTENTU. JADI POINTER TIDAK BERISI NILAI DATA, MELAINKAN

Lebih terperinci

Dasar Pemrograman Mikrokontroler dengan Bahasa C

Dasar Pemrograman Mikrokontroler dengan Bahasa C Dasar Pemrograman Mikrokontroler dengan Bahasa C Pokok Bahasan: 1. Penggunaan Fungsi (Using Functions) 2. Penanaman bahasa rakitan di dalam Program 'C' Tujuan Belajar: Setelah mempelajari dalam bab ini,

Lebih terperinci

IT234 - Algoritma dan Struktur Data. Ramos Somya

IT234 - Algoritma dan Struktur Data. Ramos Somya IT234 - Algoritma dan Struktur Data Ramos Somya Asal kata Algoritma berasal dari nama seorang ilmuan Persian yang bernama Abu Ja far Mohammed lbn Musa al-khowarizmi, yang menulis kitab al jabr w al-muqabala

Lebih terperinci

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1 MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1 Disusun oleh : Tim Asisten JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SUNAN KALIJAGA YOGYAKARTA 2011 0 A. Pengantar

Lebih terperinci

STRUKUR KENDALI : PERCABANGAN

STRUKUR KENDALI : PERCABANGAN STRUKUR KENDALI : PERCABANGAN Algoritma dan Pemrograman Rajif Agung Yunmar, S.Kom, M.Cs. Struktur Kendali Menentukan bagaimana urutan eksekusi perintah dalam program. Contoh: Percabangan ( Branching )

Lebih terperinci

DASAR PEMROGRAMAN. PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom

DASAR PEMROGRAMAN. PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom DASAR PEMROGRAMAN PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom https://www.facebook.com/groups/dasarpemrogramanc TUJUAN Mengenal sejarah, struktur, sintaks

Lebih terperinci

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti KONSTANTA Menghitung besaran-besaran fisis dalam bidang fisika memerlukan suatu konstantakonstanta. Bahasa C dan C++ menyediakan tipe data tambahan sehingga variabel yang kita gunakan merupakan konstanta

Lebih terperinci

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM)

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM) Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM) Motivasi Dalam kehidupan sehari-hari selalu diperlukan pemilihan dari beberapa alternatif Contoh : Terdapat beberapa alternatif untuk memilih sabun mandi

Lebih terperinci

TEKNIK ELEKTRO FAKULTAS TEKNIK UNISMA

TEKNIK ELEKTRO FAKULTAS TEKNIK UNISMA modul_kuliah ALGORITMA PEMROGRAMAN & STRUKTUR DATA dengan C++ oleh : MUHAMMAD TAQIYYUDDIN ALAWIY, ST. MT TEKNIK ELEKTRO FAKULTAS TEKNIK UNISMA 2006 2 MODUL 1 1. PENGANTAR CFF C++ diciptakan oleh Bjarne

Lebih terperinci

Elemen Bahasa Pemrograman. Aditya Rizki Yudiantika, M.Eng.

Elemen Bahasa Pemrograman. Aditya Rizki Yudiantika, M.Eng. Elemen Bahasa Pemrograman Aditya Rizki Yudiantika, M.Eng. Algoritma dan Struktur Data (SI063) Ganjil 2017/2018 Outline Pengenalan bahasa C++ Struktur penulisan kode dan elemen Tipe data Konstanta Operator

Lebih terperinci

MODUL 1 PENGENALAN ENVIROMENT C++

MODUL 1 PENGENALAN ENVIROMENT C++ MODUL 1 PENGENALAN ENVIROMENT C++ I. TUJUAN 1. Memahami lingkungan dasar C++, IDE, serta cara meng-compile dan menjalankan program 2. Mampu membuat program sederhana menggunakan bahasa C++ untuk menampilkan

Lebih terperinci

PEMROGRAMAN TERSTRUKTUR OLEH : IR. H. SIRAIT, MT

PEMROGRAMAN TERSTRUKTUR OLEH : IR. H. SIRAIT, MT PEMROGRAMAN TERSTRUKTUR C++ OLEH : IR. H. SIRAIT, MT PEMROGRAMAN C++ C sebagai bahasa pendahulunya C++ C merupakan termasuk bahasa pemrograman tingkat menengah. Pencipta C adalah Brian W. Kernighan dan

Lebih terperinci

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pertemuan 1 STRUKTUR DATA Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian Struktur Data yang

Lebih terperinci

PEMROGRAMAN BAHASA C++ ASEP MUHIDIN. Penerbit ZEYRANK OFFSET. Aa Oon Pemrograman Bahasa C++ 1

PEMROGRAMAN BAHASA C++ ASEP MUHIDIN. Penerbit ZEYRANK OFFSET. Aa Oon Pemrograman Bahasa C++ 1 PEMROGRAMAN BAHASA C++ ASEP MUHIDIN Penerbit ZEYRANK OFFSET Aa Oon Pemrograman Bahasa C++ 1 MODUL KULIAH PEMROGRAMAN BAHASA C++ Penyusun : ASEP MUHIDIN Penerbit : Zeyrank Offset Percetakan : Adjie Group

Lebih terperinci

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C 1. Pendahuluan Lingkungan Turbo C++ 4.5 Turbo C++ 4.5 adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C++ 4.5. 1 2 3 4 1 : Menu Utama

Lebih terperinci

Keg. Pembelajaran 3 : Operator dalam Bahasa C++

Keg. Pembelajaran 3 : Operator dalam Bahasa C++ Keg. Pembelajaran 3 : Operator dalam Bahasa C++ 1. Tujuan Kegiatan Pembelajaran Setelah mempelajari materi kegiatan pembelajaran ini mahasiswa akan dapat : 1) Mengenal operator dalam bahasa pemrograman

Lebih terperinci

SL 1201 Materi tentang Fungsi

SL 1201 Materi tentang Fungsi SL 1201 Materi tentang Fungsi Program merupakan kumpulan dari fungsi-fungsi baik yang didefinisikan langsung maupun yang disimpan dalam file header. Dalam program C++ selalu terdapat fungsi utama yang

Lebih terperinci

Algoritma dan Pemrograman

Algoritma dan Pemrograman Algoritma dan Pemrograman bagian 2 2009 Modul ini menjelaskan tentang bahasa C dan apa saja yang dibutuhkan bila kita akan menulis suatu program dengan bahasa C. Editor yang dipakai adalah Turbo C++ 4.5.

Lebih terperinci

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Pointer & Function. Alfa Faridh Suni, S.T., M.T. PTIK

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Pointer & Function. Alfa Faridh Suni, S.T., M.T. PTIK E3024015 - STRUKTUR DATA & E3024016 PRAKTIK STRUKTUR DATA Pointer & Function Alfa Faridh Suni, S.T., M.T. PTIK - 2014 Pointer Pointer adalah suatu variabel penunjuk, berisi nilai yang menunjuk alamat suatu

Lebih terperinci

MODUL PRAKTIKUM ALGORITMA DAN PEMOGRAMAN I. Oleh : Wahyu Widodo, S.Kom

MODUL PRAKTIKUM ALGORITMA DAN PEMOGRAMAN I. Oleh : Wahyu Widodo, S.Kom MODUL PRAKTIKUM ALGORITMA DAN PEMOGRAMAN I Oleh : Wahyu Widodo, S.Kom Pertemuan I Pengantar Algoritma dan Pengenalan C++ 1. 1. ALGORITMA Kata algoritma berasal dari kata-kata di bawah ini : Al Khuwarizmi

Lebih terperinci

PERTEMUAN II Tipe Data, Variabel, Konstanta, Operator

PERTEMUAN II Tipe Data, Variabel, Konstanta, Operator PERTEMUAN II Tipe Data, Variabel, Konstanta, Operator 1. Tipe Data Dasar 2. Pengertian Variabel 3. Pengertian Konstanta 4. Operator Penugasan 5. Operator Operasi Bit 6. Operator Logika Pertemuan II ELEMEN

Lebih terperinci

ALGORITHM 7 C++ Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.com

ALGORITHM 7 C++ Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.com ALGORITHM 7 C++ Dahlia Widhyaestoeti, S.Kom dahlia.widhyaestoeti@gmail.com dahlia74march.wordpress.com Struktur program dalam C++ C sebagai bahasa pendahulunya C++ C merupakan termasuk bahasa pemrograman

Lebih terperinci

PRAKTIKUM 4 PENGAMBILAN KEPUTUSAN

PRAKTIKUM 4 PENGAMBILAN KEPUTUSAN PRAKTIKUM 4 PENGAMBILAN KEPUTUSAN A TUJUAN 1 Menjelaskan tentang operator kondisi (operator relasi dan logika) 2 Menjelaskan penggunaan pernyataan if 3 Menjelaskan penggunaan pernyataan if- 4 Menjelaskan

Lebih terperinci

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya : VI. FUNGSI 6.1. FUNGSI Fungsi adalah sekumpulan perintah operasi program yang dapat menerima argumen input dan dapat memberikan hasil output yang dapat berupa nilai ataupun sebuah hasil operasi. Hasil

Lebih terperinci

Keg. Pembelajaran 5 : Perulangan dalam C++ 1. Tujuan Kegiatan Pembelajaran 2. Uraian Materi while do..while for continue dan break go to

Keg. Pembelajaran 5 : Perulangan dalam C++ 1. Tujuan Kegiatan Pembelajaran 2. Uraian Materi while do..while for continue dan break go to Keg. Pembelajaran 5 : Perulangan dalam C++ 1. Tujuan Kegiatan Pembelajaran Setelah mempelajari materi kegiatan pembelajaran ini mahasiswa akan dapat : 1) Mengenal bentuk perulangan while, do while dan

Lebih terperinci

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN I. Elemen-Elemen Dalam Bahasa Pemrograman Berikut adalah elemen-elemen pada bahasa pemrograman: Berikut adalah element-element pada bahasa pemrograman: 1. Aturan

Lebih terperinci

BAHASA PEMROGRAMAN C

BAHASA PEMROGRAMAN C BAHASA PEMROGRAMAN C A. Pengenalan Bahasa C diciptakan oleh Dennis Ritchie tahun 1972 di Bell Laboratories. Kelebihan Bahasa C: - Bahasa C tersedia hampir di semua jenis computer. - Kode bahasa C sifatnya

Lebih terperinci

StrukturDasarProgram Prosedural (dalambahasac++)

StrukturDasarProgram Prosedural (dalambahasac++) StrukturDasarProgram Prosedural (dalambahasac++) Tim Penyusun Materi PTI-B KU1072/Pengenalan Teknologi Informasi B Tahap Tahun Pertama Bersama Institut Teknologi Bandung Tujuan Subtopik Input Proses Output

Lebih terperinci

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut 1. Pengenalan Bahasa C++ a. Elemen Bahasa C+ Bahasa C++ ditulis dari beberapa elemen, antara lain: Pernyataan Satu atau beberapa ekspresi

Lebih terperinci

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Mata : Algoritma dan Struktur Data I Bobot Mata : 3 Sks GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Deskripsi Mata : Pengertian algoritma, program dan bahasa pemograman serta kaitannya dengan komputer,

Lebih terperinci

Part 2 - Algoritma & Pemrograman Konsep dasar Pemrograman

Part 2 - Algoritma & Pemrograman Konsep dasar Pemrograman Part 2 - Algoritma & Pemrograman Konsep dasar Pemrograman Apa itu Program? Program adalah deretan instruksi yang digunakan untuk mengendalikan komputer, sehingga komputer dapat melakukan tindakan sesuai

Lebih terperinci

PENGENALAN C++ DADANG MULYANA 2012

PENGENALAN C++ DADANG MULYANA 2012 PENGENALAN C++ dadang mulyana 202 PENGENALAN C++ DADANG MULYANA 202 Bahasa C merupakan bahasa pendahulu dari bahasa C++. Pencipta C adalah Brian W. Kernighan dan Dennis M. Ritchie pada sekitar tahun

Lebih terperinci

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom Tipe Data dan Variabel Dosen Pengampu Muhammad Zidny Naf an, M.Kom Format Pseudocode Lengkap Judul program/algoritma PROGRAM Euclidean Program untuk mencari GCD dari dua buah bilangan bulat positif m dan

Lebih terperinci

MODUL. Pemrograman Terstruktur Semester IV, 2017 Acihmah Sidauruk, M.Kom. 1. Tujuan. 2. Teori Singkat. 3. Praktikum KONSTAN DAN OPERATOR

MODUL. Pemrograman Terstruktur Semester IV, 2017 Acihmah Sidauruk, M.Kom. 1. Tujuan. 2. Teori Singkat. 3. Praktikum KONSTAN DAN OPERATOR KONSTAN DAN OPERATOR Pemrograman Terstruktur Semester IV, 2017 Acihmah Sidauruk, M.Kom 1. Tujuan Mahasiswa dapat membuat deklarasi konstanta, serta dapat menuliskan ekspresi aritmatik dengan benar,dapat

Lebih terperinci

Pengenalan Bahasa C++ Oleh : Agus Priyanto, M.Kom

Pengenalan Bahasa C++ Oleh : Agus Priyanto, M.Kom Pengenalan Bahasa C++ Oleh : Agus Priyanto, M.Kom Tujuan Pembelajaran Mahasiswa dapat memahami konsep dasar pemrograman dengan bahasa C++ Mahasiswa dapat membuat aplikasi sederhana menggunakan bahasa C++,

Lebih terperinci

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA Khusnawi, S.Kom, M.Eng 2010 ( Structure(pErulanGan RePetiTion Pendahuluan Saat membuat suatu program setiap instruksi bisa dimulai dari

Lebih terperinci

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id 1 MODUL PEMOGRAMAN WEB II Oleh: CHALIFA CHAZAR 2 MODUL 3 Tipe Data, Variable, dan Konstanta Tujuan: Mahasiswa mengenal tipe data dan mendeklarasikan variable di dalam pemrograman PHP sebagai pondasi dalam

Lebih terperinci

Identifier dan Tipe Data

Identifier dan Tipe Data Identifier dan Tipe Data Identifier Identifier atau pengenal merupakan nama yang biasa digunakan untuk : - Variable - Konstanta bernama - Fungsi - Dll Aturan yang berlaku bagi suatu pengenal secara umum

Lebih terperinci

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama). PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C++ 6.0 STRUKTUR BAHASA C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama). Setiap program akan dieksekusi dimulai dari statement

Lebih terperinci

Algoritma dan Pemrograman

Algoritma dan Pemrograman Algoritma dan Pemrograman Operator Pemrograman C/C++ Ptputraastawa@gmail.com Ptputraastawa.wordpress.com Slide 1-1/17 Operator Borland C++ Operator Merupakan simbol/ karakter yg biasa dilibatkan dalam

Lebih terperinci

BAB 4 PENGENALAN BAHASA C

BAB 4 PENGENALAN BAHASA C Bab 4 Pengenalan Bahasa C 35 BAB 4 PENGENALAN BAHASA C TUJUAN PRAKTIKUM 1. Mengetahui sejarah perkembangan bahasa C. 2. Mengerti struktur program bahasa C. 3. Mengerti konsep tipe data, variabel, & operator

Lebih terperinci

PENGENALAN PROGRAM C++

PENGENALAN PROGRAM C++ 1 PENGENALAN PROGRAM C++ SEJARAH BAHASA C C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa beraras rendah (bahasa yang berorientasi kepada mesin) dan bahasa beraras tinggi (bahasa

Lebih terperinci

MODUL DUA VARIABEL DAN TIPE VARIABEL

MODUL DUA VARIABEL DAN TIPE VARIABEL MODUL DUA VARIABEL DAN TIPE VARIABEL Tujuan : Mahasiswa memahami tentang operator dan penggunaannya dalam bahasa pemrograman java, mengetahui macam-macam kategori operator dan mengetahui perbedaan operator

Lebih terperinci

TIPE DATA, VARIABLE, dan OPERATOR DELPHI

TIPE DATA, VARIABLE, dan OPERATOR DELPHI TIPE DATA, VARIABLE, dan OPERATOR DELPHI A. TIPE DATA Delphi merupakan bahasa pemrograman tingkat tinggi yang mendukung perancangan terstruktur dan berorientasi Object. Bahasa pemrograman ini berdasarkan

Lebih terperinci

Modul IV Pemrograman Bahasa C ( bagian I )

Modul IV Pemrograman Bahasa C ( bagian I ) Modul IV Pemrograman Bahasa C ( bagian I ) 4.1. Tujuan Percobaan 1. Praktikan dapat menerapkan konsep algoritma dan flowchart ke dalam bahasa C 2. Praktikan dapat menjelaskan library dalam bahasa C 3.

Lebih terperinci