BAB III ANALISA KEBUTUHAN DAN RANCANGAN

Ukuran: px
Mulai penontonan dengan halaman:

Download "BAB III ANALISA KEBUTUHAN DAN RANCANGAN"

Transkripsi

1 BAB III ANALISA KEBUTUHAN DAN RANCANGAN 3.1 Kebutuhan Program Hitung Dalam bab ini akan dibahas tentang perancangan algoritma yang dibagi menjadi perancangan tampilan dan perancangan program yang terdiri dari perancangan input dan output. 3.2 Perancangan Tampilan Masukan (Input) Program Dalam program ini hanya menggunakan 2 macam tampilan. Tampilan pertama yaitu tampilan input, tampilan yang kedua adalah tampilan output. Rancangan tampilan pertama adalah tampilan input yang ditunjukkan pada gambar 3.1. Masukan nilai : Gambar 3.1 Rancangan Tampilan input program Gambar 3.1 Rancangan tampilan input program Gambar 3.1 Rancangan tampilan program Masukan nilai adalah nilai dari ordo matriks persegi. Nilai ini digunakan untuk mencari hasil perhitungan matriks. Contoh: 26

2 27 Masukan nilai : 3 Gambar 3.2 Contoh tampilan input program Gambar 3.2 Tampilan input program 3.3 Perancangan Tampilan Keluaran (Output) Program Rancangan tampilan kedua adalah tampilan output. Tampilan ini menampilkan nilai input dan nilai output dari proses penghitungan. Nilai output terdiri dari bilangan matriks, ordo matriks, menampilkan hasil perkalian matriks, processor yang mengerjakan serta waktu yang dibutuhkan untuk melakukan perkalian matriks. Kordinat hasil adalah hasil perhitungan bilangan matriks dari 1 ordo dengan ordo yang lainnya. Memerlukan waktu adalah waktu yang dibutuhkan untuk melakukan penghitungan pada program matriks. Tampilan ketiga seperti yang ditunjukkan pada gambar 3.3

3 28 Gambar 3.3 Rancangan Tampilan output pada program 3.4 Alur Program Pada program ini yang pertama kali dijalankan adalah id = 0 memeriksa id prosesor yang digunakan. Kondisi ini digunakan untuk meminta masukan, melakukan proses perhitungan, dan menampilkan hasil penghitungan. Kondisi id = 0 hanya dimiliki oleh prosesor yang memulai menjalankan program hitung. Kondisi id = 0 tidak harus terjadi pada prosesor 1 atau prosesor yang memiliki id terkecil. Hal ini dapat terjadi pada prosesor manapun. Nilai yang dimasukan tadi adalah variabel m ( nilai ordo matriks) setelah itu maka dilakukan perhitungan terhadap variabel m dimana terjadi perkalian bilangan m dengan bilangan m itu sendiri karena melakukan perhitungan matriks persegi selanjutnya menuju proses MPI_Broadcast.

4 29 Kemudian proses selanjutnya adalah melakukan proses random elemenelemen matriks pada id = 0, kemudian dilakukan proses MPI_REDUCE mengumpulkan hasil penghitungan random dari tiap-tiap prosesor, mereduksi data-data tersebut ke sebuah nilai dan menyimpan hasil reduksi tersebut ke prosesor induk untuk dilakukan perhitungan matriks. Kemudian melakukan proses random elemen-elemen matriks pada masing masing id, setelah proses tersebut dilaksanakan selanjutnya proses memasukan array random kedalam array elemen matriks pada masing-masing id dan selanjutnya proses perulangan kordinat elemen-elemen matriks pada masing-masing id. Setelah itu terjadi proses perulangan untuk perkalian elemen-elemen matriks ordo pertama dan ordo ke dua kemudian dilakukan proses MPI_REDUCE. Proses selanjutnya adalah tampilan akhir program dimana masing-masing prosesor menampilkan hasil perkalian elemen-elemen matriks serta waktu yang dibutuhkan untuk melakukan proses tersebut. 3.5 Rangkaian Komputer Kluster Untuk membuat komputer kluster pada tugas akhir ini menggunakan PC yang heterogen yang mempunyai kapasitas memori dan RAM yang berbeda-beda. Alasan menggunakan PC yang heterogen bila dibandingkan dengan PC yang homogen adalah berikut kekurangan dan kelebihannya: 1. PC Homogen: Kelebihan: - waktu pemprosesan untuk komunikasi antar prosesor pada jaringan komputer homogen lebih stabil karena mempunyai kecepatan prosesor yang sama. - waktu eksekusi untuk menyelesaikan program cenderung lebih stabil karena memiliki kapasitas memori dan RAM yang sama.

5 30 Kekurangan: - jaringan komputer homogen memungkinkan waktu pemrosesan yang tidak lebih cepat atau stabil dari pada heterogen dikarenakan pada jaringan komputer homogen mempunyai spesifikasi prosesor yang sama pada masing-masing komputernya. 2. PC Heterogen: Kekurangan : - Memiliki kapasitas RAM dan memori yang berbeda sehingga kecepatan dalam pemrosesan data cenderung tidak stabil. - Waktu pemrosesan untuk mengeksekusi program yang cenderung tidak stabil terkadang menghasilkan waktu yang tidak lebih cepat dibandingkan homogen karena waktu komunikasi antar prosesor yang berbeda dalam membuat komunikasi antara prosesor yang lebih cepat berkomunikasi ke prosesor yang lebih lambat, perbedaan ini yang terkadang menimbulkan waktu yang tidak lebih cepat. Kelebihan : - Pada jaringan komputer heterogen dengan spesifikasi prosesor yang berbeda memungkinkan prosesor yang lebih tinggi mengcover proses perhitungan yang lebih besar yang menghasilkan kecepatan yang lebih tinggi dibandingkan dengan prosesor yang spesifikasi prosesornya sama karena akan diperhitungkan dengan memilih metode yang menyeimbangkan beban komputasi pada seluruh komputer yang tersedia dalam kluster (load balancing) yang digunakan untuk mendistribusikan komputasi kesemua prosesor guna mencapai kecepatan eksekusi setinggi mungkin

6 31 Secara garis besar alur programnya sebagai berikut: mulai If id = 0 Tidak Ya Masukan nilai (m) MPI_BROADCAST n=m+1 & zz=m*n For c=1 to zz step c First[c]=-1 Second[c]=-1 Firstbuf[c]=-1 Secondbuf[c]=-1 Tidak If id = 0 Ya for c=1 to zz step c first [c] = rand%5 + 1 second[c]= rand%5 + 1 firstbuf [c] = first[c] secondbuf [c] = second[c] If w ==2 Tidak If w ==3 Tidak Ya Ya MPI_REDUCE FIRST MPI_REDUCE FIRST MPI_REDUCE SECOND MPI_REDUCE SECOND MPI_REDUCE FIRST MPI_REDUCE SECOND 1

7 32

8 33

9 34 6 If id = 0 Tidak Ya durasi=waktu_akhir-waktu_awal Tampilan Hasil Selesai Gambar 3.4 Flowchart program matriks 3.6 Pseudo Code Dari diagram alur atau yang disebut flowchart, dapat dibuat pseudo code sebagai berikut: IF id=0 Input : Nilai ordo matriks ENDIF MPI_Init() Waktu_awal : waktu dimulainya perhitungan MPI_Bcast : mengirim data keseluruh prosesor n=m+1 zz=m*n FOR c=1 first [c]=-1 second[c]=-1 firstbuf[c]=-1 secondbuf[c]=-1

10 35 IF id==0 FOR c=1 :Melakukan proses random elemen matriks first[c]=rand()%5+1 second[c]=rand()%5+1 firstbuf[c]=first[c] secondbuf[c]=second[c] ENDIF IF (w==2) THEN MPI_Reduce : Mengumpulkan hasil dari tiap-tiap prosesor MPI_Reduce : Mengumpulkan hasil dari tiap-tiap prosesor ENDIF IF (w==3) THEN MPI_Reduce : Mengumpulkan hasil dari tiap-tiap prosesor MPI_Reduce : Mengumpulkan hasil dari tiap-tiap prosesor MPI_Reduce : Mengumpulkan hasil dari tiap-tiap prosesor MPI_Reduce : Mengumpulkan hasil dari tiap-tiap prosesor ENDIF IF id=0 THEN PRINT id 0 first FOR c=1 : Melakukan proses perulangan untuk id 0 PRINT id = 0 kordinat first ENDIF IF id=0 THEN PRINT id 0 second FOR c=1 : Melakukan proses perulangan untuk id 0 PRINT id = 0 kordinat second ENDIF IF id=1 THEN PRINT id 1 first

