You are on page 1of 7

TUGAS BESAR PEMOGRAMAN 2 INSERT DAN DELETE ELEMENT ARRAY

OLEH KELOMPOK 2 :

Dino Ananda Saputra Syofiarni Wenie Saliska Irfan Setiadi

(1101081016) (1101081006) (1101082008) (1101082032)

Kelas : Teknik Komputer 1 B

Jurusan Teknologi Informasi Politeknik Negeri Padang 2012

TUGAS BESAR PEMOGRAMAN 2 KELOMPOK 2

A. INSERT ARRAY BARU Diinputkan sebuah array yang besarnya ditentukan oleh user, kemudian user dimintai untuk menginsertkan sebuah element array yang isinya juga ditentukan user pada array tersebut. Buatlah program yang dapat menginsertkan nilai array tersebut. Output Program :

1. Algoritma : Algoritma insert_array Kamus A : Array [0..99] of integer Posisi,n,i,nilai : integer Algoritma Input (n) *Banyak Element array* *input Array* For i 0 to (n-1) do Input (A[i]) {End For} Input (posisi) *Element Array baru* Input (nilai) *Nilai pada index element baru array* *Proses mengeser nilai array* For i (n-1) downto (posisi-i) do A[i+1] = A[i] {end for} A[posisi-1] = nilai *menginsertkan nilai baru * *output array baru* For i 0 to n do Output (A[i]) {end for} {end algoritma}
TUGAS BESAR PEMOGRAMAN 2 KELOMPOK 2 2

2. Script Program #include <stdio.h> #include <conio.h> void main() { int A[100], posisi, i, n, nilai; clrscr(); printf("\nMasukan Banyak Element Array = "); scanf("%d", &n); for ( i = 0 ; i < n ; i++ ) { printf("\nNilai Ke-%d = ", i+1); scanf("%d", &A[i]); } printf("\nInsert Lokasi Array = "); scanf("%d", &posisi); printf("\nInsert Nilai Element Array = "); scanf("%d", &nilai); for ( i = n - 1 ; i >= posisi - 1 ; i-- ) A[i+1] = A[i]; A[posisi-1] = nilai; printf("\nOutput Array Baru\n"); for( i = 0 ; i <= n ; i++ ) printf("\nNilai Ke-%d = %d",i+1,A[i]); getch(); } 3. Penjelasan Inti dari program insert array ada 2 perintah di sini : a. Proses pengeseran nilai array yang berada di bawah nilai array baru : for ( i = n - 1 ; i >= posisi - 1 ; i-- ) A[i+1] = A[i]; Array Awal : A[0] 9

A[1] 5

A[2] 7

A[3] 8

A[4] 6

TUGAS BESAR PEMOGRAMAN 2 KELOMPOK 2

Proses penggeseran: A[0] A[1] 9 5 b. Proses Insert Element Array Baru A[posisi-1] = nilai; A[0] 9 A[1] 5 A[3-1] 100

A[2+1] 7

A[3+1] 8

A[4+1] 6

A[2+1] 7

A[3+1] 8

A[4+1] 6

c. Output Array Baru Batas pengulangan penampilan index array ditambahkan 1 karena lebar array kita mengalami penambahan. Sebelumnya i< n maka dirubah menjadi i <= n for( i = 0 ; i <= n ; i++ ) printf("\nNilai Ke-%d = %d",i+1,A[i]); B. DELETE ELEMENT ARRAY Diinputkan sebuah array yang besarnya ditentukan oleh user, Nantinya user akan diminta untuk menghapuskan nilai salah satu nilai pada array yang telah ada. Jika Element array yang akan dihapus ditemukan maka element array tersebut akan dihapus, dan jika tidak ada maka user diberitahukan bahwa element array tidak ada. Buatlah program yang dapat menghapus salah satu element array tersebut ! Output Program :

Atau :

TUGAS BESAR PEMOGRAMAN 2 KELOMPOK 2

