Alvano Yulian, MSi STMIK Jakarta

Slides:



Advertisements
Presentasi serupa
ARRAY. Array merupakan koleksi data dimana setiap elemen memakai nama yang sama dan bertipe sama dan setiap elemen diakses dengan membedakan index array-nya.
Advertisements

Pemrograman Terstruktur
KONSEP BAHASA PEMROGRAMAN
ARRAY STATIS DAN DINAMIS
DASAR-DASAR PEMROGRAMAN C
STRUKTUR DATA (5) Pointer dan Function
Universitas Muhammadiyah Malang Fakultas Teknik Jurusan Teknik Informatika Semester Genap Nur hayatin, S.ST.
Pointer Konsep Pemrograman.
PERTEMUAN II ARRAY DIMENSI 1 & 2.
ARRAY 2 DIMENSI Array dua dimensi sering digambarkan sebagai sebuah matriks, merupakan perluasan dari array satu dimensi. Jika array satu dimensi hanya.
Konsep dan Defenisi data 1Nurdiansah PTIK 09 UNM.
ARRAY SESI 2.
STRUKTUR DATA (D3) - Review array - Searching (Sequential & Binary)
ARRAY/LARIK Sumber dari : imaru.files.wordpress.com/2008/02/array-struc-pointer.ppt.
Pemrogramman Terstruktur
7. 1 Bab 07 Menginput Nilai melalui Keyboard.
Quiz struktur data Genap 2013.
ARRAY (LARIK)
Pointer dalam Stack.
Pemrograman Berbasis Obyek Oleh Tita Karlita
Dasar Pemrograman ARRAY/LARIK.
Memori dan Scope Variabel
Algoritma & Struktur Data Pointer Evangs Mailoa.
PEMOGRAMAN 1 Pertemuan 3.
Praktikum Struktur Data
Algoritma dan Struktur Data
Elemen Dasar Program C++
Array dan String Array dan String.
STRUKTUR DATA (5) Pointer dan Function
IV. Array.
BASIC DATA TYPES, VARIABLES & OPERATORS
STRUKTUR DATA Pointer dan Function
Algoritma & Pemrograman 1
Array dan String.
Algoritma?!? Flowchart ?!?# DASAR PEMROGRAMAN.
Teknik Pemrog. Terstruktur 2
Array, POINTER dan FUNGSI
Tipe Data Terstruktur Pengantar Logika dan Teknik Pemrograman
Pemrogramman Terstruktur
1 Pertemuan Pengantar Bahasa C Matakuliah: T0616 / Algoritma dan Pemrograman Tahun: 2007 Versi: 1/0.
1 Pertemuan 1 Pengenalan Pemrograman Terstruktur C Matakuliah: H0112 – Pemrograman Bahasa Tingkat Tinggi Tahun: 2005/2006 Versi: xxx/2.
Elemen Dasar C++ Norma Amalia, ST.,M.Eng.
ANALISA DAN DESAIN ALGORITMA
Tipe Data By Serdiwansyah N. A..
Elemen Dasar C Identifier :
Algoritma & pemrograman 1B
Defri Kurniawan, M.Kom STRUKTUR DATA Defri Kurniawan, M.Kom
MATERI 1 Review dan Pengantar C (Struktur Bahasa C, Variabel, Konstanta, Tipe Data, Operator)
Pertemuan 2 ARRAY DIMENSI 1 & 2.
Tipe data & Variabel 1. Bahasa Pascal 2. Tipe data & Variabel
Pemograman Terstruktur
01.3 Hari-1 Sesi-3 Desain Algoritma.
Linked List 6.3 & 7.3 NESTED LOOP.
Looping, Percabangan dan Array
VARIABEL DAN TIPE DATA Erizal, S.Si, M.Kom Sistem Informasi
KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
KONSEP DASAR STRUKTUR DATA
Dasar-dasar Pemrograman
LOGIKA DAN ALGORITMA Erizal, S.Si, M.Kom Sistem Informasi STTI Respati
Array.
Prepared by Yohana Nugraheni
Pemrograman, Bahasa C dan Jenis Data Utama
MATERI 1 Review dan Pengantar C (Struktur Bahasa C, Variabel, Konstanta, Tipe Data, Operator)
Tipe data & Variabel 1. Bahasa Pascal 2. Tipe data & Variabel.
ARRAY 2d (matriks) MERISKA DEFRIANI, S.KOMP
Array.
Array.
Tipe Data Struktur Ridwan, S.T., M.Eng. Pokok Pembahasan Bahan Kajian. Tipe Data Terstruktur Materi Tipe Data: 1.Definisi data, tipe data dan struktur.
Memori dan Scope Variabel
Transcript presentasi:

