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

Slides:



Advertisements
Presentasi serupa
DASAR-DASAR PEMROGRAMAN C
Advertisements

Penyeleksian Kondisi Pertemuan ke-4 Bahasa C.
ARRAY/LARIK Sumber dari : imaru.files.wordpress.com/2008/02/array-struc-pointer.ppt.
STRUKTUR KENDALI PROSES
Elemen Dasar Program C++
Pemprograman Terstruktur 1
PART 7 Array DOSEN : AHMAD APANDI, ST.
Pemrogramman Terstruktur
Castaka Agus Sugianto, M.Kom., M.CS
Bab2 ARRAY (LARIK).
ARRAY Array merupakan struktur data yang sering digunakan dalam pemrograman untuk menyimpan data yang akan diolah.
STRUKTUR.
Dasar Pemrograman Pertemuan 10 Pengulangan dalam C
PERCABANGAN (DECISION)
Transfer of control (pemindahan langkah)
Pengantar C++.
INTRODUCTION TO C++ Prepared by: Edi, SKom, MKM.
Pertemuan 1 Pengenalan Bahasa C++.
SELECTION STATEMEN KENDALI / PERCABANGAN
Pendahuluan & identifier pada bahasa c dan c++
STRUKTUR DATA MENGGUNAKAN C++ Windha Mega PD, S.Kom
INPUT DAN OUTPUT OLEH: SRI SUPATMI,S.KOM.
PERULANGAN (LOOPING) Harni Kusniyati.
Pertemuan III Komentar, Identifier dan Tipe data.
Elemen dasar Pertemuan 3.
Pengenalan C++ Oleh : Dewi Sartika.
Pertemuan 4 PROGRAMMING LANGUAGE.
ARRAY (Array Dua Dimensi) Pertemuan 16 Dasar Pemrograman
4. Pernyataan Dasar S. Indriani L, M.T 4. Pernyataan Dasar.
ARRAY (LARIK)
Looping, Percabangan dan Array
STRUKTUR DATA Pengenalan C++
2. Pengenalan Program C++
Algoritma dan Struktur Data 1 pertemuan 5
STRUKTUR DATA array.
ARRAY.
STRUKTUR Struktur merupakan kumpulan elemen data yang digabungkan menjadi satu kesatuan data. Masing-masing elemen data tersebut dinamakan field atau elemen.
Bentuk standar dalam penulisan bahasa c/c++
Struktur Data (Data Structure) – IS 2313
STRUKTUR DASAR PROGRAM
POINTER (VAR.PENUNJUK)
STRUCT OF ARRAY.
SWITCH Struktur Kendali Percabangan Pertemuan 6 Dasar Pemrograman
Program komputer Sebuah program komputer yang ditulis dengan bahasa apapun dapat dipandang sebagai sebuah himpunan operasi yang dikerjakan pada data-data.
TEL 2112 Dasar Komputer & Pemrograman
TIPE DATA DASAR C++.
SWITCH Struktur Kendali Percabangan Pertemuan 7 Dasar Pemrograman
PERCABANGAN (DECISION)
Pengantar Pemrograman
S. Indriani Lestariningati, M.T
TEL 2112 Dasar Komputer & Pemrograman
Pemograman Terstruktur
Looping, Percabangan dan Array
6. Array S. Indriani L, M.T.
Pemrograman Terstruktur
PERINTAH INPUT DAN OUTPUT
ARRAY (LARIK)
STRUKTUR Struktur merupakan kumpulan elemen data yang digabungkan menjadi satu kesatuan data. Masing-masing elemen data tersebut dinamakan field atau elemen.
Array.
STRUKTUR Struktur merupakan kumpulan elemen data yang digabungkan menjadi satu kesatuan data. Masing-masing elemen data tersebut dinamakan field atau elemen.
ARRAY (LARIK)
array Array merupakan tipe data yang menampung
POINTER (VAR.PENUNJUK)
PERULANGAN (LOOPING).
Pertemuan 3 Input/output Statement Assignment Statement
Algoritma Pemrograman
Pengantar Pemrograman Bahasa C
STRUKTUR KONTROL PERCABANGAN DAN STRUKTUR KONTROL LOMPATAN
PERULANGAN (LOOPING) Harni Kusniyati. 1. Pernyataan While Pada pernyataan while, pengecekan terhadap loop dilakukan dibagian awal (sebelum tubuh loop).
ARRAY.
Transcript presentasi:

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 bentuk umum program seperti berikut: // Nama program // Komentar lain #include<header> main() { deklarasi variabel; deklarasi konstanta; perintah-perintah; }

