Senin, 18 April 2011

Tugas -4

Penjelasan  latihan Soal Struktur Data Pertemuan 4 (stack atau tumpukan)
  1. Stack termasuk (a) linear list atau (b) non linear list.jelaskan.
  2. Apa saja perlakuan yang dimungkinkan sehingga suatu stack dikatakan dalam keadaan hampa?
  3. Sebutkan 4(empat) operasi pada stack dan beri contohnya .
  4. Sebutkan dua kesalahan yang mungkin terjadi pada pengoperasian stack dan pada kondisi seperti apa kesalahan itu bisa terjadi.
  5. konversikan notasi infix A-B*(^D^(E*F/(G-H)) ke notasi positif.

Penjelasan
  1. stack(tumpukan) termasuk linear list/ bentuk khusus dari linear list yang pemasukan dalam penghapusan elemennya hanya dapat dilakukan pada satu posisi , yaitu posisi akhir dari list (top)
  2. Suatu stack dikatakan dalam kondisi hampa jika posisi akhir dari list(top) pada stack berada di posisi top= -1.
  3. 4(empat) operasi pada stack
Sebenarnya ada 6 operasi pada stack yaitu :
    1. push (menginput data pada stack)
Ex : void push (char d[20])
            {
            Tumpukan . top ++ ;
            Strcpy (tumpukan . data [tumpuk . top],d);
            Printf (“data berhasil dimasukkan”);
            }
    1. pop (mengambil data pada stack )
Ex : void pop ()
{
printf (“data %s terambil “,  tumpuk . data [tumpuk . top]);
tumpuk . top -- ;
}
    1. isFull (mengecek apakah stack penuh )
Ex : int isFull ()
            {
            if(tumpuk . top = = max _stack -1)
            return 1;
            else
            return 0;
            }
    1. isEmpty (mengecek apakah stack kosong )
Ex : int isEmpty ()
            {
            if(tumpuk . top = = -1)
            return 1;
            else
            return 0;
            }
    1. clear (membersihkan isi seluruh stack )
Ex : void clear ()
            {
                                    tumpuk . top = -1;
                                    printf (“semua data terhapus “);
                                    }
    1. print (mencetak seluruh isi stack)
Ex : void print ()
            {
            for (int i = tumpuk . top;i>=0 ; i - -)
            printf(“%s\n”,tumpuk . data [i]);
            }
  1. kesalahan yang mungkin terjadi pada pengoperasian stack dan pada kondisi seperti apa kesalahan itu bisa terjadi.
    1. apabila keadaan stack kosong dan kita akan mem-pop (menghapus data) maka akan terjadi kesalahan dan kemudian error(underflow).
    2. apabila keadaan stack penuh dan kita akan men-top (menambah data) maka akan terjadi kesalahan dan kemudian error (underflow).
    5.  konversikan notasi infix  A-B*(^D^(E*F/(G-H)) ke notasi postfix
    infix      = A-B*(^D^(E*F/(G-H))
    postfix  = ABCDEFGH-/*^^*-

    Minggu, 10 April 2011

    Tugas - 3

    Penjelasan  latihan Soal Struktur Data Pertemuan 3 (Array Dimensi  2 dan 3)

    1.      Terdapat Array float A[5][4] dan lokasi awal terletak di alamat 00F(H)
    maka lokasi A[3][4] secara kolom dan baris adalah…

    Penjelasan:
    Diketahui:Float A[5][4]
             @M[0][0]=00F(H)
                            i=3
                            J=4
                           K=5
                           N=4
                           L=4
              
    Ditanyakan:A[3][4]  secara kolom dan baris..?

    => a)Secara baris per baris
                @M[i][j]=@M[0][0]+{(i-1)*N+(j-1)}*L
                  A[3][4]=00F(H) +{(3-1)*4+(4-1)}*4
                             =00F(H) +44(D)
                             =00F(H) +2C(H)
                             =03B(H)

         b)Secara kolom per kolom
                @M[i][j]=@M[0][0]+{(j-1)*K+(i-1)}*L
                  A[3][4]=00F(H) +{(4-1)*5+(3-1)}*4
                             =00F(H) +68(D)
                             =00F(H) +44(H)
                             =053(H)
               

    2.      Terdapat  Array Long Double A[50][75]  dan lokasi awal terletak di alamat 00FF(H) ,
    maka lokasi A[48] [60] secara kolom dan baris adalah…


    Penjelasan:
    Diketahui: Long Double A[50][75]  
                       @M[0][0]=00FF(H)
                   i=48
                   J=60
                   K=50
                   N=75
                   L=10

               
              
    Ditanyakan: A[48] [60] secara kolom dan baris,,,?

     => a)Secara baris per baris
                @M[i][j]=@M[0][0]+{(i-1)*N+(j-1)}*L
                A[48][60]=00FF(H) +{(48-1)*75+(60-1)}*10
                               =00FF(H) +35840(D)
                               =00FF(H) +8C00(H)
                               =8CFF(H)


               
         b)Secara kolom per kolom           
                @M[i][j]=@M[0][0]+{(j-1)*K+(i-1)}*L
                A[48][60]=00FF(H) +{(60-1)*50+(48-1)}*10
                               =00FF(H) +29970(D)
                               =00FF(H) +7512(H)
                               =7611(H)



    3.      Terdapat Array Double A[25][50]  dan lokasi awal terletak di alamat 009F(H) maka lokasi A[17][48]  secara kolom dan baris adalah…

    Jawab:
    Diketahui: Double A[25][50]
              @M[0][0]=009F(H)
                              i=17
                             J=48
                            K=25
                            N=50
                             L=8

    Ditanyakan: => A[17][48]  secara kolom dan baris,,,?

    => a)Secara baris per baris
                @M[i][j]=@M[0][0]+{(i-1)*N+(j-1)}*L
                A[17][48]=009F(H) +{(17-1)*50+(48-1)}*8
                            =009F(H) +6776(D)
                            =009F(H) +1A78(H)
                            =1B07(H)

         b)Secara kolom per kolom           
                @M[i][j]=@M[0][0]+{(j-1)*K+(i-1)}*L
                A[17][48]=009(H) +{(48-1)*25+(17-1)}*8
                               =009(H) +1191(D)
                               =009(H) +4A5(H)
                               =0544(H)




    4.      Deklarasi Array X adalah Double  A[2][4][5] dan lokasi awal terletak di alamat awal index A[0][0][0] berada di  0021(H) ,tentukan berapa alamat Array di A[2][2][2]….

    Jawab:
    Diketahui: Double A[2][4][5]
             M[0][0][0]=0021(H)
                            n=2
                            m=2
                            p=2
                            L=8
                      
    Ditanyakan: A[2][2][2]….?
    => @M[n][m][p]=M[0][0][0]+{((n-1)*(index 1))+ ]+((m-1)*(index 2) +((p-1)*(index 3)}*L
        M[2][2][2]=0021(H) +{((2-1)*(2))+ ]+((2-1)*(4) +((2-1)*(5)}*8
                         =0021(H) +320(D)
                         =0021(H)+140(H)
                         =0161(H)

    Senin, 04 April 2011

    Tugas - 2

    1. Diketahui float A[5] dan lokasi awal terletak di alamat 00F(H),maka lokasi A[3] adalah........
        jawab :
        A[3] = 00F(H) + (3-1)*4
                 = 00F(H) + 8(D)
                       = 00F(H) + 8(H) 
                       = 0017(H)
    2. Diketahui double A[20] dan lokasi awal terletak di alamat 00AB(H),maka lokasi A[15] adalah........
        jawab :
        A[15] = 00AB(H) + (15-1)*8
                   = 00AB(H) +112(D)
                          = 00AB(H) + 70(H)
                          = 011B(H)
    3. Diketahui int A[100] dan lokasi awal terletak di alamat 00FB(H),maka lokasi A[78] adalah........
        jawab :
        A[78] = 00FB(H) + (78-1)*2
                   = 00FB(H) + 154(D)
                          = 00FB(H) + 9A(H)     
                   = 0195(H)
    4. Diketahui char A[50] dan lokasi awal terletak di alamat 00FF(H),maka lokasi A[38] adalah.......
        A[38] = 00FF(H) + (38-1)*1
                   = 00FF(H) + 37(D)    
                          = 00FF(H) + 25(H) 
                   = 0124(H) 

    Template by:
    Free Blog Templates