Alvano Yulian, MSi STMIK Jakarta Array dalam Bahasa C Alvano Yulian, MSi STMIK Jakarta

IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang Pendahuluan (1) Definsi : Kumpulan nilai dengan tipe data yang sama yang menggunakan nama sama. Deklarasi Array : Tipe data elemen array Nama array Jumlah elemen array Contoh : short val[ 200 ]; //declaration val[ 12 ] = 5; //assignment Jika sebuah array y memiliki n elemen, maka: Elemen pertama adalah : y[0] Elemen terakhir adalah : y[n-1] Short y[4], memiliki elemen y[0], y[1], y[2], y[3] Tetapi y[4], bukan merupakan elemen array ini. IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang

IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang Pendahuluan (2) Array dapat dibedakan menjadi : Array berdimensi satu (1D), berpadanan dg vektor di Matematika Array berdimensi dua (2D), berpadanan dg matriks di Matematika Array berdimensi banyak Contoh array integer 1D bernama n yg memiliki 5 elemen, n[0] = 1, n[1] = 3, n[2] = 5, n[3] = 7, n[4] = 9 dideklarasikan sbb: int n[5] = {1,3,5,7,9}; n 1 3 5 7 9 indeks 1 2 3 4 IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang

Alokasi Memory Array (1) Hati-hati dengan indeks array jika ceroboh dapat mengakses data lain hati-hati pula dengan pointer Ilustrasi kasus: int a[6]; int anu; Memori a[0] a[1] a[2] a[3] a[4] a[5] anu Array a[ ] Data lain IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang

Alokasi Memory Array (2) Array, seperti halnya variabel biasa ataupun fungsi harusi dideklarasikan terlebih dahulu. Array dapat dideklarasikan secara global dengan mendeklarasikannya diluar fungsi main Hati-hati jika anda mendeklarasikannya secara (didalam sebuah fungsi atau main), karena, variabel lokal akan dibentukan dalam stack ketikan fungsi tersebut dibentuk, dan akan dihapus ketika fungsi tersebut dihancurkan (ketika fungsi tersebut selesai dieksekusi). Mungkin hal ini tidak bermasalah bagi variabel biasa, namun array umumnya akan menuntut jumlah memory yang sangat besar (array 'float mydata[5000]' akan membutuhkan memory sebesar 20000 bytes), sementara stack hanya memiliki kapasitas sekitar 2000 - 4000 bytes Oleh karena itu untuk array yang besar harus dideklarasikan secara global, atau mempergunakan static statement (static float mydata[5000]; ) jika anda hendak mendeklarasikannya secara local. IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang

Alokasi Memory Array (3) Global arrays selalu bersifat “static” Local arrays selalubersifat “dynamic” Alokasi memory space array dan variabel “static” umumnya lebih besar daripada array dan variabel “dynamic” Untuk membuat local array “static”, deklarasikan secara eksplisit : static short x[200]; Hati-hati dengan batasan 64 kB pada beberapa compiler IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang

Deklarasi dan Inisialisasi Array Deklarasi secara global, semua elemen array akan diinisialiasi dengan nilai nol. Deklarasi secara lokal, elemen array tidak di-inisialisasi. Contoh-contoh deklarasi dan inisialisasi array : short x[ 12 ] = { 1, 3, 88}; double w[ ] = {3.14, 127.0, 22}; Strings: char a_name[ 10 ] = “Hello”; char name[ 20 ] ={‘H’,‘e’,‘l’,’l’,’o’}; Jika anda akan mendeklarasikan ukuran/dimensi array anda harus menggunakan sebuah nilai atau konstanta, jangan variabel short x[12]; Short x[MAX], dimana MAX adalah konstanta IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang

Review Deklarasi Konstanta Contoh deklarasi konstanta #define ACONSTANT 300.0 #define TRUE 1 #define FALSE 0 Catatan: Tidak ada semicolon diakhir deklarasi konstanta Kesepakatan dalam C: nama konstatnta ditulis dengan menggunakan huruf besar semua. IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang

IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang Mengolah Elemen Array Elemen array dapat diakses dengan bentuk: nama_array[subscript] untuk dimensi 1 nama_array[subscript_baris][subscript_kolom] untuk dimensi 2 Dalam pemrograman harus diusahakan agar tidak terjadi pengaksesan elemen di luar jumlah yang didefinisikan. Perlu diketahui, C tidak akan memberikan pesan kesalahan apabila terjadi pengaksesan dengan nilai indeks yang berada di luar nilai yang telah didefinisikan. IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang

Review Sistem Komputer(1) ... RAM 1 2 3 4 5 … 81345 81346 81347 Alamat (disederhanakan) OUTPUT (CONSOLE) CPU HDD INPUT (KEYBOARD) IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang

Review Sistem Komputer(2) Komputer sekarang ini = komputer digital Komputer ini hanya memahami bilangan digital: ‘0’ and ‘1’ Disebut BIT (binary digit) Mewakili tegangan elektronik -5 atau +5 volt (secara mudahnya) ‘Semua’ bilangan dapat direpresentasikan dengan menggunakan bit ini 15  1111 (cukup 4 bit) 253  11111101 (cukup 8 bit) -2.99x108  1001010100101…10101011 (cukup 32 bit, ilustrasi) Kebanyakan bit menyulitkan manusia membaca, jadi dikelompokkan Kelompok 4 bit diwakili dengan bilangan heksa (hexadecimal) Biasa dinotasikan dengan prefiks 0x Co: 1001 ditulis 0x9 Kelompok 8 bit disebut BYTE Perlu 2 angka heksa Co: 1000 1111 ditulis 0x8F IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang

Review Sistem Komputer(3) Merupakan subsistem komputer yang sering menjadi fokus pemrogram: Terutama memori primer (RAM) Memori sekunder lebih banyak diakses sebagai file Jika tidak disebutkan secara khusus, kata ‘memori’ berarti ‘memori primer’ Memori merupakan tempat software berada Jadi, isinya dapat berupa SO, aplikasi atau data Jika ditelusuri lebih rinci lagi, setiap lokasi dapat berisi perintah dan/atau data (angka, alamat, nilai, dsb.) IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang

Review Sistem Komputer(4) Lihat ilustrasi Lebar bit memori saat ini 32 bit (co: Intel Pentium IV) Prosesor 64 bit sudah mulai muncul (co: AMD Athlon64) Memudahkan Manusia Membaca IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang

Review Sistem Komputer(5) Untuk kemudahan pemrograman, komputer dapat dimodelkan secara sederhana terdiri atas prosesor (CPU) memori (RAM) Sebenarnya, CPU hanya memahami instruksi sederhana, misalnya: baca data dari sebuah lokasi memori tulis data ke sebuah lokasi memori jumlahkan dua bilangan bandingkan dua bilangan Ingat, semua ini direpresentasikan dalam bilangan biner! Dinamakan BAHASA MESIN Sebuah program merupakan seruntunan instruksi-instruksi dan data dalam bahasa mesin ini IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang

Review Sistem Komputer(6) Karena manusia mengalami kesulitan ketika harus memberikan perintah dalam bahasa mesin Diciptakanlah bahasa pemrograman yang lebih mendekati bahasa manusia (terutama: bahasa Inggris) COMPILER atau INTERPRETER bertindak sebagai penerjemah bahasa tingkat tinggi ini ke bahasa mesin Compiler Menerjemahkan dari file teks bahasa tingkat tinggi ke file biner bahasa mesin Co: hello.cpp (file teks bahasa C++)  hello.exe (file biner bahasa mesin) Interpreter Menerjemahkan on-the-fly, instruksi per instruksi, jadi tidak menghasilkan file binernya Co: hello.bas (file teks bahasa BASIC)  dijalankan di BASIC prompt Co: hello.m (file teks bahasa Matlab)  dijalankan di Matlab prompt IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang

Review Sistem Komputer(7) C Compiler C++ Program int main() { int i=1; . . . Machine Language Program 01001001 10010100 file teks         file biner (bahasa C++) (bahasa mesin) coba.cpp coba.exe IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang

Review Sistem Komputer(8) Proses penerjemahan bahasa C/C++ ke bahasa mesin Keterangan: bahasa mesin di bawah-kanan ini sebenarnya berupa angka-angka biner (‘dimanusiawikan’ untuk memudahkan pemahaman) x=1; i=0; while (i!=10) { i++; x=x*2; } printf("%d",x); set memory[801] to hold 00000001 set memory[802] to hold 00000000 if memory[802] = 10 jump to inst #8 increment memory[802] set memory[803] to 2 times memory[801] put memory[803] in to memory[801] jump to instruction #3 print memory[801] { IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang

Review Sistem Komputer(9) Biasanya, proses penterjemahan itu beberapa tahap Melalui bahasa assembly ST 1,[801] ST 0,[802] TOP: BEQ [802],10,BOT INCR [802] MUL [801],2,[803] ST [803],[801] JMP TOP BOT: LD A,[801] CALL PRINT 00000000001001011101001100000000 00000000001001001101010000000000 00000000100010100100100111110000 00000000010001000101010000000000 00000000010010001010011110100011 00000000111001011010101100000010 00000000001010010000000000000000 00000000110101010000000000000000 00000000110101001010100000000000 00000000100100010100010000000000 x=1; i=0; while (i!=10) { i++; x=x*2; } printf("%d",x); Bahasa C Bahasa Assembly Bahasa Mesin IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang