Professional Documents
Culture Documents
Kom
Email: rinisuwartika@yahoo.com
MATERI PEMBAHASAN
Pengantar Struktur Data
ARRAY
Struktur Data Dinamis (Pointer) Operasi Dasar Pada List
PENILAIAN
Partisipasi
Tugas/Quis UTS
UAS
Ketentuan Tugas : Tugas akan diterima paling lambat 1 minggu setelah batas pengumpulan
DEFINISI
Struktur data menjadi dasar dalam langkah awal
perancangan program
Struktur data cara pengaturan data agar bisa disimpan memory komputer secara efisien
Program algoritma yang diimplementasikan pemrograman tertentu dalam bahasa
Analisa masalah Memilih algoritma dan struktur data untuk menyelesaikan masalah itu Coding (implementasi algoritma memakai bahasa pemrograman tertentu)
bagaimana menghitung luas sebuah segitiga jika diketahui alas dan tingginya
Membuat model matematika untuk menghitung luas segitiga
Masalah telah diketahui dan diformulasikan secara matematis. Formulasi tsb. bisa berupa tulisan tangan, ketikan, dsb.
Menuliskan program
Mengubah algoritma menjadi program (source code) dalam
bahasa tertentu (Contoh bahasa pemrograman: C, Pascal, Basic, dsb) #include <stdio.h>
main() { float alas, tinggi, luas; alas=10.0; tinggi=3.5; luas = alas*tinggi/2; printf(luas: %f\n,luas); }
Flowchart atau pseudocode diterjemahkan ke bahasa pemrograman tertentu dengan mematuhi kaidah penulisan syntax (kalimat) pada bahasa tersebut. Hasilnya berupa source code.
kode yang bisa dijalankan oleh komputer (executable). Kode yang executable inilah yang kemudian dieksekusikan.
Syarat-syarat Algoritma
Finiteness
Algoritma harus berakhir setelah melakukan sejumlah langkah proses Definiteness Setiap langkah algoritma harus didefinisikan dengan tepat dan tidak menimbulkan makna ganda Input Setiap algoritma memerlukan data sebagai masukan untuk diolah Output Setiap algoritma memberikan satu atau beberapa hasil keluaran Effectiveness Langkah-langkah algoritma dikerjakan dalam waktu yang wajar (Donald E. Knuth)
Wirth: algoritma
struktur data
program
matematis Turing machine Model matematika komputer Memiliki tape dengan panjang tak terhingga sebagai alat penyimpan ingatan (memory) Running time, kecepatan tak terhingga Padahal komputer yang ada sangat terbatas baik memory maupun kecepatannya
Latihan
Buatlah algoritma untuk menghitung : A. Luas Persegi Panjang B. Luas Lingkaran C. Keliling Persegi Kemudian buatlah program menggunakan bahasa C!
Penyeleksian Kondisi
1. Struktur Kondisi IF. Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam blok if akan diproses dan dikerjakan. Bentuk umum struktur kondisi if adalah : If (kondisi) pernyataan; 2. Struktur Kondisi IF......ELSE. Dalam struktur kondisi if.....else minimal terdapat dua pernyataan. Jika kondisi yang diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang dilaksanakan dan jika kondisi yang diperiksa bernilai salah maka pernyataan yang kedua yang dilaksanakan. Bentuk umumnya adalah sebagai berikut : if(kondisi) pernyataan-1 Else pernyataan-2
Perulangan
1.
Struktur Pengulangan WHILE Perulangan WHILE banyak digunakan pada program yang terstruktur. Perulangan ini banyak digunakan bila jumlah perulangannya belum diketahui. Proses perulangan akan terus berlanjut selama kondisinya bernilai benar (true) dan akan berhenti bila kondisinya bernilai salah. Bentuk umum dari while adalah seperti berikut : while (kondisi) { perintah; perintah; }
Perulangan (lanjutan)
2. Struktur Pengulangan DO.....WHILE Pada dasarnya struktur perulangan do....while sama saja dengan struktur while, hanya saja pada proses perulangan dengan while, seleksi berada di while yang letaknya di atas sementara pada perulangan do....while, seleksi while berada di bawah batas perulangan. Jadi dengan menggunakan struktur dowhile sekurang-kurangnya akan terjadi satu kali perulangan. Bentuk umum dari do while adalah seperti berikut : do {perintah; perintah; } while (kondisi);
Perulangan (lanjutan)
3. Struktur Pengulangan FOR Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan for tampaknya lebih efisien karena susunannya lebih simpel dan sederhana. Bentuk umum perulangan for adalah sebagai berikut : for(inisialisasi; syarat; penambahan) pernyataan; Keterangan : Inisialisasi : pernyataan untuk menyatakan keadaan awal dari variabel kontrol. syarat : ekspresi relasi yang menyatakan kondisi untuk keluar dari perulangan. penambahan : pengatur perubahan nilai variabel kontrol.
Keuntungan data array / larik : Paling mudah pengoperasiannya Ekonomis dalam pemakaian memori, bila semua elemen terisi Akses ke setiap elemen memerlukan waktu yang sama
Kerugian data array / larik : Memboroskan tempat jika banyak elemen yang tidak digunakan
Elemen Larik :
A[8]
Indeks Larik : 1, 2 , 3 , 4 , Mengisi elemen larik : A[3] 100
Hal yang perlu diingat : Elemen array harus memiliki tipe data yang sama atau sejenis (homogen) seperti integer, real, char, string, Boolean, record. Artinya array tersebut didefinisikan sebagai integer maka nilai yang boleh masuk ke dalam elemen array harus bertipe integer. indeks array harus memiliki tipe data yang menyatakan keterurutan, seperti integer atau karakter.
Contoh Program_Proses_Array :
KAMUS Const : N = 10 { jumlah elemen array} Indeks : integer A : Array [1..N] of integer { deklarasi array A dengan tipe data integer } Algoritma For Indeks 1 to N do Proses Array Endfor
sebuah/ sekumpulan elemen yang diakses melalui indeks. Matriks berindek terdiri dari dua bagian yaitu indeks baris dan indeks kolom. Setiap elemen matriks dapat diakses melalui indeksnya
Contoh : Matriks A bernama A dengan ukuran 2 X 3 ( memiliki indeks baris 2 dan indeks kolom 3 ) A[1,1] A[1,2] A[1,N] A[1,1] A[1,N] A[2,1] A[2,N]
A[N,1] A[N,N]
Contoh Latihan : Buat fungsi untuk menjumlahkan seluruh nilai elemen tabel, sesuai algoritma berikut: Function SumTabInt (TI : TabInt ) : integer; For i IdxMin to IdxMax do Sum Sum + TI [ i ] Endfor SumTabInt Sum end
elemen tabel, sesuai algoritma berikut: Function AvgTabInt (TI : TabInt ) : real; For i IdxMin to IdxMax do Sum Sum + TI [ i ]; Endfor SumTabInt Sum / ((IdxMax-IdxMin)+1) end
Pendahuluan
Rini Suwartika K, S.Kom
Email: rinisuwartika@yahoo.com