SlideShare une entreprise Scribd logo
1  sur  21
STRUKTUR DATA




  RAMADHANI,S.KOM
array

• Array adalah suatu tipe data terstruktur
  yang berupa sejumlah data sejenis
  (bertipe data sama) yang jumlahnya tetap
  dan diberi suatu nama tertentu.
• Array dapat berupa array 1 dimensi, 2
  dimensi, bahkan n-dimensi.
DEKLARASI
• tipe_data nama_var_array [ukuran];
• tipe_data          : menyatakan jenis tipe
  data elemen larik (int, char, float, dll)
• nama_var_array : menyatakan nama
  variabel yang dipakai.
• ukuran             : menunjukkan jumlah
  maksimal elemen larik.
• Contoh :
• Int nilai[6];
INISIALISASI
• Menginisialisasi array sama dengan
  memberikan nilai awal array pada saat
  didefinisikan.
• int nilai[6] = {8,7,5,6,4,3};­­­­­
• Contoh diatas berarti berarti anda memesan
  tempat di memori komputer sebanyak 6 tempat
  dengan indeks dari 0-5, dimana indeks ke-0
  bernilai 8, ke-1 bernilai 7, dst, dan dimana
  semua elemennya bertipe data integer.
PENGAKSESAN

nama_var_array [indeks];
• Pengisian dan pengambilan nilai pada
  indeks tertentu dapat dilakukan dengan
  mengeset nilai atau menampilkan nilai
  pada indeks yang dimaksud. Pengaksesan
  elemen array dapat dilakukan berurutan
  atau random berdasarkan indeks tertentu
  secara langsung.
Contoh pengisian
langsung saat
deklarasi:
#include <stdio.h>

void main ()
{ int billy [] = {16, 2, 77, 40, 12071};
 int n, result=0;
 for ( n=0 ; n<5 ; n++ )
 {
   result += billy[n];
 }
 printf("%d",result);
}
Contoh pengaksesan dan pengisian langsung ke tiap
elemen dari array:
  #include <stdio.h>
  #include <conio.h>
  void main ()
  {
   int A [5]={20,9,1986,200,13},n,edit;
   clrscr();
   printf("Data yang laman");
   for (n=0;n<5;n++)
   {
    printf("%i ",A[n]); }
   printf("nData yang baru : n");
   A[0]=4;
   A[1]=2;
   A[2]=1;
   A[3]=3;
   A[4]=5;
   for (n=0;n<5;n++)
   {
    printf("%i ",A[n]); } }
Contoh penghapusan data(elemen) pada array:
  #include <stdio.h>
  #include <conio.h>

  void main ()
  { int A [5]={20,9,1986,200,13},n,hapus;
   clrscr();
   printf("Data yang laman");
   for (n=0;n<5;n++)
   {
     printf("%i ",A[n]);
   }
   printf("data yang ingin dihapus : ");
   scanf("%i",&hapus);
   printf("nData yang baru : n");
   for (n=hapus­1;n<5­1;n++)
   {
     A[n]=A[n+1];
   }
   for (n=0;n<4;n++)
   {
     printf("%i ",A[n]); }}
Stuct
• Struct adalah tipe data 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.
Bentuk Umum

• Bentuk umum:
• typedef struct <nama_struct> {
•        tipe_data <nama_var>;
•        tipe_data <nama_var>;
•        ....
•}
Ada 2 cara pendeklarasian
   struct, yaitu :
• Deklarasi 1:
                           •   Deklarasi 2 :
