You are on page 1of 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
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 NUMBER 10 .7 4 20 25 14 GENDER (M or F) M M F M F F EXAM 1 80 85 90 82 94 88 EXAM 2 84 89 86 85 94 84 HOMEWPRK GRADE A A B B A 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
http://jwstatcomp.blogspot.com

STATISTIKA TERAPAN DENGAN BAHASA PEMROGRAMAN SAS


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

MEANS DATA=TEST;

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 87 42 9 26 4 Right-justified (rata kanan) Salah 87 42 9 26 4 Left-justified (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
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 2 3 4 DATA TEST; INPUT SUBJECT 1-2 GENDER $ 4 EXAM1 6-8 EXAM2 10-11 HW_GRADE $ 14; 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 13

; PROC MEANS DATA=TEST; 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
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 SUBJECT EXAM1 EXAM2 N 6 6 6 Mean 13.3333333 86.5000000 5.3333333 Std Dev 7.9916623 5.2057660 1.9663842 Minimum 4.0000000 80.0000000 4.0000000 Maximum 25.0000000 94.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
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
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 EQ Simbol = Arti Equal (sama dengan)

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

STATISTIKA TERAPAN DENGAN BAHASA PEMROGRAMAN SAS


LT LE GT GE NE NOT < <= > >= ^= ^ Less than (kurang dari) Less than or equal (kurang dari atau sama dengan) Greater than (lebih dari) Greater than or equal (lebih dari atau samadengan) Not Equal (tidak sama dengan) 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
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 4 7 10 14 20 90 85 80 88 82 86 89 84 84 85 88.0 87.0 82.0 86.0 83.5 HW_GRADE B A A C 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
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
http://jwstatcomp.blogspot.com

10

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
http://jwstatcomp.blogspot.com

11

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
http://jwstatcomp.blogspot.com

12

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
http://jwstatcomp.blogspot.com

13

You might also like