STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SASBAB 1. TUTORIAL SASA. PENDAHULUAN            SAS merupakan kombinasi progra...
STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SASSAS yang dinamakan DATA step; pernyataan SAS yang meminta pendefinisian bia...
STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SAS10 M   80   84   A7 M    85   89   A4 F    90   86   B20 M   82   85   B25 ...
STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SASnumerik atau karakter. Ambil HW_GRADE sebagai contoh. Kita memiliki HW_GRAD...
STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SAS         Bagian output yang lebih penting ditemukan pada jendela OUTPUT jik...
STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SASELSE IF FINAL GE 85 THEN GRADE="A";DATALINES; ***(6)10 M 80 84 A  7 M 85 89...
STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SASterburuknya, program akan melihat pada baris selanjutya untuk nilai homewor...
STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SASEQ             =             Equal (sama dengan)LT             <           ...
STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SAS         Urutan multilevel ini menunjukkan bahwa, kita pertamakali harus me...
STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SAS       Halaman 2 dari output masing-masing variabel didaftar pada pernyataa...
STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SASadalah beberapa pilihan yang tersedia. Suatu PROC MEANS yang valid meminta ...
STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SAS *Program to Compute Reability CoefficientRon CodySeptember 18, 2004Program...
STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SAS| a slash star and ends with a star slash             |*-------------------...
Upcoming SlideShare
Loading in …5
×

Statistika terapan-dengan sas

5,512 views

Published on

2 Comments
2 Likes
Statistics
Notes
  • Mohon bantuannya
    Dimanakah saya bisa mendapat(download) software SAS?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • min, mau nanya.
    saya menggunakan sas untu metode chaid (buat diagram pohon),
    tapi anehnya variabel yang saya masukin 5, tapi yang muncul 3.
    yang dua lagi gak ada.
    itu kira2 ada penjelasannya gak ya?
    mkasi
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
5,512
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
182
Comments
2
Likes
2
Embeds 0
No embeds

No notes for slide