• typedef struct Mahasiswa
                           •   Struct
  {
                           •    {
• char NIM[8];
                           •   char NIM[8];
• char nama[50];
                           •   char nama[50];
• float ipk;
                           •   float ipk;
• };
                           •   }
                           •   mhs;
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];
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.
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:
Program
•   Contoh 1
•   #include <stdio.h>
•   #include <conio.h>
•   //Pendeklarasian tipe data baru struct Mahasiswa
•   typedef struct Mahasiswa{
•            char NIM[9];
•            char nama[30];
•            float ipk;
•           };
•   void main(){
•        //Buat variabel mhs bertipe data Mahasiswa
•                Mahasiswa mhs;
•                clrscr();
•         printf("NIM = ");scanf("%s",mhs.NIM);
•                printf("Nama = ");scanf("%s",mhs.nama);
•                printf("IPK = ");scanf("%f",&mhs.ipk);
•
•               printf("Data Anda : n");
•               printf("NIM : %sn",mhs.NIM);
•               printf("Nama : %sn",mhs.nama);
•               printf("IPK : %fn",mhs.ipk);
•               getch();
•   }
Hasil
Program
•   #include <stdio.h>
•   #include <conio.h>
•   #define phi 3.14
•   //langsung dianggap variabel 'lingkaran'
•   struct {
•     float jari2;
•     float keliling;
•     float luas;
•   } lingkaran;
•   //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(); }
Hasil
lain
•   #include <stdio.h>
•   #include <conio.h>
•   typedef struct Date{
•              int dd;
•              int mm;
•              int yyyy;
•           };
•   typedef struct Time{
•              int h;
•              int m;
•              int s;
•           };
•   typedef struct Login{
•              int ID;
•              Date tglLogin;
•              Time waktuLogin;
•           };
•   int main(){
•        Login user1;
•
•        printf("USER 1n");
•        printf("ID : ");scanf("%d",&user1.ID);
•        printf("Tanggal Loginn");
•        printf("Hari : ");scanf("%d",&user1.tglLogin.dd);
•        printf("Bulan : ");scanf("%d",&user1.tglLogin.mm);
•        printf("Tahun : ");scanf("%d",&user1.tglLogin.yyyy);
•        printf("Waktu Loginn");
•        printf("Jam : ");scanf("%d",&user1.waktuLogin.h);
•        printf("Menit : ");scanf("%d",&user1.waktuLogin.m);
•        printf("Detik : ");scanf("%d",&user1.waktuLogin.s);
•        printf("Terimakasihn");
•
•        printf("Data   Anda :n");
•        printf("ID :   %dn",user1.ID);
•        printf("Date   : %d - %d - %dn",user1.tglLogin.dd,user1.tglLogin.mm,user1.tglLogin.yyyy);
•        printf("ID :   %d:%d:%dn",user1.waktuLogin.h,user1.waktuLogin.m,user1.waktuLogin.s);
•
•        getch();
•   }
Hasil
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.
• Buatlah struct untuk data lagu yang berisi tentang
  judul lagu, penyanyi, tahun produksi, nomor track dan
  kode album. Ketentuan :
• Jumlah data yang diinputkan dinamis (maks. 20 lagu)

Contenu connexe

En vedette

FACEBOOK presentation
FACEBOOK presentationFACEBOOK presentation
FACEBOOK presentationAsta Seputyte
 
Facts about Facebook
Facts about FacebookFacts about Facebook
Facts about Facebooksportela1
 
Are You Spending Too Much Time On Facebook
Are You Spending Too Much Time On FacebookAre You Spending Too Much Time On Facebook
Are You Spending Too Much Time On FacebookAbhishek Shah
 

En vedette (6)

FACEBOOK presentation
FACEBOOK presentationFACEBOOK presentation
FACEBOOK presentation
 
You tube
You tubeYou tube
You tube
 
Facts about Facebook
Facts about FacebookFacts about Facebook
Facts about Facebook
 
Are You Spending Too Much Time On Facebook
Are You Spending Too Much Time On FacebookAre You Spending Too Much Time On Facebook
Are You Spending Too Much Time On Facebook
 
YOUTUBE
YOUTUBE YOUTUBE
YOUTUBE
 
YouTube Powerpoint
YouTube PowerpointYouTube Powerpoint
YouTube Powerpoint
 

Similaire à Materi 1

Tipe_Data_Terstruktur pada perkuliahan.ppt
Tipe_Data_Terstruktur pada perkuliahan.pptTipe_Data_Terstruktur pada perkuliahan.ppt
Tipe_Data_Terstruktur pada perkuliahan.pptNafisClassic
 
Laporan praktikum modul vii
Laporan praktikum modul viiLaporan praktikum modul vii
Laporan praktikum modul viiDevi Apriansyah
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)Fisma Ananda
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)Faisal Amir
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)Avenzz Venzz
 
6.adp array (larik)
6.adp array (larik)6.adp array (larik)
6.adp array (larik)Hardini_HD
 
Aray dan recrd
Aray dan recrdAray dan recrd
Aray dan recrd555560
 
