Senin, 28 Maret 2011

PROGRAM PROGRAM DALAM C++


Program dalam c++
SEGITIGA
#include <iostream.h>
#include <conio.h>

int main()
{
 int sisi1, sisi2, sisi3;

 cout<<"Masukkan 3 sisi segitiga: ";
 cin>>sisi1>>sisi2>>sisi3;

 cout<<endl;

 if((sisi1 + sisi2)>sisi3)
 {
  if((sisi1+sisi3)>sisi2)
  {
   cout<<"Ini adalah segitiga";
  }
  else
  {
   cout<<"Ini bukan segitiga";
  }
 }
 else
 {
  cout<<"Ini bukan segitiga";
 }

 getch();
 return 0;
}





PERSEGI BINTANG
#include <iostream.h>
#include <conio.h>

int main()
{
 int ukuran;

 do
 {
  cout<<"Masukkan ukuran persegi: ";
  cin>>ukuran;
 }while(ukuran<1||ukuran>20);

 cout<<endl;

 for(int i=1; i<= ukuran; i++)
 {
  for(int j=1; j<=ukuran; j++)
  {
   if(i==1||j==1||i==ukuran||j==ukuran)
   {
    cout<<"*";
   }
   else
   {
    cout<<" ";
   }
  }
  cout<<endl;
 }

 getch();
 return 0;
}



QUIK SORT
#include <iostream.h>
#include <conio.h>
#define max 20

void quick_sort(int darr[max], int lb, int ub)
{
  int a;
   int up,down;
   int temp;

   if (lb>=ub)
    return;
   a=darr[lb];
   up=ub;
   down=lb;

   while (down < up)
   {
     while (darr[down] <= a)
       down++;
      while (darr[up]>a)
       up--;
      if(down<up)
      {
        temp=darr[down];
         darr[down]=darr[up];
         darr[up]=temp;
      }
   }
   darr[lb]=darr[up];
   darr[up]=a;

   quick_sort(darr,lb,up-1);
   quick_sort(darr,up+1,ub);
}

void main()
{
  int arr[max];
   int i,n,lb,ub;
   lb=0;

   cout<<"Masukkan banyak data yang ingin diurut: ";
   cin>>n;

   ub=n;
   cout<<"Masukkan data-datanya: \n\n";
   for(i=1;i<=n;i++)
   {
     cout<<"\tdata ke- "<<i<<" : "; cin>>arr[i];
   }

   quick_sort(arr,lb,ub);
   cout<<"\nHasil pengurutan data: ";
   for(i=0; i<n;i++)
    cout<<" "<<arr[i];

   cout<<"\n\nTekan sembarang tombol untuk keluar ";
   getch();
}


SQUENTIAL SEARCH
#include <iostream.h>
#include <conio.h>

int cari_linear(int array[],int ukuran, int cari);

void main()
{
  const int ukuran=10;
  int array[ukuran]={25,36,2,48,0,69,14,22,7,19};
  cout<<"Isi dari array: "<<endl;
  for(int i=0;i<ukuran;i++)
   cout<<" "<<array[i];

  int cari;
  int tanda=-1;
  cout<<"\n\nMasukkan data yang dicari: ";
  cin>>cari;

  tanda= cari_linear(array,ukuran,cari);
  if (tanda!=-1)
  cout<<"\n\nData tersebut ditemukan pada posisi: array["<<
  tanda<<"],"<<" atau deret ke-"<<(tanda+1);
  else
  cout<<"\nData tersebut tidak ditemukan ";
  getch();
}

int cari_linear(int array[],int ukuran,int cari)
{
  int tanda=-1;
  for(int i=0;i<ukuran;i++)
  {
   if(cari==array[i])
   {
     tanda=i; break;
   }
  }
  return tanda;
}


PROGRAM DIAMON
#include <iostream.h>
#include <conio.h>

int main()
{
 int ganjil;

 do
 {
  cout<<"Masukkan bilangan ganjil (1-19): ";
  cin>>ganjil;
 }while(ganjil%2==0);

 for(int i=0; i<=ganjil; i+=2)
 {
  for(int j=0; j<ganjil-i;j+=2)
  {
   cout<<" ";
  }
  for(int z=0;z<=i;z++)
  {
   cout<<"*";
  }
  cout<<endl;
 }

 ganjil = ganjil - 2;

 for(int i=0; i<ganjil; i+=2)
 {
  for(int j=0; j<=i+2;j+=2)
  {
   cout<<" ";
  }
  for(int z=1;z<=ganjil-i;z++)
  {
   cout<<"*";
  }
  cout<<endl;
 }
 getch();
 return 0;
}


