Selasa, 11 Juni 2013

REFLEKSI MEET 14 TERAKHIR

POINTER

Pointer adalah variable yang berisi alamat memory sebagai nilainya dan berbeda dengan variable biasa yang berisi nilai tertentu. Dengan kata lain, pointer berisi alamat dari variable yang mempunyai nilai tertentu.

Dengan demikian, ada variabel yang secara langsung menunjuk ke suatu nilai tertentu, dan variabel yang secara tidak langsung menunjuk ke nilai.
Adapun bentuk umum dari pernyataan variabel pointer dalam C++ adalah :

Type *variabel-name

Dengan :
  • Type adalah tipe dasar pointer
  • Variabel name adalah nama variabel pointer
  • * adalah variabel pada alamatnya yang ditentukan oleh operand.

Contoh :
          Int *int_pointer;          // pointer to integer
          Float *float_pointer;    // pointer to float

Contoh :

//Program : pointer.cpp                   
#include <stdio.h>

main()
{
            int a, *b;
            a=20;
            b=&a;
                        printf (" Pointer b menunjukkan alamat =%p\n",b);
                        printf (" Alamat tersebut berisi nilai :%d\n",*b);
 }

//Program : pointer1.cpp
#include <iostream .h>

// cetak p dan *p
void main(void)
{
int v = 7, *p;
p = &v;
cout << " Nilai v = " << v << " dan *p = " << *p
<< "\nAlamatnya = " << p << '\n';
}

Bila program diatas dijalankan, maka hasilnya adalah sebagai berikut :
          Nilai v = 7 dan *p = 7
          Alamatnya = efffb24




//Program:pointer2.cpp
#include <iostream.h>

int main ()
{
int value1 = 5, value2 = 15;
int * mypointer;

mypointer = &value1;
*mypointer = 10;
mypointer = &value2;
*mypointer = 20;
cout << "value1==" << value1 << "/ value2==" << value2;
return 0;
}

Bila program diatas dijalankan, maka hasilnya adalah sebagai berikut :
          “value1==” 10 << “/ value2==20



Senin, 10 Juni 2013

REFLEKSI MEET 13

QUERY 
 
Query pada array 2 dimensi. Penggabungan beberapa data array 2 dimensi yang terlah dipilih membentuk data baru yang lebih informatif. Jadi dengan adanya query akan membantuk suatu data baru yang lain, yang dibentuk dari beberapa data yang telah ada.
Adanya operasi ini diharapkan akan menghasilkan data-data yang membantu dalam pemecahan masalah.



Minggu, 09 Juni 2013

REFLEKSI MEET 12

 SORTING ARRAY

Hari ini kita belajar tentang  sorting di array 2 dimensi. Array sendiri merupakan data dengan tipe yang sama, jadi dengan pengurutan di array tersebut membentuk seuatu data yang mudah untuk dimengerti dan mudah melakukan pencarian nilai tertentu. Sorting di array 2 dimensi merupakn kehlian yang harus ada, karena sorting ini sangat penting. Banyak data yang banyak dan saling terkait bila dihubungkan sehingga diperlukan sorting untuk mempermudah pencarian data tertentu yang ingin dicari.



Sabtu, 08 Juni 2013

REFLEKSI MEET 11

ARRAY 2 DIMENSI

Array 2 dimensi dengan ilustrasi matrix. Dalam matrix terdapat baris dan kolom yang menandakan setiap nilai dari array tersebut. Dalam memory komputer, setiap elemen matrix dipetakan dengan perulangan i,j. Dengan catatan i baris dan j sebagai kolom. Dengan bantuan array 2 dimensi tersebut maka kita dapat membuat matrix. Kita ketahui bahwa matrix tersebut memiliki kesamaan dengan array 2 dimensi.



Jumat, 07 Juni 2013

REFLEKSI MEET 10

 SEARCHING

