Anda di halaman 1dari 13

STATISTIKA TERAPAN DENGAN

BAHASA PEMROGRAMAN SAS

BAB 1. TUTORIAL SAS


A. PENDAHULUAN
SAS merupakan kombinasi program yang awalnya dirancang untuk melakukan
analisis data statistik. Sama seperti program lain yang mungkin pernah anda dengar yaitu
SPSS, BMDP, atau SYSTAT. Jika anda lihat di berbagai majalah komputer pribadi
(personal computer), anda mungkin menjalankan program dasar yang dirancang untuk
komputer pribadi. Pada permulaannya, SAS telah dikembangkan untuk dapat melakukan
analisis array dari fungsi nonstatistik yang mengesankan. Untuk sekarang kita akan
belajar banyak dasar dasar sistem SAS.
Untuk memulainya, SAS dijalankan pada berbagai komputer dan sistem operasi
(platform) yang beranekaragam. Anda mungkin memiliki komputer pribadi dengan sistem
operasi Windows (seperti Windows XP atau Windows 2002). Atau mungkin saja
menggunakan UNIX atau LINUX atau terhubung ke sebuah jaringan atau komputer
mainframe dengan menggunakan modem atau hubungan jaringan kerja. Atau anda hanya
memiliki VCR yang dibuat yang anda anggap sebuah komputer. Jika anda ragu-ragu
flatform apa yang anda gunakan atau versi berapa yang yang digunakan, tanyakanlah
pada seseorang. Anda membutuhkan orang tersebut untuk menentukan kebutuhan apa
pada komputer anda agar SAS dapat dijalankan. Yang diajarkan di sini adalah bagaimana
menggunakan SAS dan bagaimana penyesuaiannya dengan komputer anda.
Jika anda menjalankannya pada sebuah mainframe, anda harus mematuhi apa yang
disebut pekerjaan “batch”(berkelompok). Jika anda menjalankan pekerjaan batch, anda
mengirim program anda (lewat telepon atau sebuah jaringan dari komputer pribadi atau
terminal) ke komputer. komputer menjalankan program anda dan menyimpannya sampai
anda menanyakannya atau mencetak hasilnya pada printer berkecapatan tinggi. Anda
bahkan harus mempelajari beberapa Job Control Language untuk kemudian anda bisa
memprosesnya.
Jika anda menjalankannya pada sebuah komputer pribadi atau di sebuah mode
interaktif pada suatu minicomputer atau mainframe, maka anda harus mempelajari
bagaimana menggunakan SAS Display Manager atau Enterprise Guide ( suatu “front
end” untuk SAS pada platform Windows yang membolehkan banyak operasi titik dan
klik dengan kemampuan yang sama seperti menulis program SAS. Tampilan dari SAS,
sekali anda di Display Manager sama saja menariknya, terserah platform apa yang anda
gunakan. Anda bisa mengunduh semua program dan file data yang digunakan dalam buku
ini, sama seperti data untuk soal pada akhir bab, dengan mengunjungi web site:
www.prenhall.com/cody

B. MENGHITUNG DENGAN SAS: SUATU CONTOH ILUSTRASI

Program SAS berkomunikasi dengan komputer dengan menggunakan


“pernyataan” SAS. Ada beberapa jenis pernyataan SAS, tetapi umumnya dipakai
bersama-sama yang diakhiri dengan titik koma. Titik koma dalam program SAS seperti
sebuah titik dalam bahasa inggris. Kemungkinan terbanyak ditemukannya error dalam
program SAS adalah hilangnya tanda titik koma. Hilangnya disebabkan komputer
membaca dua pernyataan sebagai suatu pernyataan yang berlanjut dan tetap menjadi
suatu hal yang salah.
Program SAS terdiri dari berbagai pernyataan SAS. Beberapa pernyataan tersebut
menyediakan informasi ke sistem seperti berapa banyak garis untuk mencetak pada satu
halaman dan judul apa yang ingin dicetak di atas halaman. Pernyataan lainnya bertindak
bersama untuk menciptakan himpunan data SAS, sedangkan pernyataan SAS yang lain
bertindak 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
STATISTIKA TERAPAN DENGAN
BAHASA PEMROGRAMAN SAS

SAS yang dinamakan DATA step; pernyataan SAS yang meminta pendefinisian biasa
disebut PROC (diucapkan “prock”) step. DATA step memberitahu tentang data program
SAS anda. Ini digunakan untuk menunjukkan dimana peubah pada garis data (data lines),
apa yang anda inginkan untuk memanggil peubah, bagaimana menciptakan peubah baru
dari peubah yang sudah ada, dan beberapa fungsi lain yang akan kita bicarakan nanti.
Langkah PROC (kependekan dari PROCEDURE) menunjukkan jenis analisis statistik
apa untuk melakukan dan menyediakan secara rinci untuk analisis tersebut. Lihatlah
contoh di bawah. Perhatikan himpunan data sederhana ini:

SUBJECT GENDER (M or EXAM 1 EXAM 2 HOMEWPRK


NUMBER F) GRADE
10 M 80 84 A
.7 M 85 89 A
4 F 90 86 B
20 M 82 85 B
25 F 94 94 A
14 F 88 84 C

Kita memiliki lima peubah (SUBJECT NUMBER, GENDER, EXAM 1, EXAM 2


dan HOMEWORK GRADE) dikumpulkan untuk masing-masing enam subjek. Satuan
analisis (hal yang kita pelajari orang dalam contoh ini) digantikan sebagai suatu
“pengamatan” dalam istilah SAS. Jika anda akrab dengan SQL (Structured Query
Language), anda akan memilih pengamatan sebagai “baris” (dari tabel). SAS
menggunakan istilah peubah untuk mewakili setiap informasi yang dikumpulkan untuk
setiap pengamatan. Dalam istilah SQL, anda akan menyebutnya peubah “kolom” atau
“bidang”. Sebelum kita menulis program SAS, kita harus menentukan dulu nama pada
setiap peubah. Kita lakukan ini sehingga kita bisa membedakan peubah yang satu dengan
peubah yang lain ketika melakukan komputasi atau ketika meminta statistiknya. Nama
peubah SAS harus sesuai dengan beberapa aturan yang sederhana: harus diawali dengan
sebuah huruf atau karakter underscore (_) dan tidak lebih dari 32 karakter, seperti koma,
titik koma, dsb tidak diperbolehkan. Karakter underscore (_) merupakan penggunaan
khusus sebagai bagian dari nama peubah SAS karena dapat digunakan untuk membuat
nama 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 mengingat


nama variabel mana yang diinginkan dalam analisis. Kita bisa saja menamakannya
dengan variabel VAR1, VAR2, VAR3, VAR4, dan VAR5, akan tetapi kita harus
mengingat bahawa VAR1 untuk “SUBJECT NUMBER”, demikian juga dengan yang
keempat lainnya.
Untuk memulainya, andaikan kita tertarik ingin mendapatkan rata-rata kelas
untuk dua ujian. Dalam kenyataanya, ini sukar menggunakan komputer untuk
menambahkan enam bilangan, akan tetapi ini menyediakan contoh yang mudah. Untuk
mengerjakannya, kita bisa menulis program SAS:

DATA TEST;
INPUT SUBJECT 1-2 GENDER $ 4 EXAM1 6-8 EXAM2 10-11
HW_GRADE $ 14;
DATALINES;

JW StatComp Institute 2
http://jwstatcomp.blogspot.com
STATISTIKA TERAPAN DENGAN
BAHASA PEMROGRAMAN SAS

10 M 80 84 A
7 M 85 89 A
4 F 90 86 B
20 M 82 85 B
25 F 94 94 A
14 F 88 84 C
;
PROC MEANS DATA=TEST;
RUN;

Empat baris pertama menyusun DATA step. Dalam contoh ini, DATA step dimulai
dengan kata DATA dan diakhiri dengan kata DATALINES. Versi paling awal dari
software SAS digunakan istilah CARDS sebagai pengganti DATALINES. Istilah kedua
ini juga masih valid. Baris (1) menunjukkan kita ingin menciptakan suatu himpunan data
SAS yang dinamakan TEST. Dua baris selanjutnya (2) menunjukkan suatu pernyataan
INPUT yang memberikan program dua penggal informasi: apa nama variabel dan dimana
letaknya pada baris data. Perhatikan bahwa pernyataan SAS tunggal menempati dua baris.
Sistem SAS mengartikannya sebagai sebuah pernyataan SAS tunggal karena hanya ada
satu titik koma pada akhir pernyataan tersebut. Variabel pertama SUBJECT dapat
ditemukan pada kolom 1 dan 2 dari baris data. Variabel kedua GENDER dapat ditemukan
pada kolom 4. Tanda dollar ($) setelah GENDER berarti bahwa GENDER adalah sebuah
variabel karakter (alphanumeric), sehingga suatu variabel dapat berupa huruf atau
bilangan sebagai nilai data. Demikian juga untuk variabel selanjutnya. EXAM1 berada
pada kolom 6-8 dan seterusnya. Pernyataan DATALINES (3) mengatakan bahwa
pernyataan DATA dikerjakan dan selanjutnya program melihat data mereka sendiri. Enam
baris selanjutnya adalah data aktual (yang sebenarnya). Dalam contoh ini kita
memasukkan baris data secra langsung dalam program. Selanjutnya pada buku ini, akan
ditunjukkankepada anda bagaimana membaca data dari file eksternal. Anda bisa juga
memasukkan data dari program yang lain seperti Microsoft Excell atau Access.
Garis lintang besar (great latitude) memungkinkan ketika diletakkan bersama baris
data. Gunakan sedikit aturan akan membuatnya lebih sederhana bagi anda. Ini bukan
hukumnya; mereka hanya menyarankan. Pertama, letakkan setiap pengamatan baru pada
baris baru. Lebih dari satu baris per pengamatan kadang-kadang diperlukan (dan ini tidak
menjadi masalah), akan tetapi jangan meletakkan dua pengamatan pada satu baris. Kedua,
susunlah variabel anda. Jangan letakkan variabel EXAM1 pada kolom 6-8 pada satu baris
dan kolom 9-11 pada baris selanjutnya. Software SAS sebenarnya bisa memakai
beberapa tingkatan ketidaktelitian di sini, tetapi cepat atau lambat ini akan merugikan
anda. Ketiga, benarkan ke kanan (rata kanan) data numerik anda. Jika anda memiliki
AGE 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 atau
tidak, tetapi pada program statistik yang lain, rata kanan adalah standar. Keempat,
pikirkan secara teliti jika anda menginginkan suatu variabel disimpan sebagai nilai
numerik atau karakter. Ambil HW_GRADE sebagai contoh. Kita memiliki HW_GRADE

JW StatComp Institute 3
http://jwstatcomp.blogspot.com
STATISTIKA TERAPAN DENGAN
BAHASA PEMROGRAMAN SAS

yang 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 kita
mengkodekan 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 ketika
ditemukan pernyataan SAS atau titik koma tunggal. Jika anda memasukkan baris data ke
dalam program, seperti pada contoh tadi, kita tempatkan titik koma tunggal pada baris
secara langsung di bawah baris data terakhir. PROC menyatakan bahwa “jalankan
procedure” ke program. Kita rincikan prosedur mana yang benar setelah kata PROC. Di
sini kita menjalankan prosedur yang dinamakan MEANS. Dibelakang nama prosedur,
kita tempatkan DATA=dan rincikan posedur yang akan menghitung statistik pada
himpunan data yang dinamakan TEST. Pada contoh ini, kita bisa menghilangkan
DATA=TEST, dan prosedur akan mengoperasikan himpunan data yang dibuat terakhir.
Dalam hal ini TEST. Kita sarankan selalu memasukkan DATA=pilihan pada setiap
prosedur, karena dalam kebanyakan program SAS yang lebih lanjut, anda bisa memiliki
prosedur yang menciptakan himpunan data yang sama baiknya dengan kebanyakan
himpunan data “floating around”. Dengan memasukkan DATA=option, anda bisa
memastikan 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 bawah
Display Manager. Pernyataan RUN mengatakan bahwa tidak ada lagi pernyataan
prosedur 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 SAS
LOG dan SAS OUTPUT. SAS LOG merupakan cacatan dari program asli anda. Ini
seperti buku telpon: biasanya tampilannya membosankan, tetapi kadangkala anda
membutuhkannya. Pesan error dari program SAS akan ditemukan di sana, bersama
dengan informasi tentang himpunan data yang telah diciptakan. SAS LOG untuk program
ini 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 4
NOTE: SAS initialization used:
real time 11.16 seconds
cpu time 1.86 seconds

1 DATA TEST;
2 INPUT SUBJECT 1-2 GENDER $ 4 EXAM1 6-8 EXAM2 10-11
3 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 seconds

11 ;
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
STATISTIKA TERAPAN DENGAN
BAHASA PEMROGRAMAN SAS

Bagian output yang lebih penting ditemukan pada jendela OUTPUT jika anda
menggunakan Display Manager. Ini terdiri dari hasil komputasi dan prosedur yang
diminta oleh pernyataan PROC kita. Bagian output dari program kita sebelumnya adalah:

The MEANS Procedure


Variable N Mean Std Dev Minimum Maximum
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ
SUBJECT 6 13.3333333 7.9916623 4.0000000 25.0000000
EXAM1 6 86.5000000 5.2057660 80.0000000 94.0000000
EXAM2 6 5.3333333 1.9663842 4.0000000 9.0000000
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ

Jika anda tidak merincikan variabel mana yang anda inginkan, software SAS akan
menghitung rataan dan beberapa statistik lain untuk setiap variabel numerik dalam
himpunan data. Program kita menghitung rataan bagi SUBJECT, EXAM1 dan EXAM2.
Karena SUBJECT adalah bilangan ID untuk menunjukkan setiap siswa, kita sebenarnya
tidak tertarik dalam menghitung rataannya. Kita bisa menghindarinya dengan
menambahkan pernyataan baru di bawah PROC MEANS:

PROC MEANS DATA=TEST;


VAR EXAM1 EXAM2; ******(6)
RUN;

Perjanjian hanya digunakan untuk bantuan visual. Pernyataan VAR


menspesifikasikan pada variabel mana saja untuk menjalankan PROC MEANS. PROC
MEANS tidak hanya memberikan rataan bagi anda, ini juga memberikan anda sejumlah
pengamatan untuk menghitung rataan, standar deviasi, nilai maksimum serta minimum.
PROC MEANS bisa juga menghitung banyak statistik lainnya seperti ragam dan standar
error. Anda dapat merincikan yang mana saja yang anda inginkan dalam pernyataan
PROC 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 variabel
EXAM 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 dengan
sedikit kerja, kita dapat meletakkan beberapa “bell dan peluit” padanya. Bell dan peluit di
sini ditambahkan fitur yang mengikutinya. Ini menghitung nilai mutu akhir, dimana kita
inginkan rataan dari dua skor ujian, ini ditunjukkan dengan huruf mutu berdasarkan skor
akhir. Ini mencatat mahasiswa dalam urutan nomor mahasiswa, menunjukkan skor akhir
mereka, 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";
ELSE IF FINAL GE 85 THEN GRADE="A";

JW StatComp Institute 5
http://jwstatcomp.blogspot.com
STATISTIKA TERAPAN DENGAN
BAHASA PEMROGRAMAN SAS

DATALINES; ***(6)
10 M 80 84 A
7 M 85 89 A
4 F 90 86 B
20 M 82 85 B
14 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 DATALINES


menyusun DATA step kita. Pernyataan (1) merupakan sebuah instruksi bagi program
untuk menciptakan sebuah himpunan data dengan nama “EXAMPLE”. (nama himpunan
data mengikuti aturan yang sama dengan nama variabel). Pernyataan (2) merupakan
pernyataan INPUT yang berbeda dari contoh sebelumnya. Kita seharusnya menggunakan
pernyataan INPUT yang sama seperti pada contoh sebelumnya, tetapi pada kesempatan
ini kita gunakan cara lain dari program SAS yang dapat membaca data. Perhatikan bahwa
tidak ada nomor kolom diikuti nama variabel.
Bentuk dari pernyataan ini disebut input list. Untuk menggunakan bentuk INPUT
ini, nilai data harus dipisahkan oleh satu atau lebih spasi. Urutan nama veriabel dalam list
harus sesuai dengan urutan nilai dalam baris data. Dalam contoh ini, pernyataan INPUT
menunjukkan program bahwa variabel pertama dari masing-masing baris data mewakili
nilai SUBJECT, variabel selanjutnya adalah GENDER, ketiga EXAM1 dan seterusnya.
Jika data anda sesuai dengan format spasi antar tiap variabel, maka anda tidak harus
merincikan nomor kolom untuk setiap variabel yang dilist pada pernyataan INPUT. Anda
mungkin menginginkan seperti itu, tetapi ini tidak diperlukan. (anda masih harus
mengikuti nama variabel karakter dengan tanda dollar). Jika anda menggunakan “input
list”, maka setiap variabel pada baris data anda harus di list. Dan juga, karena urutan nilai
data digunakan untuk menggabungkan nilai dengan variabel, kita harus membuat
persyaratan khusus untuk nilai yang hilang. Andaikan bahwa subjek bernomor 10 (subjek
pertama dalam contoh kita) tidak ada nilai ujian pertamanya. Jika kita catat, datanya akan
seperti 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 menyebabkan
terjadinya eror karena program mengharapkan sebuah bilangan) dan kejadian
terburuknya, program akan melihat pada baris selanjutya untuk nilai homework grade.