Pernyataan goto adalah pernyataan yang mengarahkan eksekusi ke pernyataan yang berlabel. Bentuk pernyataan goto adalah seperti berikut:

goto label;
label:
pernyataan;

Contoh sederhananya dapat kalian lihat pada contoh program dibawah ini:


#include <iostream.h>
#include <conio.h>

void main()
{
 cout<<"Hai"<<endl;
 goto langsung;

 cout<<"Jangan Pedulikan Aku!"<<endl;

 langsung:
 cout<<"Terima Kasih"<<endl;
 getch();
}

Jika kalian mengeksekusi program diatas, maka kalian akan menemukan bahwa pernyataan:
cout<<"Jangan Pedulikan Aku!"<<endl;
tidak dijalankan dalam program. Karena program menuju label langsung sehingga pernyataan diatas dilewati program.

Untuk tingkat lanjutnya, kalian dapat melihat penggunaannya pada program dibawah ini:

#include <iostream.h>
#include <conio.h>

void main()
{
 char karakter;
 char pilihan;
 clrscr();

  cobalagi:
  cout<<"Masukkan Karakter: ";
  cin>>karakter;

  cout<<endl<<endl;

  cout<<"Nilai ASCII dari karakter "<<karakter<<": "<<int(karakter)<<endl;

  //contoh pemakaian goto
  cout<<"Mau Ulangi Lagi...(Y/T)? : ";
  cin>>pilihan;
  if(pilihan == 'y' || pilihan == 'Y')
  {
   clrscr();
   goto cobalagi;
  }
  else
}

Contoh penggunaan perulangan menggunakan while dapat kalian lihat disini.

#include <iostream.h>
#include <conio.h>

void main()
{
 int i = 0;

 while(i < 10)
 {
  cout<<"IT Programmer"<<endl;
  i++;
 }
 getch();
}

Contoh perulangan menggunakan do-while dapat kalian lihat disini:
#include <iostream.h>
#include <conio.h>

void main()
{
 int i = 0;

 do
 {
  cout<<"IT Programmer"<<endl;
  i++;
 }while(i < 10)
 getch();
}


Pernyataan do-while juga dapat digunakan untuk menampilkan huruf abjad dari a - z. Tentu saja ini termasuk kedalam perulangan. Perulangan juga dapat digunakan untuk hal seperti ini. Contoh dari program ini dapat kalian lihat pada syntax program berikut ini:

#include <iostream.h>
#include <conio.h>

void main()
{
 char abjad = 'A';

 do
 {
  cout<<abjad<<" ";
  abjad+=1;
 }while(abjad <= 'Z')
 getch();
}


Selain menggunakan do-while, perulangan juga dapat digunakan dengan menggunakan pernyataan for. Perulangan menggunakan for, untuk menampilkan urutan abjad dari a sampai z. Contohnya dapat kalian lihat pada contoh syntax dibawah ini:

#include <iostream.h>
#include <conio.h>

void main()
{
 char abjad;

 for(abjad = 'A'; abjad <= 'Z'; abjad++)
 {      
   cout<<abjad<<" ";
 }
 getch();
}


Contoh program binary search dalam C++ dapat kalian lihat dibawah ini:

#include <iostream.h>
#include <conio.h>

int binary_search(int array[],int size, int elemen);

void main()
{
  const int size = 10;
  int array[size]={0,6,9,12,20,23,29,32,47,79};
  cout<<"Isi dari array: "<<endl;
  for(int i=0;i<size;i++)
   cout<<" "<<array[i];

  int elemen;              
  int tanda;
  cout<<"\n\n";
  cout<<"Masukkan data yang dicari: ";
  cin>>elemen;

  cout<<"\n\n";
  tanda= binary_search(array,size,elemen);
  if (tanda!=-1)
  cout<<"Data "<<elemen<<" ditemukan pada posisi : array["<<
  tanda<<"],"<<" atau deret ke-"<<(tanda+1);

  else
  cout<<"\n data tersebut tidak ditemukan ";
  getch();
}

int binary_search(int array[],int size,int elemen)
{
  int start=0;
  int end=size - 1;
  int middle;
  int posisi=-1;
  middle=(start + end ) / 2;
  do
  {
   if(elemen<array[middle])
    end=middle-1;
   else if (elemen>array[middle])
      start=middle+1;
   middle=(start+end)/2;

  }
  while(start<=end && array[middle]!=elemen);

  if(array[middle]==elemen)
   posisi=middle;
  return posisi;
}