Apakah searching itu? Searching itu adalah mencari letak dimana data yang dicari itu ada di mana. Pada kesampatan kali ini membahas tentang searching dengan menggunakan binary search dan linear search. Mari simak penjelasan berikut:
1.       Binary search adalah pencarian dengan memecah data menjadi beberapa bagian yang lebih kecil, jadi kita tidak perlu mengecek keseluruhan data yang akan memberikan waktu yang sangat lama, so dengan pencarian biner akan lebih cepat, efextive dan efisien.
2.       Linier search adalah pencarian dengan mengecek keseluruhan data yang dimiliki satu persatu, jadi akan semkain lama.



Kamis, 06 Juni 2013

REFLEKSI MEET 09

SORTING

Petermuan ini membhas tentang sorting. Sorting ialah mengurutkan data.
Sorting ada 3 yaitu :
1. Sorting exchange
2. Sorting insertion
3. Sorting selection

Dipetermuan ini kami membentuk kelompok dan di suruh membuat flowchart tentang sorting.
contoh:
sorting exchange .

Sorting insertion




Rabu, 05 Juni 2013

REFLEKSI ALPRO MEET 8

ARRAY
Pada awal kuliah minggu ke 8 habis UTS(ujian tengah semester )  dosen Penngamu masih membahas tentang Array karena begitu pentingnya Array tersebut. Hari ini kita mempelajari tentang array satu dimensi. Dipertemuan ke 7 sudah disampaikan bahwa array adalah tempat untuk menyimpan banyak data dengan tipe yang sama, jadi kita tak perlu repot2 menyimpan banyak data dalam banyak variabel, mendingan kita gunakan array lebih  efisein.
contohnya
Meng-inputkan nilai array sampai dengan elemen n dan menampilkan nya tapi dengan metode selection procedure.

flowchart :
 MAIN















































TUKAR















INPUT 



















OUTPUT






















Rabu, 17 April 2013

Tugas pemograman web

Web ini di buat dengan BOOTSRAP...

MENU UTAMA :

klik gambar untuk zoom
LEARN MORE SEJARAH WWW:

klik gambar untuk zoom
LOGIN :


klik gambar untuk zoom



REFLEKSI ALPRO MEET 07



Akhirnya sampai juga pada minggu ke tujuh kuliah Alpro. Di minggu ini diadakan kuis yang ke 2 sebelum uts. 
Pembahasan pertemuan 7 mengenai Array dalam Bahasa Pemrograman C++ meliputi pembahasan mengenai array itu sendiri, pembahasan mengenai fungsi string serta macam-macamnya dan beberapa contoh penulisan string yang bisa digunakan pada Bahasa Pemrograman C++. Dengan mengenal dan mengimplementasikan penggunaan Array pada Bahasa C++, suatu program yang dibuat dengan menggunakan bahasa pemrograman sederhana ini akan lebih powerfull dengan kemampuan untuk memanipulasi inputan variabel.
Array merupakan koleksi data dimana setiap elemen memakai nama dan tipe yang sama serta setiap elemen diakses dengan membedakan indeks array-nya

String merupakan suatu fungsi dalam bahasa C yang dipergunakan untuk melakukan manipulasi String. String berbentuk data yang biasa dipakai dalam bahasa pemrograman C untuk keperluan menampung dan memanipulasi data teks. String bukan tipe data tersendiri, melainkan kumpulan dari nilai-nilai karakter yang berurutan dalam bentuk Array berdimensi satu.



Senin, 15 April 2013

Kasus 6.6. Buatlah suatu algoritma untuk mengecek apakah suatu kata atau kalimat merupakan palindrom atau tidak.MEET 07

Kasus 6.6. Buatlah suatu algoritma untuk mengecek apakah suatu kata atau kalimat merupakan palindrom atau tidak.
Palindrom adalah suatu kata atau kalimat yang dibaca dari kiri ke kanan sama dengan kalu dibaca dari kanan ke kiri.
Analisis :
Misalnya kata yang akan dicek adalah “kasur rusak”. Maka huruf pertama dicek, apakah sama dengan huruf pertama terakhir atau tidak, (sampai dengan pertengahan kalimat). Bila pengecekan selalu sama maka kalimat tersebut adalah palindrom. Jika terdapat satu huruf saja yang tidak sama, kalimat tersebut bukanlah palindrom. 