Keterangan baris program: Baris yang diawali dengan double slash(//) merupakan baris komentar dan tidak akan dieksekusi. Baris ini berguna untuk memberi judul ,catatan, atau keterangan pada program. #include<header.h> Program yang dibuat menggunakan file header yang berisi prototype fungsi yang nantinya akan digunakan dalam program. Baris ini digunakan untuk mengarahkan kompiler tentang file header yang digunakan. main() { } Baris ini merupakan awal dari eksekusi program dan merupakan program utama yang harus dimiliki oleh program dalam bahasa C++. Dalam program utama dapat berisi deklarasi variabel,konstanta, serta perintah-perintah program. Setiap baris deklarasi maupun perintah harus diakhiri tanda( ; ).

Operasi Input dan Output PROSES Scanf Getch Getche cin Printf Puts Putchar cout

Fungsi Input Fungsi Output Merupakan fungsi yang digunakan untu memasukkan berbagai jenis data dari keyboard terformat dengan menggunakan format spesification. Contoh Fungsi Input: scanf, cin, getch Fungsi Output Merupakan fungsi yang digunakan untuk menampilkan berbagai jenis data yang dapat diformat karena fungsi ini dapat menggunakan kode-kode format, yaitu karakter-karakter konversi. Contoh fungsi output: printf, cout, puts, putchar. Bentuk umum penulisan: - printf (“string kontrol”, argumen1, argumen2, … ); string kontrol dapat berupa keterangan beserta penentu format (%d, %f, %c, dan lain-lain) - cout << argumen; argumen adalah data yang akan ditampilkan. Dapat berupa variabel, konstanta, maupung ungkapan.

Contoh dalam bahasa C++ menggunakan printf & scanf #include <stdio.h> #include <conio.h> int main(){ int x; /*Menampilkan teks untuk informasi*/ printf("Masukkan sebuah bilangan bulat : "); /*Membaca nilai dari keyboard ke dalam var.x */ scanf("%d",&x); /*Menampilkan nilai yang telah dimasukkan */ printf("Bilangan yang talah dimasukkan = %d",x); getch(); }

Contoh dalam bahasa C++ menggunakan cin & cout #include <iostream.h> #include <conio.h> int main(){ int x; /*Menampilkan teks untuk informasi*/ cout<<"Masukkan sebuah bilangan bulat = "; /*Membaca nilai dari keyboard ke dalam var.x */ cin>>x; /*Menampilkan nilai yang telah dimasukkan */ cout<<"Bilangan yang talah dimasukkan "<<x; getch(); }

PERINTAH PERCABANGAN Instruksi if Perintah if digunakan untuk mewujudkan percabangan bersyarat. If tunggal Syntax: if (syarat) pernyataan; If dengan else pernyataan if-else dipakai untuk memilih alternatif eksekusi dari dua blok pernyataan. Berikut format percabangan if-else : if (syarat) pernyataan; else Instruksi if dengan pilihan if lainnya syntax: if (syarat1) pernyataan1; else if (syarat2) pernyataan2; else pernyataan_n; }

Instruksi if di dalam instruksi if Syntax: pernyataan1; if (syarat2)

Contoh1: #include <stdio.h> #include <conio.h> main() { int nilai; printf (“Masukkan nilai anda {0 s/d 100} = “); scanf (“%d”, &nilai); if (nilai >= 80) printf (“Nilai anda adalah = A \n”); else if (nilai >= 60) printf (“Nilai anda adalah = B \n”); else if (nilai >= 40) printf (“Nilai anda adalah = C \n”); else if (nilai >= 20) printf (“Nilai anda adalah = D \n”); else printf (“Nilai anda adalah =E \n”); getch(); }