pemrograman-dasar-cpp_02-variabel-tipe-data.pdf
pemrograman-dasar-cpp_02-variabel-tipe-data.pdfpemrograman-dasar-cpp_02-variabel-tipe-data.pdf
pemrograman-dasar-cpp_02-variabel-tipe-data.pdfFahriAkbar19
 
C programming language notes (5)
C programming language notes (5)C programming language notes (5)
C programming language notes (5)nakomuri
 
materi array 1 dimensi 2 dimensi,multidimensi
materi array 1 dimensi 2 dimensi,multidimensimateri array 1 dimensi 2 dimensi,multidimensi
materi array 1 dimensi 2 dimensi,multidimensiaalfi7645
 
MATERI TYPE DATA.pptx
MATERI TYPE DATA.pptxMATERI TYPE DATA.pptx
MATERI TYPE DATA.pptxppurnama
 
Pelatihan Python Standard Library
Pelatihan Python Standard LibraryPelatihan Python Standard Library
Pelatihan Python Standard LibraryRidwan Fadjar
 

Similaire à Materi 1 (20)

Tipe_Data_Terstruktur pada perkuliahan.ppt
Tipe_Data_Terstruktur pada perkuliahan.pptTipe_Data_Terstruktur pada perkuliahan.ppt
Tipe_Data_Terstruktur pada perkuliahan.ppt
 
Laporan praktikum modul vii
Laporan praktikum modul viiLaporan praktikum modul vii
Laporan praktikum modul vii
 
Array
ArrayArray
Array
 
Nested struct
Nested structNested struct
Nested struct
 
CPP Pendalaman String
CPP Pendalaman StringCPP Pendalaman String
CPP Pendalaman String
 
Pertemuan 6 Fungsi String
Pertemuan 6 Fungsi StringPertemuan 6 Fungsi String
Pertemuan 6 Fungsi String
 
Dasar c
Dasar cDasar c
Dasar c
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6.adp array (larik)
6.adp array (larik)6.adp array (larik)
6.adp array (larik)
 
Aray dan recrd
Aray dan recrdAray dan recrd
Aray dan recrd
 
207 p03
207 p03207 p03
207 p03
 
pemrograman-dasar-cpp_02-variabel-tipe-data.pdf
pemrograman-dasar-cpp_02-variabel-tipe-data.pdfpemrograman-dasar-cpp_02-variabel-tipe-data.pdf
pemrograman-dasar-cpp_02-variabel-tipe-data.pdf
 
C programming language notes (5)
C programming language notes (5)C programming language notes (5)
C programming language notes (5)
 
materi array 1 dimensi 2 dimensi,multidimensi
materi array 1 dimensi 2 dimensi,multidimensimateri array 1 dimensi 2 dimensi,multidimensi
materi array 1 dimensi 2 dimensi,multidimensi
 
MATERI TYPE DATA.pptx
MATERI TYPE DATA.pptxMATERI TYPE DATA.pptx
MATERI TYPE DATA.pptx
 
Pelatihan Python Standard Library
Pelatihan Python Standard LibraryPelatihan Python Standard Library
Pelatihan Python Standard Library
 
GoLang_2
GoLang_2GoLang_2
GoLang_2
 