JW StatComp Institute 6
http://jwstatcomp.blogspot.com
STATISTIKA TERAPAN DENGAN
BAHASA PEMROGRAMAN SAS

Anda akan mendapatkan pesan eror pada SAS LOG yang menunjukkan anda bahwa anda
memiliki nilai yang tidak valid bagi EXAM2 dan SAS akan menuju ke baris baru ketika
pernyataan INPUT telah mencapai bagian akhir dari baris. Anda pun tidak akan mengerti
pesan eror ini.
Untuk menempatkan nilai yang hilang ketika menggunakan pernyataan INPUT list,
gunakan sebuah titik untuk mewakili nilai yang hilang. Titik akan diinterpretasikan
sebagai nilai yang hilang oleh program dan akan menjaga urutan nilai data utuh. Ketika
kita merincikan kolom seperti pada contoh pertama, kita bisa menggunakan spasi sebagai
nilai yang hilang. Menggunakan titik sebagai nilai yang hilang ketika kita telah
menspesifikasikan kolom dalam pernyataan INPUT juga boleh, akan tetapi tidak
dianjurkan. Cara yang benar untuk meawakili garis data ini, dengan hilangnya skor
EXAM1 adalah:
10 M . 84 A
Karena input list memerlukan satu atau lebih titik antar nilai data, kita
membutuhkan sedikitnya satu spasi sebelum dan setelah titik. Kita boleh menambahkan
spasi yang lebih dalam data kita untuk mengizinka nilai data tetap pada garis dalam
kolom.
Baris (3) merupakan pernyataan yang menandakan rataan dari EXAM1 dan
EXAM2 untuk sebuah variabel yang disebut FINAL. Nama variabel FINAL harus sesuai
dengan 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 / . Kita
memerlukan tanda kurung karena, sama seperti yang ditulis secara aljabar. Komputasi
SAS dijalankan berdasarkan suatu hirarki (tingkatan). Perkalian dan pembagian
dijalankan sebelum penjumlahan dan pengurangan. Sehingga kita tulis:
FINAL = EXAM1 + EXAM2 / 2;
Nilai FINAL seharusnya dijumlahkan dari skor EXAM1 dan setengah dari
EXAM2. penggunaan tanda kurung menunjukkan program untuk menambahkan skor dua
ujian kemudian membaginya dengan 2. Untuk perkalian, kita gunakan tanda asterisk (*)
dan untuk pengurangan kita gunakan tanda - . perpangkatan yang dijalankan sebelum
perkalian atau pembagian dinyatakan dengan tanda dua asterisk (**). Misalnya untuk
menghitung A kali B kuadrat, kita tulis:
X = A * B**2;
Variabel FINAL telah dihitung dari nilai EXAM1 dan EXAM2. Berbeda dari cara
lain membuatnya berbeda dari variabel lain dimana nilainya dibaca dari data mentah.
Ketika DATA step diakhiri, prosedur SAS yang mengikutinya tidak akan memperlakukan
variabel seperti FINAL yang berbeda dari variablel EXAM1 dan EXAM2.
Pernyataan IF (4) dan pernyataan ELSE IF (5) adalah pernyataan logika yang
digunakan 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 than
or 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, huruf
mutu ‘F’ ditandai. Pernyataan ELSE hanya dijalankan jika pernyataan IF sebelumnya
tidak 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


