Jumat, 22 April 2011

Looping-For

For

Instruksi for digunakan untuk melakukanproses pengulangan yang frekuensi pengulangannya telah diketahui sebelum proses pengulangan dimulai. Pola instruksi for yaitu sebagai berikut :


for ([expression1];[expression2];[expression3]) statement;


Expression1 digunakan untuk melakukanproses awal atau inisialisasi, misalnya pemberian nilai awal kepada pencacah atau counter. Expression2 berupa expresi Boolean yang bila dikerjakan akan memberikan nilai true ( bukan nol) atau false (nol). Expression3 adalah instruksi pasca pengerjaan statement, biasanya digunakan untuk menaikkan atau menurunkan nilai counter. Alur logika instruksi for ditunjukkan oleh gambar dibawah ini

Expr1

Ulangi selama expr2 bernilai

True

Statement

Expr3

Akhir pengulangan


Urutan pengerjaan instruksi for adalah sebagai berikut:

  1. Expression1 dikerjakan
  2. Expression2 dievaluasi
  3. Jika hasil evaluasi expression2 adalah nilai bukan nol maka

    Statement dikerjakan

    Expression3 dikerjakan

    Ulangi langkah 2 dan 3

    Sedangkan jika bernilai nol maka proses selesai

Jadi statement akan dikerjakan berulang kali selama hasil evaluasi expression2 memberikan nilai bukan nol. Statement dapat berupa satu instruksi tunggal atau block statement, yaitu sejumlah instruksi yang dilingkup oleh {}.

Biasanya kita menggunakan instruksi for untuk melakukan pengulangan yang frekuensinya telah diketahui, minimum satu kali. karena expression2 dievaluasi terlebih dahulu sebelum statement dikerjakan, maka ada kemungkinan statement tidak dikerjakan satu kalipun. Oleh sebab itu kita harus memastikan bahwa pada awal pengerjaan instruksi for, hasil evaluasi xpression2 memberikan nilai bukan nol.


Sabtu, 16 April 2011

Struktur Branching (Percabangan)

Struktur Branching (Percabangan)

1. IF

Instruksi IF digunakan untuk memeriksa suatu kondisi dan melaksanakan instruksi lain jika kondisi tersebut terpenuhi atau bernilai true. Statement pada sintaks if boleh berupa satu instruksi tunggal atau beberapa instruksi (block statement) yang ditulis dalam {}. Jika evaluasi terhadap kondisi memberikan nilai true makastatement dikerjakan. Jika bernilai false maka statement tidak dikerjakan . alur logika Instruksi IF dapat anda lihat pada gambar dibawah ini.


Umumnya kondisi berupa sebuah ekspresi yang bernilai Boolean seperti a== 5 atau b > 10. Kondisi yang diuji dapat berupa kondisi tunggal atau kondisi gabungan.

Contoh pemakaian istruksi IF.

Dengan kondisi tunggal

if (nilai > 60) printf ("lulus") ;

Jika nilai lebih besar daripada 60 maka ditampilkan lulus


Dengan kondisi gabungan