Sequential Search adalah teknik pencarian data dimana data dicari secara urut dari depan ke belakang atau dari awal sampai akhir. Kelebihan dari proses pencarian secara sequential ini jika data yang dicari terletak didepan, maka data akan ditemukan dengan cepat. Tetapi dibalik kelebihannya ini, teknik ini juga memiliki kekurangan. Pertama, jika data yang dicari terletak dibelakang atau paling akhir, maka akan membutuhkan waktu yang lama dalam proses pencariannya. Kedua, beban komputer akan semakin bertambah jika jumlah data dalam array sangat banyak.

Disini IT Programmer akan memberikan contoh sintaks dari Sequential Search dalam C++. Tidak ada penginputan data oleh user dalam program ini, karena data telah dideklarasikan terlebih dahulu. Kalian dapat mengubahnya sendiri jika kalian telah lebih menguasai bagian ini. Silahkan lihat sintaksnya dibawah ini.


#include <iostream.h>
#include <conio.h>

int cari_linear(int array[],int ukuran, int cari);

void main()
{
  const int ukuran=10;
  int array[ukuran]={25,36,2,48,0,69,14,22,7,19};
  cout<<"Isi dari array: "<<endl;
  for(int i=0;i<ukuran;i++)
   cout<<" "<<array[i];

  int cari;
  int tanda=-1;
  cout<<"\n\nMasukkan data yang dicari: ";
  cin>>cari;

  tanda= cari_linear(array,ukuran,cari);
  if (tanda!=-1)
  cout<<"\n\nData tersebut ditemukan pada posisi: array["<<
  tanda<<"],"<<" atau deret ke-"<<(tanda+1);
  else
  cout<<"\nData tersebut tidak ditemukan ";
  getch();
}

int cari_linear(int array[],int ukuran,int cari)
{
  int tanda=-1;
  for(int i=0;i<ukuran;i++)
  {
   if(cari==array[i])
   {
     tanda=i; break;
   }
  }
  return tanda;
}

Semoga bermanfaat

aanvangeling@yahoo.com

TENTANG C++


                                                                             Sejarah C++

Tahun 1978, Brian W. Kerninghan & Dennis M. Ritchie dari AT & T Laboratories mengembangkan bahasa B menjadi bahasa C. Bahasa B yang diciptakan oleh Ken Thompson sebenarnya merupakan pengembangan dari bahasa BCPL ( Basic Combined Programming Language ) yang diciptakan oleh Martin Richard.

Sejak tahun 1980, bahasa C banyak digunakan pemrogram di Eropa yang sebelumnya menggunakan bahasa B dan BCPL. Dalam perkembangannya, bahasa C menjadi bahasa paling populer diantara bahasa lainnya, seperti PASCAL, BASIC, FORTRAN.

Tahun 1989, dunia pemrograman C mengalami peristiwa penting dengan dikeluarkannya standar bahasa C oleh American National Standards Institute (ANSI). Bahasa C yang diciptakan Kerninghan & Ritchie kemudian dikenal dengan nama ANSI C.

Mulai awal tahun 1980, Bjarne Stroustrup dari AT & T Bell Laboratories mulai mengembangkan bahasa C. Pada tahun 1985, lahirlah secara resmi bahasa baru hasil pengembangan C yang dikenal dengan nama C++. Sebenarnya bahasa C++ mengalami dua tahap evolusi. C++ yang pertama, dirilis oleh AT&T Laboratories, dinamakan cfront. C++ versi kuno ini hanya berupa kompiler yang menterjemahkan C++ menjadi bahasa C.

Pada evolusi selanjutnya, Borland International Inc. mengembangkan kompiler C++ menjadi sebuah kompiler yang mampu mengubah C++ langsung menjadi bahasa mesin (assembly). Sejak evolusi ini, mulai tahun 1990 C++ menjadi bahasa berorientasi obyek yang digunakan oleh sebagian besar pemrogram professional.


Struktur Bahasa C++


Contoh 1           :                                                           Hasil    :

// my first program in C++                                   Hello World!    
#include <iostream.h>
int main ()
{
  cout << "Hello World!";
  return 0;
}

Sisi kiri merupakan source code, yang dapat diberi nama hiworld.cpp dan sisi kanan adalah hasilnya setelah di-kompile dan di-eksekusi.
Program diatas merupakan salah satu program paling sederhana dalam C++, tetapi dalam program tersebut mengandung komponen dasar yang selalu ada pada setiap pemrograman C++. Jika dilihat satu persatu          :