EQ = Equal (sama dengan)

JW StatComp Institute 7
http://jwstatcomp.blogspot.com
STATISTIKA TERAPAN DENGAN
BAHASA PEMROGRAMAN SAS

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 akan
diikuti diikuti dengan isi data. Perhatikan bahwa setiap pernyataan SAS diakhiri dengan
tanda titik koma. Seperti yang telah kita sebutkan sebelumnya, titik koma adalah akhir
dari 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 sebagai
pembatas cukup memudahkan karena kita bisa menulis pernyataan SAS yang panjang
pada beberapa baris dan meletakkan tanda titik koma pada akhir pernyataan.
Bagaimanapun juga, jika anda menghilangkan tanda titik koma pada akhir pernyataan
SAS, program akan berusaha membaca pernyataan selanjutnya sebagai bagian dari
pernyataan sebelumnya, yang bisa menyebabkan eror. Ini mungkin tidak hanya
menyebabkan program kita mati, mungkin juga hasilnya dalam pesan error ganjil yang
berasal dari system SAS. Perhatikan juga baris-baris datanya, karena bukan pernyataan
SAS, jangan diakhiri dengan tanda titik koma.
Selanjutnya pernyataan DATALINES pada baris data kita. Ingat bahwa jika anda
memiliki data yang ditempatkan dalam kolom yang ditunjukkan dengan tanpa spasi
antara nilai datanya, anda harus menggunakan bentuk INPUT lain yang ditunjukkan di
awal, dengan spesifikasi kolom setelah nama setiap variabel atau input yang diformat
(lihat bab 12). Kita telah menggunakan pernyataan RUN untuk mengakhiri setiap
prosedur. Setiap pernyataan RUN menunjukkan kepada sistem bahwa kita menyelesaikan
dengan suatu bagian program dan memutuskan untuk melakukan komputasi. Ingat, ketika
menggunakan Display Manager, hanya pernyataan RUN terakhir yang mutlak
dibutuhkan, yang lainnya hanyalah unsur dari gaya pemrograman.