11 36 FOR c=1 : Melakukan proses perulangan untuk id 1 PRINT id = 1 kordinat first ENDIF IF id=1 THEN PRINT id 1 second FOR c=1 : Melakukan proses perulangan untuk id 1 PRINT id = 1 kordinat second ENDIF IF id=2 THEN PRINT id 2 first FOR c=1 : Melakukan proses perulangan untuk id 2 PRINT id = 2 kordinat first ENDIF IF id=2 THEN PRINT id 2 second FOR c=1 : Melakukan proses perulangan untuk id 2 PRINT id = 2 kordinat second ENDIF IF id=0 THEN FOR c=1 : Melakukan proses perulangan untuk id 0 FOR d=1 : Melakukan proses perulangan untuk id 0 rr=rr + 1 PRINT rr id 0 satu[c][d]=first[rr] dua[c][d]=second[rr] ENDIF

12 37 IF id=1 THEN FOR c=1 :Melakukan proses perulangan untuk id 1 FOR d=1 : Melakukan proses perulangan untuk id 1 rr=rr+1 PRINT rr id 1 satu[c][d]=first[rr] dua[c][d]=second[rr] ENDIF IF id=2 THEN FOR c=1 :Melakukan proses perulangan untuk id 2 FOR d=1 : Melakukan proses perulangan untuk id 2 rr=rr+1 PRINT rr id 2 satu[c][d]=first[rr] dua[c][d]=second[rr] ENDIF IF id=0 THEN FOR c=1 : Melakukan proses perulangan untuk id 0 FOR d=1 : Melakukan proses perulangan untuk id 0 print kordinat satu print kordinat dua ENDIF IF id=1 THEN FOR c=1 : Melakukan proses perulangan untuk id 1 FOR d=1 : Melakukan proses perulangan untuk id 1 print kordinat satu

13 38 print kordinat dua ENDIF IF id=2 THEN FOR c=1 : Melakukan proses perulangan untuk id 2 FOR d=1 : Melakukan proses perulangan untuk id 2 print kordinat satu print kordinat dua ENDIF FOR c=1 : Melakukan proses perulangan untuk perkalian matriks FOR d=1 : Melakukan proses perulangan untuk perkalian matriks FOR k=1 : Melakukan proses perulangan untuk perkalian matriks Sum =sum+satu[c][k]*dua[k][d]: Menghitung nilai variabel sum Multiplay[c][d]=sum : Mengisi variabel multiplay [c][d] dengan variabel sum Multiplaybuf[c][d]=sum : Mengisi variabel multiplaybuf [c][d] dengan variabel sum Sum = 0 : Mengisi variabel sum =0 IF w=2 THEN MPI_Reduce : Mengumpulkan hasil dari tiap-tiap prosesor ENDIF IF w=3 THEN MPI_Reduce : Mengumpulkan hasil dari tiap-tiap prosesor ENDIF FOR c=1 : Melakukan proses perulangan FOR d=id+1 : Melakukan proses perulangan

14 39 print kordinat hasil print nama prosesor Waktu_akhir : waktu akhir perhitungan IF id=0 THEN durasi = waktu_akhir waktu_awal print lama waktu yang dibutuhkan ENDIF MPI_Finalize (); 3.7 Kode Program Pada kode program ini, program melakukan proses random, perulangan, dan melakukan penghitungan matriks ordo 3 x 3, dan waktu yang diperlukan untuk menyelesaikan proses penghitungan, serta nama prosesor yang mengerjakan Proses utama MPI #include <mpi.h> /*Definisi header MPI*/ #include <stdio.h> /*Definisi printf, scanf*/ #include <stdlib.h> /*Standar library*/ #include <math.h> /*Definisi perhitungan matematika*/

15 40 #include <time.h> /*Definisi waktu*/ int main ( int argc, char *argv[] ) /*Program utama*/ int id, m, n, w, rr = 0, c, d, k; /*Deklarasi variabel integer*/ int first[300], second[300], firstbuf[300], secondbuf[300], satu[300][300], dua[300][300], multiplay[300][300], multiplaybuf[300][300], sum = 0, zz; /*Deklarasi variabel integer*/ int np; /*Deklarasi variabel integer*/ int namelen; /*Deklarasi variabel integer*/ double waktu_awal = 0, waktu_akhir, durasi; /*Deklarasi variabel waktu*/ char processor_name[mpi_max_processor_name]; /*Dekalarasi variabel string*/ MPI_Init ( &argc, &argv ); /*Inisialisasi MPI*/ MPI_Comm_size ( MPI_COMM_WORLD, &w ); /*Mengambil nilai jumlah prosessor*/

16 41 MPI_Comm_rank ( MPI_COMM_WORLD, &id ); /*Mengambil nilai id prosessor*/ MPI_Get_processor_name(processor_name, &namelen); /*Mengambil panjang nama node*/ Proses random pada id 0 if (id==0) /*Memeriksa id prosesor*/ printf("masukan nilai \n"); /*Mencetak masukan nilai*/ scanf("%d", &m); /*Menyimpan masukan kedalam variabel m*/ waktu_awal=mpi_wtime(); /*Waktu dimulainya perhitungan*/ MPI_Bcast (&m, 1, MPI_INT, 0, MPI_COMM_WORLD); /*Mengirim data ke seluruh prosesor ( data yang akan dikirim, jumlah data, tipe data buffer, rank dari broadcast, communicator yang digunakan)*/ n = m+1; /*Menghitung variabel n = variabel m + 1*/

17 42 zz = m*n ; /*Menghitung variabel zz = variabel m + variabel n*/ srand (time(null)); /* Agar diperoleh nilai acak*/ for ( c = 1 ; c <= zz ; c++ ) /*Melakukan perulangan dari 1 sampai variabel zz*/ first[c]= -1; /*Mengisi variabel first[c] = -1*/ second[c]= -1; /*Mengisi variabel second[c] = -1*/ firstbuf[c]= -1; /*Mengisi variabel firstbuf[c] = -1*/ secondbuf[c]= -1; /*Mengisi variabel secondbuf[c] = -1*/ if (id==0) /*Memeriksa id prosesor*/ for (c = 1; c <= zz ; c++)

18 43 /*Melakukan perulangan dari 1 sampai variabel zz*/ first[c] = rand()%5 + 1; ; /*Mengisi variabel first [c] = rand()%5 + 1*/ second [c] = rand()%5 + 1; /*Mengisi variabel second [c] = rand()%5 + 1*/ firstbuf[c] = first[c]; /*Mengisi variabel firstbuf [c] = variabel first [c]*/ secondbuf[c] = second[c]; /*Mengisi variabel secondbuf [c] = variabel second [c]*/ Proses reduksi jika jumlah node yang digunakan 2 if ( w == 2) /*Memeriksa variabel w*/ MPI_Reduce(&firstbuf, &first, zz, MPI_INT, MPI_MAX, 1, MPI_COMM_WORLD); /*Mengumpulkan hasil dari tiap-tiap prosesor (buffer yang akan dikirim, buffer untuk menerima, jumlah data buffer,

19 44 tipe data buffer, operasi MPI, rank atau proses yang menerima data, communicator yang digunakan) */ MPI_Reduce(&secondbuf, &second, zz, MPI_INT, MPI_MAX, 1, MPI_COMM_WORLD); /*Mengumpulkan hasil dari tiap-tiap prosesor(buffer yang akan dikirim, buffer untuk menerima, jumlah data buffer, tipe data buffer, operasi MPI, rank atau proses yang menerima data, communicator yang digunakan) */ Proses reduksi jika jumlah node yang digunakan 3 if (w == 3) /*Memeriksa variabel w*/ MPI_Reduce(&firstbuf, &first, zz, MPI_INT, MPI_MAX, 1, MPI_COMM_WORLD); /*Mengumpulkan asil dari tiap-tiap prosesor(buffer yang akan dikirim, buffer untuk menerima, jumlah data buffer, tipe data buffer, operasi MPI, rank atau proses yang menerima data, communicator yang digunakan) */ MPI_Reduce(&secondbuf, &second, zz, MPI_INT, MPI_MAX, 1, MPI_COMM_WORLD); /*Mengumpulkan hasil dari tiap-tiap prosesor(buffer yang akan dikirim, buffer untuk menerima, jumlah data buffer, tipe data buffer, operasi MPI, rank atau proses yang menerima data, communicator yang digunakan)*/

20 45 MPI_Reduce(&firstbuf, &first, zz, MPI_INT, MPI_MAX, 2, MPI_COMM_WORLD); /*Mengumpulkan hasil dari tiap-tiap prosesor(buffer yang akan dikirim, buffer untuk menerima, jumlah data buffer, tipe data buffer, operasi MPI, rank atau proses yang menerima data, communicator yang digunakan) */ MPI_Reduce(&secondbuf, &second, zz, MPI_INT, MPI_MAX, 2, MPI_COMM_WORLD); /*Mengumpulkan hasil dari tiap-tiap prosesor(buffer yang akan dikirim, buffer untuk menerima, jumlah data buffer, tipe data buffer, operasi MPI, rank atau proses yang menerima data, communicator yang digunakan) */ Proses random pada id 0 if (id==0) /*Memeriksa id prosesor*/ printf("id 0 first \n"); /*Mencetak id 0*/ for ( c = 1 ; c <= zz ; c++ ) /*Melakukan perulangan dari 1 sampai variabel zz*/ printf("id = 0 kordinat first %d,,adalah %d \n", c, first[c]); /*Mencetak id = 0 kordinat first*/