// my first program in C++
Baris ini adalah komentar. semua baris yang diawali dengan dua garis miring (//) akan dianggap sebagai komentar dan tidak akan berpengaruh terhadap program. Dapat digunakan oleh programmer untuk menyertakan penjelasan singkat atau observasi yang terkait dengan program tersebut.
#include <iostream.h>
Kalimat yang diawali dengan tanda (#) adalah are preprocessor directive. Bukan merupakan baris kode yang dieksekusi, tetapi indikasi untuk kompiler. Dalam kasus ini kalimat  #include <iostream.h> memberitahukan preprocessor kompiler untuk menyertakan header file standard iostream. File spesifik ini juga termasuk library deklarasi standard I/O pada C++ dan file ini disertakan karena fungsi-fungsinya akan digunakan nanti dalam program.
int main ()
Baris ini mencocokan  pada awal dari deklarasi fungsi main. fungsi main merupakan titik awal dimana seluruh program C++ akan mulai dieksekusi. Diletakan diawal, ditengah atau diakhir program, isi dari fungsi main akan selalu dieksekusi pertama kali. Pada dasarnya, seluruh program C++ memiliki fungsi  main.
main diikuti oleh sepasang tanda kurung () karena merupakan fungsi. pada C++, semua fungsi diikuti oleh sepasang tanda kurung () dimana, dapat berisi argumen didalamnya. Isi dari fungsi main selanjutnya akan mengikuti,berupa deklarasi formal dan dituliskan diantara kurung kurawal ({}), seperti dalam contoh.
cout << "Hello World";
Intruksi ini merupakan hal yang paling penting dalam program contoh. cout merupakan standard output stream dalam C++ (biasanya monitor). cout dideklarasikan dalam  header file iostream.h, sehingga agar dapat digunakan maka file ini harus disertakan.
Perhatikan setiap kalimat diakhiri dengan tanda semicolon (;). Karakter ini menandakan akhir dari instruksi dan harus disertakan pada setiap akhir instruksi pada program C++ manapun.
return 0;
Intruksi return menyebabkan fungsi main() berakhir dan mengembalikan kode yang mengikuti instruksi tersebut, dalam kasus ini 0. Ini merupakan cara yang paling sering digunakan untuk mengakhiri program.

Tidak semua baris pada program ini melakukan aksi. Ada baris yang hanya berisi komentar (diawali //), baris yang berisi instruksi untuk preprocessor kompiler (Yang diawali #),kemudian baris yang merupakan inisialisasi sebuah fungsi (dalam kasus ini, fungsi main) dan baris yang berisi instruksi (seperti,  cout <<), baris yang terakhir ini disertakan dalam blok yang dibatasi oleh kurung kurawal ({}) dari fungsi  main.


Struktur program dapat dituliskan dalam bentuk yang lain agar lebih mudah dibaca, contoh :

int main ()
{
  cout << " Hello World ";
  return 0;
}

Atau dapat juga dituliskan       :

int main () { cout << " Hello World "; return 0; }

Dalam satu baris dan memiliki arti yang sama dengan program-program sebelumnya. pada C++ pembatas antar instruksi ditandai dengan semicolon (;) pada setiap akhir instruksi.

Contoh 2          :                                                           Hasil    :

// my second program in C++                             Hello World! I'm a C++ program

#include <iostream.h>

int main ()
{
  cout << "Hello World! ";
  cout << "I'm a C++ program";
  return 0;
}

 


Komentar
Komentar adalah bagian dari program yang diabaikan oleh kompiler. Tidak melaksanakan aksi apapun. Mereka berguna untuk memungkinkan para programmer untuk memasukan catatan atau deskripsi tambahan mengenai program tersebut. C++ memiliki dua cara untuk menuliskan komentar :

//         Komentar baris
/*         Komentar Blok  */

Komentar baris, akan mengabaikan apapun mulai dari tanda (//) sampai akhir dari baris yang sama. Komentar Blok, akan mengabaikan apapun yang berada diantara tanda /* dan */.
aanvangelink@yahoo.com

Kamis, 17 Maret 2011

Analisis Data Statistika




ANALISIS DATA APLIKASI STATISTIKA
1. Pengertian Analisis Data
Analisis data diartikan sebagai upaya mengolah data menjadi informasi, sehingga karakteristik atau sifat-sifat data tersebut dapat dengan mudah dipahami dan bermanfaat untuk menjawab masalah-masalah yang berkaitan dengan kegiatan penelitian. Dengan demikian, teknik analisis data dapat diartikan sebagai cara melaksanakan analisis terhadap data, dengan tujuan mengolah data tersebut menjadi informasi, sehingga karakteristik atau sifat-sifat datanya dapat dengan mudah dipahami dan bermanfaat untuk menjawab masalah-masalah yang berkaitan dengan kegiatan penelitian, baik berkaitan dengan deskripsi data maupun untuk membuat induksi, atau menarik kesimpulan tentang karakteristik populasi (parameter) berdasarkan data yang diperoleh dari sampel (statistik).
2.     Tujuan Analisis Data
(a) Mendeskripsikan data, biasanya dalam bentuk frekuensi, ukuran tendensi sentral maupun ukuran dispersi, sehingga dapat dipahami karakteristik datanya. Dalam statistika, kegiatan mendeskripsikan data ini dibahas pada statistika deskriptif. (b) Membuat induksi atau menarik kesimpulan tentang karakteristik populasi, atau karakteristik populasi berdasarkan data yang diperoleh dari sampel (statistik). Kesimpulan yang diambil ini bisanya dibuat berdasarkan pendugaan (estimasi) dan pengujian hipotesis. Dalam statistika, kegiatan membuat induksi atau menarik kesimpulan tentang karakteristik populasi  atau sampel ini dibahas pada statistika inferensial.
3.     Langkah dan Prosedur Analisis Data
(a) Tahap mengumpulkan data, dilakukan melalui instrumen pengumpulan data.(b) Tahap editing, yaitu memeriksa kejelasan dan kelengkapan pengisian instrumen pengumpulan data. (c) Tahap koding, yaitu proses identifikasi dan klasifikasi dari setiap pertanyaan yang terdapat dalam instrumen pengumpulan data menurut variabel-variabel yang diteliti. (d) Tahap tabulasi data, yaitu mencatat atau entri data ke dalam tabel induk penelitian. (e) Tahap pengujian kualitas data, yaitu menguji validitas dan realiabilitas instrumen pengumpulan data. (f) Tahap mendeskripsikan data, yaitu tabel frekuensi dan/atau  diagram, serta berbagai ukuran tendensi sentral, maupun ukuran dispersi. tujuannya memahami karakteristik data sampel penelitian. (g) Tahap pengujian hipotesis, yaitu tahap pengujian terhadap proposisi-proposisi yang dibuat apakah proposisi tersebut ditolak atau diterima, serta bermakna atau tidak. Atas dasar Pengujian hipotesis inilah selanjutnya keputusan dibuat.
4.     Macam Analisis Data
Teknik analisis data dalam penelitian, dibagi menjadi dua, yaitu teknik analisis data diskriptif dan teknik analisis data inferensial. Teknik analisis data penelitian secara deskriptif dilakukan melalui statistika deskritif, yaitu statistik yang digunakan untuk menganalisis data dengan cara mendeskripsikan atau menggambarkan data yang telah terkumpul sebagaimana adanya tanpa bermaksud membuat generalisasi hasil penelitian. Temasuk dalam teknik analisis data statistik deskriptif antara lain penyajian data melalui tabel, grafik, diagram, persentase, frekuensi, perhitungan mean, median atau modus.
Sementara itu teknik analisis data inferensial dilakukan dengan statistik inferensial, yaitu statistik yang digunakan untuk menganalisis data dengan  membuat kesimpulan yang berlaku umum. Ciri analisis data inferensial adalah digunakannya rumus statistik tertentu (misalnya uji t, uji F, dan lain sebagainya). Hasil dari perhitungan rumus statistik inilah yang menjadi dasar pembuatan generalisasi dari sampel bagi populasi. Dengan demikian, statistik inferensial berfungsi untuk menggeneralisasikan hasil penelitian sampel bagi populasi. Sesuai dengan fungsi tersebut maka statistik inferensial cocok untuk penelitian sampel.
5.     Terminologi dalam Analisis Data: Metode Succesive Interval
Contoh :
Sebuah item yang memenuhi kriteria Likert dengan lima kategori respon, yaitu “sangat setuju” yang diberi skor 5; “setuju” diberi skor 4; “ragu-ragu” diberi skor 3; “tidak setuju” diberi skor 2; dan “sangat tidak setuju” diberi skor 1. Item tersebut dijawab oleh 100 orang responden. Untuk kepentingan analisis data, peneliti kemudian bermaksud menaikkan tingkat pengukuran ordinal menjadi interval.
Langkah kerja MSI:
  • Perhatikan banyaknya (frekuensi) responden yang menjawab atau memberikan respon terhadap alternatif jawaban yang tersedia. Misalnya: Frekuensi yang memilih jawaban “sangat setuju” = 25 orang; frekuensi yang memilih jawaban “setuju” = 17 orang; frekuensi yang memilih jawaban “ragu-ragu” = 34 orang; frekuensi yang memilih jawaban “tidak setuju” = 19 orang; dan frekuensi yang memilih jawaban “sangat tidak setuju” = 5 orang.
  • Bagi setiap bilangan pada frekuensi oleh banyaknya responden (yaitu n = 100). Berdasarkan langkah pertama diperoleh proporsi sebagai berikut:
Proporsi jawaban “Sangat Setuju” :  25/100 = 0,25
Proporsi jawaban “Setuju” : 17/100 = 0,17
Proporsi jawaban “Ragu-ragu” : 34/100 = 0,34
Proporsi jawaban “Tidak Setuju”: 19/100 =0,19
Proporsi jawaban “Sangat Tidak Setuju”  : 5/100 = 0,05

Jumlahkan proporsi secara beruntun sehingga diperoleh proporsi kumulatif (PK) berikut : 
Pk1 = 0,25
Pk2 = 0,25 + 0,17 = 0,42
Pk3 = 0,42 + 0,34 = 0,76
Pk4 = 0,76 + 0,19 = 0,95
Pk5 = 0,95 + 0,05 = 1
  • Menentukan nilai Z untuk setiap kategori. Sebelum menentukan nilai Z, perlu kita ketahui bahwa karakteristik kurva normal baku yang dikembangkan oleh Karl Gauss ini memiliki karakteristik: (a) kurvanya simetris, (b) kurvanya selalu di atas sumbu x atau berasimtut sumbu x (mendekati sumbu datar x atau memotong sumbu x pada x = ~), dan (c) luas kurva normal adalah luas antara kurva normal dengan sumbu datarnya yaitu sama dengan 1 satuan luas, yang terentang dari “min” tak terhingga (- ~) sampai dgn “plus” tak terhingga (+ ~).
Kurva Normal Baku

Perlu diperhatikan bahwa tanda “plus” dan “minus” dalam gambar selain merupakan tanda aljabar juga merupakan tanda arah. Tanda “plus” menandakan daerah kurva berada di sebalah kanan, yang dibatasi oleh garis simetris dan “plus” tak terhingga (+ ~). Sementara tanda “min” menandakan daerah kurva berada di sebelah kiri, yang dibatasi oleh garis simetris dan “min” tak terhingga (- ~). Berdasarkan keterangan di atas, terutama berkaitan dengan karakteristik kurva normal yang simetris, maka dapat diketahui bahwa luas kurva normal dari garis simetris ke “plus” tak terhingga (+ ~) adalah 0,5 satuan luas, dan luas kurva normal dari garis simetris ke “min” tak terhingga (- ~) juga sama yaitu 0,5 satuan luas, yang apabila dijumlahkan menjadi satu satuan luas.

Setelah kita membahas tentang kurva normal di atas, selanjutnya kita dapat menentukan nilai Z untuk setiap kategori pada skala Likert yaitu 5 untuk kategori “Sangat Setuju”, 4 untuk kategori “Setuju”, 3 untuk kategori “ragu-ragu”, 2 untuk kategori “Tidak Setuju”, dan 1 untuk kategori “Sangat Setuju”. Sebagai patokan untuk menentukan nilai Z setiap kategori adalah proporsi kumulatif yang diperoleh pada langkah ketiga. Sehingga nilai-nilai Z nya  adalah :
Nilai Z1 :  0,5 – Pk1 = 0,5 – 0,25 = 0,25 maka Z1 adalah = -0,67
Nilai Z2 :  0,5 – Pk2 = 0,5 – 0,42 = 0,08 maka Z2 = -0,20
Nilai Z3 :  Pk3 – 0,5 = 0,76 – 0,5 = 0,26 maka Z3 = 0,70
Nilai Z4 :  Pk4 – 0,5 = 0,95 – 0,5 = 0,45 maka Z4 = 1,64
Nilai Z5 :  Pk5 = 1, maka Z5 = ~
Untuk  memahami dari mana nilai-nilai Z diperoleh, perhatikan penjelasan berikut!
Nilai Z1 = -0,67, diperoleh berdasarkan nilai peluang 0,25 pada Tabel Z atau Tabel Distribusi Normal Baku. Pada Tabel Z ini memuat dua hal yaitu, nilai Z dan peluangnya. Perhatikan ilustrasi berikut

Dari gambar di atas, kita bisa mengetahui nilai Z terletak pada kolom pertama atau kolom paling kiri dari tabel, dan baris pertama atau baris paling atas dari tabel. Sementara nilai peluangnya terletak mulai dari kolom kedua dan baris kedua. Dengan demikian nilai Z terdiri dari 3 dijit, dan nilai peluangnya terdiri dari 5 dijit. Sebagai contoh perhatikan angka 0,2486 yang dilingkari pada tabel. Untuk mengetahui nilai Z dari nilai peluang 0,2486 ini, langkah pertama yang harus kita lakukan melihat nilai Z yang berada di kolom paling kiri dari tabel, yang sejajar dengan angka 0,2486. Pada tabel tertera angka 0,6. Selanjutnya untuk mencari 1 dijit tersisa, langkah yang harus kita lakukan adalah melihat nilai Z yang berada di baris paling atas dari tabel, yang sejajar dengan angka 0,2486. Pada tabel tertera angka 0,07. Kedua nilai Z yang kita peroleh tadi apabila kita gabungkan (untuk mempermudah, kita bisa menjumlahkannya, yaitu 0,60 + 0,07 = 0,67) akan diperoleh angka 0,67. Dengan demikian nilai Z untuk nilai peluang 0,2486 adalah 0,67.
Kembali pada kasus yang sedang kita bahas, untuk menentukan nilai Z1 dari nilai peluang 0,25, kita bisa melakukan langkah seperti yang telah kita bahas pada contoh. Pada kasus kita ini nilai peluang 0,25 tidak terdapat pada tabel. Apabila kita menemukan hal seperti ini, maka langkah yang dapat kita lakukan untuk mencari nilai Z nya adalah dengan Interpolasi Linier. Istilah interpolasi linier diartikan sebagai membuat perhitungan antara dua nilai yang ada, dengan menganggap sebuah lengkungan sebagai garis lurus.
Langkah kerjanya : (a) Perhatikan nilai peluang 0,25, terletak antara nilai peluang  berapa? Pada tabel tampak nilai peluang 0,25 terletak antara 0,2486 dan 0,2517. (b) Nilai Z pada peluang 0,2486 adalah 0,67, dan nilai Z pada peluang 0,2517 adalah 0,68. Sehingga nilai Z untuk nilai peluang = 0,25 adalah :

Jadi nilai Z untuk peluang 0,25 adalah 0,6745. Perlu kita perhatikan bahwa peluang 0,25 pada kurva normal ada di sebelah kiri sehingga harus kita beri tanda “min” pada nilai Z nya. Sehingga nilai Z1 pada peluang 0,25 adalah -0,6745.
Nilai Z2 dapat dihitung sebagai berikut:  (1) Perhatikan nilai peluang 0,08 pada tabel. Nilai ini terletak antara nilai peluang 0,0793 dan 0,0832. (2) Nilai Z pada peluang 0,0793 adalah 0,20, dan nilai Z pada peluang 0,0832 adalah 0,21. Sehingga nilai Z untuk nilai peluang = 0,08 adalah :

Jadi nilai Z untuk peluang 0,08 adalah 0,2018. Perlu kita perhatikan bahwa peluang 0,08 pada kurva normal ada di sebelah kiri sehingga harus kita beri tanda “min” pada nilai Z nya. Sehingga nilai Z2 pada peluang 0,08 adalah -0,2018.
Nilai Z3 dapat dihitung sebagai berikut:  (a) Perhatikan nilai peluang 0,26 pada tabel. Nilai ini terletak antara nilai peluang 0,2580 dan 0,2611. (b) Nilai Z pada peluang 0,2580 adalah 0,70, dan nilai Z pada peluang 0,2611 adalah 0,71. Sehingga nilai Z untuk nilai peluang = 0,26 adalah :

Jadi nilai Z untuk peluang 0,26 adalah 0,7065. Perlu kita perhatikan bahwa peluang 0,26 pada kurva normal ada di sebelah kanan sehingga harus kita beri tanda “plus” pada nilai Z nya. Biasanya tanda “plus” ini pada prakteknya jarang disertakan. Sehingga nilai Z3 pada peluang 0,26 adalah 0,7065.
Nilai Z4 dapat dihitung sebagai berikut: (a) Perhatikan nilai peluang 0,45 pada tabel. Nilai ini terletak antara nilai peluang 0,4495 dan 0,4505. (b) Nilai Z pada peluang 0,4495 adalah 1,64, dan nilai Z pada peluang 0,4505 adalah 1,65. Sehingga nilai Z untuk nilai peluang = 0,45 adalah :

Jadi nilai Z untuk peluang 0,45 adalah 1,645. Perlu kita perhatikan bahwa peluang 0,45 pada kurva normal ada di sebelah kanan sehingga harus kita beri tanda “plus” pada nilai Z nya. Sehingga nilai Z4 pada peluang 0,45 adalah 1,645.
Selanjutnya untuk nilai Z5 pada nilai peluang 1 adalah tak terhingga ( ~ ). Ingat salah satu karakteristik dari kurva normal adalah berasimtut/mendekati sumbu x. Dengan demikian pada luas sama dengan 1, maka x nya adalah sama dengan tak terhingga (~).
  • Menghitung Nilai Skala (Scale Value).
Keterangan :
Area = Daerah kurva
Density= Tinggi kurva.
Nilai-nilai density diperoleh dari tabel ordinat distribusi normal baku.

Pada langkah ke empat kita sudah mendapatkan nilai Z1, Z2, Z3, Z4 dan Z5. Selanjutnya berdasarkan nilai-nilai tersebut dan dengan bantuan tabel ordinat distribusi normal baku kita dapat memperoleh nilai density-nya. Untuk memudahkan pengerjaan, maka nilai-nilai Z yang telah diperoleh selanjutnya kita buat dalam 2 belakang koma, sesuai dengan 3 dijit angka yang ada dalam tabel Z. Oleh karena itu Z1 dari 0,6745 menjadi 0,67, Z2 dari 0,2018 menjadi 0,20, Z3 dari 0,7065 menjadi 0,71, dan Z4 dari 1,645 menjadi 1,64.
Dengan demikian nilai density nya diperoleh:
Density pada Z1 = 0,67 adalah 0,3187
Density pada Z2 = 0,20 adalah 0,3910
Density pada Z3 = 0,71 adalah 0,3101
Density pada Z4 = 0,64 adalah 0,1040
Density pada Z5 = ~ adalah 0
Untuk  memahami dari mana nilai-nilai density diperoleh, perhatikan penjelasan berikut!

Untuk menentukan nilai density dari nilai Z1 = 0,67 dapat dilakukan dengan langkah sebagai berikut: Pertama, yang harus kita lakukan adalah melihat nilai Z yang berada di kolom paling kiri dari tabel. Perhatikan, nilai Z pada tabel tertera hanya dua dijit, oleh karena itu kita hanya mengambil nilai Z1 dua dijit yaitu 0,6. Satu dijit tersisa yaitu angka 7 kita lihat pada nilai Z yang berada pada baris pertama tabel. Pada baris tersebut kita pilih angka 0,07. Setelah kita menemukan angka 0,6 dan 0,07 pada tabel. Selanjutnya adalah pada angka 0,6 kita lihat ke sebelah kanan yang sejajar dengan angka 0,6 tadi. Kemudian dari angka 0,07 kita lihat ke bawah yang sejajar dengan angka 0,07. Kalau kita pertemukan dari angka 0,6 ke kanan dan 0,07 ke bawah maka akan bertemu pada angka 0,3187. Jadi nilai density untuk Z1 = 0,67 adalah 0,3187. Dengan cara yang sama kita dapat menentukan nilai density dari Z2, Z3, Z4 dan Z5
Dengan demikian nilai skalanya (scale value) adalah:

  • Lakukan transformasi nilai skala (transformed scale value) dengan rumus:Y = SVi + |SVMin|. Ingat: SV yang nilainya kecil atau harga negatif terbesar diubah menjadi sama dengan satu (=1).
Untuk SV1 = -1,2748 maka Y = -1,2748 + 2,2748  = 1 (=Respon 1)
Nilai ini didapat karena SV terkecil setelah ditransformasi harus sama dengan 1, sehingga 1 – (-1,2748) = 2,2748. Nilai 2,2748 ini merupakan nilai interval yang kemudian dijumlahkan pada masing-masing SV untuk mendapatkan nilai hasil transformasi.
Sehingga SV hasil transformasi lainnya akan diperoleh : (a) Untuk SV2 = -0,4253, maka Y = -0,4235 + 2,2748 = 1,8495 (= Respon 2); (b) Untuk SV3 = 0,2379, maka Y = 0,2379 + 2,2748 = 2,5127 (= Respon 3) ; (c) Untuk SV4 = 1,0847, maka Y = 1,0847 + 2,2748 = 3,3595 (= Respon 4); (d) Untuk SV5 = 2,0800, maka Y = 2,0800 + 2,2748 = 4,3548 (= Respon 5).