Minggu, 23 April 2017

(INTERPOLASI AND CURVE FITTING)


A.      TUJUAN
Tujuan dari praktikum kali ini adalah sebagai berikut:
1.      Mampu menerapkan metode Newton untuk menetukan koefisien polinomial dan evaluasi polinomial.
2.      Mampu menerapkan metode Newton untuk Neville polynomial.
B.       LANDASAN TEORI
Matlab (atau Matrix Laboratorium) adalah software komputer yang mengandung numerikal dan bahasa pemrograman komputer. Software ini biasanya diaplikasikan pada ilmu komputasi, pemrograman, dan membantu pengerjaan pada bidang matematika.
Matlab dibuat bertujuan untuk mempermudah akses untuk perangkat lunak matrix yang di kembangkan oleh linpack (sistem paket linear) dan eispack (sistem paket eigen). Matlab adalah bahasa kinerja tinggi untuk komputasi teknis. Ini mengintegrasikan komputasi, visualisasi, dan lingkungan pemrograman. Selanjutnya, matlab adalah lingkungan bahasa pemrograman modern: memiliki struktur data yang canggih , berisi built-in editing dan alat debugging, dan mendukung pemrograman berorientasi obyek.faktor-faktor ini membuat matlab aplikasi yang sangat baik untuk pengajaran dan penelitian (Ameliaadz 2013).
Dalam analisis numerik, metode Newton (juga dikenal sebagai metode Newton-Raphson), yang mendapat nama dari Isaac Newton dan Joseph Raphson, merupakan metode yang paling dikenal untuk mencari hampiran terhadap akar fungsi riil(Bismo Setijo, 1999).
Metode Newton sering konvergen dengan cepat, terutama bila iterasi dimulai "cukup dekat" dengan akar yang diinginkan. Namun bila iterasi dimulai jauh dari akar yang dicari, metode ini dapat meleset tanpa peringatan. Implementasi metode ini biasanya mendeteksi dan mengatasi kegagalan konvergensi.
Diketahui fungsi ƒ(x) dan turunannya ƒ '(x), kita memulai dengan tebakan pertama, x0. Hampiran yang lebih baik x1 adalah
Deskripsi metode Newton


Ilustrasi salah satu iterasi metode Newton (fungsi ƒ ditunjukkan dengan warna biru dan garis singgung dalam warna merah). Kita melihat bahwa xn+1 adalah hampiran yang lebih baik daripada xn untuk akar x dari fungsi f.

