STRUKTUR DATA, ADT, dan STRUCT

dokumen-dokumen yang mirip
Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

# EIGHT ADT (Abstract Data Type) dan Stack Array

Algoritma dan Struktur Data. Ramos Somya

Bahasa Pemrograman SAHID CHESTERLIZER.

Algoritma Pemrograman. Fery Updi,M.Kom

VARIABEL & TIPE DATA PEMROGRAMAN C++

Chapter 3.2 : Tipe, Nama dan Nilai

Algoritma dan Struktur data

By : Agus Priyanto, M.Kom ST3 Telkom Purwokerto Structure and Pointer

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM TURBO C++

DISUSUN OLEH BAB IX. Structt. //untuk. long. int nip; char. nama[31]; char } HAL 1

Pengenalan C++ Oleh : Dewi Sartika

KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA BAHASA C

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER)

MODUL 9 STRUCT (STRUKTUR)

Konsep Dasar Pemrograman Dan Pengenalan C++

PENGENALAN BAHASA C DAN C++

Identifier dan Tipe Data

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

MI, KA-D3, SIA, SIB. ADI, S.Kom.

Algoritma Pemrograman & Struktur Data

PERTEMUAN 3 KONSEP TIPE DATA

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

IT234 - Algoritma dan Struktur Data. Ramos Somya

Menginisialisasi array sama dengan memberikan nilai awal array pada saat didefinisikan. int nilai[6] = {8,7,5,6,4,3};

TIPE, NAMA, DAN NILAI

P3 Dasar Struktur Data TIF42/SIF42

Bahasa C melengkapi fasilitas modular dengan menggunakan fungsi pada setiap SubProgram. Contoh pembagian program menjadi beberapa subprogram.

Algoritma dan Struktur Data Praktikum 3. Pointer

BAB III Pengenalan Tipe Data dan Bahasa Pemrograman C/C++

PENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini:

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

BAB II TEORI DASAR. Gambar 1 Kurva untuk interpolasi linier. Sehingga diperoleh persamaan dari interpolasi linier sebagai berikut :

STRUKTUR DASAR PEMROGRAMAN

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

Abstrak data tipe. Struktur data-arita witanti ozzy suria Ganjil 2017

Tipe Data dan Operator

Struktur Dasar Bahasa C Tipe Data Dalam bahasa C terdapat lima tipe data dasar, yaitu :

Pengenalan Array. Array Satu Dimensi

Pendahuluan Struktur Data. Nisa ul Hafidhoh

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

8.1 FUNGSI, DEKLARASI DAN DEFINISI NYA

Konsep Pemrograman. Bab 14. Struktur 1. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

MODUL II VARIABEL, TIPE DATA & KONSTANTA

Algoritma dan Struktur Data. Pertemuan 5 Pointer

STRUCT. d e d d y a d i n a n d r a

Pertemuan 2 ARRAY DIMENSI 1 & 2

Achmad Solichin.

MODUL PRAKTIKUM ALGORITMA DAN PEMROGRAMAN

elemen Dasar Bahasa Pemrograman C

LATIHAN SOAL (FUNGSI & PROSEDUR)

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Pointer & Function. Alfa Faridh Suni, S.T., M.T. PTIK

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

BAB I. LARIK (ARRAY) Array (larik) ialah penampung sejumlah data sejenis (homogen) yang menggunakan satu identifier (pengenal).

Selection / Pemilihan PEMILIHAN

Tipe Data, Variabel, Input/Output

ARRAY DIMENSI 1 & 2. Array dapat didefinisikan sebagai suatu himpunan hingga elemen yang terurut dan homogen.

Algoritma Pemrograman. Fery Updi,M.Kom

Struktur Program. Rinta Kridalukmana

PERTEMUAN II Tipe Data, Variabel, Konstanta, Operator

Instalasi Code::Blocks, Tipe Data, Variabel, Konstanta, Operator, Input-Output dan Flowchart

Tipe Data dan Variabel

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