21 46 if (id==0) /*Memeriksa id prosesor*/ printf("id 0 second \n"); /*Mencetak id 0*/ for ( c = 1 ; c <= zz; c++ ) /*Melakukan perulangan dari 1 sampai variabel zz*/ printf("id = 0 kordinat second %d,,adalah %d \n", c, second[c]); /*Mencetak id = 0 kordinat second*/ Output program: masukan nilai id 0 first id = 0 kordinat first 1,,adalah 5 id = 0 kordinat first 2,,adalah 3 id = 0 kordinat first 3,,adalah 1 id = 0 kordinat first 4,,adalah 3 id = 0 kordinat first 5,,adalah 4 id = 0 kordinat first 6,,adalah 4 id = 0 kordinat first 7,,adalah 1

22 47 id = 0 kordinat first 8,,adalah 2 id = 0 kordinat first 9,,adalah 2 id = 0 kordinat first 10,,adalah 2 id = 0 kordinat first 11,,adalah 4 id = 0 kordinat first 12,,adalah 5 id 0 second id = 0 kordinat second 1,,adalah 2 id = 0 kordinat second 2,,adalah 3 id = 0 kordinat second 3,,adalah 1 id = 0 kordinat second 4,,adalah 3 id = 0 kordinat second 5,,adalah 4 id = 0 kordinat second 6,,adalah 5 id = 0 kordinat second 7,,adalah 1 id = 0 kordinat second 8,,adalah 5 id = 0 kordinat second 9,,adalah 3 id = 0 kordinat second 10,,adalah 3 id = 0 kordinat second 11,,adalah 4 id = 0 kordinat second 12,,adalah Proses random pada id 1 if (id==1) /*Memeriksa id prosesor*/ printf("id 1 first \n"); /*Mencetak id 1*/

23 48 for ( c = 1 ; c <= zz ; c++ ) /*Melakukan perulangan dari 1 sampai variabel zz*/ printf("id = 1 kordinat first %d,,adalah %d \n", c, first[c]); /*Mencetak id = 1 kordinat first*/ if (id==1) /*Memeriksa id prosesor*/ printf("id 1 second \n"); /*Mencetak id 1*/ for ( c = 1 ; c <= zz; c++ ) /*Melakukan perulangan dari 1 sampai variabel zz*/ printf("id = 1 kordinat second %d,,adalah %d \n", c, second[c]); /*Mencetak id = 1 kordinat second*/ Output program: id 1 first id = 1 kordinat first 1,,adalah 5 id = 1 kordinat first 2,,adalah 3 id = 1 kordinat first 3,,adalah 1 id = 1 kordinat first 4,,adalah 3 id = 1 kordinat first 5,,adalah 4 id = 1 kordinat first 6,,adalah 4

24 49 id = 1 kordinat first 7,,adalah 1 id = 1 kordinat first 8,,adalah 2 id = 1 kordinat first 9,,adalah 2 id = 1 kordinat first 10,,adalah 2 id = 1 kordinat first 11,,adalah 4 id = 1 kordinat first 12,,adalah -1 id 1 second id = 1 kordinat second 1,,adalah 2 id = 1 kordinat second 2,,adalah 3 id = 1 kordinat second 3,,adalah 1 id = 1 kordinat second 4,,adalah 3 id = 1 kordinat second 5,,adalah 4 id = 1 kordinat second 6,,adalah 5 id = 1 kordinat second 7,,adalah 1 id = 1 kordinat second 8,,adalah 5 id = 1 kordinat second 9,,adalah 3 id = 1 kordinat second 10,,adalah 3 id = 1 kordinat second 11,,adalah 4 id = 1 kordinat second 12,,adalah Proses random pada id 2 if (id==2) /*Memeriksa id prosesor*/ printf("id 2 first \n"); /*Mencetak id 2*/

25 50 for ( c = 1 ; c <= zz ; c++ ) /*Melakukan perulangan dari 1 sampai variabel zz*/ printf("id = 2 kordinat first %d,,adalah %d \n", c, first[c]); /*Mencetak id = 2 kordinat first*/ if (id==2) /*Memeriksa id prosesor*/ printf("id 2 second \n"); /*Mencetak id 2*/ for ( c = 1 ; c <= zz; c++ ) /*Melakukan perulangan dari 1 sampai variabel zz*/ printf("id = 2 kordinat second %d,,adalah %d \n", c, second[c]); /*Mencetak id = 2 kordinat second*/ Output program: id 2 first id = 2 kordinat first 1,,adalah 5 id = 2 kordinat first 2,,adalah 3 id = 2 kordinat first 3,,adalah 1 id = 2 kordinat first 4,,adalah 3 id = 2 kordinat first 5,,adalah 4 id = 2 kordinat first 6,,adalah 4

26 51 id = 2 kordinat first 7,,adalah 1 id = 2 kordinat first 8,,adalah 2 id = 2 kordinat first 9,,adalah 2 id = 2 kordinat first 10,,adalah 2 id = 2 kordinat first 11,,adalah 4 id = 2 kordinat first 12,,adalah -1 id 2 second id = 2 kordinat second 1,,adalah 2 id = 2 kordinat second 2,,adalah 3 id = 2 kordinat second 3,,adalah 1 id = 2 kordinat second 4,,adalah 3 id = 2 kordinat second 5,,adalah 4 id = 2 kordinat second 6,,adalah 5 id = 2 kordinat second 7,,adalah 1 id = 2 kordinat second 8,,adalah 5 id = 2 kordinat second 9,,adalah 3 id = 2 kordinat second 10,,adalah 3 id = 2 kordinat second 11,,adalah 4 id = 2 kordinat second 12,,adalah Proses memasukan array random kedalam array elemen matriks pada id 0 if (id == 0) /*Memeriksa id prosesor*/ for ( c = 1 ; c <= m ; c++ ) /*Melakukan perulangan dari 1 sampai variabel m*/

27 52 for ( d = 1 ; d <= m ; d++ ) /*Melakukan perulangan dari 1 sampai variabel m*/ rr = rr + 1; /*Menghitung variabel rr = variabel rr + 1*/ printf("rr id 0 = %d \n", rr); /*Mencetak variabel rr pada id 0*/ satu[c][d] = first[rr]; /*Mengisi variabel array satu [c][d] = variabel array first[rr]*/ dua[c][d] = second[rr]; /*Mengisi variabel array dua [c][d] = variabel array second[rr]*/ Output program: rr id 0 = 1 rr id 0 = 2 rr id 0 = 3 rr id 0 = 4

28 53 rr id 0 = 5 rr id 0 = 6 rr id 0 = 7 rr id 0 = 8 rr id 0 = Proses memasukan array random kedalam array elemen matriks pada id 1 if (id == 1) /*Memeriksa id prosesor*/ for ( c = 1 ; c <= m ; c++ ) /*Melakukan perulangan dari 1 sampai variabel m*/ for ( d = 1 ; d <= m ; d++ ) /*Melakukan perulangan dari 1 sampai variabel m*/ rr = rr + 1; /*Menghitung variabel rr = variabel rr + 1*/ printf("rr id 1 = %d \n", rr); /*Mencetak variabel rr pada id 1*/ satu[c][d] = first[rr]; /*Mengisi variabel array satu [c][d] = variabel array first[rr]*/

29 54 dua[c][d] = second[rr]; /*Mengisi variabel array dua [c][d] = variabel array second[rr]*/ Output program: rr id 1 = 1 rr id 1 = 2 rr id 1 = 3 rr id 1 = 4 rr id 1 = 5 rr id 1 = 6 rr id 1 = 7 rr id 1 = 8 rr id 1 = Proses memasukan array random kedalam array elemen matriks pada id 2 if (id == 2) /*Memeriksa id prosesor*/ for ( c = 1 ; c <= m ; c++ )

30 55 /*Melakukan perulangan dari 1 sampai variabel m*/ for ( d = 1 ; d <= m ; d++ ) /*Melakukan perulangan dari 1 sampai variabel m*/ rr = rr + 1; /*Menghitung variabel rr = variabel rr + 1*/ printf("rr id 2 = %d \n", rr); /*Mencetak variabel rr pada id 2*/ satu[c][d] = first[rr]; /*Mengisi variabel satu [c][d] = variabel first[rr]*/ dua[c][d] = second[rr]; /*Mengisi variabel dua [c][d] = variabel second[rr]*/ Output program: rr id 2 = 1 rr id 2 = 2 rr id 2 = 3 rr id 2 = 4 rr id 2 = 5 rr id 2 = 6 rr id 2 = 7