D. PROSEDUR SAS

Yang mengikuti data dengan segera adalah deretan PROC. Mereka menjalankan
berbagai fungsi dan komputasi pada himpunan data SAS. Karena kita menginginkan
daftar bagi subjek dan skor berdasarkan urutan subjek., pertama kali kita masukkan
SORT PROCEDURE (7), (8) dan (9). Baris (7) menunjukkan bahwa kita ingin
mengurutkan himpunan data SAS kita, garis (8) menunjukkan bahwa pengurutan
berdasarkan nomor SUBJECT. Pengurutan dapat dilakukan pada berbagai level jika
diinginkan. Sebagai contoh, jika kita ingin memisahkan daftar mahasiwa laki-laki dan
wanita dalam urutan subjek, kita tuliskan:

PROC SORT DATA=EXAMPLE;


BY GENDER SUBJECT;
RUN;

JW StatComp Institute 8
http://jwstatcomp.blogspot.com
STATISTIKA TERAPAN DENGAN
BAHASA PEMROGRAMAN SAS

Urutan multilevel ini menunjukkan bahwa, kita pertamakali harus mengurutkan


berdasarkan GENDER (F lalu diikuti oleh M, variabel karakter yang diurutkan secara
alphabet), kemudian urutan SUBJECT di dalam GENDER.
Prosedur PRINT (10) meminta daftar dari data kita (yang sekarang dalam urutan
SUBJECT). Prosedur PRINT digunakan untuk mendaftarkan nilai data dalam himpunan
data SAS. Kita telah mengikuti pernyataan PRINT dengan pernyataan PROC PRINT kita
dengan tiga pernyataan yang memberikan informasi ke prosedur. Yaitu pernyataan
TITLE, ID dan VAR. seperti kebanyakan prosedur SAS, pernyataan tambahan yang
mengikuti 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 menginterpretasikan
apa yang mengikuti konteksnya. Perhatikan bahwa setiap pernyataan diakhiri dengan
tanda titik koma. Kata yang mengikuti TITLE akan ditempatkan dengan tanda kutip
tunggal atau ganda dan akan dicetak melintang pada bagian paling atas halaman output
SAS. Variabel ID, dalam hal ini SUBJECT akan menyebabkan variabel mencetak
variabel SUBJECT pada kolom pertama, kolom yang tidak dimasukkan dilabelkan
dengan OBS (nomor pengamatan), dimana program akan mencetak ketika variabel ID
tidak ada. Variabel yang diikuti dengan kata kunci VAR ditunjukkan disamping variabel
ID yang kita inginkan dalam laporan kita. Urutan variabel tersebut dalam daftar juga
mengontrol urutan dimana mereka muncul dalam laporan.
Prosedur MEANS (13) sama seperti yang kita gunakan sebelumnya. Terakhir
prosedur 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 variabel
yang di daftar pada pernyataan TABLES. Alasan bahwa SAS menggunakan kata kunci
TABLES menggantikan VAR untuk variabel daftar ini, PROC FREQ dapat juga
menghasilkan tabel n-way (misalnya tabel 2x3).
Output dari program lengkap ditunjukkan di bawah ini:
Roaster in Student Number Order
SUBJECT 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 setiap
halaman) adalah hasil dari PROC PRINT pada himpunan data yang telah diurutkan.
Setiap kolom dipasangkan dengan nama variabelnya. Karena kita menggunakan
pernyataan ID dengan SUBJECT sebagai variabel ID, kolom yang paling kiri
menunjukkan nomor SUBJECT menggantikan kolom OBS yang seharusnya dicetak jika
tidak memiliki variabel ID.

