Selasa, 10 November 2009

ARRAY

LARIK (ARRAY)

Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama. Array merupakan konsep yang penting dalam pemrograman, karena array memungkinkan untuk menyimpan data maupun referensi objek dalam jumlah banyak dan terindeks. Array menggunakan indeks integer untuk menentukan urutan elemen-elemennya, dimana elemen pertamanya dimulai dari indeks 0, elemen kedua memiliki indeks 1, dan seterusnya.

Menggunakan Array pada visual basic
Sebuah array dideklarasikan dengan cara yang sama dengan variabel, yaitu menggunakan perintah Dim,kemudian diikuti dengan tanda kurung dan jumlah elemen arraynya dikurangi 1 :
Dim nama_array(jumlah_elemen - 1) As tipe_data
Contoh :
Dim NamaSiswa(99) As String --> array NamaSiswa akan mempunyai elemen sebanyak 100 dengan
nomer indeks mulai dari 0 s/d 99.
Selanjutnya untuk mengisi nilai data ke dalam array :
nama_array(no_indeks) = nilai_data
Contoh :
NamaSiswa(0) = “Dilun”
Namasiswa(1) = “Dilunisme”

Untuk mengosongkan nilai data pada array, bisa menggunakan struktur kontrol For…Next :
For i = 0 To 99
NamaSiswa(i) = “”
Next i

Beberapa source code Shorting

  • Quick Sort

void quickSort(int numbers[], int array_size)
{
q_sort(numbers, 0, array_size - 1);
}


void q_sort(int numbers[], int left, int right)
{
int pivot, l_hold, r_hold;

l_hold = left;
r_hold = right;
pivot = numbers[left];
while (left < right)
{
while ((numbers[right] >= pivot) && (left < right))
right--;
if (left != right)
{
numbers[left] = numbers[right];
left++;
}
while ((numbers[left] <= pivot) && (left < right))
left++;
if (left != right)
{
numbers[right] = numbers[left];
right--;
}
}
numbers[left] = pivot;
pivot = left;
left = l_hold;
right = r_hold;
if (left < pivot)
q_sort(numbers, left, pivot-1);
if (right > pivot)
q_sort(numbers, pivot+1, right);
}


  • Selection Sort

void selectionSort(int numbers[], int array_size)
{
int i, j;
int min, temp;

for (i = 0; i < array_size-1; i++)
{
min = i;
for (j = i+1; j < array_size; j++)
{
if (numbers[j] < numbers[min])
min = j;
}
temp = numbers[i];
numbers[i] = numbers[min];
numbers[min] = temp;
}
}

  • Shell sort

void shellSort(int numbers[], int array_size)
{
int i, j, increment, temp;

increment = 3;
while (increment > 0)
{
for (i=0; i < array_size; i++)
{
j = i;
temp = numbers[i];
while ((j >= increment) && (numbers[j-increment] > temp))
{
numbers[j] = numbers[j - increment];
j = j - increment;
}
numbers[j] = temp;
}
if (increment/2 != 0)
increment = increment/2;
else if (increment == 1)
increment = 0;
else
increment = 1;
}
}

Algoritma Segitiga Pascal

SEGITIGA PASCAL
Pengertian segitiga pascal adalah Segitiga Pascal adalah array yang berbentuk segitiga dari angka-angka tertentu yang memiliki relasi sebagai berikut :

xi.1 = xi.i = 1 for 1 ≤ i,
xi.j = xi-1.j + xi-1.j-1 for 3 ≤ i and 2 ≤ j ≤ (i-1)
Lima baris pertama dari segitiga pascal adalah :
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

  • Setiap baris dimulai dan diakhiri dengan 1; dan dimulai dari baris ke 3, setiap angka antara angka pertama dan terakhir dari masing-masing baris adalah jumlah dari angka diatasnya

contoh:

input
n = 5

output
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

berikut adalah pemetaan pada flowchart:


Minggu, 08 November 2009

setting hyperterminal

Seting Hyperterminal untuk Komunikasi Serial


Windows Hyperterminal adalah program asesori komunikasi bawaan windows untuk mengases peripheral luar melalui serial port, misalnya modem. Programmer mikrokontroler (MK), juga dapat memanfaatkan port ini, tetapi harus diset dahulu, dan hasil setingan bisa disimpan, sehingga kalau nanti digunakan lagi tidak perlu diseting ulang, berikut cara seting; 1. Buat koneksi baru.






2. Set koneksi ke COMx, tergantung nomor COM portnya yang ada






3. Set parameter komunikasi serial ke 4800,8,1,N, selanjutnya Apply








Merespon firmware programmer via serial port








mengirim kode mesin ke programmer untuk diisikan ke target

Aturan Penulisan Algoritma

Aturan Penulisan Algoritma

Algoritma berisi langkah-langkah penyelesaian masalah. Langkah-langkah tersebut dapat ditulis dalam notasi apapun, asalkan mudah dibaca dan dimengerti, karena memang tidak ada notasi baku dalam penulisan algoritma. Tiap orang dapat membuat aturan penulisan dan notasi algoritma sendiri. Agar notasi algoritma mudah ditranslasi ke dalam notasi bahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkorespnden dengan notasi bahasa pemrograman secara umum.

  1. 1. Aturan Penulisan Algoritma

Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu :

  • Judul (Header)
  • Kamus
  • Algoritma

Pada setiap bagian tersebut apabila akan dituliskan komentar mengenai setiap bagian tersebut dituliskan diantara tanda kurung kurawa contoh { Komentar }. Notasi algoritmis yang dituliskan diantara tanda ini tidak akan dieksekusi oleh program.

Contoh :

Judul