31 56 rr id 2 = 8 rr id 2 = Proses perulangan elemen-elemen matriks pada id 0 if (id == 0) /*Memeriksa id prosesor*/ for ( c = 1 ; c <= m ; c++ ) /*Melakukan perulangan dari 1 sampai variabel m*/ for ( d = 1 ; d <= m ; d++ ) /*Melakukan perulangan dari 1 sampai variabel m*/ printf("kordinat satu %d,%d,adalah %d \n", c, d, satu[c][d]); /*Mencetak informasi kordinat satu dan nilai variabel array satu [c][d]*/ printf("kordinat dua %d,%d,adalah %d \n", c, d,dua[c][d]); /*Mencetak informasi kordinat dua dan nilai variabel array dua [c][d]*/ Output program: kordinat satu 1,1,adalah 5 kordinat dua 1,1,adalah 2

32 57 kordinat satu 1,2,adalah 3 kordinat dua 1,2,adalah 3 kordinat satu 1,3,adalah 1 kordinat dua 1,3,adalah 1 kordinat satu 2,1,adalah 3 kordinat dua 2,1,adalah 3 kordinat satu 2,2,adalah 4 kordinat dua 2,2,adalah 4 kordinat satu 2,3,adalah 4 kordinat dua 2,3,adalah 5 kordinat satu 3,1,adalah 1 kordinat dua 3,1,adalah 1 kordinat satu 3,2,adalah 2 kordinat dua 3,2,adalah 5 kordinat satu 3,3,adalah 2 kordinat dua 3,3,adalah Proses perulangan elemen-elemen matriks pada id 1 if (id == 1) /*Memeriksa id prosesor*/ for ( c = 1 ; c <= m ; c++ ) /*Melakukan perulangan dari 1 sampai variabel m*/

33 58 for ( d = 1 ; d <= m ; d++ ) /*Melakukan perulangan dari 1 sampai variabel m*/ printf("kordinat satu %d,%d,adalah %d \n", c, d, satu[c][d]); /*Mencetak informasi kordinat satu dan nilai variabel array satu[c][d]*/ printf("kordinat dua %d,%d,adalah %d \n", c, d, dua[c][d]); /*Mencetak informasi kordinat dua dan nilai variabel array dua [c][d]*/ Output program: kordinat satu 1,1,adalah 5 kordinat dua 1,1,adalah 2 kordinat satu 1,2,adalah 3 kordinat dua 1,2,adalah 3 kordinat satu 1,3,adalah 1 kordinat dua 1,3,adalah 1 kordinat satu 2,1,adalah 3 kordinat dua 2,1,adalah 3 kordinat satu 2,2,adalah 4 kordinat dua 2,2,adalah 4 kordinat satu 2,3,adalah 4 kordinat dua 2,3,adalah 5 kordinat satu 3,1,adalah 1 kordinat dua 3,1,adalah 1 kordinat satu 3,2,adalah 2 kordinat dua 3,2,adalah 5 kordinat satu 3,3,adalah 2

34 59 kordinat dua 3,3,adalah Proses perulangan elemen-elemen matriks pada id 2 if (id == 2) /*Memeriksa id prosesor*/ for ( c = 1 ; c <= m ; c++ ) /*Melakukan perulangan dari 1 sampai variabel m*/ for ( d = 1 ; d <= m ; d++ ) /*Melakukan perulangan dari 1 sampai variabel m*/ printf("kordinat satu %d,%d,adalah %d \n", c, d, satu[c][d]); /*Mencetak informasi kordinat satu dan nilai variabel array satu[c][d]*/ printf("kordinat dua %d,%d,adalah %d \n", c, d,dua[c][d]); /*Mencetak informasi kordinat dua dan nilai variabel array dua [c][d]*/ Output program: kordinat satu 1,1,adalah 5 kordinat dua 1,1,adalah 2 kordinat satu 1,2,adalah 3

35 60 kordinat dua 1,2,adalah 3 kordinat satu 1,3,adalah 1 kordinat dua 1,3,adalah 1 kordinat satu 2,1,adalah 3 kordinat dua 2,1,adalah 3 kordinat satu 2,2,adalah 4 kordinat dua 2,2,adalah 4 kordinat satu 2,3,adalah 4 kordinat dua 2,3,adalah 5 kordinat satu 3,1,adalah 1 kordinat dua 3,1,adalah 1 kordinat satu 3,2,adalah 2 kordinat dua 3,2,adalah 5 kordinat satu 3,3,adalah 2 kordinat dua 3,3,adalah Proses perulangan untuk perkalian elemen-elemen matriks for (c = 1 ; c <= m ; c++ ) /*Melakukan perulangan dari 1 sampai variabel m*/ for (d = id + 1 ; d <= m ; d+=w ) /*Melakukan perulangan dari id + 1 sampai variabel m dengan penambahan sebanyak variabel w*/

36 61 for (k = 1 ; k <= m ; k++ ) /*Melakukan perulangan dari 1 sampai variabel m*/ sum = sum + satu[c][k]*dua[k][d]; /*Menghitung nilai variabel sum = variabel sum + variabel array satu[c][k] * variabel array dua [k][d]*/ multiplay [c][d] = sum ; /*Mengisi variabel array multiplay [c][d] = variabel sum*/ multiplaybuf [c][d] = sum ; /*Mengisi variabel array multiplaybuf [c][d]= variabel sum*/ sum = 0 ; /*Mengisi variabel sum = 0*/ Proses reduksi jika jumlah node 2 if (w == 2)

37 62 /*Memeriksa variabel w*/ MPI_Reduce(&multiplaybuf, &multiplay, zz, MPI_INT, MPI_MAX, 0, MPI_COMM_WORLD); /*Mengumpulkan data dari tiap tiap prosesor*/ Proses reduksi jika jumlah node 3 if (w == 3) /*Memeriksa variabel w*/ MPI_Reduce(&multiplaybuf, &multiplay, zz, MPI_INT, MPI_MAX, 0, MPI_COMM_WORLD); /*Mengumpulkan data dari tiap tiap prosesor*/ Proses perulangan dengan tampilan akhir program printf("=======================================\n"); /*Mencetak garis === */

38 63 for ( c = 1 ; c <= m ; c++ ) /*Melakukan perulangan dari 1 sampai variabel m*/ for ( d = id + 1 ; d <= m ; d+=w ) /*Melakukan perulangan dari 1 sampai variabel m dengan penambahan sebanyak variabel w*/ printf("kordinat hasil %d,%d,adalah %d \n", c, d, multiplay[c][d]); /*Mencetak informasi kordinat hasil dan nilai variabel multiplay [c][d]*/ printf("nama processor adalah %s\r\n", processor_name); /*Mencetak informasi nama prosesor dan node yang mengerjakannya*/ waktu_akhir = MPI_Wtime(); /*waktu akhir perhitungan*/ printf("=======================================\n"); /*Mencetak garis ===*/ if ( id == 0) /*Memeriksa id prosesor*/ durasi = waktu_akhir - waktu_awal;

39 64 /*Mengukur kecepatan hitung dengan mengurangi nilai variabel waktu_akhir variabel waktu_awal*/ printf("lama waktu yang dibutuhkan adalah %.20f\n", durasi); /*Mencetak lama waktu yang dibutuhkan dan nilai dari variabel durasi*/ MPI_Finalize ( ); /*keluar dari MPI atau membatalkan proses yang masih berjalan*/ Output program: ================================================ kordinat hasil 1,3,adalah 23 kordinat hasil 2,3,adalah 35 kordinat hasil 3,3,adalah 17 nama processor adalah fitria-pc ================================================ kordinat hasil 1,1,adalah 20 kordinat hasil 2,1,adalah 22 kordinat hasil 3,1,adalah 10 nama processor adalah acer-pc ================================================ lama waktu yang dibutuhkan adalah ================================================ kordinat hasil 1,2,adalah 32 kordinat hasil 2,2,adalah 45 kordinat hasil 3,2,adalah 21 nama processor adalah ningrum-pc ================================================

40 Structured Chart 3.9 Pengujian Program Secara Manual Untuk pengujian, dapat digunakan rumus matriks persegi dimana jumlah barisnya sama dengan jumlah kolomnya. Matriks A Matriks B