flowchartnya :

klik gambar untuk perbesar



Kasus 6.5. Tentukan modus dari n buah data berupa bilangan bulat (data antara 1 sampai dengan 10).MEET 07

Kasus 6.5. Tentukan modus dari n buah data berupa bilangan bulat (data antara 1 sampai dengan 10).


Analisis :
Modus adalah bilangan (data) yang paling sering muncul. Dengan kata lain, frekuensi data terbesarlah yang dicari.
Langkah penyelesaian masalahnya adalah :
setiap jenis data dihitung frekuensi kemunculannya
dari frekuensi-frekuensi tersebut dicari frekuensi terbesarnya.

procedure maksimum(data : larik; n : integer;output maks, item : integer)
{ procedure ini hasil modifikasi dari algoritma (…) karena selain nilai maks
dari larik data, juga perlu diketahui besar datanya item }
Deklarasi
i : integer
Deskripsi
     maks = data[1]
     item = 1
     for i = 2 to n do    
          if (data[i] > maks) then
               maks = data[i];
               item = i;
          endif          
     Endfor
procedure frekuensi(data : larik; n : integer; output f : larik)
{ data akan diambil nilai frekuensi f-nya }
Deklarasi
i : integer
Deklarasi
     for i = 1 to n do
     f[data[i]] := f[data[i]] + 1     { dengan prinsip memasukkan
               bola ke keranjang yang sesuai dengan nomornya }
  endfor
flowchartnya  :
KLIK GAMBAR UNTUK PERBESAR



Kasus 6.4. Buatlah algoritma untuk menentukan nilai maksimum dan minimum dari n bilangan.MEET 07

Kasus 6.4. Buatlah algoritma untuk menentukan nilai maksimum dan minimum dari n bilangan.

procedure maks_min(input data : larik; n : integer; output m1, m2 : integer).
Deklarasi
i : integer
Deskripsi     
     m1 = data[1]
     m2 = data[1]
     for i= 2 to n do    
          if (data[i] > m1) then m1 = data[i];
          if (data[i] < m2) then m2 = data[i];
     endfor     

Flowcharrtnya  =
KLIK GAMBAR UNTUK ZOOM



Kasus 6.3. Buatlah algoritma untuk menentukan nilai maksimum dari n bilangan.MEET 07

Kasus 6.3. Buatlah algoritma untuk menentukan nilai maksimum dari n bilangan.

function maksimum(input data : array [1..10] of integer, n : integer):integer.
Deklarasi
i, temp : integer
Deskripsi
     temp = data[1]
     for i = 2 to n do
 temp = maksimum2(temp, data[i])
     maksimum =  temp

flowchartnya :

KLIK GAMBAR UNTUK ZOOM



Kasus 6.2. Carilah nilai deviasi standar dari n buah data.MEET 07

Kasus 6.2. Carilah nilai deviasi standar  dari n buah data.


Analisis :
**Rumus deviasi standar adalah :
 **Terlihat bahwa nilai rata-rata dan datanya digunakan kembali.

Fungsi std(input x : array [1..10] of integer, n : integer, rata : real) : real
{Diberikan n data kemudian dicari rata-ratanya}
Deklarasi
i, jumlah : integer
Deskripsi
jumlah = 0
for i = 1 to n do
jumlah = jumlah + sqr(x[i]-rata)
endfor
std = sqrt(jumlah/(n-1))
ket: x[i] di pakai kembali
Flowchartnya :

klik gambar untuk perbesar



Kasus 6.1. Carilah rata-rata dari n bilangan bulat denganmenggunakan array. meet 07

Kasus 6.1. Carilah rata-rata dari n bilangan bulat denganmenggunakan array.


Fungsi rata (input x : array [1..10] of integer, n : integer) : real
{Diberikan n data kemudian dicari rata-ratanya}
Deklarasi
i, jumlah : integer
Deskripsi
jumlah = 0
for i = 1 to n do
jumlah = jumlah + x[i]
endfor
rata = jumlah/n