Materi 1

  • 1. STRUKTUR DATA RAMADHANI,S.KOM
  • 2. array • Array adalah suatu tipe data terstruktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu. • Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.
  • 3. DEKLARASI • tipe_data nama_var_array [ukuran]; • tipe_data : menyatakan jenis tipe data elemen larik (int, char, float, dll) • nama_var_array : menyatakan nama variabel yang dipakai. • ukuran : menunjukkan jumlah maksimal elemen larik. • Contoh : • Int nilai[6];
  • 4. INISIALISASI • Menginisialisasi array sama dengan memberikan nilai awal array pada saat didefinisikan. • int nilai[6] = {8,7,5,6,4,3};­­­­­ • Contoh diatas berarti berarti anda memesan tempat di memori komputer sebanyak 6 tempat dengan indeks dari 0-5, dimana indeks ke-0 bernilai 8, ke-1 bernilai 7, dst, dan dimana semua elemennya bertipe data integer.
  • 5. PENGAKSESAN nama_var_array [indeks]; • Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud. Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan indeks tertentu secara langsung.
  • 6. Contoh pengisian langsung saat deklarasi: #include <stdio.h> void main () { int billy [] = {16, 2, 77, 40, 12071}; int n, result=0; for ( n=0 ; n<5 ; n++ ) { result += billy[n]; } printf("%d",result); }
  • 7. Contoh pengaksesan dan pengisian langsung ke tiap elemen dari array: #include <stdio.h> #include <conio.h> void main () { int A [5]={20,9,1986,200,13},n,edit; clrscr(); printf("Data yang laman"); for (n=0;n<5;n++) { printf("%i ",A[n]); } printf("nData yang baru : n"); A[0]=4; A[1]=2; A[2]=1; A[3]=3; A[4]=5; for (n=0;n<5;n++) { printf("%i ",A[n]); } }
  • 8. Contoh penghapusan data(elemen) pada array: #include <stdio.h> #include <conio.h> void main () { int A [5]={20,9,1986,200,13},n,hapus; clrscr(); printf("Data yang laman"); for (n=0;n<5;n++) { printf("%i ",A[n]); } printf("data yang ingin dihapus : "); scanf("%i",&hapus); printf("nData yang baru : n"); for (n=hapus­1;n<5­1;n++) { A[n]=A[n+1]; } for (n=0;n<4;n++) { printf("%i ",A[n]); }}
  • 9. Stuct • Struct adalah tipe data 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.
  • 10. Bentuk Umum • Bentuk umum: • typedef struct <nama_struct> { • tipe_data <nama_var>; • tipe_data <nama_var>; • .... •}
  • 11. Ada 2 cara pendeklarasian struct, yaitu : • Deklarasi 1: • Deklarasi 2 : • typedef struct Mahasiswa • Struct { • { • char NIM[8]; • char NIM[8]; • char nama[50]; • char nama[50]; • float ipk; • float ipk; • }; • } • mhs;
  • 12. 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];
  • 13. 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.
  • 14. 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:
  • 15. Program • Contoh 1 • #include <stdio.h> • #include <conio.h> • //Pendeklarasian tipe data baru struct Mahasiswa • typedef struct Mahasiswa{ • char NIM[9]; • char nama[30]; • float ipk; • }; • void main(){ • //Buat variabel mhs bertipe data Mahasiswa • Mahasiswa mhs; • clrscr(); • printf("NIM = ");scanf("%s",mhs.NIM); • printf("Nama = ");scanf("%s",mhs.nama); • printf("IPK = ");scanf("%f",&mhs.ipk); • • printf("Data Anda : n"); • printf("NIM : %sn",mhs.NIM); • printf("Nama : %sn",mhs.nama); • printf("IPK : %fn",mhs.ipk); • getch(); • }
  • 16. Hasil
  • 17. Program • #include <stdio.h> • #include <conio.h> • #define phi 3.14 • //langsung dianggap variabel 'lingkaran' • struct { • float jari2; • float keliling; • float luas; • } lingkaran; • //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(); }
  • 18. Hasil
  • 19. lain • #include <stdio.h> • #include <conio.h> • typedef struct Date{ • int dd; • int mm; • int yyyy; • }; • typedef struct Time{ • int h; • int m; • int s; • }; • typedef struct Login{ • int ID; • Date tglLogin; • Time waktuLogin; • }; • int main(){ • Login user1; • • printf("USER 1n"); • printf("ID : ");scanf("%d",&user1.ID); • printf("Tanggal Loginn"); • printf("Hari : ");scanf("%d",&user1.tglLogin.dd); • printf("Bulan : ");scanf("%d",&user1.tglLogin.mm); • printf("Tahun : ");scanf("%d",&user1.tglLogin.yyyy); • printf("Waktu Loginn"); • printf("Jam : ");scanf("%d",&user1.waktuLogin.h); • printf("Menit : ");scanf("%d",&user1.waktuLogin.m); • printf("Detik : ");scanf("%d",&user1.waktuLogin.s); • printf("Terimakasihn"); • • printf("Data Anda :n"); • printf("ID : %dn",user1.ID); • printf("Date : %d - %d - %dn",user1.tglLogin.dd,user1.tglLogin.mm,user1.tglLogin.yyyy); • printf("ID : %d:%d:%dn",user1.waktuLogin.h,user1.waktuLogin.m,user1.waktuLogin.s); • • getch(); • }
  • 20. Hasil
  • 21. 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. • Buatlah struct untuk data lagu yang berisi tentang judul lagu, penyanyi, tahun produksi, nomor track dan kode album. Ketentuan : • Jumlah data yang diinputkan dinamis (maks. 20 lagu)