if (( grade == 'D') ││ (grade == E' ))

printf ("tidak lulus") ;

Jika grade berisi huruf D atau E maka ditampilkan tidak lulus

2. If Else

Adakalanya kita harus melaksanakan proses yang berbeda untuk kondisi yang berbeda, misalnya menampilkan kata lulus untuk nilai yang sama dengan atau lebih besar daripada 60 dan menampilkan kata tidak lulus untuk nilai yang kurang dari 60 . selain dengan menggunakan dua instruksi if yang terpisah seperti berikut:

if (nilai >= 60) printf ("lulus") ;

if ( nilai < 60 ) printf ("tidak lulus") ;

bahasa C menyediakan klausa else untuk digunakan bersama dengan instruksi if. Secara umum pola dari if else yaitu:


if (kondisi) statement1 ; else statement2;


Apabila evaluasi terhadap kondisi memberikan nilai true maka statementdikerjakan, sebaliknya jika false maka statement2 dikerjakan. Jadi yang dikerjakan selalu salah satu dari kedua statement. Statement dapat berupa instruksi kosong, instruksi tunggal atau beberapa instruksi yang dilingkup dengan { }. Tidak diperbolehkan ada klausa else tanpa instruksi if.


Alur logika instruksi if else dapat andalihat pada gambar dibawah ini:

Contoh pemakaian instruksi if else

If (nilai >= 60) printf ("lulus") ;

Else printf ("tidak lulus")

Jika nilai lebih bessar sama dengan 60 maka tampilkan lulus, selain dari itu maka tampilkan tidak lulus.


If ((bil % 2) == 0) printf ("bilangan genap") ;

Else printf ("bilangan ganjil")

Jika bilangan habis dibagi 2 maka tampilkan genap, selain dari itu maka tampilkan bilangan ganjil


If ((grade == `D`) ││ (grade == 'E'))

Printf ("tidak lulus")

Else printf ("lulus")

Jika grade berisi "D" atau "E" maka tampilkan tidak lulus, selain dari itu tampilkan lulus.

3. Nested If (Struktur If bersarang)

Pada suatu instruksi if, statement yang dikerjakan apabila kondisi bernilai true dapat berupa instruksi if yanglain. Strukstur instruksi seperti ini disebut nested if (if bersarang). Hal yang sama juga berlaku untuk statement yang dikerjakan pada bagian klausa else. Berikut ini salah satu bentuk konfigurasi nested if beserta cara penulisannya :

Berikut ini cara membaca dari flowchart Nested if diatas :

if (kondisi1)

if (kondisi2) {

}

Contoh soal

Terdapat tiga bilangan bulat yang berbeda. Tulis program untuk menampilkan bilangan bulat terbesar diantara bilangan bulat tersebut.

Rabu, 30 Maret 2011

Format Penyandian Sinyal Digital - Format Non Return to Zero

Format yang paling mudah dalam mentransmisikan sinyal digital adalah dengan menggunakan dua tingkat voltaseyang berlainan untuk dua digit biner .Kode-kode yang mengikuti cara ini dibagikan berdasarkan sifat-sifatnya. Tingkat voltase tetap konstan sepanjang interval bit yang ditransmisikan, yang dalam hal ini terdapat transisi (tidak kembali ke level voltase nol).

ngemeng-ngemeng.... ni format terbagi atas 2 macam, baca baik-baik ya...
  1. Non-Return-to-Zero-Level (NRZ-L), yaitu suatu kode dimana tegangan negatif dipakai untuk mewakili suatu biner dan tegangan positif dipakai untuk mewakili biner lainnya.
  2. Non-Return-to-Zero-Inverted, yaitu suatu kode dimana suatu transisi ( dari yang tinggi ke rendah atau dari yang rendah ke tinggi) pada awal suatu bit time akan dikenal sebagai biner '1' untuk bit time tersebut. Bila tidak ada transisi berarti biner '0'. Dengan demikian NRZI merupakan salah satu contoh dari differensial encoding.
woi... bro- bro dan siter-sister..... :)
nih keuntungan dari penyandian diferensial, antara lain : lebih kebal noise, tidak dipengaruhi level tegangan.
sedangkan kelemahan dari NRZ-L maupun NRZI yaitu: keterbatasan dalam komponen dc dan kemampuan sinkronisasi yang buruk.

contoh gambarnya bisa anda lihat dibawah ini :

semoga bermanfaat

Jumat, 25 Maret 2011

PERULANGAN REKURSIF DAN PERULANGAN ITERATIF

PERULANGAN REKURSIF DAN PERULANGAN ITERATIF

Rekursif adalah suatu proses yang bisa memanggil dirinya sendiri.
Perulangan Rekursif merupakan salah satu metode didalam pemrograman yang mana dalam sebuah fungsi terdapat instruksi yang memanggil fungsi itu sendiri, atau lebih sering disebut memanggil dirinya sendiri.
Perulangan iteratif merupakan perulangan yang melakukan proses perulangan terhadap sekelompok instruksi. perulangan dilakukan dalam batasan syarat tertentu. ketika syarat tersebut tidak terpenuhi lagi maka perulangan akan terhenti.

Persamaan:

  • Iteratif dan rekursif merupakan metode atau teknik didalam perulangan (looping)
  • Sama-sama memiliki bagian yang berfungsi sebagai batas dalam sebuah perulangan
Perbedaan:
  • Iteratif dalam melakukan perulangan membutuhkan suatu instruksi program seperti for, repeat until dan while do, sedangkan rekursi tidak memakai instruksi program seperti itu. cukup dengan fungsi tersebut
Contoh penggunaan proses rekursif
  • Masalah : Memotong roti tawar tipis-tipis sampai habis
  • Algoritma :
  1. Jika roti sudah habis atau potongannya sudah paling tipis maka pemotongan roti selesai
  2. jika roti masih bisa dipotong, potong tipis dari tepi roti tersebut
  3. lakukan prosedur 1 dan 2 untuk sisa potongannya
CONTOH FUNGSI REKURSIF
1. fungsi pangkat
  • Menghitung 10 pangkat n dengan menggunakan konsep rekursif
  • Secara notasi pemrograman dapat dituliskan sebagai berikut :
2. Faktorial
  • 0! =1
  • N! = N X (N-1)! untuk N>0
  • Secara notasi pemrograman dapat dituliskan sebagai berikut :
FAKT(0) = 1 ...........................................(1)
FAKT(n) = N*FAKT(N-1).....................(2)

Contoh:
FAKT(5)= 5*FAKT(4)
FAKT(4)= 4*FAKT(3)
FAKT(3)= 3*FAKT(2)
FAKT(2)= 2*FAKT(1)
FAKT(1)= 1*FAKT(0)
nilai awal;

misalnya :
Hitung 5! dapat dihitung dengan cara rekursif sebagai berikut :
5! = 5*4 !
secara rekursif nilai dari 4! dapat dihitung kembali dengan cara : 4*3 !
sehingga 5! menjadi 5!= 5*4*3 !
secara rekursif nilai dari 3! dapat dihitung kembali dengan cara : 3*2 !
sehingga 5! menjadi 5!= 5*4*3*2 !
secara rekursif nilai dari 2! dapat dihitung kembali dengan cara : 2*1
sehingga 5! menjadi 5!= 5*4*3*2*1


3. Deret Fibonacci

  • Deret fibonacci : 0, 1, 1, 2, 3, 5, 8, 13,...
  • Secara notasi pemrograman dapat dituliskan sebagai berikut :
  1. FIBO(1) = 0 dan FIBO (2) = 1 .....................................(1)
  2. FIBO(N) = FIBO (N-1) + FIBO (N-2).........................(2)
contoh :
Fibo(5) = FIBO (4) + FIBO (3)
Fibo(4) = FIBO (3) + FIBO (2)
Fibo(3) = FIBO (2) + FIBO (1) -----> nilai awal

4. Konsep Menara Hanoi


  • tujuan permainan ini adalah memindahkan n buah balok dari tonggak asal A melalui tonggak bantu B menuju tonggak C. dengan aturan balok yang lebih kecil tidak boleh berada di bawah balok yang lebih besar
bayangkan keadaan berikut :
ada 3 tiang (a, b, c) tempat balok dengan ukuran yang bervariasi dapat ditumpuk. pada mulanya semua balok ada di "A". Tugasnya adalah meindahkan semua balok ke "C" degan aturan sebagai berikut :
  • Pada satu saat hanya boleh memindah 1 balok
  • setiap perpindahan berupa pengambilan balok teratas dari satu tiang dan memasukkannya ketiang lain, diatas balok lain yang mungkin sudah ada pada tiang tersebut.
  • tidak boleh meletakkan balok diatas balok lain yang lebih kecil
  • pada setiap akhir pemindahan semua balok harus berada di tiang.
Dalam notasi algoritma dapat dituliskan sebagai berikut :
  • jika n= 1, maka langsung pindahkan saja balok dari tiang A ke tiang C dan selesai
  • pindahkan n-1 balok yang paling atas dari tiang A ke Tiang B
  • pindahkan balok ke n (balok terakhir) dari tiang A ke tiang C
  • pindahkan n-1 balok dari tiang B ke tiang C

Sabtu, 12 Maret 2011

Program sederhana untuk Mencari Nilai tahanan beserta toleransi sebuah resistor

berikut ini adalah program sederhana yang telah saya buat mengenai nilai tahanan resistor beserta toleransinya

untuk mendownload programnya silahkan klik link dibawah ini:
http://www.ziddu.com/download/14155998/nilaitahananresistor.exe.html

semoga bermanfaat

Selasa, 08 Maret 2011

Bentuk "program jadi" tugas logika dan algoritma

silahkan download bentuk program tugas logika dan algoritma , free!!!

tugas 1 konversi suhu
http://www.ziddu.com/download/14101415/Konversisuhu.exe.html


tugas 2 konversi jam ke menit dengan input jam dan menit
http://www.ziddu.com/download/14101522/KONVERSIMENIT.exe.html

tugas 3 masih dalam proses pembuatan

andy scevorz semoga bermanfaat........

Senin, 07 Maret 2011

membuat program aplikasi sederhana dengan Visual Basic 6.0

MENGHITUNG JUMLAH DERET ARITMATIKA DENGAN SUKU AWAL, BANYAK SUKU DAN BEDA DIKETAHUI

membuat program dengan visual basic bagi para pemula mungkin agak susah... seperti saya haha... tetap tak ada yang tak mungkin jika kita MAU. disini saya akan membagikan sedikit ilmu yang saya dapatkan tentang cara membuat program "menghitung jumlah deret aritmatika dengan suku awal, banyak suku dan beda diketahui"

1. Buka program Microsoft Visual Basic 6.0
2. klik file lalu pilih menu new Project dan pilih New standard .exe
3.lalu akan muncul Lembar kerja Project1-form1(form)
4. pada kotak tabel form1 kita buat :
  • Buat 3 kotak label : label1, label2, label3
  • Buat 4 kotak textbox : text1, text2, text3, dan text4
  • Buat Tombol command : command1
  • atur sedemikian rupa sesuai yang anda inginkan .... kalau punya saya sih seperti ini :
OK?......mungkin contoh tampilan tata letaknya seperti diatas . lanjut....
5. setelah tampilannya kita atur , sekarang kita atur nama dari masing masing label, text dan command1, pada tabel properties :
  • label1 (name=label1 , backstyle=0-transparent, caption=suku awal)
  • label2 (name=label2 , backstyle=0-transparent, caption= banyak suku)
  • label3 (name=label3 , backstyle=0-transparent, caption = beda)
  • text1 (name=text1 , alaignment=2-center, text = none)
  • text2 (name=text2, alaignment=2-center, text = none)
  • text3 (name=text3, alaignment=2-center, text = none)
  • text4 ((name=text4, alaignment=2-center, text = none)
  • command1 (name= command1, caption = jumlah)
  • form1 (name= menghitung jumlah deret)
6. sekarang kita buat bahasa pemrogramannya, ketikkan text dibawah ini pada kotak view code. Kurang lebih seperti ini :
  • Private Sub command1_click()
    hasil1 = Val(Text2) - 1
    hasil2 = hasil1 * Val(Text3)
    hasil3 = hasil2 + Val(Text1)
    hasil4 = Text1 + hasil3
    hasil5 = hasil4 * Text2 / 2
    jumlah = hasil5
    Text4 = jumlah
    End Sub
tampilannya akan seperti ini :


oh ya..... "name" disini sangat berpengaruh pada pembuatan bahasa program jika kita mengubah nama pada "name" maka pada program kita harus mengubahnya juga agar dapat dikenali. selain itu untuk warna anda dapat memilih sesuai warna yang anda inginkan dengan cara : clik objek yang warnanya ingin di ubah lalu klik backcolor lalu pilih warna.....

7. setelah itu save project
8. klik file lalu pilih make menghitung deret aritmatika.exe
9. selesai

untuk program yang udah jadi bisa anda download di :
http://www.ziddu.com/download/14093851/menghitungderetaritmatika.exe.html

ok... semoga bermanfaat :)