2. PENGANTAR
• Bagaimana cara mengatasi masalah
implementasi program dengan komputer?
• Pemahaman masalah secara menyeluruh dan
persiapan data
• Keputusan operasi-operasi yang dilakukan
terhadap data
• Penyimpanan data-data pada memori sehingga
tersimpan dan terstruktur secara logis, operasinya
efisien
• Pengambilan keputusan terhadap bahasa
pemrograman mana yang paling cocok untuk
jenis data yang ada
3. Perbedaan Tipe Data, Obyek Data &
Struktur Data (1)
• Tipe data adalah jenis data yang mampu
ditangani oleh suatu bahasa pemrograman
pada komputer.
• Tiap-tiap bahasa pemrograman memiliki tipe
data yang memungkinkan:
• Deklarasi terhadap variabel tipe data tersebut
• Menyediakan kumpulan operasi yang mungkin
terhadap variabel bertipe data tersebut
• Jenis obyek data yang mungkin
• Contoh tipe data di C? Java? Pascal? .NET?
4. Perbedaan Tipe Data, Obyek Data &
Struktur Data (2)
• Obyek Data adalah kumpulan elemen yang
mungkin untuk suatu tipe data tertentu.
• Mis: integer mengacu pada obyek data -32768 s/d
32767, byte 0 s/d 255, string adalah kumpulan
karakter maks 255 huruf
• Struktur Data adalah cara penyimpanan dan
pengorganisasian data-data pada memori
komputer maupun file secara efektif
sehingga dapat digunakan secara efisien,
termasuk operasi-operasi di dalamnya.
5. Aktivitas Struktur Data
• Di dalam struktur data kita berhubungan
dengan 2 aktivitas:
• Mendeskripsikan kumpulan obyek data yang sah
sesuai dengan tipe data yang ada
• Menunjukkan mekanisme kerja operasi-operasinya
• Contoh: integer (-32768 s/d 32767) dan jenis operasi yang
diperbolehkan adalah +, -, *, /, mod, ceil, floor, <, >, != dsb.
• Struktur data = obyek data + [operasi
manipulasi data]
6. Hubungan SD dan Algoritma
• Dengan pemilihan struktur data yang baik,
maka problem yang kompleks dapat
diselesaikan sehingga algoritma dapat
digunakan secara efisien, operasi-operasi
penting dapat dieksekusi dengan sumber
daya yang lebih kecil, memori lebih kecil, dan
waktu eksekusi yang lebih cepat.
• Tidak semua struktur data baik dan sesuai.
Contoh untuk problem pemrosesan image,
record informasi mahasiswa.
7. Ciri Algoritma
• Ciri algoritma yang baik menurut
Donald E.Knuth:
• Input: ada minimal 0 input atau lebih
• Ouput: ada minimal 1 output atau lebih
• Definite: ada kejelasan apa yang dilakukan
• Efective: langkah yang dikerjakan harus
efektif
• Terminate: langkah harus dapat berhenti
(stop) secara jelas
8. ADT dan UDT atau Tipe Data
Bentukan
• Bahasa pemrograman bisa memiliki tipe data:
• Built-in : sudah tersedia oleh bahasa
pemrograman tersebut
• Tidak berorientasi pada persoalan yang dihadapi.
• UDT : User Defined Type, dibuat oleh pemrogram.
• Mendekati penyelesaian persoalan yang dihadapi
• Contoh: record pada Pascal, struct pada C.
• ADT : Abstract Data Type
• memperluas konsep UDT dengan menambahkan
pengkapsulan atau enkapsulasi, berisi sifat-sifat dan
operasi-operasi yang bisa dilakukan terhadap kelas
tersebut.
• Contoh: class pada Java
9. UDT (2)
• Bahasa C memiliki tipe data numerik dan
karakter (seperti int, float, char dan lain-
lain). Disamping itu juga memiliki tipe
data enumerasi dan structure. Bagaimana
jika kita ingin membuat tipe data baru?
• Untuk pembuatan tipe data baru
digunakan keyword typedef
• Bentuk umum:
typedef <tipe_data_lama> <tipe_data_baru>;
10. Program
• Contoh:
• #include <stdio.h>
• #include <conio.h>
• typedef int angka;
• typedef float pecahan;
• typedef char huruf;
• void main(){
• clrscr();
• angka umur;
• pecahan pecah;
• huruf h;
•
huruf nama[10];
• printf("masukkan umur anda : ");scanf("%d",&umur);
• printf("Umur anda adalah %d",umur);
• printf("nmasukkan bilangan pecahan : ");scanf("%f",&pecah);
• printf("Bilangan pecahan %f",pecah);
• printf("nmasukkan huruf : ");h=getche();
• printf("nHuruf anda %c",h);
• printf("nmasukkan nama : ");scanf("%s",nama);
• printf("Nama anda %s",nama);
• getch();
• }
12. Struct / record
• Struct adalah tipe data bentukan yang berisi
kumpulan variabel-variabel yang bernaung dalam
satu nama yang sama dan memiliki kaitan satu sama
lain.
• Berbeda dengan array hanya berupa kumpulan
variabel yang bertipe data sama, struct bisa memiliki
variabel-variabel yang bertipe data sama atau
berbeda, bahkan bisa menyimpan variabel yang
bertipe data array atau struct itu sendiri.
• Variabel-variabel yang menjadi anggota struct
disebut dengan elemen struct.
13. Bentuk Umum
• Bentuk umum:
• typedef struct <nama_struct> {
• tipe_data <nama_var>;
• tipe_data <nama_var>;
• ....
• }
14. Pendeklarasian dan penggunaan
Struct (1) (menggunakan typedef)
• typedef struct Mahasiswa {
• char NIM[8];
• char nama[50];
• float ipk;
• };
• untuk menggunakan struct Mahasiswa dengan
membuat variabel mhs dan mhs2
• Mahasiswa mhs,mhs2;
• untuk menggunakan struct Mahasiswa dengan
membuat variabel array m;
• Mahasiswa m[100];
15. Pendeklarasian dan penggunaan
Struct (2) (tanpa menggunakan
typedef)
• struct {
• char NIM[8];
• char nama[50];
• float ipk;
• } mhs;
• Berarti kita sudah mempunyai variabel
mhs yang bertipe data struct seperti
diatas.
16. Cara penggunaan struct dan
pengaksesan elemen-elemennya
• Penggunaan/pemakaian tipe data struct
dilakukan dengan membuat suatu variabel
yang bertipe data struct tersebut
• Pengaksesan elemen struct dilakukan secara
individual dengan menyebutkan nama
variabel struct diikuti dengan operator titik (.)
• Misalnya dengan struct mahasiswa seperti
contoh di atas, kita akan akses elemen-
elemennya seperti contoh berikut:
25. Operasi data pada array of
struct
• Tambah
• Hapus
• Edit
• Lihat contoh!
26. LATIHAN
• Buatlah program menu yang berisi
data-data KTP penduduk yang disimpan
dalam array struct 1 dimensi dan dapat
dilakukan penambahan data, pencarian
data, penampilan data dan
penghapusan data.
• NEXT : SEARCHING ARRAY