Flowchartnya : 

 
klik gambar untuk perbesar




Jumat, 12 April 2013

Kasus 5.8 iteratif dan rekursif untuk menghitung gcd dari dua bilangan bulat positif.



Buatlah algoritma iteratif dan rekursif untuk menghitung gcd dari dua bilangan bulat positif.
Analisis :
Jika n tidak sama demgan 0 dan m integer non negatif, kita dapat menulis m = q.n + r untuk suatu integer non negatif q dan r dengan 0 lebih kurang sama dengan r < n. 

Flowchartnya :










Kasus 5.6. Fibonanci



Diberikan deret Fibonacci sebagai berikut :
1, 1, 2, 3, 5, 8, …
Buatlah fungsi yang menghitung suku ke-n dari deret Fibonacci dengan menggunakan cara rekursif.
Analisis :
Suku ke-n dari deret Fibonacci diperoleh dengan rumus :
fibonacci(n) = fibonacci(n-1) + fibonacci(n-2)
dengan nilai awal untuk n=1 dan n=2 berharga 1. 

flowchartnya :




Kasus 5.5. Buatlah fungsi faktorial secara rekursif untuk mencari n!.



Buatlah fungsi faktorial secara rekursif untuk mencari n!.
Analisis :
Kasus penyetop (= nilai awal) n = 0 atau n = 1 yaitu bernilai konstan 1
Kasus rekursif :
n * faktorial (n-1)

Flowchartnya  :






Kasus 5.4.Buatlah fungsi perkalian 2 bilangan bulat dengan menggunakan operator penjumlahan.



Buatlah fungsi perkalian 2 bilangan bulat dengan menggunakan operator penjumlahan.
Analisis :
Misalkan a dikalikan b (input)
Proses :
a x b = a + a + a + … + a (sebanyak b kali)

Flowchart :





Kasus 5.3. Dengan menggunakan fungsi ln dan exp, buatlah fungsi untuk menghasilkan nilai xy



Dengan menggunakan fungsi ln dan exp, buatlah fungsi untuk menghasilkan nilai xy
Analisis :
Dengan menggunakan sifat logaritma :
ln(xy) = y*ln(x)
exp(ln(xy)) = exp(y*ln(x))
xy = exp(y*ln(x)) 

Flowchartnya  :




Kasus 5.2. Buatlah fungsi yang menentukan nilai terbesar dari 2 bilangan bulat.

Buatlah fungsi yang menentukan nilai terbesar dari 2 bilangan bulat.

Flowchartnya :




Kamis, 11 April 2013

REKURSIF GOING UP



Hitunglah nilai dari :
52 + 62 + 72 + 82 + 92 + 102
Pohon rekursinya secara going up :




REKURSIF GOING UP



Hitunglah nilai dari :
52 + 62 + 72 + 82 + 92 + 102
Pohon rekursinya secara going up :

Flowchartnya






REKURSIF SECARA GOING DOWN



Hitunglah nilai dari :
52 + 62 + 72 + 82 + 92 + 102
Pohon rekursinya secara going down

Flowchartnya...




 



Selasa, 09 April 2013

REFLEKSI MINGGU KE 6 ALPRO

Pada kuliah alpro kali ini tanggal 8 april 2013 sudah masuk dalam minggu keenam. Di minggu keenam kita membahas materi tentang REKURSIF. Sebelum mulai materi pak Wahyu selaku dosen Alpro selalu memulai dengan skenario yang ada...
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 mengeksperisikannya  ke  dalam  suku-suku  dari  program  lain  dengan  menambahkan  langkah- langkah sejenis.

Contoh paling sederhana dari proses rekursi adalah menghitung nilai faktorial

contoh rekursif faktorial going up ialah:




Contoh klasik dari rekursi adalah definisi dari fungsi faktorial, diberikan dalam kode C++:
unsigned int factorial(unsigned int n) 
{
  if (n == 0) {
    return 1;
  } else {
    return n * factorial(n-1);
  }
} 

semoga bermanfaat..
saran  : semoga Bapak bisa  meningkatkan lagi belajarnya para mahasiswa..