Tipe data dasar merupakan tipe data yang disediakan oleh kompailer, sehingga dapat langsung dipakai Dalam algoritma dan pemrograman yang termasuk dala

Larik/ Array int a1, a2, a3, a4, a5;

mengatur jumlah digit pecahan yang diinginkan mengatur atau mengontrol sejumlah tanda format, misalkan rata kiri, kanan, huruf capital dll.

Keg. Pembelajaran 2 : Mengenal Bahasa C++

StrukturDasarProgram Prosedural (dalambahasac++)

Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah: Perkalian Pembagian Sisa Pembagian (mod) Penjumlahan 6 2

# FOUR LOOPING. JAWABAN 1. #include <stdio.h> #include <conio.h> #define pi void main(){

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

BAB VI BAHASA C Pendahuluan

PEMROGRAMAN BERORIENTASI OBJEK. Tipe Data. Budhi Irawan, S.Si, M.T

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

Algoritma dan Struktur Data. Pointer Pada Struct

Nama : Rendi Setiawan Nim :

Part 2 - Algoritma & Pemrograman Konsep dasar Pemrograman

P 4 Bab 3 : Dasar Pemrograman C

Silabus Struktur Data. Bandung 2013

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

Dosen : Dede Kurniadi, S.Kom.,M.Kom HP :

Struktur Bahasa C dan C++

PRAKTIKUM 2. perubah (variabel), konstanta, fungsi, atau obyek lain yang didefinisikan oleh

6 Modul Praktikum Pemrograman Berorientasi Objek Common Laboratory 2009/2010

MODUL DUA VARIABEL DAN TIPE VARIABEL

MODUL MATA KULIAH PEMROGRAMAN KOMPUTER

REVIEW ARRAY. Institut Teknologi Sumatera

Bahasa C-M6 By Jamilah, Skom 1

LAPORAN RESMI. TIPE DATA ABSTRAK (TYPEDEF dan STRUCT)

Kurikulum Qt. Chapter 4 Function. Fungsi

SUB PROGRAM P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

MODUL PRAKTIKUM BAHASA PEMROGRAMAN TESTRUKTUR MODUL 8 POINTER

PEMROGRAMAN TERSTRUKTUR OLEH : IR. H. SIRAIT, MT

FUNGSI II. Variabel Statis. Sifat variabel statis: Sintaks: static tipe_data nama_variabel; Contoh: static int angka;

BAB 6 FUNGSI TUJUAN PRAKTIKUM

Pemrograman I Bab III Tipe Data, Variabel, dan Operasi Perhitungan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Transkripsi:

Page 1 of 13 STRUKTUR DATA, ADT, dan STRUCT PENGANTAR STRUKTUR DATA Bagaimana cara mengatasi masalah implementasi data 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. Perbedaan antara Tipe Data, Obyek Data dan Struktur Data Tipe data adalah jenis data yang 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 variable bertipe data tersebut. Contoh tipe data di C? Java? Pascal?.NET? 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 pada media penyimpanan secara efektif sehingga dapat digunakan secara efisien, termasuk operasioperasi di dalamnya. Di dalam struktur data kita berhubungan dengan 2 aktivitas:

Page 2 of 13 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] Dengan pemilihan struktur data yang baik, maka problem yang kompleks dapat diselesaikan dengan algoritma yang dapat digunakan secara efisien, operasi-operasi penting dapat dieksekusi dengan sumber daya yang lebih kecil, memori lebih kecil, dan waktu eksekusi yang lebih cepat. 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 Tidak semua struktur data baik dan sesuai. - Contoh untuk problem data bank, problem pengurutan dan pencarian data berbeda.

Page 3 of 13 ADT (Abstract Data Type) 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, class pada Java ADT : Abstract Data Type memperluas konsep UDT dengan menambahkan pengkapsulan atau enkapsulasi, berisi sifat-sifat dan operasioperasi yang bisa dilakukan terhadap kelas tersebut. Contoh: class pada Java 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> < nama_tipe_data_baru> Contoh: #include <stdio.h> #include <conio.h> //deklarasi type data typedef int angka; typedef float pecahan; typedef char huruf; // deskripsi program void main() clrscr(); angka umur;