Contoh2: #include <conio.h> main() { int huruf; #include <stdio.h> #include <conio.h> main() { int huruf; printf (“”Masukkan nilai huruf = “); scanf (“%c”, &huruf); if (huruf == ‘A’ || huruf == ‘a’) printf (“Nilai angka adalah = 4 \n”); else if (huruf == ‘B’ || huruf == ‘b’) printf (“Nilai angka adalah = 3 \n”); else if (huruf == ‘C’ || huruf == ‘c’) printf (“Nilai angka adalah = 2 \n”); else if (huruf == ‘D’ || huruf == ‘d’) printf (“Nilai angka adalah = 1 \n”); else if (huruf == ‘E’ || huruf == ‘e’) printf (“Nilai angka adalah = 0 \n”); else printf (“Nilai anda tidak dikenal!!”); getch(); }

Latihan: Buat program untuk menentukan masukan dari user apakah berupa huruf vokal atau konsonan!

TUGAS!!! Hitung nilai mahasiswa dengan ketentuan penilaian 30% dari nilai praktikum, 30% mid, 40% uas. Kemudian konversi menjadi nilai huruf! jika nilai >= 80 -> A 80 > nilai >= 60 -> B 60 > nilai >= 40 -> C 40 > nilai >= 20 -> D nilai < 20 -> E

Instruksi switch Perintah ini digunakan untuk mempersingkat if bertumpuk, untuk menangani pengendalian program yang melibatkan banyak alternatif. Bentuk umum instruksi switch: switch (ekspresi) {   case konstanta1:     block of instructions 1     break;   case konstanta2:     block of instructions 2     break;   .   .   .   default:     default block of instructions   }

Contoh: #include <iostream. h> #include <conio Contoh: #include <iostream.h> #include <conio.h> #include <stdio> main () { int nomor; cout<<"Masukkan pilihan angka untuk menentukan nama hari"; puts ("1 = Senin"); puts ("2 = Selasa"); puts ("3 = Rabu"); puts ("4 = Kamis"); puts ("5 = Jumat"); puts ("6 = Sabtu"); puts ("7 = Minggu"); cout<<"Masukkan pilihan anda (1 s/d 7) = "; cin>>nomor;

switch (nomor) { case 1 : cout<<"hari Senin"; switch (nomor) { case 1 : cout<<"hari Senin"; break; case 2 : cout<<"hari Selasa"; break; case 3 : cout<<"hari Rabu"; break; case 4 : cout<<"hari Kamis"; break; case 5 : cout<<"hari Jumat"; break; case 6 : cout<<"hari Sabtu"; break; case 7 : cout<<"hari Minggu"; break; default: puts ("Yang anda masukkan salah"); } getch(); return 0; }

Tugas Buat program menggunakan instruksi switch, untuk menentukan nilai ganjil atau genap! Buat program untuk menghitung luas dan keliling sebuah bangun sesuai dengan huruf yang dipilih. Jika pilihan = - A = segitiga - B = persegi - C = persegi panjang

PERULANGAN while Pernyataan while digunakan untuk mengulang eksekusi dari suatu blok pernyataan dimana jumlah pengulangannya tergantung syarat perulangan tersebut. Perulangan akan dilaksanakan apabila nilai syarat adalah true. Jika syarat salah maka perulangan tidak akan dilaksanakan. Contohnya:

//output : jumlah bilangan 1 s/d 9 = 45 dengan while-loop #include<iostream.h> main() { int jml=0, i=0; while (++i < 10) jml += i; cout<<"jumlah = "<<jml; return 0; } Penjelasan program: Perintah perulangan akan dilaksanakan jika nilai i kurang dari 10 dimana i akan diincrement lebih dahulu sebelum dibandingkan dengan 10.