Gagasan metode ini adalah sebagai berikut: kita memulai dengan tebakan awal yang cukup dekat terhadap akar yang sebenarnya, kemudian fungsi tersebut dihampiri dengan garis singgungnya (yang dapat dihitung dengan alat-alat kalkulus, dan kita dapat menghitung perpotongan garis ini dengan sumbu-x (yang dapat dilakukan dengan mudah menggunakan aljabar dasar). Perpotongan dengan sumbu-x ini biasanya merupakan hampiran yang lebih baik ke akar fungsi daripada tebakan awal, dan metode ini dapat diiterasi.

Misalkan ƒ : [a, b] → R adalah fungsi terturunkan yang terdefinisi pada selang [a, b] dengan nilai merupakan bilangan riil R. Rumus untuk menghampiri akar dapat dengan mudah diturunkan. Misalkan kita memiliki hampiran mutakhir xn. Maka kita dapat menurunkan hampiran yang lebih baik, xn+1 dengan merujuk pada diagram di kanan. Kita tahu dari definisi turunan pada suatu titik bahwa itu adalah kemiringan garis singgung pada titik tersebut, yaitu:
Di sini, f ' melambangkan turunan fungsi f. Maka dengan aljabar sederhana kita mendapatkan

Kita memulai proses dengan nilai awal sembarang x0. Metode ini biasanya akan mengerucut pada akar, dengan syarat tebakan awal cukup dekat pada akar tersebut, dan bahwa ƒ'(x0) ≠ 0(Anonim).

C.      ALGORITMA DAN FLOWCHART
3.1.            Algoritma
A.    Function NewtonPoly
Algoritma pada function NewtonPoly adalah sebagai berikut:
a.       Menginput nilai xData dan yData dimana
xData = [0.15; 2.3; 3.15; 4.85; 6.25; 7.95;]
yData = [4.79867; 4.49013; 4.22430; 3.47313;2.66674; 1.51909]
b.      Menghitung nilai
n=length(xData)
p=a(n)   
c. Menghitung matriks k dengan eliminasi NewtonPoly
k = 1:n-1
d.      Menghitung nilai p
p = a(n-k) + (x - xData(n-k))*p
e.       Menampilkan hasil dari nilai p

B.     Function NewtonCoeff
Algoritma pada function NewtonCoeff adalah sebagai berikut:
a.       Menginput nilai xData dan yData dimana
xData = [0.15; 2.3; 3.15; 4.85; 6.25; 7.95;]
yData = [4.79867; 4.49013; 4.22430; 3.47313;2.66674; 1.51909]
b.      Menghitung nilai
n = length(xData)
a = yData
c.       Menghitung matriks k dengan eliminasi NewtonCoeff
k =2:n
d.      Menghitung nilai a
a(k:n)=(a(k:n) - a(k-1))./(xData(k:n) - xData(k-1))
e.       Menampilkan hasil dari nilai a

C.    Function Neville
Algoritma pada function Neville adalah sebagai berikut:
a.       Menginput nilai xData dan yData dimana
xData = [-1.2;0.3;1.1]
yData = [-5.76;-5.61;-3.69]
b.      Menghitung nilai
n = length(xData)
y = yData
c.       Menghitung matriks k dengan eliminasi Neville
k =2:n
d.      Menghitung nilai yInterp
y(1:n-k) = ((x - xData(k+1:n)).*y(1:n-k)...
              + (xData(1:n-k) - x).*y(2:n-k+1))...
              ./(xData(1:n-k) - xData(k+1:n))
e.       Menampilkan hasil dari nilai yInterp




















3.2.            Flowchart
*      Flowchart NewtonPoly
START
Input nilai xData =[0.15; 2.3; 3.15; 4.85; 6.25; 7.95;]
yData =[4.79867; 4.49013; 4.22430; 3.47313;2.66674; 1.51909]

n = length(xData)
p = a(n)

p = a(n-k) + (x - xData(n-k))*p


k = 1:n-1


p
k
STOP
 






























*      Flowchart NewtonCoeff
START
Input nilai xData =[0.15; 2.3; 3.15; 4.85; 6.25; 7.95;]
yData =[4.79867; 4.49013; 4.22430; 3.47313;2.66674; 1.51909]

n = length(xData)
a = yData


a(k:n) = (a(k:n) - a(k-1))./(xData(k:n) - xData(k-1))


k =2:n

a
k
STOP
 































*      Flowchart Neville
START
STOP
yInterp
yInterp = y(1)

k
y(1:n-k) = ((x - xData(k+1:n)).*y(1:n-k)...
              + (xData(1:n-k) - x).*y(2:n-k+1))...
              ./(xData(1:n-k) - xData(k+1:n))


k = 1:n-1


n = length(xData)
y = yData

Input nilai yData = [-1.2;0.3;1.1]
xData = [-5.76;-5.61;-3.69]



 































D.      HASIL DAN PEMBAHASAN
4.1.  Hasil
Nomor 1
·                         Menggunakan Neville’s method
function yInterp = neville(xData,yData,x)
% Neville's polynominal interpolation;
% return the value of the interpolant at x.
% USAGE: yInterp = neville(xData,yData,x)
% xData = x-coordinates of data points.
% yData = y-coordinates of data points.

x=0;
yData = [-1.2;0.3;1.1]';
xData = [-5.76;-5.61;-3.69]';

n = length(xData);
y = yData;
for k = 1:n-1
    y(1:n-k) = ((x - xData(k+1:n)).*y(1:n-k)...
              + (xData(1:n-k) - x).*y(2:n-k+1))...
              ./(xData(1:n-k) - xData(k+1:n));
end
yInterp = y(1);
ans =

  -93.2000


Published with MATLAB® 7.6
·         Menggunakan eliminasi Lagrange’s method
x1=0;
xData = [-1.2;0.3;1.1];
yData = [-5.76;-5.61;-3.69];
 
n=length(xData);
for i=1:n
    ih=1;
    ir=0;
    for ir=ir+1:n
        if (ir==i)
            ir=i+1;
        elseif (ir~=i)
            ih=ih*((x1-xData(ir))/(xData(i)-xData(ir)));
        end
    end
    y(i)=ih*yData(i);
    yHasil=sum(y);
end
display(yHasil);
yHasil =
 
   -6.0000
 

Published with MATLAB® 7.6
Nomor2
Orde 3
x1=0;
xData = [0;0.5;1;1.5];
yData = [1.8421;2.4694;2.4921;1.9047];
 
n=length(xData);
for i=1:n
    ih=1;
    ir=0;
    for ir=ir+1:n
        if (ir==i)
            ir=i+1;
        elseif (ir~=i)
            ih=ih*((x1-xData(ir))/(xData(i)-xData(ir)));
        end
    end
    y(i)=ih*yData(i);
    yHasil=sum(y);
end
display(yHasil);
yHasil =
 
    1.8421
 

Published with MATLAB® 7.6
Orde 4
x1=0;
xData = [0;0.5;1;1.5;2];
yData = [1.8421;2.4694;2.4921;1.9047;0.8509];
 
n=length(xData);
for i=1:n
    ih=1;
    ir=0;
    for ir=ir+1:n
        if (ir==i)
            ir=i+1;
        elseif (ir~=i)
            ih=ih*((x1-xData(ir))/(xData(i)-xData(ir)));
        end
    end
    y(i)=ih*yData(i);
    yHasil=sum(y);
end
display(yHasil);
yHasil =
 
    1.8421
 

Published with MATLAB® 7.6

Nomor 3
function yInterp = neville(xData,yData,x)
% Neville's polynominal interpolation;
% return the value of the interpolant at x.
% USAGE: yInterp = neville(xData,yData,x)
% xData = x-coordinates of data points.
% yData = y-coordinates of data points.
 
x=0.7679;
xData = [0;0.5;1;1.5]';
yData = [1.8421;2.4694;2.4921;1.9047]';
 
n = length(xData);
y = yData;
for k = 1:n-1
    y(1:n-k) = ((x - xData(k+1:n)).*y(1:n-k)...
              + (xData(1:n-k) - x).*y(2:n-k+1))...
              ./(xData(1:n-k) - xData(k+1:n));
end
yInterp = y(1);
ans =
 
    2.5571

Published with MATLAB® 7.6

Nomor 4
function yInterp = neville(xData,yData,x)
% Neville's polynominal interpolation;
% return the value of the interpolant at x.
% USAGE: yInterp = neville(xData,yData,x)
% xData = x-coordinates of data points.
% yData = y-coordinates of data points.
 
x=pi/4;
xData = [0;0.5;1;1.5;2]';
yData = [-1.00;1.75;4.00;5.75;7.00]';
 
n = length(xData);
y = yData;
for k = 1:n-1
    y(1:n-k) = ((x - xData(k+1:n)).*y(1:n-k)...
              + (xData(1:n-k) - x).*y(2:n-k+1))...
              ./(xData(1:n-k) - xData(k+1:n));
end
yInterp = y(1);
ans =
    3.0955

Published with MATLAB® 7.6
Nomor 5
x1=pi/2;
xData = [0;0.5;1;1.5;2];
yData = [-0.7854;0.6529;1.7390;2.2071;1.9425];
 
n=length(xData);
for i=1:n
    ih=1;
    in=0;
    for in=in+1:n
        if (in==i)
            in=i+1;
        elseif (in~=i)
            ih=ih*((x1-xData(in))/(xData(i)-xData(in)));
        end
    end
    y(i)=ih*yData(i);
    yHasil=sum(y);
end
display(yHasil);
yHasil =
 
    2.2149
·         Dengan nilai pi/4
x1=pi/4;
xData = [0;0.5;1;1.5;2];
yData = [-0.7854;0.6529;1.7390;2.2071;1.9425];
 
n=length(xData);
for i=1:n
    ih=1;
    in=0;
    for in=in+1:n
        if (in==i)
            in=i+1;
        elseif (in~=i)
            ih=ih*((x1-xData(in))/(xData(i)-xData(in)));
        end
    end
    y(i)=ih*yData(i);
    yHasil=sum(y);
end
display(yHasil);
yHasil =
 
   -4.3061
 
·         
Published with MATLAB® 7.6
Nomor 6
xData = [-2 1 4 -1 3 -4]';
yData = [-1 2 59 4 24 -53]';
 
n=length(xData);
dy=[xData yData];
for hik=3:n+1
    ma=hik-3;
    for ma=ma+2:n
        dy(ma,hik)=(dy(ma,hik-1)-dy(hik-2,hik-1))/(dy(ma,1)-dy(hik-2,1));
        dyHasil=dy;
    end
end
display(dyHasil);
dyHasil =
 
    -2    -1     0     0     0     0     0
     1     2     1     0     0     0     0
     4    59    10     3     0     0     0
    -1     4     5    -2     1     0     0
     3    24     5     2     1     0     0
    -4   -53    26    -5     1     0     0
 

Published with MATLAB® 7.6
Nomor 7
xData = [-3;2;-1;3;1]';
yData = [0;5;-4;12;0]';
 
a = newtonCoeff(xData,yData);
'     x       yInterp    yExact'
 
for x = 0: 0.5: 8
    y = newtonPoly(a,xData,x);
    yExact = 4.8*cos(pi*x/20);
    fprintf('%10.5f',x,y,yExact)
    fprintf('\n')
end
ans =
 
     x       yInterp    yExact
 
   0.00000  -3.00000   4.80000
   0.50000  -1.75000   4.78520
   1.00000   0.00000   4.74090
   1.50000   2.25000   4.66738
   2.00000   5.00000   4.56507
   2.50000   8.25000   4.43462
   3.00000  12.00000   4.27683
   3.50000  16.25000   4.09267
   4.00000  21.00000   3.88328
   4.50000  26.25000   3.64995
   5.00000  32.00000   3.39411
   5.50000  38.25000   3.11735
   6.00000  45.00000   2.82137
   6.50000  52.25000   2.50799
   7.00000  60.00000   2.17915
   7.50000  68.25000   1.83688
   8.00000  77.00000   1.48328

Published with MATLAB® 7.6
Nomor 8
function yInterp = neville(xData,yData,x)
% Neville's polynominal interpolation;
% return the value of the interpolant at x.
% USAGE: yInterp = neville(xData,yData,x)
% xData = x-coordinates of data points.
% yData = y-coordinates of data points.
 
x=0;
yData = [-1;1;3]';
xData = [17;-7;-15]';
 
n = length(xData);
y = yData;
for k = 1:n-1
    y(1:n-k) = ((x - xData(k+1:n)).*y(1:n-k)...
              + (xData(1:n-k) - x).*y(2:n-k+1))...
              ./(xData(1:n-k) - xData(k+1:n));
end
yInterp = y(1);
ans =
 
   -0.2031
Nomor 9
x1 = 1;
xData = [0;3;6]';
yData = [1.225;0.905;0.652]';
 
n=length(xData);
for i=1:n
    ih=1;
    in=0;
    for in=in+1:n
        if (in==i)
            in=i+1;
        elseif (in~=i)
            ih=ih*((x1-xData(in))/(xData(i)-xData(in)));
        end
    end
    y(i)=ih*yData(i);
    yHasil=sum(y);
end
display(yHasil);
yHasil =
 
    1.1109
 

Published with MATLAB® 7.6

Nomor 14
function yInterp = neville(xData,yData,x)
% Neville's polynominal interpolation;
% return the value of the interpolant at x.
% USAGE: yInterp = neville(xData,yData,x)
% xData = x-coordinates of data points.
% yData = y-coordinates of data points.
 
x=1.1;
% xData = [-2.0;-0.1;-1.5;0.5]';
% yData = [2.2796;1.0025;1.6467;1.0635]';
xData = [-0.6;2.2;1.0;1.8]';
yData = [1.0920;2.6291;1.2661;1.9896]';
 
n = length(xData);
y = yData;
for k = 1:n-1
    y(1:n-k) = ((x - xData(k+1:n)).*y(1:n-k)...
              + (xData(1:n-k) - x).*y(2:n-k+1))...
              ./(xData(1:n-k) - xData(k+1:n));
end
yInterp = y(1);
ans =
 
    1.3228
 

Published with MATLAB® 7.6
Nomor 15
function cpInterp = neville(tData,cpData,t)
% Neville's polynominal interpolation;
% return the value of the interpolant at x.
% USAGE: yInterp = neville(xData,yData,x)
% xData = x-coordinates of data points.
% yData = y-coordinates of data points.
 
t=200;
tData = [-250;-200;-100;0;100;300]';
cpData = [0.0163;0.318;0.699;0.870;0.941;1.04]';
 
n = length(tData);
cp = cpData;
for k = 1:n-1
    cp(1:n-k) = ((t - tData(k+1:n)).*cp(1:n-k)...
              + (tData(1:n-k) - t).*cp(2:n-k+1))...
              ./(tData(1:n-k) - tData(k+1:n));
end
cpInterp = cp(1);
ans =
 
    0.9933
 

Published with MATLAB® 7.6
Nomor 16
x1=0.46;
xData = [0;0.0204;0.1055;0.241;0.582;0.712;0.981]';
yData = [0.385;1.04;1.79;2.63;4.39;4.99;5.27]';
 
n=length(xData);
for i=1:n
    ih=1;
    is=0;
    for is=is+1:n
        if (is==i)
            is=i+1;
        elseif (is~=i)
            ih=ih*((x1-xData(is))/(xData(i)-xData(is)));
        end
    end
    y(i)=ih*yData(i);
    yHasil=sum(y);
end
display(yHasil);
yHasil =
 
    4.8785
 

Published with MATLAB® 7.6
Nomor19
x1=90;
xData = [0;21.1;37.8;54.4;71.1;87.8;100]';
yData = [1.79;1.13;0.696;0.519;0.338;0.321;0.296]';
 
n=length(xData);
for i=1:n
    ih=1;
    in=0;
    for in=in+1:n
        if (in==i)
            in=i+1;
            ih=ih*((x1-xData(in))/(xData(i)-xData(in)));
        end
    end
    y(i)=ih*yData(i);
    yHasil=sum(y);
end
display(yHasil);
yHasil =
 
    0.3334
 

Published with MATLAB® 7.6
Nomor 20
x1=10.5;
xData = [1;1.525;3.050;4.755;6.10;7.625;9.150]';
yData = [1;0.8617;0.738;0.6292;0.5328;0.4481;0.3741]';
 
n=length(xData);
for i=1:n
    ih=1;
    in=0;
    for in=in+1:n
        if (in==i)
            in=i+1;
        elseif (in~=i)
            ih=ih*((x1-xData(in))/(xData(i)-xData(in)));
        end
    end
    y(i)=ih*yData(i);
    yHasil=sum(y);
end
display(yHasil);
yHasil =
 
    0.4818
 

Published with MATLAB® 7.6
 
 
 
 
4.2 Pembahasan
Metode Numerik adalah teknik untuk menyelesaikan permasalahan-permasalahan yang diformulasikan secara matematik dengan cara operasi hitungan (arithmetic).Beberapa definisi metode numerik dikemukakan ahli matematika, misalnya metode numerik  adalah teknik di mana masalah matematika diformulasikan sedemikian rupa sehingga dapat diselesaikan oleh pengoperasian aritmetika. Metode numerik adalah teknik -teknik yang digunakan untuk merumuskan masalah matematika agar dapat diselesaikan han ya dengan operasi hitungan, yang terdiri dari operasi tambah, kurang, kali dan bagi.
Polinomial Newton adalah polinom interpolasi untuk kumpulan titik data tertentu dalam bentuk Newton. Polinomial Newton kadang-kadang disebut perbedaan interpolasi polinomial Newton, karena koefisien polinomial dihitung dengan menggunakan perbedaan yang terbagi. Keakuratan interpolasi polinomial bergantung pada seberapa dekat titik interpolasi ke tengah nilai x dari himpunan titik yang digunakan. Jelas, karena poin baru ditambahkan di salah satu ujungnya, kelas menengah itu semakin jauh dan jauh dari titik data pertama. Oleh karena itu, jika tidak diketahui berapa banyak poin yang akan dibutuhkan untuk keakuratan yang diinginkan, nilai tengah x mungkin jauh dari tempat interpolasi selesai.
Praktikum yang ke dua yang berjudul Interpolation And Curve Fitting, dimana function yang digunakan yaitu metode Lagrange, NewtonPoly, Function NewtonCoeff, dan function Neville. Pada soal nomor satu menggunakan metode Neville’s method dan metode Lagrange dimana hal yang pertama  dilakukan yaitu menginput nilai Neville’s method  dimana nilai yData = [-1.2;0.3;1.1]'; dan  xData = [-5.76;-5.61;-3.69]'; selanjutnya di disimpan lalu di run sehinga mendapatkan nilai ans =-93.2000 selanjutnya pada metode Lagrange’s method  dimana x1=0; xData= [1.2 ; 0. 3 ;1. 1] dan  yData= [5.76; 5.61;-3; 69].  selanjutnya di disimpan lalu di run sehinga mendapatkan yHasil =-6.0000.
Selanjutnya  percobaan kedua kami menggunakan metode NewtonPoly dimana cara yang digunakan yaitu terlebih dahulu menginput nilai xData =[0.15; 2.3; 3.15; 4.85;   6.25; 7.95;], yData =[4.79867; 4.49013; 4.22430; 3.47313;2.66674; 1.51909], kemudian menghitung nilai n=length kemudian menghitung nilai k hingga habis atau biasa yang disebut dengan proses pengulangan. Kemudian menampilkan output atau hasil.
Analisis metode Numerik pada Polynomial Newton seperti pada problem set nomor 6 cara yang dilakukan yaitu terlebih dahulu menginput matriks  xData = [-2 1 4 -1 3 -4]'; yData = [-1 2 59 4 24 -53]'; kemudian menghitug nilai n=length  (xData), setelah itu memasukkan rumus dy(ma,hik)=(dy(ma,hik-1)-dy(hik-2,hik-1))/(dy(ma,1)-dy(hik-2,1))  kemudian RUN untuk mendapakan yhasil.
Selajutnya metode Neville digunakan pada nomor  3 dimana pertama yang dilakukan yaitu dengan memasukkan nilai x=0.7679; xData = [0;0.5;1;1.5]'; yData = [1.8421;2.4694;2.4921;1.9047]'; kemudian menghitung n=length (xData), untuk mendapatkan nilai y masukkan rumus  y(1:n-k) = ((x - xData(k+1:n)).*y(1:n-k) + (xData(1:n-k) - x).*y(2:n-k+1))/(xData(1:n-k) - xData(k+1:n));, kemudian RUN untuk mendapatkan yInterp.
Untuk menghitung function NewtonCoeff yang pertma dilakukan yaitu menginput nilai Input nilai xData =[0.15; 2.3; 3.15; 4.85; 6.25; 7.95;]yData =[4.79867; 4.49013; 4.22430; 3.47313;2.66674; 1.51909], kemudian menghitung n = length(xData), kemudian menghitung nilai Menghitung nilai a(k:n)=(a(k:n) - a(k-1))./(xData(k:n) - xData(k-1)). Untuk Menampilkan hasil dari nilai a .maka klik RUN.



E.       PENUTUP
5.1 Kesimpulan
        Kesimpulan pada praktikum kali ini adalah sebagai berikut :
1.Dalam menentukan koefisien polinomial dan evaluasi polinomial dengan menggunakan metode newton terdiri atas metode Lagrange, Polynomial Newton, newtonPoly dan newtonCoeff dimana dari semua metode ini memiliki program yang berbeda yang diterapkan pada problem sheet 3.1 pada nomor 1(a), 2 , 5, 9, 15, 16, 19 dan 20 untuk metode lagrange dan nomor  6 dan 7 dengan menggunakan metode polynomial newton.
2.Metode Newton untuk Neville polynomial diterapkan pada tugas nomor 1(b), 3, 4, 8, dan 14 dengan nilai x yang berbeda.
5.2 Saran
Saran saya pada praktikum ini yaitu sebaiknya pelaksanaan praktikum lebih diperjelas lagi karena jika kita hanya diberi program saja, itu tidak akan dimengerti  secara baik.















REFERENSI :
Ameliaadz 2013.http://ameliaadz.blogspot.co.id/2013/03/ pengertian -matlab.ht ml. Diakses pada tanggal 16 April 2017. Pukul 22.13 WITA.
Anonim. http://wikipedia.com/metode-newton. Diakses pada tanggal 16 April 201 7. Pukul 22.13 WITA.
Bismo, Setijo. 1999. Kumpulan Bahan Kuliah Metode Numerik. JurusanTGP-FT UI. Jakarta.


PENGENLAN MINERAL BIJIH

                                                           PENGENLAN MINERAL BIJIH       Tekstur tekstur replecement-somatisme        ...