Page 4 of 13 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(); Hasil: STRUCT 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.

Page 5 of 13 Bentuk umum: typedef struct tipe_data <nama_variable_1>; tipe_data <nama_variable_2>....; Tipe_data <nama_variable_n> Ilustrasi struct struct bisa diumpamakan sebagai sebuah objek, misalnya :objek mahasiswa struct mahasiswa memeiliki property atau attribute atau variable yang melekat padanya: - NIM yaitu karakter sejumlah 8 atau 10 - Nama yaitu karakter - IPK yaitu bilangan pecahan struct tidak memiliki operasi (methode) atau function. struct dapat digunakan dengan craa membuat variable yang bertipe struct tersebut. Misalnya : Variable mahfud bertipe struct mahasiswa Variable agus bertipe struct mahasiswa Dengan demikian mahfud dan agus memiliki NIM, Nama, dan IPK masingmasing Pendeklarasian dan penggunaan Struct (1) (menggunakan typedef) typedef struct Mahasiswa char NIM[8]; char nama[50]; float ipk; ; Note : untuk model ini mungkin tidak semua versi bisa

Page 6 of 13 //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]; Pendeklarasian dan penggunaan Struct (2) (tanpa menggunakan typedef) struct char NIM[8]; char nama[50]; float ipk; mhs; Note : untuk model lebih compatible disemua versi Berarti kita sudah mempunyai variabel mhs yang bertipe data struct seperti diatas. 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: Contoh 1: #include<stdio.h> #include<conio.h> void main() //deklarasi struct struct mahasiswa char nim[10]; char nama[10]; int nilai; mhs[10];

Page 7 of 13 int i=0; int n=0; //deskripsi clrscr(); printf("masukan jumlah data: "); scanf("%d",&n); clrscr(); for(i=1;i<=n;i++) printf("\nnim = ");scanf("%s",mhs[i].nim); printf("\nnama = ");scanf("%s",mhs[i].nama); printf("\nnilai = ");scanf("%d",mhs[i].nilai); printf("\n"); for(i=1;i<=n;i++) printf("\nnim = %s",mhs[i].nim); printf("\nnama = %s",mhs[i].nama); printf("\nnilai = %d",mhs[i].nilai); printf("\n"); getche(); Benarkah program diatas? Contoh Hasilnya:? (mohon ditulis dibawah ini) Contoh 2: #include <stdio.h> #include <conio.h> #define phi 3.14 //langsung dianggap variabel 'lingkaran' struct float jari2; float keliling; float luas; lingkaran;

Page 8 of 13 //fungsi void untuk menghitung luas ingkaran void luaslingkaran() //langsung menggunakan luas lingkaran asli lingkaran.luas = lingkaran.jari2 * lingkaran.jari2 * phi; printf("\nluas lingkaran = %f",lingkaran.luas); //fungsi yang mengembalikan nilai float untuk menghitung keliling lingkaran float kellingkaran(float j) return 2*phi*lingkaran.jari2; int main() clrscr(); printf("jari-jari = ");scanf("%f",&lingkaran.jari2); //panggil fungsi luaslingkaran luaslingkaran(); //panggil fungsi keliling, nilai kembaliannya dikirim ke keliling lingkaran asli lingkaran.keliling = kellingkaran(lingkaran.jari2); //tampilkan keliling lingkaran asli printf("\nkeliling lingkaran = %f",lingkaran.keliling); getch(); Hasilnya:

Page 9 of 13 Latihan - latihan Struct yang berisi struct lain Contoh: #include <stdio.h> #include <conio.h> struct Date int dd; int mm; int yyyy; ; struct Time int h; int m; int s; ; struct Login int ID; Date tgllogin; Time waktulogin; ; int main() Login user1; printf("user 1\n"); printf("id : ");scanf("%d",&user1.id); printf("tanggal Login\n"); printf("hari : ");scanf("%d",&user1.tgllogin.dd); printf("bulan : ");scanf("%d",&user1.tgllogin.mm); printf("tahun : ");scanf("%d",&user1.tgllogin.yyyy); printf("waktu Login\n"); printf("jam : ");scanf("%d",&user1.waktulogin.h); printf("menit : ");scanf("%d",&user1.waktulogin.m); printf("detik : ");scanf("%d",&user1.waktulogin.s); printf("terimakasih\n"); printf("data Anda :\n"); printf("id : %d\n",user1.id); printf("date : %d - %d - %d\n",user1.tgllogin.dd,user1.tgllogin.mm,user1.tgllogin.yyyy); printf("id : %d:%d:%d\n",user1.waktulogin.h,user1.waktulogin.m,user1.waktulogin.s); getch(); Hasil: (tulis dibawah ini)

Page 10 of 13 Array of Struct Contoh: #include <stdio.h> #include <conio.h> struct Date int dd; int mm; int yyyy; ; struct Time int h; int m; int s; ; struct Login int ID; Date tgllogin; Time waktulogin; ; int main() Login user[3]; //3 user for(int i=0;i<3;i++) printf("\nuser ke-%d\n",i+1); printf("id : ");scanf("%d",&user[i].id); printf("tanggal Login\n"); printf("hari : ");scanf("%d",&user[i].tgllogin.dd); printf("bulan : ");scanf("%d",&user[i].tgllogin.mm); printf("tahun : ");scanf("%d",&user[i].tgllogin.yyyy); printf("waktu Login\n"); printf("jam : ");scanf("%d",&user[i].waktulogin.h); printf("menit : ");scanf("%d",&user[i].waktulogin.m); printf("detik : ");scanf("%d",&user[i].waktulogin.s); printf("terimakasih Atas Pengisiannya\n");

Page 11 of 13 printf("\ndata User ke-%d:\n",i+1); printf("login ID : %d\n",user[i].id); printf("login Date : %d - %d - %d\n",user[i].tgllogin.dd,user[i].tgllogin.mm,user[i].tgllogin.yyy y); printf("login Time : %d:%d:%d\n",user[i].waktulogin.h,user[i].waktulogin.m,user[i].wakt ulogin.s); getch(); Hasil : LAMPIRAN:

Page 12 of 13 Contoh penggunaan class pada C++: #include <iostream.h> class Dog private: int age; int weight; public: Dog(); //Constructor ~Dog(); //Destructor void setage(int age); int getage(); void setweight(int weight); int getweight(); void speak(); ; Dog::Dog() age = 0; weight = 0; cout << "Dog Constructor Called" << endl; Dog::~Dog() cout << "Dog Destructor Called" << endl; void Dog::setAge(int age) this->age = age; int Dog::getAge() return age; void Dog::setWeight(int weight) this->weight = weight; int Dog::getWeight() return weight; void Dog::speak() cout << "BARK!!" << endl;

Page 13 of 13 int main() Dog fido; Dog rover; cout << "Rover is " << rover.getage() << " years old." << endl; cout << "He weighs " << rover.getweight() << " lbs." << endl; cout << endl; cout << "Updating Rover's Age and Weight" << endl rover.setage(1); rover.setweight(10); cout << "Rover is " << rover.getage() << " years old." << endl; cout << "He weighs " << rover.getweight() << " lbs." << endl; cout << endl; cout << "Fido is " << fido.getage() << " years old." << endl; cout << "He weighs " << fido.getweight() << " lbs." << endl; cout << "Setting Fido to be the same as Rover" << endl; fido = rover; cout << "Fido is " << fido.getage() << " years old." << endl; cout << "He weighs " << fido.getweight() << " lbs." << endl; rover.speak(); fido.speak(); return 0; Hasil: SOAL-SOAL: 1. Buatlah program menu yang berisi data-data KTP penduduk yang disimpan dalam array struct 1 dimensi