Pert 3: Algoritma Pemrograman 1 (Alpro1) 4 sks By. Rita Wiryasaputra, ST., M. Cs.
[email protected]
Kriteria Unjuk Kerja Algoritma Pemrograman 1 Tugas Terakhir (15): Buatlah portofolio •
Pengidentifikasian tipe data, konstanta, parameter – Tipe data, konstanta, dan parameter yang berlaku umum dapat diidentifikasi – Tipe data yang sudah ada digunakan dan tipe data baru dapat dibuat
•
Pemakaian nama pada tipe data, variabel, konstanta dan parameter diaplikasikan – Algoritma dibuat/ditulis menggunakan skema program sekuensial. Pemrograman sekuensial adalah pemrograman yang hanya memiliki proses baca tulis (input output) ke alat standar dan memproses formula ekspresi – Algoritma dibuat/ditulis menggunakan skema percabangan (mis, IF - THEN, IF - THEN - ELSE, CASE, SWITCH, dsb.)
•
Algoritma dibuat/ditulis menggunakan skema pengulangan (mis, FOR - DO, WHILE - DO, DO - WHILE, REPEAT - UNTIL, dsb.) – Program dibuat menggunakan array satu dimensi
•
Pencarian data (searching) dapat dilakukan dan data (sorting) dalam array diurutkan. – Program dibuat dengan menggunakan prosedur. – Program dibuat menggunakan fungsi
•
Program dibuat menggunakan prosedur dan fungsi secara bersamaan
Tugas 3 • Telah mengerjakan Tugas 2 elemen sistem komputer, harga, profesi bidang INFORMATIKA yang akan digeluti • Presentasi tugas 2 (max 5 menit) Tugas 3 : 1. Ditulis tangan dalam kertas doublefolio, kumpul 19 Oktober 2015 jam 08.00 (pagi )UIGM 2. Buatlah makalah mengenai Tipe data, jangkauan, besaran kapasitas memori, contoh
3.
Tipe Data
Jangkauan
Kapasitas Memori
Contoh
Integer
+32767 s/d -32768
2 byte
2,5,6,7…
Buatlah flowchart untuk mencari hasil dari proses operasi 2+3*5 ?? (pergunakan variabel)
4. 5.
6.
7.
Tentukan KPK dari 8 dan 12 ! Dalam suatu tes, jawaban yang benar diberi nilai 4, yang salah diberi nilai -2, dan untuk soal tidak dijawab diberi nilai 0. Jika dari 25 soal, Andi menjawab dengan benar 18 soal dan 5 soal salah serta sisanya tidak dijawab, maka berapa nilai yang diperoleh andi? Dalam sebuah lomba, terdapat 17 orang ikut lomba busana dan 11 orang ikut lomba melukis. Jika jumlah peserta lomba seluruhnya ada 25 orang, maka berapa persentase banyak peserta yang hanya mengikuti lomba melukis saja ? Seorang petani memiliki lahan seluas 1 ha dan 3/5 nya akan digunakan untuk menanam jagung, setiap 1 m2 lahan memerlukan bibit jagung sebanyak 11/2 ons. Jika harga bibit jagung Rp 2000,per kilogram maka berapa biaya untuk membeli jagung seluruhnya ?
Start
Flowchart:
Masukkan A dan B
Pencarian hasil proses penjumlahan dari masukkan 2 buah bilangan (A dan B)
C=A+B
Tampilkan C
End
Start
Flowchart:
Masukkan A
. Penentuan apakah sebuah bilangan yang dimasukkan (A) merupakan bilangan ganjil atau bilangan genap
Bagi A dengan 2
ya
Apakah sisa hasil bagi = 0 ?
“Genap”
tidak
“Ganjil”
End
• Variabel menampung nilai tertentu (berubah dalam proses) pada memori komputer • Constanta menampung nilai yang tetap pada memori komputer. • semua peubah(variabel) yang akan dipakai harus sudah ditentukan tipe datanya, setelah itu tentukan batasan nilai peubah dan jenis operasi yang bisa dilaksanakan atas peubah tersebut.
Tipe Data
Tipe Data, Konstanta Tipe Data: • Tipe data Dasar (Predefined data type), contoh: bilangan logik (boolean), bilangan bulat, bilangan riil, karakter, string • Tipe data Bentukan (tipe dasar yang diberi nama baru), tipe struktur • Pemilihan tipe data harus memperhatikan faktor penghematan memori.
Contoh program dengan tipe data boolean
Bilangan Bulat • Bilangan bulat bilangan bulat negatif (kelompok bilangan yang terletak disebelah kiri nol) dan bilangan cacah
B = {…,-3, -2, -1, 0, 1, 2, 3, 4, …} Pada garis bilangan
-4
-3
-2
-1
1 0
2
3
4
1. Pada garis bilangan mendatar, jika bilangan a terletak di sebelah kiri b maka a lebih kecil dari b, ditulis a < b atau b > a (dibaca b lebih besar dari a) 2. Untuk a < b maka : Perubahan dari a ke b disebut naik. Perubahan dari b ke a disebut turun
Operasi Bilangan Bulat 1. Penjumlahan a. Tertutup a + b bilangan bulat b. Komutatif a + b = b + a c. Asosiatif (a + b) + c = a + (b + c) 2. Pengurangan Lawan (invers) a – b = a + (-b)
3. Perkalian a. Tertutup a x b bilangan bulat b. Komutatif a x b = b x a c. Asosiatif (a x b) x c = a x (b x c) d. Unsur identitas a x 1 = a e. Distributif a (b + c) = ab + ac a (b - c) = ab – ac
4. Pembagian Kebalikan (invers) dari perkalian a : b = a x 1/b
Tipe Data Bentukan ?? • Tipe data yang didefinisikan sendiri oleh pemrogram • Disusun oleh satu atau lebih tipe dasar • Dua macam tipe bentukan : – Tipe dasar yang diberi nama dengan nama baru – record
Tipe Dasar yang diberi nama tipe baru • Menggunakan kata kunci type • Contoh type BilanganBulat : integer
• BilanganBulat adalah tipe data yang sama saja dengan integer • Penggunaan : P : BilanganBulat
Record • Disusun oleh satu atau lebih field • Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe data bentukan lain yang sudah didefinisikan sebelumnya
Field 1
Field 2
Field 3
…
Field N
Contoh x
type Titik : record < x : real , y : real > type Titik : record < x, y : real > Cara Penggunaan : P : Titik Cara Mengacu tiap field : P.X P.y
y
C typedef struct{ type field1; type field2; type fieldN; } typename;
typedef struct{ float x; float y; } titik;
Latihan • Buatlah program konversi waktu ke detik ! Gunakan tipe data bentukan ! • Buatlah program untuk menampilkan,nama, nim dan nilai mahasiswa sesuai inputan!Gunakan tipe data bentukan !
Array • Struktur data yang menyimpan sekumpulan elemen yang bertipe sama, setiap elemen diakses langsung melalui indeksnya. • Variabel yang memiliki indeks • Indeks array harus memiliki tipe data yang menyatakan keterurutan, misalnya : integer atau karakter
Array A
1 2 3 4 5 6 7 8
Array A dengan 8 elemen dan masingmasing elemen belum diisi nilai
Setiap elemen array A diisi dengan nilai UTS mahasiswa
A 1 2 3 4 5 6 7 8
74 36 100 60 19 47 80 20
Deklarasi Array • Algoritma L : array[1..50] of integer NamaMhs : array[1..5] of string Nilai :array[0..10] of real - Sebagai tipe baru : type LarikInt : array[1..100] of integer
P : LarikInt
Deklarasi Array • C int L[50]; char NamaMhs[5][25]; float Nilai[10]; - sebagai tipe baru typedef int LarikInt[100]; LarikInt P;
Array bertipe bentukan • Algoritma : type Mahasiswa : record < NIM : integer, NamaMhs : string, Nilai : char > TabMhs : array[1..100] of Mahasiswa
Array bertipe bentukan • C typedef struct{ int NIM; char NamaMhs[25]; char Nilai; } Mahasiswa; Mahasiswa TabMhs[100];
Cara memberikan nilai pada Array • Algoritma NamaMhs : array[1..5] of string NamaMhs[1] ‘Udin’ NamaMhs[2] ‘Ami’ NamaMhs[3] ‘Anita’
Cara memberikan nilai pada Array • C int Nilai[5]={70,34,60,100,45}; c[0]=70; c[1]=34; c[2]=60; c[3]=100; c[4]=45;
Contoh Algoritma Algoritma ArrayD DEKLARASI N : array[1..5] of integer i : integer DESKRIPSI N[1] 25 N[2] 12 N[3] 17 N[4] 10 N[5] 15 For i 1 to 5 do Output (N[i]) endfor
Contoh C #include<stdio.h> main() { int N[5]={25,12,17,10,15}; int i; for(i=0; i<=4; i++) printf("%d \n",N[i]); }
Latihan • Buatlah program untuk menyimpan nilai dan nama 5 orang mahasiswa ! Gunakan tipe bentukan record !