Kamis, 24 Maret 2011

CONTOH FLOWCHART

Gambarka flowchart dan prosesnya dengan ketentuan sebagai berikut :
  1. Masukan n
  2. i<=1 3. j <--- 0
  3. selama 1<=n dan 1>=n, kerjakan baris 4 s/d 7
  4. masukkan data
  5. I <--- i+1
  6. J <--- J + dt
  7. Rata <--- J/N
  8. Tulis Rata
  9. Selesai

JAWAB



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.



MACAM-MACAM OPERATOR

Macam-macam Operator

1. Assignment sederhana

Tugasnya adalah memberikan nilai yang ditugaskan.

Contoh :

q a = 1, memberikan nilai 1 kepada a

q b = 1.23, memberikan nilai 1.23 kepada b

q c = a, memberikan nilai apapun di a kepada c

2. Aritmatika

+ (penambahan), - (pengurangan), / (pembagian), * (perkalian), % (sisa pembagian)

Contoh :

Ø a=1+1, memberikan 2 kepada a

Ø b=1.0+2.5, memberikan 3.5 kepada b

Ø c=8/a, memberikan 4 kepada c

Ø d=15%c, memberikan 3 kepada d

3. Increment & decrement

Inc : ++ (Penambahan), Dec : --(Pengurangan)

Prefix :

Ø ++a, menjadikan a bernilai (a+1) dan mengembalikan nilai tersebut

Ø b=++a, menjadikan b dan a bernilai (a+1)

Postfix :

Ø a++, menjadikan a bernilai (a+1) tetapi mengembalikan nilai awal a

Ø b=a++, menjadikan b bernilai a dan a bernilai (a+1)

4. Kurung buka-tutup

Operator : ( )

Digunakan untuk mengelompokkan operator yang akan dievaluasi bersama

Secara umum, ekspresi akan dievaluasi dari kiri ke kanan, contoh :

Ø 3 * 5 + 2 ekuivalen dg (3*5) + 2, tidak ekuivalen dg 3 * (5+2)

5. Relasi & logika

Operator : ||, &&, ==, !=, !

Logika OR (||) :

Ø a || b , mengembalikan 1 apabila nilai a atau b tidak nol, mengembalikan 0 apabila sebaliknya

Ø 0 || 0 || 1, mengembalikan 1

Ø 0 || 0, mengembalikan 0

Ø Jika a=0, maka ekspresi (a-- || ++a || a++ || --a) akan mengembalikan 0 dan a = 0

Ø Evaluasi berhenti saat bernilai 1

Operator : >, <, <=, >=

a>b, mengembalikan 1 jika a lebih besar dari b dan nol jika sebaliknya

a

a<=b mengembalikan 1 jika a lebih kecil atau sama dengan b dan nol jika sebaliknya

a>=b mengembalikan 1 jika a lebih besar atau sama dengan b dan nol jika sebaliknya

6. Bitwise

Bitwise OR : |

Ekspresi 9 | 3 adalah (1001 | 0011) secara biner, hasilnya adalah 1011 (11).

Bernilai 1 apabila salah satu operan bernilai 1

Bitwise AND : &

Ekspresi 9 & 3 adalah (1001 & 0011), hasilnya 0001 (1)

Bernilai 1 hanya jika kedua operan bernilai 1

Bitwise XOR : ^

Ekspresi 9 ^ 3 bernilai 1010

Bernilai 1 jika satu operan bernilai 1 dan lainnya bernilai 0

Bitwise NOT : ~

Membalik seluruh bit

~10101 adalah 01010

Geser kiri & geser kanan : << , >>

Menggeser bit ke kiri atau kanan

a = 2 <<>

b = 13 >> 2, b menjadi 3

7. Operator assignment

Macamnya : +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |=

a *= 2 ekuivalen dg a = a*2

b >>= 2 ekuivalen dg b = b >>

8. Operator koma

Operator : ,

Digunakan untuk menggabung beberapa ekspresi.