{ Komentar mengenai Algoritma seperti cara kerja program, Kondisi awal dan kondisi

akhir dari algoritma }

Kamus

{ Pada bagian ini, didefinifikan nama konstanta, nama variable, nama prosedur dan

nama fungsi }

Algoritma

  • { Pada bagian ini algoritma dituliskan. Semua teks yang dituliskan tidak diantara tanda kurung kurawa akan dianggap sebagai notasi algoritma yang akan berpengaruh terhadap kebenaran algoritma }

Judul (Header)


Judul adalah bagian teks algoritma yang digunakan sebagai tempat mendefinisikan nama dengan menentukan apakah teks tersebut adalah program, prosedur, fungsi. Setelah judul disarankan untuk menuliskan spesifikasi singkat dari teks algoritma tersebut. Nama algoritma sebaiknya singkat namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut.

Contoh :

Program Luas_Kubus ← {Judul Algoritma}

{ Menghitung luas kubus untuk ukuran sisi yang dibaca dari piranti masukan lalu

mencetak hasilnya kepiranti keluaran} ← {Spesifikasi Algoritma}

Catatan :

Untuk memisahkan antara kata dalam judul algoritma menggunakan tanda “_” bukanlah suatu keharusan. Anda dapat menuliskan LuasLingkaran atau Luas_Lingkaran. Tetapi sebaiknya anda tidak menggunakan spasi “ “ untuk memisahkan antara kata di dalam nama algoritma.

Kamus (Deklarasi)

Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan :

  • Nama type
  • Nama konstanta
  • Nama variabel
  • Nama fungsi
  • Nama prosedur

Semua nama tersebut baru dapat dipakai di dalam algoritma jika telah didefinisikan terlebih ndahulu didalam kamus. Penulisan sekumpulan nama dalam kamus sebaiknya dikelompokan menurut jenis nama tersebut.

Nama variabel belum terdefinisi nilainya ketika didefinisikan. Pendefinisian nama konstanta sekaligus memberikan harga konstanta tersebut, pendefinisian nama fungsi dilakukan sekaligus dengan domain / range serta spesifikasinya. Pendefinisian nama prosedur sekaligus dengan pendefinisian parameter (jika ada) dan spesifikasi prosedur (kondisi awal “Initial State”, Kondisi akhir “ Final State” dan proses yang dilakukan).

Contoh :

Kamus

{Nama type, hanya untuk type yang bukan type dasar}

type jam : :integer> {Type jam terdiri dari 3 masukan yaitu “hh” sebagai

jam. “mm” sebagai menit dan “ss” sebagai detik}

{Nama konstanta, harus menyebutkan type dan nilai }

constant phi : real = 3,14159

constant nama : string = ‘Alex’

constant benar : boolean = true

{Nama Informasi, menyebutkan type}

x,y : integer {suatu nilai yang bertype bilangan bulat}

NMax : real {nilai maksimum yang bertype bilangan real}

Nama : string {suatu nilai yang merupakan kumpulan character}

P : point {suatu nilai pada bidang kartesian}

Cari : Boolean {suatu nilai logika}

{Nama fungsi, menyebutkan domain dan range}

function RealToInt (x:real) → integer

{mengubah harga x yang bertype real menjadi harga ekivalen yang bertype integer}

{Nama prosedur, menyebutkan “IS” initial state, “FS” final state dan proses}

procedure tukar (input/output x,y : real)

{ IS x dan y terdefinisi, x = a dan y = b

FS x = b dan y = a

Proses : menukar isi informasi bilangan x dan y }

Algoritma (Deskripsi)

Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan. Komponen teks algoritma dalam pemrograman procedural dapat berupa;

  • Instruksi dasar seperti input/output, assignment
  • Sequence (runtutan)
  • Analisa kasus
  • Perulangan

Setiap langkah algoritma dibaca dari “atas” ke “bawah”. Urutan deskripsi penulisan menentuan urutan langkah pelaksanaan perintah.

Contoh :

Algoritma

input (c,d) {menerima masukan 2 bilangan c dan d}

if c < d then {operasi kondisional}

e ← a + b {e di assignment oleh nilai a dan b}

else

e ← a – b

output (e) {hasil keluaran berupa bilangan e}

Catatan :

Untuk kata-kata input, output, if then else, output akan dipelajari lebih mendalam dalam

bab-bab selanjutnya.

Contoh Penyelesaian Masalah Oleh Algoritma

Mencetak String “Selamat Belajar Algoritma dan Pemrograman” ke piranti Keluaran Menentukan nilai terbesar dari bilangan bulat yang dibaca dari piranti masukan dan menuliskan hasilnya ke piranti keluaran.

Program Cetak_string

{mencetak string “Selamat Belajar Algoritma dan Pemrograman” ke piranti

keluaran}

Kamus

{tidak ada}

Algoritma

Output (‘Selamat Belajar Algoritma dan Pemrograman’)

Program Nilai_Maksimal

{Menentukan nilai tertinggi yang dibaca dari piranti masukan dan hasilnya dicetak

ke piranti keluaran}

Kamus

hasil,x,y : integer {hasil merupakan variabel untuk menampung nilai keluaran}

{x,y adalah variabel untuk menampung nilai masukan}

Algoritma

input (x,y) {membaca nilai x dan y dari piranti masukan}

if x < y then {operasi kondisional}

hasil ← x {hasil di assignment oleh nila terbesar}

else

hasil ← y

output (hasil) (nilai didalam variabel hasil dicetak ke piranti keluaran}

selesai…tunggu posting selanjutnya!!!


Blogspot Templates by Isnaini Dot Com. Powered by Blogger and Supported by ArchitecturesDesign.Com Beautiful Architecture Homes