do-while Dalam struktur ini perintah dikerjakan minimal satu kali, karena langkah pertama mengerjakan perintah kemudian diikuti pengujian kondisi. Contohnya: //output : jumlah bilangan 1 s/d 9 = 45 dengan do-while-loop #include<iostream.h> main() { int jml=0, i=0; do jml += i; while (++i < 10) cout<<"jumlah = "<<jml; return 0; }

for Struktur ini digunakan untuk perulangan yang jumlah perulangannya sudah diketahui. Struktur for terdapat bagian sbb: inisialisasi : memberi nilai awal pada variabel kendali Kondisi : menyatakan kondisi berhenti perulangan perubahan : menyatakan perubahan nilai variabel kendali

Contoh program: //output : jumlah bilangan 1 s/d 9 = 45 dengan do-while-loop #include<iostream.h> main() { int jml=0, i; for (i=0;i<10;i++) jml += i; cout<<"jumlah = "<<jml; return 0; }

Perulangan tersarang (Nested Looping) Dalam suatu pernyataan for boleh ada pernyataan for yang lain. Pernyataan for yang dalam akan dieksekusi terlebih dahulu dari pernyataan for yang luar. Berikut contohnya: #include<iostream.h> #include<conio.h> main() { int x,y; for ( y=1;y<=4;y++) { for ( x=1;x<=3;x++) cout<<"y"<<y<<"x"<<x<<"\t"; cout<<"\n";} getch(); return 0; }

Tugas Buat program perulangan untuk menghitung hasil penjumlahan bilangan antara 900 sampai 950 menggunakan while, do while & for! Buat program yang outputnya spt dibawah: masukkan bilangan ganjil = 5 <di enter> 1111 3333 5555

Array (Larik) Array adalah sebuah struktur data yang terdiri atas banyak variabel dengan tipe data sama, dimana masing-masing elemen variabel mempunyai nilai indeks. Setiap elemen array mampu untuk menyimpan satu jenis data (yaitu: variabel).

Deklarasi Larik (array) dimensi 1 Ditulis diantara tanda “[ ]” dikuti dengan tipe data dari nama larik. Type Nama_array [subscript] Contoh = float nilai [10]; -> Menyimpan 10 buah data bertipe float. Penomoran array secara default dimulai dari subscript 0 , bukan 1.

Pemberian Nilai Awal contoh : int angka [10]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; Pendefinisian array bertipe angka yang terdiri 10 elemen bertipe data int . Atau int angka [ ]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; Secara otomatis kompiler akan menghitungnya sendiri

#include <iostream.h> #include <conio.h> main(){ int a[3]={10,11,12}, b[]={44,45,46},i; float x[2]; cout<<"a[1]"<< a[1]<<" a[2]"<< a[2]<<endl; cout<<"b[0]"<< b[0]<<" b[1]"<< b[1]<<" b[2]"<< b[2]<<endl; cout<<"\n"; cout<<"Masukkan angka 1 = "; cin>>x[0]; cout<<"Masukkan angka 2 = "; cin>>x[1]; cout<<"x[0]= "<<x[0]<<endl; cout<<"x[1]= "<<x[1]<<endl; getch(); }

#include <iostream.h> #include <conio.h> main(){ int a[5]; int i; for (i=1;i<=5;i++) {cout<<"Data ke "<<i<<" = "; cin>>a[i]; } for (i=1;i<=5;i++){ cout<<a[i];} getch(); }

Saatnya bersenang-senang!!! Jumlahkan total angka dalam array! Cari nilai maksimal dari beberapa masukan angka! Cari pangkat dari 1 smp 10 1 pangkatny 1 2 pangkatny 4 .. Dst smp 10

Array 2 Dimensi Tipe data array dua dimensi biasa digunakan untuk menyimpan,mengolah maupun menampilkan suatu data dalam bentuk tabel maupun matriks. Pendeklarasian Array 2 dimensi type nama_array [x][y] [x] = jumlah baris [y] = jumlah kolom