Statistika terapan-dengan sas

  1. 1. STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SASBAB 1. TUTORIAL SASA. PENDAHULUAN SAS merupakan kombinasi program yang awalnya dirancang untuk melakukananalisis data statistik. Sama seperti program lain yang mungkin pernah anda dengar yaituSPSS, BMDP, atau SYSTAT. Jika anda lihat di berbagai majalah komputer pribadi(personal computer), anda mungkin menjalankan program dasar yang dirancang untukkomputer pribadi. Pada permulaannya, SAS telah dikembangkan untuk dapat melakukananalisis array dari fungsi nonstatistik yang mengesankan. Untuk sekarang kita akanbelajar banyak dasar dasar sistem SAS. Untuk memulainya, SAS dijalankan pada berbagai komputer dan sistem operasi(platform) yang beranekaragam. Anda mungkin memiliki komputer pribadi dengansistem operasi Windows (seperti Windows XP atau Windows 2002). Atau mungkin sajamenggunakan UNIX atau LINUX atau terhubung ke sebuah jaringan atau komputermainframe dengan menggunakan modem atau hubungan jaringan kerja. Atau anda hanyamemiliki VCR yang dibuat yang anda anggap sebuah komputer. Jika anda ragu-raguflatform apa yang anda gunakan atau versi berapa yang yang digunakan, tanyakanlahpada seseorang. Anda membutuhkan orang tersebut untuk menentukan kebutuhan apapada komputer anda agar SAS dapat dijalankan. Yang diajarkan di sini adalah bagaimanamenggunakan SAS dan bagaimana penyesuaiannya dengan komputer anda. Jika anda menjalankannya pada sebuah mainframe, anda harus mematuhi apa yangdisebut pekerjaan “batch”(berkelompok). Jika anda menjalankan pekerjaan batch, andamengirim program anda (lewat telepon atau sebuah jaringan dari komputer pribadi atauterminal) ke komputer. komputer menjalankan program anda dan menyimpannya sampaianda menanyakannya atau mencetak hasilnya pada printer berkecapatan tinggi. Andabahkan harus mempelajari beberapa Job Control Language untuk kemudian anda bisamemprosesnya. Jika anda menjalankannya pada sebuah komputer pribadi atau di sebuah modeinteraktif pada suatu minicomputer atau mainframe, maka anda harus mempelajaribagaimana menggunakan SAS Display Manager atau Enterprise Guide ( suatu “frontend” untuk SAS pada platform Windows yang membolehkan banyak operasi titik danklik dengan kemampuan yang sama seperti menulis program SAS. Tampilan dari SAS,sekali anda di Display Manager sama saja menariknya, terserah platform apa yang andagunakan. Anda bisa mengunduh semua program dan file data yang digunakan dalambuku ini, sama seperti data untuk soal pada akhir bab, dengan mengunjungi web site:www.prenhall.com/codyB. MENGHITUNG DENGAN SAS: SUATU CONTOH ILUSTRASI Program SAS berkomunikasi dengan komputer dengan menggunakan“pernyataan” SAS. Ada beberapa jenis pernyataan SAS, tetapi umumnya dipakaibersama-sama yang diakhiri dengan titik koma. Titik koma dalam program SAS sepertisebuah titik dalam bahasa inggris. Kemungkinan terbanyak ditemukannya error dalamprogram SAS adalah hilangnya tanda titik koma. Hilangnya disebabkan komputermembaca dua pernyataan sebagai suatu pernyataan yang berlanjut dan tetap menjadisuatu hal yang salah. Program SAS terdiri dari berbagai pernyataan SAS. Beberapa pernyataan tersebutmenyediakan informasi ke sistem seperti berapa banyak garis untuk mencetak pada satuhalaman dan judul apa yang ingin dicetak di atas halaman. Pernyataan lainnya bertindakbersama untuk menciptakan himpunan data SAS, sedangkan pernyataan SAS yang lainbertindak bersama untuk menjalankan fungsi statistik atau fungsi yang umum lainnya.Kelompok pernyataan SAS itu mendefinisikan data anda dan menciptakan himpunan data JW StatComp Institute 1 http://jwstatcomp.blogspot.com
  2. 2. STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SASSAS yang dinamakan DATA step; pernyataan SAS yang meminta pendefinisian biasadisebut PROC (diucapkan “prock”) step. DATA step memberitahu tentang data programSAS anda. Ini digunakan untuk menunjukkan dimana peubah pada garis data (data lines),apa yang anda inginkan untuk memanggil peubah, bagaimana menciptakan peubah barudari peubah yang sudah ada, dan beberapa fungsi lain yang akan kita bicarakan nanti.Langkah PROC (kependekan dari PROCEDURE) menunjukkan jenis analisis statistikapa untuk melakukan dan menyediakan secara rinci untuk analisis tersebut. Lihatlahcontoh di bawah. Perhatikan himpunan data sederhana ini:SUBJECT GENDER (M or F) EXAM 1 EXAM 2 HOMEWPRKNUMBER GRADE10 M 80 84 A.7 M 85 89 A4 F 90 86 B20 M 82 85 B25 F 94 94 A14 F 88 84 C Kita memiliki lima peubah (SUBJECT NUMBER, GENDER, EXAM 1, EXAM 2dan HOMEWORK GRADE) dikumpulkan untuk masing-masing enam subjek. Satuananalisis (hal yang kita pelajari orang dalam contoh ini) digantikan sebagai suatu“pengamatan” dalam istilah SAS. Jika anda akrab dengan SQL (Structured QueryLanguage), anda akan memilih pengamatan sebagai “baris” (dari tabel). SASmenggunakan istilah peubah untuk mewakili setiap informasi yang dikumpulkan untuksetiap pengamatan. Dalam istilah SQL, anda akan menyebutnya peubah “kolom” atau“bidang”. Sebelum kita menulis program SAS, kita harus menentukan dulu nama padasetiap peubah. Kita lakukan ini sehingga kita bisa membedakan peubah yang satu denganpeubah yang lain ketika melakukan komputasi atau ketika meminta statistiknya. Namapeubah SAS harus sesuai dengan beberapa aturan yang sederhana: harus diawali dengansebuah huruf atau karakter underscore (_) dan tidak lebih dari 32 karakter, seperti koma,titik koma, dsb tidak diperbolehkan. Karakter underscore (_) merupakan penggunaankhusus sebagai bagian dari nama peubah SAS karena dapat digunakan untuk membuatnama peubah lebih terbaca. Karena itu kepala kolom (bagian atas kolom) dari“SUBJECT NUMBER” atau “EXAM 1” adalah nama variabel SAS yang tidak valid.Nama peubah SAS yang logis untuk kumpulan data ini seperti:SUBJECT GENDER EXAM1 EXAM2 HW_GRADE Hati-hatilah dalam memilih nama variabel karena membantu anda mengingatnama variabel mana yang diinginkan dalam analisis. Kita bisa saja menamakannyadengan variabel VAR1, VAR2, VAR3, VAR4, dan VAR5, akan tetapi kita harusmengingat bahawa VAR1 untuk “SUBJECT NUMBER”, demikian juga dengan yangkeempat lainnya. Untuk memulainya, andaikan kita tertarik ingin mendapatkan rata-rata kelasuntuk dua ujian. Dalam kenyataanya, ini sukar menggunakan komputer untukmenambahkan enam bilangan, akan tetapi ini menyediakan contoh yang mudah. Untukmengerjakannya, kita bisa menulis program SAS:DATA TEST;INPUT SUBJECT 1-2 GENDER $ 4 EXAM1 6-8 EXAM2 10-11HW_GRADE $ 14;DATALINES; JW StatComp Institute 2 http://jwstatcomp.blogspot.com
  3. 3. STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SAS10 M 80 84 A7 M 85 89 A4 F 90 86 B20 M 82 85 B25 F 94 94 A14 F 88 84 C;PROC MEANS DATA=TEST;RUN; Empat baris pertama menyusun DATA step. Dalam contoh ini, DATA stepdimulai dengan kata DATA dan diakhiri dengan kata DATALINES. Versi paling awaldari software SAS digunakan istilah CARDS sebagai pengganti DATALINES. Istilahkedua ini juga masih valid. Baris (1) menunjukkan kita ingin menciptakan suatuhimpunan data SAS yang dinamakan TEST. Dua baris selanjutnya (2) menunjukkansuatu pernyataan INPUT yang memberikan program dua penggal informasi: apa namavariabel dan dimana letaknya pada baris data. Perhatikan bahwa pernyataan SAS tunggalmenempati dua baris. Sistem SAS mengartikannya sebagai sebuah pernyataan SAStunggal karena hanya ada satu titik koma pada akhir pernyataan tersebut. Variabelpertama SUBJECT dapat ditemukan pada kolom 1 dan 2 dari baris data. Variabel keduaGENDER dapat ditemukan pada kolom 4. Tanda dollar ($) setelah GENDER berartibahwa GENDER adalah sebuah variabel karakter (alphanumeric), sehingga suatuvariabel dapat berupa huruf atau bilangan sebagai nilai data. Demikian juga untukvariabel selanjutnya. EXAM1 berada pada kolom 6-8 dan seterusnya. PernyataanDATALINES (3) mengatakan bahwa pernyataan DATA dikerjakan dan selanjutnyaprogram melihat data mereka sendiri. Enam baris selanjutnya adalah data aktual (yangsebenarnya). Dalam contoh ini kita memasukkan baris data secra langsung dalamprogram. Selanjutnya pada buku ini, akan ditunjukkankepada anda bagaimana membacadata dari file eksternal. Anda bisa juga memasukkan data dari program yang lain sepertiMicrosoft Excell atau Access. Garis lintang besar (great latitude) memungkinkan ketika diletakkan bersama barisdata. Gunakan sedikit aturan akan membuatnya lebih sederhana bagi anda. Ini bukanhukumnya; mereka hanya menyarankan. Pertama, letakkan setiap pengamatan baru padabaris baru. Lebih dari satu baris per pengamatan kadang-kadang diperlukan (dan ini tidakmenjadi masalah), akan tetapi jangan meletakkan dua pengamatan pada satu baris. Kedua,susunlah variabel anda. Jangan letakkan variabel EXAM1 pada kolom 6-8 pada satu barisdan kolom 9-11 pada baris selanjutnya. Software SAS sebenarnya bisa memakaibeberapa tingkatan ketidaktelitian di sini, tetapi cepat atau lambat ini akan merugikananda. Ketiga, benarkan ke kanan (rata kanan) data numerik anda. Jika anda memilikiAGE sebagai suatu variabel, catatan datanya seperti di bawah ini: Benar Salah 87 87 42 42 9 9 26 26 4 4 Right-justified Left-justified (rata kanan) (rata kiri) Sekali lagi, software SAS tidak peduli apakah data numerik anda rata kanan atautidak, tetapi pada program statistik yang lain, rata kanan adalah standar. Keempat,pikirkan secara teliti jika anda menginginkan suatu variabel disimpan sebagai nilai JW StatComp Institute 3 http://jwstatcomp.blogspot.com
  4. 4. STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SASnumerik atau karakter. Ambil HW_GRADE sebagai contoh. Kita memiliki HW_GRADEyang dicatat sebagai suatu nilai karakter. Tetapi, kita bisa mencatatnya sebagai 0-4 (0=F,1=D, dst). Karena seperti ini, kita tidak bisa menghitung rataanya. Harusnya kitamengkodekan HW_GRADE secara numerik, sehingga kita bisa menghitung rataannya.Perhatikan bagaimana mengkodekan data dari sekarang. Kembali ke contoh. Program SAS mengetahui suatu baris data lengkap ketikaditemukan pernyataan SAS atau titik koma tunggal. Jika anda memasukkan baris data kedalam program, seperti pada contoh tadi, kita tempatkan titik koma tunggal pada barissecara langsung di bawah baris data terakhir. PROC menyatakan bahwa “jalankanprocedure” ke program. Kita rincikan prosedur mana yang benar setelah kata PROC. Disini kita menjalankan prosedur yang dinamakan MEANS. Dibelakang nama prosedur,kita tempatkan DATA=dan rincikan posedur yang akan menghitung statistik padahimpunan data yang dinamakan TEST. Pada contoh ini, kita bisa menghilangkanDATA=TEST, dan prosedur akan mengoperasikan himpunan data yang dibuat terakhir.Dalam hal ini TEST. Kita sarankan selalu memasukkan DATA=pilihan pada setiapprosedur, karena dalam kebanyakan program SAS yang lebih lanjut, anda bisa memilikiprosedur yang menciptakan himpunan data yang sama baiknya dengan kebanyakanhimpunan data “floating around”. Dengan memasukkan DATA=option, anda bisamemastikan prosedur anda beroperasi pada himpunan data yang benar. Prosedur MEANS menghitung rataan untuk beberapa variabel anda anda rincikan.Pernyataan RUN (5) diperlukan hanya ketika program SAS dijalankan ketika di bawahDisplay Manager. Pernyataan RUN mengatakan bahwa tidak ada lagi pernyataanprosedur dan siap untuk dijalankan. Jika kita memiliki beberapa PROC dalam satu baris,kita hanya butuh sebuah pernyataan RUN pada akhir program. Bagaimanapun juga,dalam gaya bahasa standar kita memilih untuk setiap prosedur dengan pernyataan RUN. Ketika program tersebut dijalankan, akan menghasilkan apa yang dinamakan SASLOG dan SAS OUTPUT. SAS LOG merupakan cacatan dari program asli anda. Iniseperti buku telpon: biasanya tampilannya membosankan, tetapi kadangkala andamembutuhkannya. Pesan error dari program SAS akan ditemukan di sana, bersamadengan informasi tentang himpunan data yang telah diciptakan. SAS LOG untuk programini ditunjukkan di sini:NOTE: Copyright (c) 2002-2003 by SAS Institute Inc., Cary, NC, USA.NOTE: SAS (r) 9.1 (TS1M3) Licensed to SAS Employee Internal Use Only, Site 0000009001.NOTE: This session is executing on the XP_PRO platform.NOTE: SAS 9.1.3 Service Pack 4NOTE: SAS initialization used: real time 11.16 seconds cpu time 1.86 seconds1 DATA TEST;2 INPUT SUBJECT 1-2 GENDER $ 4 EXAM1 6-8 EXAM2 10-113 HW_GRADE $ 14;4 DATALINES;NOTE: The data set WORK.TEST has 6 observations and 5 variables.NOTE: DATA statement used (Total process time): real time 0.64 seconds cpu time 0.04 seconds11 ;12 PROC MEANS DATA=TEST;13 RUN;NOTE: There were 6 observations read from the data set WORK.TEST.NOTE: PROCEDURE MEANS used (Total process time): real time 1.35 seconds cpu time 0.05 seconds JW StatComp Institute 4 http://jwstatcomp.blogspot.com
  5. 5. STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SAS Bagian output yang lebih penting ditemukan pada jendela OUTPUT jika andamenggunakan Display Manager. Ini terdiri dari hasil komputasi dan prosedur yangdiminta oleh pernyataan PROC kita. Bagian output dari program kita sebelumnya adalah:The MEANS ProcedureVariable N Mean Std Dev Minimum Maximum ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒSUBJECT 6 13.3333333 7.9916623 4.0000000 25.0000000EXAM1 6 86.5000000 5.2057660 80.0000000 94.0000000EXAM2 6 5.3333333 1.9663842 4.0000000 9.0000000 ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ Jika anda tidak merincikan variabel mana yang anda inginkan, software SAS akanmenghitung rataan dan beberapa statistik lain untuk setiap variabel numerik dalamhimpunan data. Program kita menghitung rataan bagi SUBJECT, EXAM1 dan EXAM2.Karena SUBJECT adalah bilangan ID untuk menunjukkan setiap siswa, kita sebenarnyatidak tertarik dalam menghitung rataannya. Kita bisa menghindarinya denganmenambahkan pernyataan baru di bawah PROC MEANS:PROC MEANS DATA=TEST;VAR EXAM1 EXAM2; ******(6)RUN; Perjanjian hanya digunakan untuk bantuan visual. Pernyataan VARmenspesifikasikan pada variabel mana saja untuk menjalankan PROC MEANS. PROCMEANS tidak hanya memberikan rataan bagi anda, ini juga memberikan anda sejumlahpengamatan untuk menghitung rataan, standar deviasi, nilai maksimum serta minimum.PROC MEANS bisa juga menghitung banyak statistik lainnya seperti ragam dan standarerror. Anda dapat merincikan yang mana saja yang anda inginkan dalam pernyataanPROC MEANS, contohnya.PROC MEANS DATA=TEST N MEAN STD STDERR MAXDEC=1;VAR EXAM1 EXAM2;RUN; Akan memberikan anda sejumlah bilangan untuk masing-masing variabel (N),rataan (MEANS), standar deviasi (STD), dan standar eror (STDERR) untuk variabelEXAM 1 dan EXAM2. tambahannya statistik akan dibulatkan ke satu tempat desimal(MAXDEC=1).C. MENAMBAHKAN PROGRAM Program yang saat ini ditulis menyediakan informasi yang berguna, tetapi dengansedikit kerja, kita dapat meletakkan beberapa “bell dan peluit” padanya. Bell dan peluit disini ditambahkan fitur yang mengikutinya. Ini menghitung nilai mutu akhir, dimana kitainginkan rataan dari dua skor ujian, ini ditunjukkan dengan huruf mutu berdasarkan skorakhir. Ini mencatat mahasiswa dalam urutan nomor mahasiswa, menunjukkan skor akhirmereka, nilai mutu mereka dan mutu pekerjaan rumah mereka.DATA EXAMPLE; ***(1)INPUT SUBJECT GENDER $ EXAM1 EXAM2 ***(2)HW_GRADE $;FINAL = (EXAM1 + EXAM2) / 2; ***(3)IF FINAL GE 0 AND FINAL LT 65 THEN GRADE="F"; ***(4)ELSE IF FINAL GE 65 AND FINAL LT 75 THEN GRADE="C"; ***(5)ELSE IF FINAL GE 75 AND FINAL LT 85 THEN GRADE="B"; JW StatComp Institute 5 http://jwstatcomp.blogspot.com
  6. 6. STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SASELSE IF FINAL GE 85 THEN GRADE="A";DATALINES; ***(6)10 M 80 84 A 7 M 85 89 A 4 F 90 86 B20 M 82 85 B14 F 88 84 C;PROC SORT DATA=EXAMPLE; ***(7)BY SUBJECT; ***(8)RUN;PROC PRINT DATA=EXAMPLE; ***(9)TITLE "Roaster in Student Number Order"; ID SUBJECT; VAR EXAM1 EXAM2 FINAL HW_GRADE;RUN;PROC MEANS DATA=EXAMPLE N MEAN STD STDERR MAXDEC=1; ***(11)TITLE "Deskriptive Statistics"; VAR EXAM1 EXAM2 FINAL;RUN;PROC FREQ DATA=EXAMPLE; ***(12) TABLES GENDER HW_GRADE GRADE;RUN; Seperti sebelumnya, pernyataan dari DATA EXAMPLE sampai DATALINESmenyusun DATA step kita. Pernyataan (1) merupakan sebuah instruksi bagi programuntuk menciptakan sebuah himpunan data dengan nama “EXAMPLE”. (nama himpunandata mengikuti aturan yang sama dengan nama variabel). Pernyataan (2) merupakanpernyataan INPUT yang berbeda dari contoh sebelumnya. Kita seharusnya menggunakanpernyataan INPUT yang sama seperti pada contoh sebelumnya, tetapi pada kesempatanini kita gunakan cara lain dari program SAS yang dapat membaca data. Perhatikan bahwatidak ada nomor kolom diikuti nama variabel. Bentuk dari pernyataan ini disebut input list. Untuk menggunakan bentuk INPUTini, nilai data harus dipisahkan oleh satu atau lebih spasi. Urutan nama veriabel dalam listharus sesuai dengan urutan nilai dalam baris data. Dalam contoh ini, pernyataan INPUTmenunjukkan program bahwa variabel pertama dari masing-masing baris data mewakilinilai SUBJECT, variabel selanjutnya adalah GENDER, ketiga EXAM1 dan seterusnya.Jika data anda sesuai dengan format spasi antar tiap variabel, maka anda tidak harusmerincikan nomor kolom untuk setiap variabel yang dilist pada pernyataan INPUT. Andamungkin menginginkan seperti itu, tetapi ini tidak diperlukan. (anda masih harusmengikuti nama variabel karakter dengan tanda dollar). Jika anda menggunakan “inputlist”, maka setiap variabel pada baris data anda harus di list. Dan juga, karena urutan nilaidata digunakan untuk menggabungkan nilai dengan variabel, kita harus membuatpersyaratan khusus untuk nilai yang hilang. Andaikan bahwa subjek bernomor 10 (subjekpertama dalam contoh kita) tidak ada nilai ujian pertamanya. Jika kita catat, datanya akanseperti ini:10 M 84 A Dengan hilangnya skor EXAM1, nilai 84 akan dibaca sebagai skor EXAM1,program akan membaca huruf ‘A’ sebagai nilai bagi EXAM2 (dimana akan menyebabkanterjadinya eror karena program mengharapkan sebuah bilangan) dan kejadian JW StatComp Institute 6 http://jwstatcomp.blogspot.com
  7. 7. STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SASterburuknya, program akan melihat pada baris selanjutya untuk nilai homework grade.Anda akan mendapatkan pesan eror pada SAS LOG yang menunjukkan anda bahwa andamemiliki nilai yang tidak valid bagi EXAM2 dan SAS akan menuju ke baris baru ketikapernyataan INPUT telah mencapai bagian akhir dari baris. Anda pun tidak akan mengertipesan eror ini. Untuk menempatkan nilai yang hilang ketika menggunakan pernyataan INPUT list,gunakan sebuah titik untuk mewakili nilai yang hilang. Titik akan diinterpretasikansebagai nilai yang hilang oleh program dan akan menjaga urutan nilai data utuh. Ketikakita merincikan kolom seperti pada contoh pertama, kita bisa menggunakan spasi sebagainilai yang hilang. Menggunakan titik sebagai nilai yang hilang ketika kita telahmenspesifikasikan kolom dalam pernyataan INPUT juga boleh, akan tetapi tidakdianjurkan. Cara yang benar untuk meawakili garis data ini, dengan hilangnya skorEXAM1 adalah:10 M . 84 A Karena input list memerlukan satu atau lebih titik antar nilai data, kitamembutuhkan sedikitnya satu spasi sebelum dan setelah titik. Kita boleh menambahkanspasi yang lebih dalam data kita untuk mengizinka nilai data tetap pada garis dalamkolom. Baris (3) merupakan pernyataan yang menandakan rataan dari EXAM1 danEXAM2 untuk sebuah variabel yang disebut FINAL. Nama variabel FINAL harus sesuaidengan aturan penamaan nama variabel lain pada pernyataan INPUT. Pada contoh ini,FINAL dihitung dengan menambahkan dua skor ujian dan membaginya dengan 2.perhatikan bahwa kita menjumlahkan dengan tanda + dan membagi dengan tanda / . Kitamemerlukan tanda kurung karena, sama seperti yang ditulis secara aljabar. KomputasiSAS dijalankan berdasarkan suatu hirarki (tingkatan). Perkalian dan pembagiandijalankan sebelum penjumlahan dan pengurangan. Sehingga kita tulis: FINAL = EXAM1 + EXAM2 / 2; Nilai FINAL seharusnya dijumlahkan dari skor EXAM1 dan setengah dariEXAM2. penggunaan tanda kurung menunjukkan program untuk menambahkan skor duaujian kemudian membaginya dengan 2. Untuk perkalian, kita gunakan tanda asterisk (*)dan untuk pengurangan kita gunakan tanda - . perpangkatan yang dijalankan sebelumperkalian atau pembagian dinyatakan dengan tanda dua asterisk (**). Misalnya untukmenghitung A kali B kuadrat, kita tulis: X = A * B**2; Variabel FINAL telah dihitung dari nilai EXAM1 dan EXAM2. Berbeda daricara lain membuatnya berbeda dari variabel lain dimana nilainya dibaca dari data mentah.Ketika DATA step diakhiri, prosedur SAS yang mengikutinya tidak akan memperlakukanvariabel seperti FINAL yang berbeda dari variablel EXAM1 dan EXAM2. Pernyataan IF (4) dan pernyataan ELSE IF (5) adalah pernyataan logika yangdigunakan untuk menghitung huruf mutu. Mereka sesungguhnya mudah untuk mengerti.Ketika kondisi dengan pernyataan IF benar, instruksi diikuti kata THEN dijalankan.Operator pembanding logika yang digunakan dalam contoh ini adalah GE (Greater thanor equal to) / lebih besar dari atau samadengan (>=). Dan LT (Less than) / kurang dari.Sehingga, jika skor FINAL lebih besar dari atau sama dengan 0 and kurang dari 65, hurufmutu ‘F’ ditandai. Pernyataan ELSE hanya dijalankan jika pernyataan IF sebelumnyatidak benar. Sebagai contoh, jika nilai FINAL 73, pernyataan IF pertama tidak benar,sehingga pernyataan IF (5) di uji. Karena pernyataannya benar, GRADE “C’ ditandai,dan semua pernyataan IF selanjutnya di abaikan. Operator logika lain dan bentuk simbolnya ditunjukkan dalam tabel di bawah:Ekspresi Simbol Arti JW StatComp Institute 7 http://jwstatcomp.blogspot.com
  8. 8. STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SASEQ = Equal (sama dengan)LT < Less than (kurang dari)LE <= Less than or equal (kurang dari atau sama dengan)GT > Greater than (lebih dari)GE >= Greater than or equal (lebih dari atau samadengan)NE ^= Not Equal (tidak sama dengan)NOT ^ Negation (negasi) Pernyataan DATALINES (6) menunjukkan bahwa DATA step lengkap dan akandiikuti diikuti dengan isi data. Perhatikan bahwa setiap pernyataan SAS diakhiri dengantanda titik koma. Seperti yang telah kita sebutkan sebelumnya, titik koma adalah akhirdari pernyataan SAS. Kita telah menulis empat baris seperti ini:DATA EXAMPLE;INPUT SUBJECT GENDER $ EXAM1 EXAM2 HW_GRADE $;FINAL =(EXAM1 + EXAM2) / 2; Program masih akan berjalan dengan benar. Penggunaan titik koma sebagaipembatas cukup memudahkan karena kita bisa menulis pernyataan SAS yang panjangpada beberapa baris dan meletakkan tanda titik koma pada akhir pernyataan.Bagaimanapun juga, jika anda menghilangkan tanda titik koma pada akhir pernyataanSAS, program akan berusaha membaca pernyataan selanjutnya sebagai bagian daripernyataan sebelumnya, yang bisa menyebabkan eror. Ini mungkin tidak hanyamenyebabkan program kita mati, mungkin juga hasilnya dalam pesan error ganjil yangberasal dari system SAS. Perhatikan juga baris-baris datanya, karena bukan pernyataanSAS, jangan diakhiri dengan tanda titik koma. Selanjutnya pernyataan DATALINES pada baris data kita. Ingat bahwa jika andamemiliki data yang ditempatkan dalam kolom yang ditunjukkan dengan tanpa spasiantara nilai datanya, anda harus menggunakan bentuk INPUT lain yang ditunjukkan diawal, dengan spesifikasi kolom setelah nama setiap variabel atau input yang diformat(lihat bab 12). Kita telah menggunakan pernyataan RUN untuk mengakhiri setiapprosedur. Setiap pernyataan RUN menunjukkan kepada sistem bahwa kita menyelesaikandengan suatu bagian program dan memutuskan untuk melakukan komputasi. Ingat, ketikamenggunakan Display Manager, hanya pernyataan RUN terakhir yang mutlakdibutuhkan, yang lainnya hanyalah unsur dari gaya pemrograman.D. PROSEDUR SAS Yang mengikuti data dengan segera adalah deretan PROC. Mereka menjalankanberbagai fungsi dan komputasi pada himpunan data SAS. Karena kita menginginkandaftar bagi subjek dan skor berdasarkan urutan subjek., pertama kali kita masukkanSORT PROCEDURE (7), (8) dan (9). Baris (7) menunjukkan bahwa kita inginmengurutkan himpunan data SAS kita, garis (8) menunjukkan bahwa pengurutanberdasarkan nomor SUBJECT. Pengurutan dapat dilakukan pada berbagai level jikadiinginkan. Sebagai contoh, jika kita ingin memisahkan daftar mahasiwa laki-laki danwanita dalam urutan subjek, kita tuliskan:PROC SORT DATA=EXAMPLE;BY GENDER SUBJECT;RUN; JW StatComp Institute 8 http://jwstatcomp.blogspot.com
  9. 9. STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SAS Urutan multilevel ini menunjukkan bahwa, kita pertamakali harus mengurutkanberdasarkan GENDER (F lalu diikuti oleh M, variabel karakter yang diurutkan secaraalphabet), kemudian urutan SUBJECT di dalam GENDER. Prosedur PRINT (10) meminta daftar dari data kita (yang sekarang dalam urutanSUBJECT). Prosedur PRINT digunakan untuk mendaftarkan nilai data dalam himpunandata SAS. Kita telah mengikuti pernyataan PRINT dengan pernyataan PROC PRINT kitadengan tiga pernyataan yang memberikan informasi ke prosedur. Yaitu pernyataanTITLE, ID dan VAR. seperti kebanyakan prosedur SAS, pernyataan tambahan yangmengikuti PROC dapat ditempatkan dalam beberapa urutan, yaitu:PROC PRINT DATA=EXAMPLE; ID SUBJECT; TITLE "Roaster in Student Number Order"; VAR EXAM1 EXAM2 FINAL HW_GRADE;RUN;Yang ekuivalen dengan:PROC PRINT DATA=EXAMPLE; TITLE "Roaster in Student Number Order"; ID SUBJECT; VAR EXAM1 EXAM2 FINAL HW_GRADE;RUN; Program SAS mengenal kata kunci TITLE, ID dan VAR dan menginterpretasikanapa yang mengikuti konteksnya. Perhatikan bahwa setiap pernyataan diakhiri dengantanda titik koma. Kata yang mengikuti TITLE akan ditempatkan dengan tanda kutiptunggal atau ganda dan akan dicetak melintang pada bagian paling atas halaman outputSAS. Variabel ID, dalam hal ini SUBJECT akan menyebabkan variabel mencetakvariabel SUBJECT pada kolom pertama, kolom yang tidak dimasukkan dilabelkandengan OBS (nomor pengamatan), dimana program akan mencetak ketika variabel IDtidak ada. Variabel yang diikuti dengan kata kunci VAR ditunjukkan disamping variabelID yang kita inginkan dalam laporan kita. Urutan variabel tersebut dalam daftar jugamengontrol urutan dimana mereka muncul dalam laporan. Prosedur MEANS (13) sama seperti yang kita gunakan sebelumnya. Terakhirprosedur FREQ 912) meminta hitungan frekuensi untuk variabel GENDER,HW_GRADE dan GRADE. Yaitu jumlah Male dan Female, jumlah A, B dan seterusnya,dan persentase untuk setiap kategori. PROC FREQ akan menghitung frekuensi variabelyang di daftar pada pernyataan TABLES. Alasan bahwa SAS menggunakan kata kunciTABLES menggantikan VAR untuk variabel daftar ini, PROC FREQ dapat jugamenghasilkan tabel n-way (misalnya tabel 2x3). Output dari program lengkap ditunjukkan di bawah ini:Roaster in Student Number OrderSUBJECT EXAM1 EXAM2 FINAL HW_GRADE 4 90 86 88.0 B 7 85 89 87.0 A 10 80 84 82.0 A 14 88 84 86.0 C 20 82 85 83.5 B Bagian pertama dari output (nomor halaman ditunjukkan paling kanan pada setiaphalaman) adalah hasil dari PROC PRINT pada himpunan data yang telah diurutkan.Setiap kolom dipasangkan dengan nama variabelnya. Karena kita menggunakanpernyataan ID dengan SUBJECT sebagai variabel ID, kolom yang paling kirimenunjukkan nomor SUBJECT menggantikan kolom OBS yang seharusnya dicetak jikatidak memiliki variabel ID. JW StatComp Institute 9 http://jwstatcomp.blogspot.com
  10. 10. STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SAS Halaman 2 dari output masing-masing variabel didaftar pada pernyataan VAR danmenghasilkan statistik yang diminta (N, rataan, standar deviasi dan standar eror)semuanya ditempatkan sepersepuluhan (karena MAXDEC=1). Halaman 3 dari hasil adalah PROC FREQ. perhatikan judulnya “DescriptiveStatistics” masih dicetak pada bagian atas setiap halaman. Judul ini berpengaruh sampaiakhir sesi SAS yang terjadi atau jika anda mengubahnya ke baris judul yang lainnya.Bagian ini memberikan anda frekuensi (jumlah pengamatan dengan nilai masing-masing)berikut persentasenya. Dua kolom dinamai “Cumulative Frequency” dan “CumulativePercent”, sebenarnya kurang berguna pada contoh ini. Pada kasus lain, dimana variabelmewakili kuantitas ordinal, statistik kumulatif mungkin lebih berguna.E. OVERVIEW DATA STEP SAS Jika kita periksa sebentar apa yang terjadi ketika kita menjalankan program SAS.Diskusi ini adalah sedikit teknis dan dapat kita lompati, tetapi pengertiannya padabagaimana software SAS bekerja yang akan membantu anda mengerjakan pemrogramanyang lebih lanjut. Ketika pernyataan DATA dijalankan, software SAS mengalokasikansebagian dari disk dan nama himpunan data “EXAMPLE”, pilihan kita untuk himpunandata tersebut. Sebelum pernyataan INPUT dijalankan, setiap variabel karakter dannumerik ditunjukkan nilai yang hilang. Selanjutnya pernyataan INPUT membaca barispertama dari data dan menggantikan nilai data aktual bagi nilai yang hilang. Nilai datatersebut belum ditulis untuk himpuan data SAS kita EXAMPLE tetapi untuk suatu tempatyang disebut Program Data Vector (PDV). Sederhananya ini adalah area “holding”dimana nilai data disimpan sebelum ditransfer ke himpunan data SAS. Komputasi mutufinal selanjutnya dan hasil komputasi ini ditambahkan ke PDV. Tergantung pada nilaimutu final, suatu huruf mutu ditunjukkan dengan deretan pernyataan IF dan ELSE IF.DATALINES ditempatkan pada akhir DATA step, dan nilai dalam PDV ditransfer kehimpunan data SAS. Program kemudian mengecek kembali ke bagian atas DATA stepdan pernyataan INPUT dijalankan lagi untuk membaca baris data selanjutnya,menghitung mutu akhir dan menuliskan pengamatan selanjutnya ke himpunan data SAS.F. SINTAKS PROSEDUR SAS Seperti yang pernah kita lihat, prosedur SAS memiliki pilihan. Dan juga prosedursering memiliki pernyataan, seperti pernyataan VAR sebelumnya, yang memberikaninformasi ke prosedur. Akhirnya, pernyataan juga memiliki pilihan. Kita akanmenunjukkan prosedur sintaks SAS secara umum dan kemudian mengilustrasikannyadengan beberapa contoh. Sintaks untuk semua prosedur SAS adalah:PROC PROCNAME options;STATEMENT / statement options;...STATEMENT / statement option;RUN; Pertama, semua prosedur dimulai dengan kata PROC diikuti dengan namaprosedur. Jika ada beberapa pilihan prosedur, mereka ditempatkan dalam urutan, antaranama prosedur dan titik koma, dipisahkan oleh spasi. Jika kita tunjukkan ke manual SAS,dibawah PROCMEANS kita akan melihat sebuah daftar pilihan yang digunakan denganprosedur. Seperti yang telah disebutkan, N, MEAN, STD, STDERR, dan MAXDEC= JW StatComp Institute 10 http://jwstatcomp.blogspot.com
  11. 11. STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SASadalah beberapa pilihan yang tersedia. Suatu PROC MEANS yang valid meminta statisticdari himpunan data yang dinamakan EXAMPLE, dengan pilihan bagi N, MEAN, danMAXDEC menjadi:PROC MEANS DATA=EXAMPLE N MEAN MAXDEC=1;RUN; Selanjutnya, kebanyakan prosedur memerlukan pernyataan untuk memberikan lebihbanyak informasi tentang jenis dari analisis yang dilakukan. Sebagai contoh, pernyataandigunakan dengan PROC MEANS. Pernyataan mengikuti prosedur, dalam beberapaurutan (kecuali untuk prosedur statistik tertentu seperti ANOVA atau GLM). Setiappernyataan tersebut diakhiri dengan tanda titik koma. Sehingga untuk menjalankanprosedur PROC MEANS sebelumnya pada variabel EXAM1 dan EXAM2 andmemberikan judul, kita akan memasukkan: PROC MEANS DATA=EXAMPLE N MEAN STD MAXDEC=1; TITLE “Descriptive Statistics on Exam Score”; VAR EXAM1 EXAM2; RUN; Urutan dari pernyataan TITLE dan VAR dapat diubah dengan tidak mengubahhasilnya. Akhirnya, beberapa pernyataan prosedur juga memiliki beberapa pilihan.Pilihan pernyataan ditempatkan diantara kata kunci pernyataan dan titik koma dandihubungkan dari pernyataan dengan tanda slash ( / ). Untuk mengilustrasikannya, kitaperlu memilih suatu prosedur yang lain dari PROC MEANS. Gunakan PROC FREQsebagai contoh. Seperti yang kita lihat, PROC FREQ biasanya memiliki satu atau lebihpernyataan TABLES yang mengikutinya. Ada pilihan TABLES yang mengontrol statistikmana yang ditempatkan dalam sebuah tabel. Contohnya, jika kita tidak ingin statistikkumulatif dicetak, gunakan pernyataan NOCUM and titik koma, hubungkan dengansebuah slash. PROC FREQ meminta pada contoh awal, mengubahnya untukmenghilangkan statistik kumulatif, sehingga menjadi:PROC FREQ DATA=EXAMPLE; TABLES GENDER HW_GRADE GRADE / NOCUM;RUN; Untuk menunjukkan prosedur dengan pilihan prosedur dan pernyataan, kita gunakanORDER= pilihan dengan PROC FREQ. Pilihan ini berguna untuk mengontrol urutandimana nilai dapat diubah dalam tabel frekuensi kita. Satu pilihan adalahOREDER=FREQ, yang memungkinkan tabel frekuensi dapat diubah dalam urutanfrekuensi, dari frekuensi tertinggi ke paling rendah. Sehingga frekuensi meminta dalamurutan menurun dan untuk menghilangkan statistik kumulatif dari output, kita tulispernyataan PROC FREQ seperti dibawah:PROC FREQ DATA=EXAMPLE ORDER=FREQ; TABLES GENDER HW_GRADE GRADE/ NOCUM;RUN;G. PERNYATAAN KOMENTAR Sebelum menyelesaikan bab ini, kita perkenalkan salah satu pernyataan SAS yangpaling penting yaitu, pernyataan komentar. Suatu program sepatutnya dikomentari yangmenunjukkan keprofesionalan dalam pekerjaan. Suatu komentar, dimasukkan dalamprogram berupa satu atau lebih barisan teks yang tidak dikenal oleh program. Merekahanya membantu programmer atau peneliti ketika dia membaca program suatu saat nanti. Ada dua cara memasukkan komentar ke dalam program SAS. Pertama, denganmenulis pernyataan komentar. Dimulai dengan asterisk dan diakhiri dengan tanda titikkoma. Ada banyak cara yang memungkinkan menggunakan metode ini, contohnya: JW StatComp Institute 11 http://jwstatcomp.blogspot.com
  12. 12. STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SAS *Program to Compute Reability CoefficientRon CodySeptember 18, 2004Program Name : FRED stored in directory C:MYDATAContact Fred Cohen at 555-4567; Perhatikan kemudahan metode ini. Hanya dengan memasukkan tanda * danbeberapa garis, diakhiri dengan titik koma. Hanya membuat pernyataan komentar yangbenar yang tidak terdiri dari tanda titik koma. Beberapa programmer suka dan membuatkotak yang indah untuk komentarnya, seperti ini:*---------------------------------------------------*| Program to Compute Reability Coefficient || Ron Cody || September 18, 2004 || Program Name : FRED stored in directory C:MYDATA || Contact Fred Cohen at 555-4567; |*---------------------------------------------------*; Perhatikan bahwa keseluruhan kotak adalah pernyataan komentar SAS karenadimulai dengan tanda asterisk dan diakhiri dengan tanda titik koma. Anda mungkin jugauntuk mengomentari baris tunggal dengan memilih salah satu dari tiga cara di bawah:QUES = 6 - QUES; *Transform QUES VAR;X = LOG(X); *LOG Transform of X;atau*Transform the QUES Variable;QUES = 6 - QUES;*Take the LOG of X;X = LOG(X);*True professional at work;atau**Transform the QUES Variables*;QUES = 6 - QUES;**Take the LOG of X*;X = LOG(X);**True professional at work*; Untuk efek visual, contoh terakhir menggunakan lebih dari satu asterisk untukmenyusun komentar. Perlu dicatat, bagaimanapun, setiap kelompok dari tiga baris adalahpernyataan komentar tunggal karena ini dimulai dengan asterisk dan diakhiri dengan titikkoma. Metode pengomentaran alternatif memulai suatu komentar dengan tanda /* dandiakhiri dengan */. Bentuk komentar ini dapat dipasangkan dengan pernyataan SAS danmemasukkan titik koma tanpa mengomentari dirinya sendiri. Contohnya:/* This is a comment line*/atau/*----------------------------------------------------*| This is a pretty comment box using the slash star || methods of commenting. Notice that it begins with | JW StatComp Institute 12 http://jwstatcomp.blogspot.com
  13. 13. STATISTIKA TERAPAN DENGANBAHASA PEMROGRAMAN SAS| a slash star and ends with a star slash |*----------------------------------------------------*/atauDATA EXAMPLE;/* The data statement*/INPUT SUBJECT /* Note SUBJECT is numenric */ GENDER $EXAM1 /* EXAM1 is the first exam score */EXAM2 /* EXAM2 is the second exam score */HW_GRADE $;FINAL = (EXAM1 + EXAM2) / 2; /* Compute a composite grade*/DATALINES; Andaikan ditunjukkan kepada anda satu final, sangatlah berguna menggunakansebuah komentar sebelum mengakhiri bab ini. Andaikan anda telah menulis sebuahprogram dan telah menjalankan beberapa prosedur. Sekarng anda kembali ke programdan ingin menjalankannya dengan prosedur tambahan. Anda bisa mengedit program,mengubah program lama dan menambahkannya. Atau anda bisa mengomentarinya diluardengan mengawali bagian dengan /* dan mengakhirinya dengan */, membuat seluruhbagian menjadi komentar. Sebagai contohnya, kita mengomentari program seperti ini:DATA MYPROG; INPUT X Y Z;DATALINES;;/*************************PROC PRINT DATA=MYPROG; TITLE "MY TITLE"; VAR Y Z;RUN;*************************/PROC CORR DATA=MYPROG; VAR X Y Z; RUN; Prosedur print tidak dijalankan karena ini diperlakukan sebagai sebuah komentar;sedangkan prosedur korelasi (PROC CORR) akan dijalankan. Satu titik final: ketika menjalankan sekelompok program pada mainframe IBM dibawah MVS, tanda /* dalam kolom 1 dan 2 menyebabkan program berakhir, sehinggajangan menggunakan kolom 1 jika anda menggunakan JCL (Job Control Language). Hanya diperlukan sedikit waktu untuk mengomentari program SAS, tetapi waktutersebut cukup menghabiskan. Anda akan berterimakasih banyak telah menambahkansebuah komentar ke program ketika tiba waktunya untuk mengubah program atau jikaanda mengharapkan orang lain mengerti bagaimana program anda bekerja. JW StatComp Institute 13 http://jwstatcomp.blogspot.com

×