41 66 Contoh perhitungan manual : ((1*1)+(2*2)+(3*2)) ((1*2)+(2*2)+(3*3)) ((1*3)+(2*1)+(3*3)) Matriks A*B= ((1*1)+(2*2)+(3*2)) ((1*2)+(2*2)+(3*3)) ((1*3)+(2*1)+(3*3)) ((2*1)+(2*2)+(1*2)) ((2*2)+(2*2)+(1*3)) ((2*3)+(2*1)+(1*3)) Matriks A*B = Dari hasil penghitungan di atas maka didapat nilai matriks. Pada PC Cluster apabila menggunakan 2 node atau lebih dan memiliki task lebih dari satu maka PC Cluster secara otomatis akan membagi tasks tersebut ke node yang lain.

67

67 BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Kompilasi Program Bahasa pemrograman yang digunakan adalah bahasa C. Simpan program hitung matriks kedalam file C dan simpan di drive C kemudian ubah file menjadi

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Instalasi Windows 7 Ultimate Didalam manajemen perangkat lunak terdapat proses yang mendefiniskan sistem dan komponen-komponen yang menggambarkan bagaimana serangkaian

Lebih terperinci

BAB III METODOLOGI PENELITIAN

BAB III METODOLOGI PENELITIAN BAB III METODOLOGI PENELITIAN Simulasi pemrograman paralel pada medan elektromagnetik berdimensi satu dengan metode Finite Difference Time Domain (FDTD) dilakukan untuk menampilkan secara grafis medan

Lebih terperinci

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM BAB III PERANCANGAN SISTEM 3.1 Konfigurasi Cluster PC Multicore Penelitian ini bertujuan untuk mengetahui pengaruh algortima paralel pada kinerja komputasi paralel. Untuk itu konfigurasi hardware disusun

Lebih terperinci

BAB III METODE PENELITIAN

BAB III METODE PENELITIAN BAB III METODE PENELITIAN Penelitian implementasi pemrograman paralel dalam deteksi tepi menggunakan metode operator Sobel dibuat dengan menggunakan bahasa pemrograman C++. Metode penelitian yang digunakan

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

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA BAB IV HASIL DAN UJI COBA Dalam bab ini akan dibahas mengenai pemanfaatan cluster untuk melakukan komputasi paralel dengan OCTAVE MPITB. Program yang digunakan sebagai uji coba adalah program perkalian

Lebih terperinci

Pemrograman Dasar C. Minggu 6

Pemrograman Dasar C. Minggu 6 Pemrograman Dasar C Minggu 6 Topik Bahasan Fungsi Menulis sekali digunakan berulang kali Tugas yang dikompartemenkan Variabel lokal dalam fungsi Teknik Mendesain Top-Down Kode Pseudo Struktur dan Diagram

Lebih terperinci

Perulangan, Percabangan, dan Studi Kasus

Perulangan, Percabangan, dan Studi Kasus Perulangan, Percabangan, dan Studi Kasus Perulangan dan percabangan merupakan hal yang sangat penting dalam menyusun suatu program Pada pertemuan kali ini akan dibahas secara detail tentang perulangan

Lebih terperinci

PENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini:

PENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini: PENGENALAN BAHASA C A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini: Kebanyakan pemrogram jarang memberikan keterangan/

Lebih terperinci

Array 1 A. TUJUAN PEMBELAJARAN

Array 1 A. TUJUAN PEMBELAJARAN PRAKTIKUM 18 Array 1 A. TUJUAN PEMBELAJARAN 1. Memahami konsep array dan penyimpanannya dalam memori 2. Mempelajari pengunaan variabel array berdimensi satu 3. Memahami penggunaan variabel array berdimensi

Lebih terperinci

Bahasa C melengkapi fasilitas modular dengan menggunakan fungsi pada setiap SubProgram. Contoh pembagian program menjadi beberapa subprogram.

Bahasa C melengkapi fasilitas modular dengan menggunakan fungsi pada setiap SubProgram. Contoh pembagian program menjadi beberapa subprogram. 1 Bahasa C melengkapi fasilitas modular dengan menggunakan fungsi pada setiap SubProgram. Contoh pembagian program menjadi beberapa subprogram. Program Utama SubProgram SubProgram SubProgram SubProgram

Lebih terperinci

BAB III METODE PENELITIAN

BAB III METODE PENELITIAN BAB III METODE PENELITIAN Pada penelitian ini, dilakukan analisis pendahuluan dari waktu eksekusi algoritma Shell sort dan Quick sort untuk mengetahui titik perpotongan data antara kedua algoritma. Setelah

Lebih terperinci

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Searching ( Pencarian ) Modul III

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Searching ( Pencarian ) Modul III LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Searching ( Pencarian ) Modul III UNTUK MEMENUHI TUGAS MATAKULIAH PRAKTIKUM ALGORITMA DAN STRUKTUR DATA yang dibina oleh Bapak Didik Dwi Prasetya Oleh: Adhe

Lebih terperinci

1. Mempelajari konsep dasar array, array ganda, pengiriman array ke fungsi dan string 2. Membuat program menggunakan array, array ganda

1. Mempelajari konsep dasar array, array ganda, pengiriman array ke fungsi dan string 2. Membuat program menggunakan array, array ganda Pertemuan ke-8 Array TUJUAN 1. Mempelajari konsep dasar array, array ganda, pengiriman array ke fungsi dan string 2. Membuat program menggunakan array, array ganda 8. 1. PENDAHULUAN Array adalah sebuah

Lebih terperinci

Fungsi : Dasar Fungsi

Fungsi : Dasar Fungsi PRAKTIKUM 13 Fungsi : Dasar Fungsi A. TUJUAN PEMBELAJARAN 1. Memecah program dalam fungsi fungsi yang sederhana. 2. Menjelaskan tentang pemrograman terstruktur. B. DASAR TEORI Fungsi adalah suatu bagian

Lebih terperinci

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI: Praktikum 7 Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: Konsep pengurutan dengan insertion sort dan selection sort Struktur data proses pengurutan Implementasi algoritma pengurutan

Lebih terperinci

BAB I. LARIK (ARRAY) Array (larik) ialah penampung sejumlah data sejenis (homogen) yang menggunakan satu identifier (pengenal).

BAB I. LARIK (ARRAY) Array (larik) ialah penampung sejumlah data sejenis (homogen) yang menggunakan satu identifier (pengenal). BAB I. LARIK (ARRAY) Array (larik) ialah penampung sejumlah data sejenis (homogen) yang menggunakan satu identifier (pengenal). Masing-masing elemen larik diakses menggunakan indeks (subscript) dari nol

Lebih terperinci

Algoritme dan Pemrograman

Algoritme dan Pemrograman Algoritme dan Pemrograman Kuliah #7 dan #8 Array Program Menghitung Rataan 3 Nilai #include int nilai1, nilai2, nilai3; float rataan; void main() printf ( Masukkan nilai 1 );scanf( %d,&nilai1);

Lebih terperinci

DIKTAT MATA KULIAH PEMROGRAMAN I BAB VII ARRAY

DIKTAT MATA KULIAH PEMROGRAMAN I BAB VII ARRAY DIKTAT MATA KULIAH PEMROGRAMAN I BAB VII ARRAY IF Tujuan 1. Memahami array berdimensi satu 2. Memahami array berdimensi dua Pengertian Array Array merupakan kumpulan dari nilai-nilai data yang bertipe

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 (2) Mengupas Kentang

ALGORITMA (2) Mengupas Kentang Rosa Ariani Sukamto ROSA ARIANI SUKAMTO Blog: http://udinrosa.wordpress.com Website: http://www.gangsir.com Facebook: https://www.facebook.com/rosa.ariani.sukamto Email: rosa_if_itb_01@yahoo.com ALGORITMA

Lebih terperinci

Pengenalan Bahasa C. Yuli Sun Hariyani D3 Teknik Telekomunikasi Institut Teknologi Telkom