Contoh: int nilai [3][4]; Pada pendefinisian di atas: 3 menyatakan jumlah baris, 4 menyatakan jumlah kolom Contoh Program 1: #include <iostream.h> #include <conio.h> #define Kolom 5 #define Baris 3 int array [Baris][Kolom]; int n,m; int main () { for (n=0;n<Baris;n++) {for (m=0;m<Kolom;m++) {array[n][m]=(n+1)*(m+1); cout<<array[n][m]<<"\t";} cout<<"\n";} getch(); }

Contoh Program 2: #include <iostream.h> #include <conio.h> main(){ int b,k; int matrik[5][5]; for (b=0;b<5;b++){ for (k=0;k<5;k++){ if ((b==k) matrik[b][k]=1; else matrik[b][k]=0; cout<<matrik[b][k]<<" "; } cout<<"\n"; getch();

latihan Penjumlahan matrik C[b][k] = A[b][k]+B[b][k] Cari nilai maksimal dalam array 2 dimensi

Array 3 Dimensi Pendeklarasian array 3 dimensi tidak jauh beda dengan array 2 dimensi. Contoh: int tiga_dimensi[3][4][2] Artinya: Array dengan nama tiga_dimensi dengan tipe int, yang mempunyai 3x4x2=24 elemen array. 3 -> jumlah tinggi, 4 -> jumlah panjang, 2 -> lebar

SORTING Adalah proses pengurutan/penyusunan sekumpulan objek ke dalam urutan tertentu. Metode pengurutan: Selection sort Insertion sort Bubble sort Merge sort

Metode selection sort a. Pengurutan naik (Ascending) Langkah-langkah: - Mencari data terkecil dari data pertama sampai terakhir, kemudian ditukar posisinya dengan data pertama. Dan begitu seterusnya hingga semua data terurut naik.

Contoh: # include <stdio.h> # include <iostream.h> # include <conio.h> main() {int i,j,u,n; int Imax,temp,data[10]; cout<<"Masukkan jumlah data="; cin>>n; for (i=0;i<n;i++) {cout<<"Masukkan data ke "<<i<<"=";cin>>data[i]; } for(i=0;i<n;i++){ Imax=0; for(j=0;j<n;j++){ if(data[j]>data[Imax]){ Imax=j;} temp=data[j]; data[j]=data[Imax]; data[Imax]=temp; } cout<<"Setelah diurutkan =\n"; for(i=0;i<n;i++) printf("%d\n", data[i]); getch();

Searching Dalam bab ini, kita akan membahas metode pencarian data dalam suatu array. Metode pencarian yang akan digunakan adalah: Sequential search (pencarian beruntun) Binary search

Contoh Sequential Search: #include<iostream.h> #include<conio.h> main(){ int i,n,nilai,tempat, benar; int data[100]; cout<<"Masukkan banyaknya data ="; cin>>n; for(i=0;i<n;i++) {cout<<"Masukkan data ke" <<i<<" = "; cin>>data[i];} cout<<"Masukkan data yang dicari="; cin>>nilai; benar=0;

for(i=0;i<n;i++) {if (data[i]==nilai) {benar=1; tempat=i;} else i=i+1; } if (benar==0) cout<<"Data yang anda cari tidak ditemukan\n"; else{ cout<<"Data yang anda cari ditemukan\n"; cout<<"Berada diposisi"<<tempat+1;} getch();

Latihan Lakukan pencarian terhadap array 2 dimensi

STRUKTUR (STRUCT) Struktur merupakan kumpulan elemen data yang digabungkan menjadi satu kesatuan data. Masing-masing elemen data tersebut dinamakan field atau elemen struktur. Field tersebut bisa memiliki tipe data yang ataupun berbeda, meskipun field tersebut dalam satu kesatuan tetapi tetap bisa siakses secara individu.

Deklarasi struktur struct nama_struktur // nama struktur, kata struct harus ada { type1 element1; type2 element2; anggota / elemen dari struktur type3 element3; . } nama_object; // identifier yang digunakan untuk pemanggilan struktur ------------atau--------------- struct nama_struktur type2 element2; } ; struct nama_struktur nama_obj

Contoh:

Array of Struct

Latihan

Ketentuan Soal Setiap karyawan yang mempunyai anak mendapat tunjangan sesuai dengan jumlah anak. Besarnya tunjangan yang didapat tiap anak adalah Rp. 100.000 Maksimal jumlah anak yang mendapat tunjangan adalah 3 anak

POINTER Pointer/variabel penunjuk yang berfungsi menunjuk alamat memori variabel lain. Ada 2 operator pointer: Operator & ->menghasilkan alamat dari operandnya. Operator * -> menghasilkan nilai dari operandnya.

#include<conio.h> #include<iostream.h> main(){ int v1,v2,*pointer; char h1,*ptr; v1=10; pointer=&v1; cout<<"Isi v1 = "<<v1; cout<<"\nisi *pointer awal = "<<*pointer; cout<<"\nalamat v1 = "<<pointer; v2=*pointer; pointer = &v2; cout<<"\nIsi v2 = "<<v2; cout<<"\nisi *pointer = "<<*pointer; cout<<"\nalamat v2 = "<<pointer; cout<<"\nalamat v2 = "<<&v2; h1='A'; ptr=&h1; cout<<"\nisi ptr = "<<*ptr; getch(); }

#include<conio.h> #include<iostream.h> main(){ int v1,v2,*pointerV1,*pointerV2; v1=10; pointerV1=&v1; v2=20; pointerV2 = &v2; cout<<"\nalamat pointerv1 = "<<pointerV1; cout<<"\nalamat pointerv2 = "<<pointerV2; cout<<"\nJumlah pointer = "<<(*pointerV1)+(*pointerV2); cout<<"\nSelisih pointer = "<<(*pointerV1)-(*pointerV2); cout<<"\npenjumlahan alamat = "<<pointerV1+1; cout<<"\nUkuran tiap alamat ="<<sizeof(v1); getch(); }

ARRAY DAN POINTER // more pointers #include <iostream.h> #include <conio.h> int main () { char array[5]; char * p; //deklarasi pointer yg menunjuk var bertipe char p = array; // p menunjuk array pada index 0 *p = 'a'; // mengisi var yang ditunjuk pointer dengan huruf a p++; *p = 'b'; //mengisi index 1 dengan huruf b p = &array[2]; *p = 'c'; //mengisi index 2 dengan huruf c p = array + 3; *p = 'd'; //mengisi index 3 dengan huruf d p = array; *(p+4) = 'e'; //mengisi index 4 dengan huruf e for (int n=0; n<5; n++) cout << array[n] << ", "; getch(); }

PEMBERIAN NILAI ARRAY DGN POINTER //Contoh Program7 #include <iostream.h> #include <conio.h> void main(){ int x[5], *p, k; clrscr(); p = x; x[0] = 5; x[1] = x[0]; // x[1] diisi dengan x[0] sehingga x[1] = 5 x[2] = *p + 2; // x[2] diisi dengan x[0] + 2 sehingga x[2] = 7 x[3] = *(p+1)-3; // x[3] diisi dengan x[1] - 3 sehingga x[3] = 2 //x[4] = *(p + 2); // x[4] diisi dengan x[2] sehingga x[4] = 7 x[4]=*(p+2)-1; for(k=0; k<5; k++) cout<<"\nx["<<k<<"] = "<< x[k]; getch(); }

Tugas Buat input program di atas secara dinamis!

Contoh struct dengan pointer #include <iostream.h> #include <conio.h> struct orang { char nama[30],alamat[30]; short umur; }; main(){ struct orang *saya ; int i,n; cout<<"Jumlah data : ";cin>>n;

for(i=1;i<=n;i++) { cout<<"Nama : ";cin>>saya->nama; cout<<"Umur : ";cin>>saya->umur; cout<<endl; } { cout<<"Data ke ["<<i<<"] "<<"bernama " <<saya->nama<<" dan berumur " <<saya->umur<<" tahun"; cout<<endl; } getch(); }