1. Algoritma Algoritma delete_array Kamus A : Array [0..99] of integer Posisi,i,n : integer Input (n) *Banyak Element array* *input array* For i 0 to (n-1) do Input (A[i]) {End For} Input (posisi) *Element Array Yang akan di hapus* *Kondisi Pilihan saat penghapusan* *jika element yang akan dihapus tidak ada pada array* If (posisi >= (n+1)) then Output (Penghapusan gagal, Element tidak ditemukan) Else {posisi < (n+1)} *Jika element yang akan dihapus ada pada array* *Proses penghapusan element array* For i (posisi 1) to (n-1) do A[i] = A[i+1] Output (Penghapusan Berhasil Dilakukan) {end for} *Output array setelah penghapusan sebuah element array* For 0 to (n-1) do Output (A[i]) {end for} {end if} {end algoritma}
TUGAS BESAR PEMOGRAMAN 2 KELOMPOK 2 5

2. Script Program #include <stdio.h> #include <conio.h> void main() { int A[100], posisi, i, n; clrscr(); printf("\nMasukan Banyak Element Array = "); scanf("%d", &n); for ( i = 0 ; i < n ; i++ ) { printf("\nMasukan Nilai ke-%d = ",i+1); scanf("%d", &A[i]); } printf("\nInsert Element array yang akan dihapus = "); scanf("%d", &posisi); if ( posisi >= n+1 ) printf("\nPenghapusan gagal, Element Nilai Tidak Ditemukan !"); else { for ( i = posisi - 1 ; i < n - 1 ; i++ ) A[i] = A[i+1]; printf("\nPenghapusan Nilai ke-%d success",posisi); printf("\n\n\tOutput Nilai :\n"); for( i = 0 ; i < n - 1 ; i++ ) printf("\nNilai Ke-%d = %d", i+1,A[i]); } getch(); } 3. Penjelasan Didalam proses delete sebuah element array juga menerapkan prinsip penggeseran element array sesudahnya, sehingga menghimpit atau mengganti nilai array yang ingin dihapus dengan nilai sesudahnya. Namun sebelumnya dilakukan pengecekan terhadap input dari posisi element yang ingin dihapus terhadap element-element array kita yang sudah ada. a. Jika posisi element array yang ingin dihapus tidak ada pada index array if ( posisi >= n+1 ) printf("\nPenghapusan gagal, Element Nilai Tidak Ditemukan !");

TUGAS BESAR PEMOGRAMAN 2 KELOMPOK 2

Jika posisi element array yang diingin dihapus tidak ada pada array kita maka akan muncul pesan Penghapusan gagal, Element tidak ditemukan, karena posisi yang kita inputkan memang tidak ada pada index array kita. b. Jika posisi element array yang ingin dihapus ada pada index array, maka berlaku proses penghapusan dengan cara pergeseran element-element array sesudahnya. else { for ( i = posisi - 1 ; i < n - 1 ; i++ ) A[i] = A[i+1]; printf("\nPenghapusan Nilai ke-%d success",posisi); printf("\n\n\tOutput Nilai :\n"); for( i = 0 ; i < n - 1 ; i++ ) printf("\nNilai Ke-%d = %d", i+1,A[i]); } Pergeseran Element Array atau Penghapusan element Array : for ( i = posisi - 1 ; i < n - 1 ; i++ ) A[i] = A[i+1]; printf("\nPenghapusan Nilai ke-%d success",posisi); Array Awal : A[0] 7

A[1] 9

A[2] 6

A[3] 10

A[4] 5

Proses Pergeseran : A[0] A[1] 7 9

A[2+1] 10

A[3+1] 5

Dihapus Dihapus

Pada 2 tabel array di atas bisa kita lihat, bahwa nilai A[2] = 6 telah dihilangkan dengan digantikan oleh Nilai A[3] = A[2+1]=10 dan juga pada A[3] yang semula kosong akibat pergesaran nilainya digantikan nilainya oleh sebelumnya juga mengalami pergeseran dari element array A[4] = A[3+1] = 5. Sedangkan untuk A[4] telah dihapus atau tidak berisi lagi karena proses penggulangannya berhenti dengan perintah i < (n-1). Dan begitu juga untuk outputnya, pengulangan penampilan nilai index array dikurangi satu. for( i = 0 ; i < n - 1 ; i++ ) printf("\nNilai Ke-%d = %d", i+1,A[i]);

TUGAS BESAR PEMOGRAMAN 2 KELOMPOK 2

You might also like