Pengenalan Bahasa C. Yuli Sun Hariyani D3 Teknik Telekomunikasi Institut Teknologi Telkom Pengenalan Bahasa C Yuli Sun Hariyani D3 Teknik Telekomunikasi Institut Teknologi Telkom Algoritma & Bahasa C Algoritma Program luaspersegi Kamus sisi : integer Luas : integer Algoritma output( Masukkan

Lebih terperinci

Pencarian (Searching)

Pencarian (Searching) Praktikum 11 Pencarian (Searching) POKOK BAHASAN: Konsep pencarian dengan sequential search dan binary search Struktur data proses pencarian Implementasi algoritma pencarian sequential search dan binary

Lebih terperinci

3 sks (2,1) 1 sks: Lab Session. Course material: History Algorithm. Programming (C/C++):codeblock,gnu compiler

3 sks (2,1) 1 sks: Lab Session. Course material: History Algorithm. Programming (C/C++):codeblock,gnu compiler Algoritma & Programming 3 sks (2,1) 2 sks: Teori 1 sks: Lab Session Course material: History Algorithm Flowchart atau aliran proses Programming (C/C++):codeblock,gnu compiler Asal kata Algoritma berasal

Lebih terperinci

ARRAY DIMENSI SATU Setiap elemen array dapat diakses melalui indeks. Indeks array secara default dimulai dari 0.

ARRAY DIMENSI SATU Setiap elemen array dapat diakses melalui indeks. Indeks array secara default dimulai dari 0. Array SASARAN Memahami array berdimensi satu Memahami array berdimensi dua Memahami array berdimensi banyak Memahami inisialisasi array yang tak berukuran Melewatkan array sbg parameter ke suatu fungsi

Lebih terperinci

Bahasa C Array. Slide diambil dari MK Dasar-Dasar Pemrograman Fasilkom UI Dimodifikasi dan disesuaikan dngn kebutuhan pengajaran di PTI-Undiksha

Bahasa C Array. Slide diambil dari MK Dasar-Dasar Pemrograman Fasilkom UI Dimodifikasi dan disesuaikan dngn kebutuhan pengajaran di PTI-Undiksha Bahasa C Array Slide diambil dari MK Dasar-Dasar Pemrograman Fasilkom UI Dimodifikasi dan disesuaikan dngn kebutuhan pengajaran di PTI-Undiksha Pengenalan Array Array (larik) merupakan suatu struktur data

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 KOMPUTER. Sistem Komputer. Dian Palupi Rini, M.Kom

PENGENALAN KOMPUTER. Sistem Komputer. Dian Palupi Rini, M.Kom PENGENALAN KOMPUTER Dian Palupi Rini, M.Kom Sistem Komputer Komputer Definisi komputer adalah alat elektronik yang dapat menerima input data, mengolah data dan memberikan hasil dalam bentuk informasi dengan

Lebih terperinci

Algoritma dan Struktur Data. Ramos Somya

Algoritma dan Struktur Data. Ramos Somya Algoritma dan Struktur Data Ramos Somya Penggunaan record dalam jumlah yang banyak alokasi memory konvensional tidak bisa diandalkan. Misal kita akan bekerja dengan file yang menyimpan sangat banyak record,

Lebih terperinci

a[0] a[1] a[2] a[3] a[4] a[5] x

a[0] a[1] a[2] a[3] a[4] a[5] x Array Algoritme dan Pemrograman Kuliah #8 Array Dalam matematika dikenal variabel berindeks x 0, x 1, x 2,, x n-1. Angka 0, 1, 2,, n-1 pada variabel x disebut sebagai indeks atau subscript. Variabel berindeks

Lebih terperinci

P11 Array. A. Sidiq Purnomo Program Studi Teknik Informatika Universitas Mercu Buana Yogyakarta

P11 Array. A. Sidiq Purnomo Program Studi Teknik Informatika Universitas Mercu Buana Yogyakarta P11 Array A. Sidiq Purnomo Program Studi Teknik Informatika Universitas Mercu Buana Yogyakarta Tujuan Mahasiswa mampu mengetahui dan memahami : Mengetahui Perintah Array Mengetahui dan Memahami Array Satu

Lebih terperinci

Larik/ Array int a1, a2, a3, a4, a5;

Larik/ Array int a1, a2, a3, a4, a5; Matakuliah : Struktur Data Versi : 1.0.0 Materi : Larik/ Array Penyaji : Zulkarnaen NS 1 Larik/ Array Variabel digunakan hanya untuk menyimpan 1 (satu) buah nilai dengan tipe data tertentu. Misalnya: int

Lebih terperinci

Praktikum 8. Pengurutan (Sorting) Bubble Sort, Shell Sort

Praktikum 8. Pengurutan (Sorting) Bubble Sort, Shell Sort Praktikum 8 Pengurutan (Sorting) Bubble Sort, Shell Sort POKOK BAHASAN: Konsep pengurutan dengan bubble sort dan shell sort Struktur data proses pengurutan Implementasi algoritma pengurutan bubble sort

Lebih terperinci

ALGORITMA & PEMROGRAMAN II ARRAY

ALGORITMA & PEMROGRAMAN II ARRAY ALGORITMA & PEMROGRAMAN II ARRAY I Gede Agus Suwartane Array 1 Array Koleksi data dimana setiap elemen memakai nama dan tipe yang sama dan setiap elemen diakses dengan membedakan indeks array-nya. Ciri

Lebih terperinci

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C TUGAS STRUKTUR DATA Shell Sort Ascending Dan Binary Sequential Search Menggunakan C IF-5 Nama Anggota : - Rohendi 10107193 - Andri Andriyan 10107210 - Yuli Yanti A 10107218 - Jajang Kusmita 10107227 JURUSAN

Lebih terperinci

PRAKTIKUM 9 ARRAY. ARRAY BERDIMENSI SATU Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa :

PRAKTIKUM 9 ARRAY. ARRAY BERDIMENSI SATU Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa : PRAKTIKUM 9 ARRAY A. Tujuan 1. Menjelaskan tentang array berdimensi satu 2. Menjelaskan tentang array berdimensi dua 3. Menjelaskan tentang array berdimensi banyak 4. Menjelaskan tentang inisialisasi array

Lebih terperinci

PERULANGAN PROSES. Proses perulangan ditandai dengan mekanisme yang disebut loop. Proses Loop : Proses yang berulang-ulang

PERULANGAN PROSES. Proses perulangan ditandai dengan mekanisme yang disebut loop. Proses Loop : Proses yang berulang-ulang PERULANGAN PROSES Proses perulangan ditandai dengan mekanisme yang disebut loop Proses Loop : Proses yang berulang-ulang Perintah atau notasi dalam struktur pengulangan Melipiuti : Pernyataan for Pernyataan

Lebih terperinci

P - 3 Bab 2 : Pengantar Pemrograman C

P - 3 Bab 2 : Pengantar Pemrograman C P - 3 Bab 2 : Pengantar Pemrograman C 2.1 Tujuan Mahasiswa dapat mengetahui dan memahami sejarah bahasa C, struktur program C dan alur eksekusi program C 2.2 Materi 1. Sejarah C 2. Interprenter dan Compiler

Lebih terperinci

P3 Pengantar Pemrograman C

P3 Pengantar Pemrograman C P3 Pengantar Pemrograman C A. Sidiq Purnomo Prodi Teknik Informatika & Prodi Sistem Informasi Universitas Mercu Buana Yogyakarta Tujuan Mahasiswa dapat mengetahui dan memahami sejarah bahasa C, struktur

Lebih terperinci

Tutorial 08 Pertemuan 12

Tutorial 08 Pertemuan 12 Tutorial 08 Pertemuan 12 Tutorial Kuliah Pemrograman Terstruktur I TUJUAN & SASARAN Disusun oleh : Danang Junaedi Setelah mengerjakan tutorial ini mahasiswa diharapkan dapat : 1. Menjelaskan penggunaan

Lebih terperinci

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera ARRAY PENGANTAR PROGRAM STUDI Institut Teknologi Sumatera TUJUAN PERKULIAHAN Mahasiswa memahami konsep dan cara kerja array Mahasiswa mampu membuat program sederhana menggunakan array satu dimensi PRE

Lebih terperinci

Algoritme dan Pemrograman

Algoritme dan Pemrograman Algoritme dan Pemrograman Kuliah #8 Array Program Menghitung Rataan 3 Nilai int nilai1, nilai2, nilai3; float rataan; int main() { printf ("Masukkan nilai 1 :");scanf("%d",&nilai1); printf ("Masukkan nilai

Lebih terperinci

Pemrograman Dasar C. Minggu 6

Pemrograman Dasar C. Minggu 6 Pemrograman Dasar C Minggu 6 Latihan Soal Buatlah program yang meminta seseorang untuk memasukkan angka bilangan riil sebanyak 3 kali, dan program akan menampilkan jumlah total dan rata-ratanya. Bilangan

Lebih terperinci

Algoritma dan Pemrograman. Loop control structures: WHILE. Loop control structures: WHILE Perhatikan potongan program berikut: 12/29/2011

Algoritma dan Pemrograman. Loop control structures: WHILE. Loop control structures: WHILE Perhatikan potongan program berikut: 12/29/2011 Algoritma dan Pemrograman WHILE while (kondisi) statement; FALSE kondisi? TRUE statement Pernyataan (statements) di dalam struktur WHILE akan diproses minimum NOL kali. Mengapa? WHILE Perhatikan potongan

Lebih terperinci

IT234 - Algoritma dan Struktur Data. Ramos Somya

IT234 - Algoritma dan Struktur Data. Ramos Somya IT234 - Algoritma dan Struktur Data Ramos Somya Pengertian Looping Beberapa instruksi diulang untuk suatu jumlah pengulangan yang tertentu. Jumlah pengulangan dapat diketahui sebelumnya atau ditentukan

Lebih terperinci

Pemrograman Dasar A R R A Y

Pemrograman Dasar A R R A Y Pemrograman Dasar A R R A Y Array Sebagian besar program komputer menangani data dalam jumlah yang suangat besar Taruhlah kalian menulis program yang membaca 100 angka. Apakah kalian akan mendeklarasikan

Lebih terperinci

Algoritme dan Pemrograman

Algoritme dan Pemrograman Kuliah #2 Struktur program C Tipe data Input / Output Algoritme dan Pemrograman Beberapa Catatan Lakukan KRS B jika: Belum mendaftar di KRS A Mendaftar di KRS A, tapi nama tidak muncul di absen Pindah

Lebih terperinci

Praktikum 9. Pengurutan (Sorting) Quick Sort, Merge Sort

Praktikum 9. Pengurutan (Sorting) Quick Sort, Merge Sort Praktikum 9 Pengurutan (Sorting) Quick Sort, Merge Sort POKOK BAHASAN: Konsep pengurutan dengan quick sort dan merge sort Struktur data proses pengurutan Implementasi algoritma pengurutan quick sort dan

Lebih terperinci

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual Praktikum 7 FUNGSI 1 A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual B. DASAR TEORI Fungsi adalah suatu bagian dari program yang dirancang

Lebih terperinci

5. Teknik Pengulangan

5. Teknik Pengulangan 5. Teknik Pengulangan Counter Teknik kounter dipakai untuk mengontrol pengulangan proses. Pengontrolan ini dilakukan dengan memeriksa isi variabel yang digunakan sebagai kounter, sehingga junlah pengulangan

Lebih terperinci

PRAKTIKUM KONSEP PEMROGRAMAN MATERI DECISION DWI SETIYA NINGSIH. November 16, Page 1 of 16 PRAKTIKUM KONSEP PEMROGRAMAN MATERI

PRAKTIKUM KONSEP PEMROGRAMAN MATERI DECISION DWI SETIYA NINGSIH. November 16, Page 1 of 16 PRAKTIKUM KONSEP PEMROGRAMAN MATERI DECISION DWI SETIYA NINGSIH 2103157025 November 16, 2015 Page 1 of 16 Decission : if & if else D. PERCOBAAN 1. Buat program yang membaca nilai integer dan menuliskan Nilai a positif jika a>= 0 dan Nilai

Lebih terperinci

Tipe Data, Variabel, Input/Output

Tipe Data, Variabel, Input/Output Tipe Data, Variabel, Input/Output Pendahuluan Untuk membuat program dengan bahasa pemrograman C harus memperhatikan struktur dasarnya. Strukturnya diawali dengan bagian preprocessor directive yang biasanya

Lebih terperinci

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3) BAHASA PEMROGRAMAN 1 (PERTEMUAN 3) ARRAY KUMPULAN SOAL LATIHAN PREPARED BY CHANDRA 092110187 05 06 2010 (REVISED) PENGENALAN ARRAY Array dari Pesawat Array dari Serangga Array dari Kartu Array dari Karakter

Lebih terperinci

REVIEW ARRAY. Institut Teknologi Sumatera

REVIEW ARRAY. Institut Teknologi Sumatera REVIEW ARRAY DASAR PEMROGRAMAN Institut Teknologi Sumatera TUJUAN PERKULIAHAN Mahasiswa mengingat kembali konsep dan cara kerja array Mahasiswa mampu membuat program menggunakan array PRE TEST Tuliskan,

Lebih terperinci

A. TUJUAN PEMBELAJARAN

A. TUJUAN PEMBELAJARAN Praktikum 13 Algoritma Pencarian (Searching) A. TUJUAN PEMBELAJARAN Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan mampu: 1. Memahami konsep pencarian dengan metode sequential search dan

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN. Dalam proses produksi terdapat beberapa faktor yang akan mempengaruhi

BAB III ANALISIS DAN PERANCANGAN. Dalam proses produksi terdapat beberapa faktor yang akan mempengaruhi BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Masalah Dalam proses produksi terdapat beberapa faktor yang akan mempengaruhi hasil keluaran produksi. Ada 4 faktor yang saling berhubungan satu dengan yang

Lebih terperinci

Algoritma Pemrograman 2B (Pemrograman C++)

Algoritma Pemrograman 2B (Pemrograman C++) Algoritma Pemrograman 2B (Pemrograman C++) Jurusan Sistem Komputer Dr. Lily Wulandari Materi 2 INPUT DAN OUTPUT PADA C++ 1 Outline Basic Input dan Output Fungsi Cin dan Cout Komentar Macam-macam manipulator

Lebih terperinci

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek. LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Percabangan Komplek dan case of 200 menit No. : LST/EKA/EKA 305/03 Revisi : Tgl. : Hal. 1 dari 3 hal. 1. Kompetensi Mengenal dan memahami algoritma percabangan

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

04/03/2013. Absensi : 10% UTS : 30% UAS : 40% Tugas & Kuis : 20% By: Vilia Eka Meyana, M.Kom Institute Bisnis dan Informatika Indonesia

04/03/2013. Absensi : 10% UTS : 30% UAS : 40% Tugas & Kuis : 20% By: Vilia Eka Meyana, M.Kom Institute Bisnis dan Informatika Indonesia By: Vilia Eka Meyana, M.Kom Institute Bisnis dan Informatika Indonesia Email: vilia.meyana@ftumj.ac.id Website: http://viliaekameyana.blogspot.com Absensi : 10% UTS : 30% UAS : 40% Tugas & Kuis : 20% 1

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

BAB III ANALISIS ALGORITMA

BAB III ANALISIS ALGORITMA BAB III ANALISIS ALGORITMA III.1 Analisis Sistem Bab ini akan membahas tentang analisis dan perancangan sistem algoritma knapsack dengan data proyek yang digunakan bersumber dari PT. GITS Indonesia. Terdapat

Lebih terperinci

Makalah. STRUKTUR DATA ( Array )

Makalah. STRUKTUR DATA ( Array ) Makalah STRUKTUR DATA ( Array ) Wahyu Fajrin Mustafa 15.12.8627 STIMIK AMIKOM YOGYAKARTA INFORMATION SYSTEMS 2016/2017 KATA PENGANTAR Puji syukur kepada Tuhan yang Maha Esa kiranya telah diberikan kesehatan

Lebih terperinci

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama UJIAN TENGAH SEMESTER TA. 2009/2010

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama UJIAN TENGAH SEMESTER TA. 2009/2010 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama UJIAN TENGAH SEMESTER TA. 2009/2010 Mata Kuliah/Jurusan : Algoritma & Pemrograman I / Teknik Informatika-S1 Hari/Tanggal : Senin, 25 Oktober

Lebih terperinci

BAB III METODE PENELITIAN

BAB III METODE PENELITIAN BAB III METODE PENELITIAN Pada penelitian implementasi pemrograman paralel pada deteksi tepi dengan menggunakan metode Canny, program komputerdiprogram dengan bahasa pemrograman C++. Dalam penelitian ini,

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

LOGIKA ALGORITMA. Pertemuan 4. By: Augury

LOGIKA ALGORITMA. Pertemuan 4. By: Augury LOGIKA ALGORIMA Pertemuan 4 By: Augury augury@pribadiraharja.com Konstanta (Const) Konstanta adalah suatu nilai yang telah di definisikan dan nilainya tidak akan berubah selama progran tersebut di eksekusi.

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

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

Struct Lanjutan: Studi Kasus

Struct Lanjutan: Studi Kasus Struktur Data Struct Lanjutan: Studi Kasus Bayu Setiaji, S.Kom STMIK AMIKOM YOGYAKARTA 1. Tujuan 1. Pendalaman struct 2. Review fungsi 3. Dapat mengaplikasikan konsep struct dalam kasus nyata 2. Penjelasan

Lebih terperinci

Modul Dasar dasar C. 1. Struktur Program di C++

Modul Dasar dasar C. 1. Struktur Program di C++ Modul Dasar dasar C I 1. Struktur Program di C++ Dalam bahasa pemrograman C++ strukturnya adalah sebagai berikut: a. Header. Ex: #include b. Main adalah isi dari program diawali {. dan diakhiri

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

Konsep Dasar Struktur Data. Struktur Data

Konsep Dasar Struktur Data. Struktur Data Konsep Dasar Struktur Data Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN - 2008 Struktur Data DATA: Bahan/fakta yang digunakan dalam perhitungan / operasi untuk menghasilkan informasi

Lebih terperinci

Astika Ayuningtyas Sekolah Tinggi Teknologi Adisutjipto Yogyakarta, Jl Janti Blok R Lanud Adisutipto, Yogyakarta

Astika Ayuningtyas Sekolah Tinggi Teknologi Adisutjipto Yogyakarta, Jl Janti Blok R Lanud Adisutipto, Yogyakarta Seminar SENATIK Nasional Vol. II, 26 Teknologi November Informasi 2016, ISSN: dan 2528-1666 Kedirgantaraan (SENATIK) Vol. II, 26 November 2016, ISSN: 2528-1666 PeP- 115 Pemrosesan Paralel pada Menggunakan