Pemrosesan dilakukan dari kiri à kanan

Contoh :

Ø X = (B=5, B*2), X akan bernilai 10, B bernilai 5

Ø Y = (A=B+3, A/2), Y akan bernilai 4, A bernilai


Refernsi : gita.staff.umm.ac.id/files/2010/09/Bab03_Operator.ppt

Minggu, 20 Maret 2011

MACAM-MACAM TIPE DATA

Tipe data digunakan untuk menentukan batasan nilai yang digunakan suatu peubah (variabel)

Macam tipe data :

§ Tipe Sederhana (primitif)

§ Tipe Terstruktur

§ Tipe String

§ Tipe Reference/Pointer

v Macam tipe sederhana :

§ Tipe ordinal/integral

v ShortInt, Integer, LongInt, Byte, Word subrange, dan enumerated

§ Tipe floating point/real

v Real, Single, Double, Extended

§ Tipe char

v Char

§ Tipe boolean

v Boolean

v Macam tipe terstruktur :

§ Tipe Larik (Array)

§ Tipe Rekaman (Record/Struct)

§ Tipe Objek (Objek/Class)

§ Tipe Himpunan (Set/Enum)

§ Tipe Berkas (File)

Adalah suatu struktur data yng dapat menyimpan sekumpulan elemen dengan tipe yang sama

Larik disimpan pada memory yang berurutan pada komputer

Berbeda dengan variabel biasa yang hanya bisa menyimpan sebuah nilai

Nama lain : tabel, vektor atau peubah majemuk

Bila dibutuhkan suatu tempat penyimpanan (di memory) yang dapat menyimpan banyak data dengan jenis data yang seragam

Deklarasi Larik

Larik adalah struktur data yang Statik, artinya jumlah elemen larik harus sudah diketahui sebelum program dieksekusi

Ada 2 cara mendeklarasikan (Pada TP) :

§ 1. Sebagai Peubah, misal : Data : array[0..4] of integer;

§ 2. Sebagai Tipe Baru, misal : Type Data : array[0..4] 0f integer; var Nilai : Data; Nim : Data;

Inisialisasi biasanya memberikan nilai harga awal pada seluruh elemen larik. Biasanya digunakan nilai 0 (nol) atau ' ' (karakter kosong).

Array MultiDimensi

adalah suatu array/larik yang memiliki dimensi dgn indeks lebih dari satu

dapat juga disebut sebagai suatu array yang beranggotakan elemen yang juga berupa suatu array

Contoh : Matrik, dan Tabel

Karakteristik Array Multi Dimensi

v Karena juga merupakan suatu array, maka semua elemennya harus memiliki tipe data yang sama

v Merupakan struktur data yang statik, artinya jumlah elemennya sudah harus ditentukan terlebih dahulu sebelum progran dijalankan, dan jumlah tersebut tidak dapat diubah ketika program dijalankan

Enumerasi

Konstanta dengan tipe array/list yang bisa diakses menggunakan indeks berupa nama

Contoh:

type

Status = (Active, Passive, Waiting);

StatusMap = array[Status] of string[7];

const

StatStr: StatusMap = ('Active', 'Passive', 'Waiting');

Subrange

v Subrange adalah kelompok/himpunan nilai yang dibuat dari kelompok yang sudah ada sebelumnya.

v Deklarasi Subrange:

type RangeName = Low..High;

v Misal:

type AdultMemberAge = 18...30;

type Players = (GoalKeeper, RightDefender, Stopper, Libero, LeftDefender, MiddleLeft, MiddleCenterLeft, MiddleCenterRight, MiddleRight, Forward1, Forward2 );

type MiddleCourt = MiddleLeft..MiddleRight;

REFERENSI

hikaruyuuki.lecture.ub.ac.id/.../03-Tipe-Data-Array-dan-String-Pascal.pptx

STRUKTUR DASAR ALGORITMA

STRUKTUR DASAR ALGORITMA

  1. 1. Sequence
  2. 2. Selection
  3. 3. Repetition