JW StatComp Institute 9
http://jwstatcomp.blogspot.com
STATISTIKA TERAPAN DENGAN
BAHASA PEMROGRAMAN SAS

Halaman 2 dari output masing-masing variabel didaftar pada pernyataan VAR dan
menghasilkan 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 “Descriptive
Statistics” masih dicetak pada bagian atas setiap halaman. Judul ini berpengaruh sampai
akhir 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 “Cumulative
Percent”, sebenarnya kurang berguna pada contoh ini. Pada kasus lain, dimana variabel
mewakili 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 pada
bagaimana software SAS bekerja yang akan membantu anda mengerjakan pemrograman
yang lebih lanjut. Ketika pernyataan DATA dijalankan, software SAS mengalokasikan
sebagian dari disk dan nama himpunan data “EXAMPLE”, pilihan kita untuk himpunan
data tersebut. Sebelum pernyataan INPUT dijalankan, setiap variabel karakter dan
numerik ditunjukkan nilai yang hilang. Selanjutnya pernyataan INPUT membaca baris
pertama dari data dan menggantikan nilai data aktual bagi nilai yang hilang. Nilai data
tersebut belum ditulis untuk himpuan data SAS kita EXAMPLE tetapi untuk suatu tempat
yang disebut Program Data Vector (PDV). Sederhananya ini adalah area “holding”
dimana nilai data disimpan sebelum ditransfer ke himpunan data SAS. Komputasi mutu
final selanjutnya dan hasil komputasi ini ditambahkan ke PDV. Tergantung pada nilai
mutu final, suatu huruf mutu ditunjukkan dengan deretan pernyataan IF dan ELSE IF.
DATALINES ditempatkan pada akhir DATA step, dan nilai dalam PDV ditransfer ke
himpunan data SAS. Program kemudian mengecek kembali ke bagian atas DATA step
dan 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 prosedur
sering memiliki pernyataan, seperti pernyataan VAR sebelumnya, yang memberikan
informasi ke prosedur. Akhirnya, pernyataan juga memiliki pilihan. Kita akan
menunjukkan prosedur sintaks SAS secara umum dan kemudian mengilustrasikannya
dengan 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 nama
prosedur. Jika ada beberapa pilihan prosedur, mereka ditempatkan dalam urutan, antara
nama prosedur dan titik koma, dipisahkan oleh spasi. Jika kita tunjukkan ke manual SAS,
dibawah PROCMEANS kita akan melihat sebuah daftar pilihan yang digunakan dengan
prosedur. Seperti yang telah disebutkan, N, MEAN, STD, STDERR, dan MAXDEC=

