Kamis, 08 Juli 2021

TUGAS MANDIRI 6

 NAMA :ROTUA SARTIKA SITOMPUL

JURUSAN : SISTEM INFORMASI S1

KELAS : MALAM


SOAL


1 Buat lah 2 cara menginisialisasi array dengan jumlah elemen array sebanyak bulan lahirmu !



Jawab.




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.


Coontoh:

char huruf[9];

int umur[20,];

int kondisi[2] = {0,1};

int arr_dinamis[] = {1,2,3};



Penjelasan contoh.

char huruf[9]: berarti akan memesan tempat di memori komputer sebanyak 9 tempat denganindeks dari 0-8, dimana semua elemennya bertipe data karakter semuanya.

Kalau satu karakter berukuran 1 byte, berarti membutuhkan memori sebesar 9

byte.int umur[10]: berarti akan memesan tempat di memori komputer sebanyak 10 tempat dengan

indeks dari 0-9, dimana semua elemennya bertipe data integer semuanya.Kalau satu integer berukuran 4 bytes, berarti membutuhkan memori sebesar 4 x10 = 20 bytes.int kondisi[2]: berarti akan memesan tempat di memori komputer sebanyak 2 tempat denganindeks 0-1, dimana semua elemennya bertipe data integer semuanya. Dan padacontoh di atas isi elemen-elemennya yang sebanyak 2 buah diisi sekaligus(diinisialisasi) yaitu pada elemen kondisi[0] bernilai 0, dan elemen kondisi[1]bernilai 1.int arr_dinamis[]:berarti mendeklarasikan array dengan ukuran maksimum array tidak diketahui,namun ukuran tersebut diketahui berdasarkan inisialisasi yaitu sebanyak 3elemen, yang isinya 1,2, dan 3. Ingat bahwa array dinamis tidak bisa dibuat

tanpa inisialisasi.Tanda [] disebut juga “elemen yang ke- “. Misalnya “kondisi[0]“ berarti elemen yang ke nol. Array yangsudah dipesan, misalnya 10 tempat tidak harus diisi semuanya, bisa saja hanya diisi 5 elemen saja, baik

secara berurutan maupun tidak. Namun pada kondisi yang tidak sepenuhnya terisi tersebut, tempat

pemesanan di memori tetap sebanyak 10 tempat, jadi tempat yang tidak terisi tetap akan terpesan dandibiarkan kosong.


2 Program di bawah adalah contoh perulangan menggunakan for.

#include <stdio.h>

int main() {

 int i;

 for (i = 1; i < 5; ++i)

 {

 printf("%d \n", i);

 }

 return 0;

}

Ubahlah outpunya dengan tujuan untuk mengeluarkan semua elemen array yang telah dibuat

sebelumnya. Tips : untuk menghitung jumlah elemen array secara otomatis bisa menggunakan

kode berikut.

printf("Banyak elemen array: %d\n", (int) sizeof(array)/s


Jawab




Langkah 1 : int i = 0; di sini variabel i adalah tipe integer dan diinisialisasi ke '0'.

Langkah 2 : untuk(; i<=5; i++); variabel i=0 sudah ditetapkan pada langkah sebelumnya. Titik koma di akhir for loop ini memberi tahu, "tidak ada lagi pernyataan di dalam loop".


Loop 1 : di sini i=0 , kondisi di for(; 0<=5; i++) loop terpenuhi dan kemudian i bertambah dengan '1'(one)

Loop 2 : di sini i=1 , kondisi di for(; 1 <=5; i++) loop memenuhi dan kemudian saya bertambah dengan '1'(satu)

Loop 3 : di sini i=2, kondisi di for(; 2<=5; i++) loop terpenuhi dan kemudian i bertambah dengan '1'(one)

Loop 4 : di sini i=3 , kondisi di for(; 3<=5; i++) loop memenuhi dan kemudian saya bertambah dengan '1'(satu)

Loop 5 : di sini i=4 , kondisi di for(; 4<=5; i++) loop memenuhi dan kemudian saya bertambah dengan '1'(satu)

Loop 6 : di sini i=5 , kondisi di for(; 5<=5; i++) loop terpenuhi dan kemudian i bertambah dengan '1'(one)

Loop 7 : di sini i=6 , kondisi di for(; 6<= 5; i++) loop gagal dan i tidak bertambah.

Langkah 3 : printf("%d", i); di sini nilai i adalah 6. Oleh karena itu outputnya adalah '6'.




Dalam C ketika ekspresi diakhiri dengan titik koma (;) itu menjadi pernyataan. Tetapi ketika kita hanya menempatkan titik koma (;), itu disebut sebagai pernyataan NULL.


Penjelasan untuk masalah ini:


Nah pernyataan for(; i<=5; i++); akan diperlakukan sebagai


for(; i<=5; i++)

;


atau


untuk(; i<=5; i++)

{

;

}


Jadi ketika loop akan mulai, ia akan mengambil nilai awal sebagai 0 dan itu akan memeriksa kondisi (i<=5) karena kondisinya benar, ia akan mengeksekusi badan for loop tetapi karena itu pernyataan nol (;) itu tidak akan melakukan apa pun dan kontrol akan ditransfer ke ekspresi pembaruan (i++). Jadi ulangi langkah tersebut sampai nilai i menjadi 6.


Sekarang sebagai i=6 maka kondisi (i<=5) akan mengembalikan false dan kontrol akan melompat keluar dari loop for dan pernyataan berikutnya setelah loop for akan dieksekusi yaitu printf("%d", i);


Jadi itu akan mencetak nilainya sebagai 6 dan kemudian program akan berhasil dihentikan karena mengembalikan nol ke int main.



Tidak ada komentar:

Posting Komentar

TUGAS MANDIRI 3

NAMA : ROTUA SARTIKA SITOMPUL JURUSAN : SISTEM INFORMASI S1 KELAS : MALAM SOAL: Sebuah perusahaan mempunyai data-data biodata karyawan berup...