SEQUENCE

n Sebuah runtutan terdiri dari satu atau lebih intruksi.

n Intruksi dilaksanakan setelah intruksi sebelumnya dilaksanakan.

n 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

Selesai

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

SELECTION

Adakalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. Tiap–tiap instruksi akan diseleksi oleh kondisi, apabila instruksi memenuhi kondisi yang diminta, maka instruksi akan dijalankan.

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

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

masdi2n.files.wordpress.com/2009/10/3-struktur-dasar-algoritma1.ppt

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

Hal-Hal Yang Diperhatikan Dalam Pembuatan Algoritma Dan Syarat Untuk Menjadi Algoritma Yang Bai

Hal-Hal Yang Diperhatikan Dalam Pembuatan Algoritma

1. Simulasi , sensibilitas terhadap masalah dan kemungkinan solusi. Kegiatan dilakukan di kelas, melalui permainan. Contoh : Mengurutkan tinggi badan mahasiswa dari tinggi ke pendek atau sebaliknya. Permainan dapat dilakukan secara manual maupun dengan komputer.

2. Analisis masalah secara lebih formal dan membuat spesifikasi dan algoritma dalam notasi yang ditetapkan. Mahasiswa harus menuliskan solusi algoritmiknya dalam notasi standar di kelas. Penulisan notasi algoritmik bertujuan untuk menyeragamkan pemahaman tentang algoritma program yang terbebas dari sintak (aturan) penulisan bahasa program .

3. Menulis program, yaitu menterjemahkan notasi algoritmik ke dalam sintak bahasa program.

4. Debugging dan menguji coba program. Hal ini bertujuan untuk mendapatkan program yang benar. Program dikatakan benar jika terbebas dari salah lojik dan sintak bahasa. Secara ideal mahasiswa hanya diberi kesempatan untuk me-run program sebanyak 2 kali : pertama untuk membersihkan program dari kesalahan sintak dan kedua untuk mendapatkan program benar. Pada tahap ini diharapkan tidak terjadi kesalahan lojik jika analisa benar.

5. Mengamati peristiwa eksekusi, perlu dilakukan untuk meningkatkan kepercayaan bahwa jika analisa benar maka sisa pekerjaan menjadi mudah. Pada pemrograman prosedural, aspek ini penting untuk memahami fenomena eksekusi dan perubahaan nilai suatu struktur data.

6. Membaca program : orang akan dapat menulis dengan baik kalau sering membaca. Hal ini juga berlaku dalam memprogram. Kegiatan yang dapat dilakukan di kelas adalah dengan saling tukar menukar teks algoritma, dan saling mengkritik algoritma teman. Mahasiswa harus berlatih sendiri pada kegiatan belajar bersama. Simulasi , sensibilitas terhadap masalah dan kemungkinan solusi. Kegiatan dilakukan di kelas, melalui permainan. Contoh : Mengurutkan tinggi badan mahasiswa dari tinggi ke pendek atau sebaliknya. Permainan dapat dilakukan secara manual maupun dengan komputer.

7. Membuktikan kebenaran program secara formal , satu-satunya hal yang menjamin kebenaran, tetapi kontradiktif dan sulit diterapkan dalam kehidupan sehari-hari. Program yang hanya lim baris pembuktiannya bisa sehalaman, sehingga seringkali tidak pernah diterapkan dalam aplikasi nyata. Aktifitas ini dicakup dalam matakuliah Analisis Algoritma

Syarat Untuk Menjadi Algoritma Yang Baik

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 (low cost). Proses harus diselesaikan secepat mungkin dan jumlah kalkulasi yang sependek mungkin.

• Bersifat 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. Sulit dimengertinya suatu program akan membuat sulit pengelolaan.

• Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer.

Referensi

http://aetthea.blog.unsoed.ac.id/files/2009/10/modul-tugas1.pdf
http://www.slideshare.net/guestcdc95496/tugas-pt
http://www.undana.ac.id/images/data/karya_tulis/1271901762.pdf