JW StatComp Institute 10
http://jwstatcomp.blogspot.com
STATISTIKA TERAPAN DENGAN
BAHASA PEMROGRAMAN SAS

adalah beberapa pilihan yang tersedia. Suatu PROC MEANS yang valid meminta statistic
dari himpunan data yang dinamakan EXAMPLE, dengan pilihan bagi N, MEAN, dan
MAXDEC menjadi:
PROC MEANS DATA=EXAMPLE N MEAN MAXDEC=1;
RUN;
Selanjutnya, kebanyakan prosedur memerlukan pernyataan untuk memberikan lebih
banyak informasi tentang jenis dari analisis yang dilakukan. Sebagai contoh, pernyataan
digunakan dengan PROC MEANS. Pernyataan mengikuti prosedur, dalam beberapa
urutan (kecuali untuk prosedur statistik tertentu seperti ANOVA atau GLM). Setiap
pernyataan tersebut diakhiri dengan tanda titik koma. Sehingga untuk menjalankan
prosedur PROC MEANS sebelumnya pada variabel EXAM1 dan EXAM2 and
memberikan 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 mengubah
hasilnya. Akhirnya, beberapa pernyataan prosedur juga memiliki beberapa pilihan.
Pilihan pernyataan ditempatkan diantara kata kunci pernyataan dan titik koma dan
dihubungkan dari pernyataan dengan tanda slash ( / ). Untuk mengilustrasikannya, kita
perlu memilih suatu prosedur yang lain dari PROC MEANS. Gunakan PROC FREQ
sebagai contoh. Seperti yang kita lihat, PROC FREQ biasanya memiliki satu atau lebih
pernyataan TABLES yang mengikutinya. Ada pilihan TABLES yang mengontrol statistik
mana yang ditempatkan dalam sebuah tabel. Contohnya, jika kita tidak ingin statistik
kumulatif dicetak, gunakan pernyataan NOCUM and titik koma, hubungkan dengan
sebuah slash. PROC FREQ meminta pada contoh awal, mengubahnya untuk
menghilangkan statistik kumulatif, sehingga menjadi:
PROC FREQ DATA=EXAMPLE;
TABLES GENDER HW_GRADE GRADE / NOCUM;
RUN;
Untuk menunjukkan prosedur dengan pilihan prosedur dan pernyataan, kita gunakan
ORDER= pilihan dengan PROC FREQ. Pilihan ini berguna untuk mengontrol urutan
dimana nilai dapat diubah dalam tabel frekuensi kita. Satu pilihan adalah
OREDER=FREQ, yang memungkinkan tabel frekuensi dapat diubah dalam urutan
frekuensi, dari frekuensi tertinggi ke paling rendah. Sehingga frekuensi meminta dalam
urutan menurun dan untuk menghilangkan statistik kumulatif dari output, kita tulis
pernyataan 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 yang
paling penting yaitu, pernyataan komentar. Suatu program sepatutnya dikomentari yang
menunjukkan keprofesionalan dalam pekerjaan. Suatu komentar, dimasukkan dalam
program berupa satu atau lebih barisan teks yang tidak dikenal oleh program. Mereka
hanya membantu programmer atau peneliti ketika dia membaca program suatu saat nanti.
Ada dua cara memasukkan komentar ke dalam program SAS. Pertama, dengan
menulis pernyataan komentar. Dimulai dengan asterisk dan diakhiri dengan tanda titik
koma. Ada banyak cara yang memungkinkan menggunakan metode ini, contohnya:

JW StatComp Institute 11
http://jwstatcomp.blogspot.com
STATISTIKA TERAPAN DENGAN
BAHASA PEMROGRAMAN SAS

*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 kemudahan metode ini. Hanya dengan memasukkan tanda * dan
beberapa garis, diakhiri dengan titik koma. Hanya membuat pernyataan komentar yang
benar yang tidak terdiri dari tanda titik koma. Beberapa programmer suka dan membuat
kotak 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 karena
dimulai dengan tanda asterisk dan diakhiri dengan tanda titik koma. Anda mungkin juga
untuk 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 untuk
menyusun komentar. Perlu dicatat, bagaimanapun, setiap kelompok dari tiga baris adalah
pernyataan komentar tunggal karena ini dimulai dengan asterisk dan diakhiri dengan titik
koma.
Metode pengomentaran alternatif memulai suatu komentar dengan tanda /* dan
diakhiri dengan */. Bentuk komentar ini dapat dipasangkan dengan pernyataan SAS dan
memasukkan 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
STATISTIKA TERAPAN DENGAN
BAHASA PEMROGRAMAN SAS

| a slash star and ends with a star slash |


*----------------------------------------------------*/
atau
DATA 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 menggunakan
sebuah komentar sebelum mengakhiri bab ini. Andaikan anda telah menulis sebuah
program dan telah menjalankan beberapa prosedur. Sekarng anda kembali ke program
dan ingin menjalankannya dengan prosedur tambahan. Anda bisa mengedit program,
mengubah program lama dan menambahkannya. Atau anda bisa mengomentarinya diluar
dengan mengawali bagian dengan /* dan mengakhirinya dengan */, membuat seluruh
bagian 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 di
bawah MVS, tanda /* dalam kolom 1 dan 2 menyebabkan program berakhir, sehingga
jangan menggunakan kolom 1 jika anda menggunakan JCL (Job Control Language).
Hanya diperlukan sedikit waktu untuk mengomentari program SAS, tetapi waktu
tersebut cukup menghabiskan. Anda akan berterimakasih banyak telah menambahkan
sebuah komentar ke program ketika tiba waktunya untuk mengubah program atau jika
anda mengharapkan orang lain mengerti bagaimana program anda bekerja.

JW StatComp Institute 13
http://jwstatcomp.blogspot.com

Anda mungkin juga menyukai