Kamis, 24 Maret 2011

tugas softskill 2


Awal menjalankan suatu flowchat harus menggunakan tandai mulai seperti di gambar tersebut.

Setelah itu masukkan nilai N

Kemudian terjadilah proses dimana 1 bernilai I dan begitu pula proses d bawahnya dimana 0 bernilai j.

Setelah itu ada pernyataan,jika nilai i <= N maka akan masuk ke flowchat masukkan data,apabila tidak akan memproses ke flowchat rata .

Apabila nilai i <= N maka akan masukkan data,kemudian data itu d proses hingga menuju kembali ke proses 1 bernilai i,proses ini akan berulang-ulang hingga tidak punya data lg sehinnga akan menuju ke flowchat yang disebelah kiri,kemudian terjadi proses dan member tulis rata dan berakhirlah flowchat ini.

Minggu, 20 Maret 2011

macam-macam operator

Operator Aritmatika (Arithmetic Operator)

Operator aritmatika melibatkan 2 buah operand, terkadang operand yang digunakan berbeda tipenya. Untuk menghindari hal-hal yang tidak diinginkan maka kompiler C mempunyai pedoman untuk operand yang berbeda tipe :

1. Tipe char akan dikonversikan ke tipe int

2. Tipe float akan dikonversikan ke tipe double

3. Jenjang tertinggi adalah mulai dari long double, double, long int, unsigned int, dan int. Berarti, tipe double dioperasikan dengan tipe int akan menghasilkan tipe double.

Operator Unary (Unary Operator)

Operator unary merupakan operator yang hanya menggunakan sebuah operand saja. Operator-operator unary mempunyai jenjang 2.

Operator Pengerjaan Aritmatika (Assigment Operator)

Operator pengejaan digunakan untuk memindahkan nilai dari suatu ungkapan ke suatu pengenal (Identifier). Operator pengerjaan mempunyai jenjang 14.

Operator Hubungan (Relational Operator)

Operator hubungan digunakan untuk menunjukkan hubungan antara 2 buah operand. Banyak digunakan untuk penyeleksian kondisi dengan statement:

§ if,

§ do-while, atau

§ while.

Operator Logika (Logical Operator)

Operator logika digunakan untuk membandingkan logika hasil dari operator-operator hubungan.

Operator Koma (Comma Operator)

Operator koma digunakan untuk menggabungkan beberapa ungkapan dengan proses yang berurutan dari ungkapan sebelah kiri koma ke ungkapan sebelah kanan koma. Operator koma mempunyai jenjang 16.

Operator Bitwise

Operator bitwise digunakan untuk memanipulasi bit-bit nilai data yang ada di memori. Operator-operator ini hanya dapat digunakan untuk tipe data:

§ char,

§ int, dan

§ long int.

macam-macam tipe data

Tipe data dapat dikelompokkan menjadi dua macam :

- Tipe dasar

Adalah tipe yang dapat langsung digunakan.Yang termasak ke dalam tipe dasar adalah :

1. Bilangan Logik

Bilangan logik sering dinamakan juga bilangan boolean (ilmuan matematika Robert Boole)

Bilangan logik hanya mengenal dua buah nilai : benar (true) atau salah (false)

Istilah “bilangan logik” muncul karena kita dapat menyatakan “benar” dengan 1 dan “salah” dengan 0

Tipe bilangan logik didefinisikan sebagai berikut:

Nama : boolean

Domain : true, false

Tetapan : true, false

Operator : not, and, or, xor

2. Bilangan Bulat

Bilangan bulat adalah bilangan yang tidak mengandung pecahan desimal.

Tipe bilangan bulat didefinisikan sebagai berikut:

Nama : integer

Domain : I

Tetapan : 78 -14 0 5 9991

Operator : +, -, *, div, mod

3. Bilangan Riil

Tipe bilangan riil didefinisikan sebagai berikut:

Nama : real

Domain : R

Tetapan : 0. 18. 32.1 0.3333 9E-6

Operator : +, -, *, /

4. Karakter

Tipe karakter didefinisikan sebagai berikut:

Nama : char

Domain : “0”, “1”, ...“9”, “a”,”b”... “z”,”A”, “B”...”Z” dan karakter lainnya

Tetapan : ‘h’ ‘Y’ ‘.’ ‘p’ (penulisan karakter harus diapit dengan tanda petik tunggal)

- Tipe bentukan

Adalah tipe yang dibentuk dari tipe dasar atau dari tipe bentukan lain yang sudah di definisikan. Tipe bentukan dibentuk dari beberapa elemen yang bertipe dasar atau dari tipe bentukan lain yang sudah didefinisika sebelumnya.

Ada dua jenis tipe bentukan

  • String

String adalah deretan karakter dengan panjang tertentu. Tipe string didefinisikan sebagai berikut:

Nama : string

Domain : deretan karakter yang didefinisikan pada domain karakter

Tetapan : ‘Elektro’ ‘Informatika’ ‘...................’ ‘Politeknik Negeri Bali’ (semua tetapan string harus diapit dengan tanda petik tunggal)

  • Record

Referensi : www.nice-tutorial.com/pelajaran.../algoritma/algoritma/.../Tipe%20Data.ppt

STRUKTUR DASAR ALGORITMA

SEQUENCE

  1. Sebuah runtutan terdiri dari satu atau lebih intruksi.
  2. Intruksi dilaksanakan setelah intruksi sebelumnya dilaksanakan.
  3. Urutan intruksi menentukan keadaan akhir algoritma.

1 2 3 4

A1 A2 A3 A4

Contoh:

Algoritma Tukar_Isi_Bejana

Terdapat dua buah bejana, bejana A berisi larutan berwarna merah dan bejana B berisi larutan berwarna putih. Kedua bejana tersebut dipertukarkan isinya, sehingga isi bejana A berganti dengan isi bejana B dan sebaliknya, tanpa terjadi percampuran diantara isi dua bejana tersebut.

Deskripsi:

  1. Tuangkan larutan bejana A ke bejana C
  2. Tuangkan larutan bejana B ke bejana A
  3. Tuangkan larutan bejana C ke bejana B

SELECTION

Berlaku untuk suatu kasus yang disertai syarat tertentu.

- If kondisi then

aksi

- If kondisi then

aksi 1

else

aksi 2

Contoh:

Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah bilangan

Penyelesaian:

Maks = bilangan pertama

If x > y then

if x> y then

tulis x sebagai bilangan terbesar

else

tulis y sebgai bilangan terbesar

Else

if y> z then

tulis y sebagai bilangan terbesar

else

tulis z sebagai bilangan terbesar

REPETITION

Kondisi yang dilaksanakan secara berulang-ulang.

  1. For …….. Do

for kondisi do

aksi

Contoh:

Buatlah algoritma untuk memunculkan tulisan “ saya siswa SMA 1 Yogyakarta” sebanyak 700 kali.

Algoritma menulis_700 kalimat

Menulis kalimat saya siswa SMA 1 Yogyakarta sebanyak 700 kali

Deskripsi:

  1. Tulis kalimat “saya siswa SMA 1 Yogyakarta”
  2. Tulis kalimat “saya siswa SMA 1 Yogyakarta”
  3. Tulis kalimat “saya siswa SMA 1 Yogyakarta”

.

.

699. Tulis kalimat “saya siswa SMA 1 Yogyakarta”

700. Tulis kalimat “saya siswa SMA 1 Yogyakarta”

Algoritma menulis_700 kalimat

Menulis kalimat saya siswa SMA 1 Yogyakarta sebanyak 700 kali

Deskripsi:

for I dari 1 sampai 700 do

tulis kalimat “saya siswa SMA 1 Yogyakarta”

selesai

2. Repeat … until

repeat

aksi

until kondisi

Contoh:

Pencarian data dalam tabel

Nis Nama Telepon

12345 Hardian 0812xxxxxx

12346 Ananto 0818xxxxxx

12347 Ahmad 0899xxxxxx

…… ………….

12500 Widuri 081321xxxx

Algoritma Pencarian data dalam tabel

Sebuah tabel berisi nis, nama dan telepon siswa. Carilah dalam tabel alamat seorang siswa dengan nis = x.

diasumsikan tabel berisi minimal satu entry.

Deskripsi:

tinjau entry pertama tabel

repeat

if nis pada entry tabel=nis yang dicari then

ambil data nomor telepon dari nis tersebut

else

tinjau entry berikutnya dalam tabel

Until nis yang dicari ditemukan atau akhir tabel sudah

terlampaui

3. While …. Do

while kondisi do

aksi

Algoritma Pencarian data dalam tabel

Sebuah tabel berisi nis, nama dan telepon siswa. Carilah dalam tabel alamat seorang siswa dengan nis = x.

diasumsikan tabel berisi minimal satu entry.

Deskripsi:

tinjau entry pertama tabel

while nis yang dicari belum ditemukan dan akhir tabel berlum terlampaui do

if nis pada entry tabel=nis yang dicari then

ambil data nomor telepon dari nis tersebut

else

tinjau entry berikutnya dalam tabel

referensi : yusufhdc.edublogs.org/files/2010/01/Struktur-Dasar-Algoritma.ppt

hal-hal yang diperhatikan dalam membuat algoritma dan syarat untuk menjadi algoritma yang baik

Beberapa hal yang perlu diperhatikan dalam membuat algoritma:

1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.

2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.

3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum. Tulisan (notasi) algoritma yang mendekati perintah bahasa pemrograman disebut dengan pseudocode.

4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.

5. Algoritma sebenarnya digunakan untuk membantu mengkonversikan suatu permasalahan ke bahasa pemrograman.

6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu:

a. Pendeklarasian variabel

Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya.

b. Pemilihan tipe data

Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.

c. Pemakaian instruksi-instruksi

Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda.

d. Aturan sintaksis

Pada saat menuliskan program, programmer terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.

e. Tampilan hasil

Pada saat membuat algoritma tidak dipikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.

f. Cara pengoperasian compiler atau interpreter.

Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.

Beberapa persyaratan untuk menjadi algoritma yang baik adalah :

• Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.
• Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin.
• Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general.
• Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada.
• Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola).
• Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer.
• Precise (tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama dan tidak ada keragu-raguan, dengan demikian setiap instruksi harus dinyatakan secara eksplisit dan tidak ada bagian yang dihilangkan karena pemroses dianggap sudah mengerti. Setiap langkah harus jelas dan pasti.

Contoh : Tambahkan 1 atau 2 pada x.
Instruksi di atas terdapat keraguan.

• Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama banyaknya, langkah harus tetap dan tertentu meskipun datanya berbeda.
• Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan menjalankannya.

Contoh : Hitung akar 2 dengan presisi sempurna.
Instruksi di atas tidak efektif, agar efektif instruksi tersebut diubah.
Misal: Hitung akar 2 sampai lima digit di belakang koma.

• Harus terminate. Jalannya algoritma harus ada kriteria berhenti. Pertanyaannya adalah apakah bila jumlah instruksinya berhingga maka pasti terminate?
• Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti dengan seksama maka dihasilkan output yang diinginkan.

Referensi bwahyudi.staff.gunadarma.ac.id/.../Catatan+Algoritma+dan+Pemrograman.docx

blog.ub.ac.id/.../pengantar-algoritma-dan-pemrograman-bag-4/