Lebih terperinci

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM 30 BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM III.1. Analisa Pada bab ini akan dibahas mengenai analisis permainan, yaitu konsep aturan dan cara bermain pada game yang berhubungan dengan program yang

Lebih terperinci

Dasar-dasar Pemrograman C DASAR PEMROGRAMAN & ALGORITMA

Dasar-dasar Pemrograman C DASAR PEMROGRAMAN & ALGORITMA Dasar-dasar Pemrograman C DASAR PEMROGRAMAN & ALGORITMA TUJUAN Menjelaskan tentang beberapa tipe data dasar Menjelaskan tentang Variabel Menjelaskan tentang konstanta Menjelaskan tentang berbagai jenis

Lebih terperinci

BAB VI BAHASA C Pendahuluan

BAB VI BAHASA C Pendahuluan BAB VI BAHASA C2 6.1 Pendahuluan Bahasa C merupakan evolusi dari bahasa BCPL yang dibuat oleh Martin Richards pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan

Lebih terperinci

Kuliah III - Dasar Pemrograman

Kuliah III - Dasar Pemrograman 17 September 2013 Kuliah III - Dasar Pemrograman Struktur program dalam bahasa C Kompilasi Variabel Statement : Deklarasi & Assignment statement, Inisialisasi Masukan dan Keluaran Contoh 1. assign.c /*

Lebih terperinci

RESUME ALGORITMA MERGE SORT DAN REKURENS

RESUME ALGORITMA MERGE SORT DAN REKURENS RESUME ALGORITMA MERGE SORT DAN REKURENS SRY WAHYUNI H12111292 Statistika Unhas ALGORITMA MERGE SORT Merge sort merupakan algoritma pengurutan dalam ilmu komputer yang dirancang untuk memenuhi kebutuhan

Lebih terperinci

ARSITEKTUR PROGRAM PARALEL BERBASIS MESSAGE-PASSING INTERFACE

ARSITEKTUR PROGRAM PARALEL BERBASIS MESSAGE-PASSING INTERFACE ARSITEKTUR PROGRAM PARALEL BERBASIS MESSAGE-PASSING INTERFACE YUSTINA SRI SUHARINI yustina.ss@gmail.com 085779277771 Teknik Informatika Institut Teknologi Indonesia Abstrak. Komputer bekerja dengan cara

Lebih terperinci

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori. Array Linear Array (biasa disebut Array) adalah salah satu bentuk struktur data yang bersifat Linear (continue). Nilai data Array harus homogen (bertipe data sama). Array merupakan koleksi data dimana

Lebih terperinci

ALGORITMA & PEMROGRAMAN

ALGORITMA & PEMROGRAMAN ALGORITMA & PEMROGRAMAN Hadi Hermansyah, S.Si.,., M.Si. Algoritma Adalah inti dari ilmu komputer. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.

Lebih terperinci

1

1 BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Perkembangan teknologi komputer semakin hari terus meningkat sejalan dengan kebutuhan akan pemakaian komputer yang digunakan untuk menyelesaikan berbagai permasalahan

Lebih terperinci

BAB V, VI ARRAY, STRING

BAB V, VI ARRAY, STRING 1 BAB V, VI ARRAY, STRING V. String ( K a l i m a t ) Dalam bahasa C tidak ada tipe data khusus untuk menyimpan string. String biasanya disimpan sebagai larik dari karakter-karakter. Berbeda dengan bahasa

Lebih terperinci

Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs. Algoritma dan Struktur Data Ramos Somya, S.Kom., M.Cs. Penggunaan record dalam jumlah yang banyak alokasi memory konvensional tidak bisa diandalkan. Misal kita akan bekerja dengan file yang menyimpan sangat

Lebih terperinci

Dosen : Dede Kurniadi, S.Kom.,M.Kom HP :

Dosen : Dede Kurniadi, S.Kom.,M.Kom  HP : Dosen : Dede Kurniadi, S.Kom.,M.Kom http://dedekurniadi.com HP : 08977700266 Bahasa C merupakan perkembangan dari bahasa BCPL yang dikembangkan oleh Martin Richards th.1967. Selanjutnya bahasa ini memberikan

Lebih terperinci

I.1. MEMBUAT PROGRAM C DENGAN VISUAL C

I.1. MEMBUAT PROGRAM C DENGAN VISUAL C MODUL I MEMULAI BAHASA C I.1. MEMBUAT PROGRAM C DENGAN VISUAL C++ 2008 Microsoft Visual C++ 2008 (MVC++ 2008) adalah IDE (Integrated Development Environtment) yang digunakan dalam kuliah ini. Ikuti langkah-langkah

Lebih terperinci

MODUL III CONTROL FLOW & FLOWCHART

MODUL III CONTROL FLOW & FLOWCHART Modul III Control Flow & Flowchart MODUL III CONTROL FLOW & FLOWCHART III.1. III.1.1 CONTROL FLOW Pernyataan dengan if if (kondisi-dari ekspresi logika) if (a > b) //Jika ekspresi logika ++c; //bernilai

Lebih terperinci

MODUL I PENGENALAN IDE C++, ALGORITMA DAN PEMROGRAMAN

MODUL I PENGENALAN IDE C++, ALGORITMA DAN PEMROGRAMAN MODUL I PENGENALAN IDE C++, ALGORITMA DAN PEMROGRAMAN A. TUJUAN Setelah mempelajari bab ini diharapkan mahasiswa akan mampu : 1. Mengenali dan menggunakan IDE C++ dengan baik. 2. Mengenal dan memahami

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

Algoritma Pemrograman 2B (Pemrograman C++)

Algoritma Pemrograman 2B (Pemrograman C++) Algoritma Pemrograman 2B (Pemrograman C++) Jurusan Sistem Komputer Dr. Lily Wulandari Materi 4 FUNGSI (FUNCTION) PADA C++ 1 Outline Konsep Dasar Fungsi Standar File Header Definisi Fungsi Deklarasi Fungsi

Lebih terperinci

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisis Penelitian bertujuan untuk merancang sebuah sistem yang dapat melakukan Perancangan Aplikasi Keamanan Data Dengan Metode End Of File (EOF) dan Algoritma

Lebih terperinci

BAB 6 FUNGSI TUJUAN PRAKTIKUM

BAB 6 FUNGSI TUJUAN PRAKTIKUM Bab 6 Fungsi 97 BAB 6 FUNGSI TUJUAN PRAKTIKUM 1. Praktikan mengerti dan dapat menggunakan fungsi dalam program sederhana. 2. Praktikan dapat membedakan antara variabel lokal, variabel global, register

Lebih terperinci

Konsep Pemrograman. Bab 7. Fungsi1. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

Konsep Pemrograman. Bab 7. Fungsi1. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah Bab 7. Fungsi1 Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 Overview Pendahuluan Tujuan Fungsi Dasar Fungsi Jenis Fungsi : memiliki return value Integer Selain integer Tidak memiliki

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA No. EKA/EKA255 Revisi:01 30 Agu 2014 Hal 1 / 6 A. TUJUAN Setelah melakukan praktik mahasiswa diharapkan dapat: 1. Memahami operator kondisi (operator relasi dan logika) 2. Menguasai penggunaan pernyataan

Lebih terperinci

BAB 5. KONDISI DAN ARRAY

BAB 5. KONDISI DAN ARRAY BAB 5. KONDISI DAN ARRAY 5.1. Kondisi Penyeleksian Kondisi 1. statement if a. Bentuk sederhana BU : if (kondisi) statemen ; Tanpa Blok statemen if(jumlah > 2) Tunjangan = 0.3; Dengan blok statement : if(jumlah>2)

Lebih terperinci

Struktur Kontrol Perulangan (Loop) Algoritme dan Pemrograman. Struktur Kontrol Perulangan: while. Struktur Kontrol Perulangan: while

Struktur Kontrol Perulangan (Loop) Algoritme dan Pemrograman. Struktur Kontrol Perulangan: while. Struktur Kontrol Perulangan: while Algoritme dan Pemrograman Kuliah #4 Struktur kontrol perulangan: while, do while, for Struktur Kontrol Perulangan (Loop) Program akan mengulang satu atau lebih pernyataan berdasarkan kondisi tertentu.

Lebih terperinci

PRAKTIKUM 6 PENGULANGAN PROSES 2

PRAKTIKUM 6 PENGULANGAN PROSES 2 PRAKTIKUM 6 PENGULANGAN PROSES 2 A. Tujuan 1. Menjelaskan loop di dalam loop (nested loop) dan contoh kasusnya 2. Menjelaskan penggunaan pernyataan break 3. Menjelaskan penggunaan pernyataan continue 4.

Lebih terperinci