Feeds:
Posts
Comments

Please Visit:
http://girlsgeneration9.wordpress.com/

Find Out More DAILY UPDATE about SNSD/Girls’ Generation/So Nyeo Shi Dae News,Pics,Videos on my another blog : GIRLS GENERATION FANSITE

SNSD Hwaiiting!!

20090623_snsdinterview_03

It is currently the peak of SNSD. The first half of the year was dominated by the hit song ‘Gee’ and now ‘Tell Me Your Wish’ is becoming a hit and they’re hitting ‘consecutive home runs’

If ‘Gee’ had ‘Gee Gee Gee Gee~’ repeating endlessly in an addictive manner and was a hook song, then ‘Tell Me Your Wish’ is a euro-pop-like and trendy dance song with many elements, slightly different from a hook song. When the song was released, musicians said, “Compared to ‘Gee’, it lacks the ability to capture the public”, but it is a mere comment. Like ‘Gee’, after getting released, it became number 1 on various online&offline charts, showing the power of the 9 girls strongly.

Matching the powerful beat of the song, the performance outfits are military look jackets and hot pants, showing off a tough and sexy charm. In ‘Gee’, there were color skinny jeans, cautiously showing off the curves of the girls and this time, SNSD will wear refreshing outfits to match with the summer and with powerful stage performances, they will cause the hearts of male fans to flutter.

Then what are the wishes of the 9 girls that say, ‘I’m wanting to answer your wishes, Your goddess of fortune’ and ‘Tell Me Your Wish~’? Through this interview, we found out what their wishes were.

◇Taeyeon

I want to have a SNSD concert. We haven’t had a SNSD concert yet. We want to have a stage just for us. All the fans will come to the concert just to see SNSD. Also, how content would we be if all of the staff worked only for us? To achieve that, a lot of hard work and preparation would be required, right? I want to achieve this dream within 2 years.

◇Sooyoung

I want to master an instrument. Particularly the guitar. In the Japanese movie, ‘A Song To The Sun’, the sight of the lead female character, Yui, playing the guitar was very pretty. I also liked Yui’s song. When we do a concert, I want to show myself playing the guitar and singing. One more thing. I want to go on a cool vacation with all of my members

◇Seohyun

My wish is to not waste any time and live each day to the fullest. When we have a lot of schedules and I’m tired, I feel myself getting lazier. I don’t want to become a lazy person.

◇Jessica

If I were to move just one finger, I wish everything I wish for would come true. My most important wish right now? I want to lie down on a bed and sleep restfully. After schedules and practices are done and I return home, I can only sleep for 4 hours. I lack sleep.

◇Sunny

I’m slightly ‘bad with directions’. I’m ‘direction-blind’. It’s been about 2 years since we’ve moved into Apkujeongdong and I still don’t know anything except the road to the house and the company. It’s uncomfortable. I wish a navigation appeared in my head. But thankfully, I’m not the only one bad with directions. Taeyeon’s also bad with directions like me. Hahaha.

◇Tiffany

I want a time machine. If I had a time machine, I could go to any time period I wanted. The time period I really want to go to is back when I was in 5th grade. There’s someone I want to meet back then. Who it is, is a secret.

◇Hyoyeon

I want to share a stage with Chris Brown. His performance on stage is so cool. I want to nurture my skills to be like Chris Brown and do a dance performance with him on stage.

◇Yoona

I wish I didn’t have morning sleep. I don’t have much night sleep and it’s hard for me to wake up in the mornings. If I wake up early in the mornings, I often doze off.

◇Yuri

There’s a 2 year difference between my oppa and I, who is currently in the army, and I wish he’d finish his duty safely and be discharged from the army. Oppa is like a friend and a parent to me, existing as support. Currently, he’s serving in the air force and has 1 year left. I hope he’d get discharged quickly, get a good job, and get married so I can get a nephew.

Source: Kim Sangho @ Sportsseoul
Translated by: Hyunjin808@soshified.com/forums

Wow…Yoona unnie cut her hair in 8th episode of Cinderella Man…

I think Yoona looks more Cute and beautiful with her new hair!! 😀

c0090580_4a1545b6e941dc0090580_4a1544a82619dc0090580_4a0c2c298e783

200905211354371_2

Also in 9th episode Yoona looks very very sexy (in the video,but I can’t upload the video because its a bit….)….:P

1242228464_17small1242228464_15small

I also want to say…HAPPY BIRTHDAY ‘Im Yoona’

Girls’ Generation (Hangul: 소녀시대; Hanja: 少女時代) is a South Korean nine-member girl group formed by SM Entertainment in 2007. The members include (in order of official announcement) Yoona, Tiffany, Yuri, Hyoyeon, Sooyoung, Seohyun, Taeyeon (the leader), Jessica, and Sunny. International Girls’ Generation fans usually refer to the group as SNSD, the acronym of the group’s Korean name So Nyeo Shi Dae. Many of the members had already pursued an entertainment career before Girls’ Generation’s debut through acting, DJ-ing, and modeling. Their official fanclub is known as S♡NE (소원) also one of the titles of a song from their first album.

Taeyeon

geetae

  • Birth name: Kim Taeyeon (Hangul: 김태연 Hanja: 金泰姸)
  • Date of birth: March 9, 1989 (1989-03-09) (age 20)
  • Discovery: 2004 8th Annual Best Contest (Best Singer 1st Place & Grand Award)
  • School(s): Jeonju High School
  • Experience: Had solo songs with “만약에” (“If“) on the Hong Gil Dong soundtrack and “들리나요?” (“Can You Hear Me?“) on the Beethoven Virus soundtrack.

Taeyeon is the leader of Girls’ Generation. She is currently a DJ of Good Friend Radio with Super Junior member Kang-in. She recently became part of the reality show We Got Married, being paired up with comedian Jung Hyung-don. She received the YEPP Popularity Award for her solo track “들리나요?” (“Can You Hear Me?“) on the Beethoven Virus soundtrack. She sang “만약에 (Manyage / If)” for “Hong Gil Dong” and “들리나요?” (“Can You Hear Me?“) on “Beethoven Virus”

Jessica

geesica

  • Stage name: Jessica (Hangul: 제시카 Hanja: 潔西卡)
  • Birth name: Jessica Jung, Jung Soo Yeon (Hangul: 정수연 Hanja: 鄭秀妍)
  • Date of birth: April 18, 1989 (1989-04-18) (age 19)
  • Discovery: 2000 SM Casting System
  • School(s): Korea Kent Foreign School, (former) Seoul International School

Jessica was born and raised in San Francisco, California and can speak English. She moved to Korea when she was 11 for training. She released 2 singles alongside with SeoHyun and Tiffany: “오빠 나빠” (“Bad Oppa“) and “Mabinogi (It’s Fantastic!)”. Jessica also stars in Kim Jo-han‘s music video “Love is Late, I’m Sorry” and is featured in 8Eight’s song, “I Love You”.

Sunny

geesun

  • Stage name: Sunny (Hangul: 써니 Hanja: 珊妮)
  • Birth name: Lee Sunkyu (Hangul: 이순규; Hanja: 李順圭)
  • Date of birth: May 15, 1989 (1989-05-15) (age 19)
  • Discovery: 2007 SM Casting System
  • School(s): Baehwa All-Girls High School

Sunny was a trainee under a different entertainment company before she transferred into SM Entertainment. After several months of training under SM Entertainment in 2007, Sunny debuted as a member of Girls’ Generation that same year. She is the niece of SM Entertainment’s CEO, Lee Soo Man, and her father was once the manager of the disbanded K-pop girl group Sugar. She was a co-DJ of Reckless Radio along with Sungmin of Super Junior until the broadcast ended on the July 30, 2008. Sunny appeared in Super Junior-H‘s music video for “Cooking? Cooking!”. Sunny also sang the song “Finally Now” on the soundtrack for the movie Story of Wine. She will be hosting a Music Show called “The M” with member of SS501 Hyung Joon.

Tiffany

geefany

  • Stage name: Tiffany (Hangul: 티파니; Hanja: 蒂芬妮)
  • Birth name: Stephanie Hwang; Hwang Miyoung (Hangul: 황미영; Hanja: 黄美英)
  • Date of birth: August 1, 1989 (1989-08-01) (age 19)
  • Discovery: 2004 Casting System (Los Angeles, California), 2004 CJ/KMTV (USA-LA) Contest 1st Place
  • School(s): Korea Kent Foreign School, Diamond Bar High School (US)

Tiffany was raised in Diamond Bar, California and can speak English. She was discovered in the SM Starlight Casting System 2004 in Los Angeles and began her training under the label until the debut of Girls’ Generation. Along with SeoHyun and Jessica, she released a single, “Bad Boyfriend” (오빠 나빠) and “Mabinogi [It’s Fantastic!]”. She was the co-host of Sonyeo Sonyeon Gayo Baekso (SSGB) along with Kim Hyesung from November 5, 2007 to June 13, 2008. She has also participated in live performances of rapper Nassun’s single “Come to Play”. She also sang the OST from “Ja Myung Go” “By Myself” and a duet with K.Will called “A Girl, Meets Love”. Tiffany along with Yuri is MCing on Music Core.

Hyoyeon

geehyo

  • Birth name: Kim Hyoyeon (Hangul: 김효연; Hanja: 金孝妍)
  • Date of birth: September 22, 1989 (1989-09-22) (age 19)
  • Discovery: 2000 SM Casting System
  • School(s): Studied in Beijing, China for Mandarin Chinese
  • Experience:
    • She was BoA’s silhouette during a dance break in BoA’s Over The Top performance in MKMF 2005

Hyoyeon once attended a hip hop dance school that specializes in waving, popping, locking, and animation. Prior to her debut, Hyoyeon traveled to Beijing, China in 2004 with Super Junior’s Siwon to learn Mandarin and more about Chinese culture.

Yuri

geeyuri1

  • Birth name: Kwon Yuri (Hangul: 권유리; Hanja: 權侑莉)
  • Date of birth: December 5, 1989 (1989-12-05) (age 19)
  • Discovery: 2001 SM 1st Annual Youth Best Contest
  • School(s): NeungGok High School
  • Experience:
    • Appeared in KM Super Junior Show The King’s Boyfriend (2005)
    • Featured in TVXQ’s “Beautiful Life” music video
    • Featured in K. Will‘s “Teardrops” music video
    • Featured in commercials for Choco Pie, Dongil Highvill, and Hot Choco Mite
    • Acted in Attack on the Pin-Up Boys
    • Starred in KBS sitcom Unstoppable Marriage

Yuri joined the label when she took 1st place in the 2001 1st SM Youth Best Dancer Contest. She appeared in TVXQ’s “Beautiful Life” music video and had a small role as a ballerina in Super Junior’s first movie, Attack on the Pin-Up Boys. She also had a small role in a television segment, “The King’s Boyfriend,” which was part of the 2005–2006 KMTV Super Junior documentary, Super Junior Show. Yuri also played a part in the sitcom Unstoppable Marriage alongside Sooyoung. Yuri is also in K Will’s MV “Tears Are Falling”. Yuri along side with Tiffany is MCing on Music Core.

Sooyoung

geesoo

  • Birth name: Choi Sooyoung (Hangul: 최수영; Hanja: 崔秀英)
  • Date of birth: February 10, 1990 (1990-02-10) (age 19)
  • Casted: 2002 Korea-Japan Ultra Idol Duo Audition
  • School(s): Jungshin All-Girls High School
  • Experience:
    • Debuted in Japan in the duo Route 0 (2002)
    • Featured in commercials for Samsung Anycall
    • Modelled for Japan Chubbygang and Skoolooks
    • Starred in KBS sitcom Unstoppable Marriage
    • Starrred in the film Pure Manhwa — Happily Ever After

Before Sooyoung’s audition to Girls’ Generation, she made a brief debut in Japan as a singer in the group called Route φ. She first debuted with Marina Takahashi with the song “Start”. While in Japan, she became close friends with BoA and Sunday from The Grace as they too were working in Japan as singers at the time. She was previously a DJ of ChunJi along with Sungmin of Super Junior. She was soon replaced by Sunny due to schedule conflicts. Sooyoung also played a part in the sitcom Unstoppable Marriage alongside Yuri. She graduated from high school in 2009.

Yoona

geeyoona

  • Birth name: Im Yoon Ah (Hangul: 임윤아; Hanja: 林允兒)
  • Date of birth: May 30, 1990 (1990-05-30) (age 18)
  • Discovery: 2002 SM Saturday Open Casting Audition
  • School(s): Dongguk University, Daeyoung High School
  • Awards/Recognitions
    • 2009 45th Baeksang Arts Awards: Best New Actress (You Are My Destiny)[15]
    • 2009 45th Baeksang Arts Awards: Netizen Popularity Award (You Are My Destiny)[15]
    • 2008 KBS Drama Awards: Best New Actress Award (You Are My Destiny)[16]
    • 2008 KBS Drama Awards: Netizen Award[16]
    • 2008 Korean Drama Festival: Netizen Popularity Award (You Are My Destiny)
  • Experience:
    • Featured in music videos for TVXQ’s “Magic Castle, The Grace’s “열정 (My Everything)”, Super Junior’s “U” and “Marry U”, Lee Seung Chul’s “Propose”, 24/7’s “That guy’s girl”
    • Featured in commercials for Sanyo Eneloop, Teun Teun English, Elite, Sunkist Lemondae, Clean & Clear, Sola VitaminC, YeJiMiIn
    • Starred in dramas: 9 Hits, 2 Outs (MBC 2007); Park Jung Geum (MBC 2008); You Are My Destiny (KBS 2008); Cindrella Man (MBC 2009)

Yoona has appeared in several music videos and commercials. She gained a minor role in the Korean drama, 9 Ends 2 Outs (9회말 2아웃) and won a major role in a new drama, You Are My Destiny. In this drama, Yoona portrays a girl who was once blind. You Are My Destiny has the highest rating and number of viewers for daily dramas in its time slot, beating other per popular dramas from major Korean networks, MBC and SBS.[17][not in citation given] Yoona graduated high school in 2009 and has been accepted by Dongguk University. In her new drama “Cinderella Man”, YoonA cuts 30 cm of her hair to fit her role as a fashion designer.

Seohyun

geeseo

  • Stage name: SeoHyun (Hangul: 서현; Hanja: 徐玄)
  • Birth name: Seo Joohyun (Hangul: 서주현; Hanja: 徐珠賢)
  • Date of birth: June 28, 1991 (1991-06-28) (age 17)
  • Discovery: 2003 SM Casting System
  • School(s): Daeyoung High School
  • Experience:
    • 2004 SMART Uniform Model

Seohyun is the youngest member of the Girls’ Generation. She is also a pianist. Along with Tiffany and Jessica, they released a single “오빠 나빠” (“Bad Oppa“), And “Mabinogi (It’s Fantastic!)”. On February 17, 2009, her duet with trot singer Joo Hyun-mi was digitally released, called “짜라자짜” (“Jjarajajja“).

 

 

KUALITAS PERANGKAT LUNAK:

Definisi, Pengukuran dan Implementasi

 

 

Definisi

Berbagai macam definisi kualitas perangkat lunak (software quality) tergantung dari mana pemakai (user) memandang dan melihat sesuai dengan kebutuhannya. Menurut Crosby (1979:34) mendefinisikan kualitas atau mutu sebagai “conformance to requirements”. Selama seseorang dapat berdebat tentang perbedaan antara kebutuhan, keinginan dan kemauannya, definisi kualitas harus mempertimbangkan perspektif pemakai tersebut. Kunci utama pertanyaan untuk sebuah definisi kualitas adalah siapa pemakainya, apa yang penting bagi merekadan bagaimana prioritasnya tentang metode apa yang dibangun, dibungkus untuk mendukung sebuah produk?

 Untuk menjawab pertanyaan tersebut, kita harus mengenali herarki dari kualitas perangkat lunak. Pertama, suatu produk perangkat lunak harus menyediakan fungsi suatu jenis dan waktu yang sama ketika pemakai memerlukannya. Kedua, produk harus berjalan. Jika produk memiliki kecacatan maka produk tersebut tentunya tidak ada konsistensi kelayakan. Para pemakai tidak akan menggunakannya dengan mengabaikan atribut-atribut yang menyertainya. Hal tersebut tidak berarti bahwa kecacatan selalu menjadi prioritas yang paling utama dalam menolak suatu produk tetapi akan menjadi sangat penting dalam melihat layak atau tidaknya. Jika tingkatan cacat minimum belum dicapai maka berbagai hal tidak ada yang perlu dipertimbangkan. Di luar ambang kualitas tersebut, bagaimanapun juga sesuatu yang berhubungan dengan pertimbangan dan penilaian cacat suatu produk perangkat lunak seperti halnya kegunaan, kecocokan, kemampuan, dan lainnya tergantung pada pemakai tersebut memandang dan menilainya termasuk didalamnya aplikasinya dan lingkungan software yang menyertainya (Humphrey, 1994).

The Institute of Electrical and Electronic Engineers (IEEE) mendefinisikan

kualitas sebagai “the degree to which a system, component or process meets customer or user needs or expectations” (IEEE90). Definisi dari IEEE digunakan dalam konteks suatu sistem perangkat lunak secara rinci. kualitas adalah suatu atribut dari sistem yang berjalan yang sangat erat kaitannya dengan resiko. Semakin tinggi resiko yang didapatkan dan kemudian dikuranginya maka akan tinggi kualitas yang dihasilkannya. Dengan cara yang sama, lebih cepat resiko dikenali dan dikurangi, akan lebih tinggi pula kualitasnya. Hasil dari sebuah aktivitas yang terencana, bukan kejadian yang spontan berbanding terbalik dengan delivery date 85% kesalahan ada pada proses,15% pada pada SDM.

Menurut definisi dalam Steve McConnell’s Code Complete membagi perangkat lunak ke dalam dua hal yaitu: : internal dan external quality characteristics. Karakteristik kualitas eksternal merupakan bagian-bagian dari suatu produk yang berhubungan dengan para pemakainya, sedangkan karakteristik kualitas internal tidak secara langsung berhubungan dengan pemakai. Software Quality didefinisikan sebagai: kesesuaian yang diharapkan pada semua software yang dibangun dalam hal fungsi software yang diutamakan dan unjuk kerja software, standar pembangunan software yang terdokumentasi dan karakteristik yang ditunjukkan oleh software. Definisi ini menekankan pada 3 hal yaitu:

1. kebutuhan software adalah fondasi ukuran kualitas software, jika software

    Tidak sesuai dengan kebutuhan yang ditentukan maka kualitaspun kurang

2. jika menggunakan suatu standar untuk pembangunan software maka jika

    software tidak memenuhi standar tersebut maka dianggap kurang berkualitas

3. seringkali ada kualitas yang secara langsung diutarakan (tersirat) seperti

    kemudahan penggunaan dan pemeliharaan yang baik. Kualitas software

    dipertanyakan jika tidak memenuhi kebutuhan ini.

Sedangkan definisi kualitas menurut The International Standards Organization (ISO) mendefinisikannya sebagai: “the totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs [11].” ISO menyoroti pada fitur-fitur dan karakteristik dari produk atau layanan dalam kemampuannya memenuhi kebutuhan yang ditentukan. menyediakan model yang berbasikan obyek dalam 3 konteks dasar yaitu: quality, requirements dan characteristics. Standar dapat membantu mendefinisikan suatu terminologi, seperti halnya kata “kualitas” (quality). Meskipun demikian, rata-rata suatu kata tertentu tidak menggunakan standar adalah sering sesuai dengan arti yang dimaksud. Hal ini juga benar untuk definisi ISO 8204 untuk mutu: “Keseluruhan karakteristik dari suatu kesatuan dalam kemampuannya untuk memenuhi dan memuaskan pemakai yang dinyatakan dan disiratkan dalam suatu kebutuhan.“ Makna tersebut artinya, diperlukan suatu kualitas produk perangkat lunak yang mempunyai karakteristik tertentu yang dihubungkan dengan kebutuhan pemakai dan membuat puas penggunanya. Kualitas perangkat lunak adalah keberadaan karakteristik dari suatu produk ang dijabarkan dalam kebutuhannya, artinya kita harus melihat terlebih dahulu karakteristik-karakteristik apa yang berhubungan atau tidak dengan kebutuhankebutuhan yang diiinginkan oleh pemakai. Karakteristik yang dimaksud yaitu contra-productive characteristics dan neutral characteristic. Mengetahui

karakteristik tersebut diperlukan untuk mengurangi kontra produktif dari kualitas perangkat lunak yang dimaksud dan relevan atau tidak perangkat lunak tersebut untuk kebutuhan suatu organisasi. Tidak hanya adanya keberadaan karakteristik tersebut tetapi juga tidak adanya kontra produktif dari suatu karakteristik dari suatu perangkat lunak yang diinginkan (Petrasch, 1999: 2).

Kebutuhan dan karakteristik berperan penting dalam mendefinisikan suatu kualitas. Oleh karena itu, suatu model yang berbasiskan obyek bermanfaat dalam pemahaman yang lebih baik untuk masalah ini. Gambar di bawah menunjukkan suatu produk perangkat lunak, dimana untuk memenuhi suatu kebutuhan diperlukan karakteristik yang sesuai. Keberadaan hubungan antara kebutuhan dan karakteristik menjadikan dimungkinkannnta statemen yang jelas tentang kualitas suatu produk. 

12

Hal lain yang perlu diperhatikan dalam kualitas perangkat lunak adalah quality assurarance (QA) yang merupakan cctivity of providing evidence needed to establish confidence mong ll concerned,that quality-related activities are being performed effectively (J.M.Juran). Selain itu harus adanya software quality management (SQM). Tujuan dari SQM adalah untuk mengembangkan suatu pemahaman kuantitatif dari kualitas proyek produk perangkat lunak dan mencapai tujuan spesifik kualitasnya yang digambarkan dalam table sederhana berikut:

25

Pengukuran Kualitas Perangkat Lunak

Sistem dari kualitas perangkat lunak terintegrasi dalam tiga disiplin aplikasi yaitu: pemodelan proses pengembangan (process), pemodelan pengukuran produk (product), dan pemodelan manajemen dan interaksi manusia (human). Pemahaman suatu disiplin melibatkan pembangunan model, pengujian model dan pelajaran untuk dipahami dalam aplikasi yang nyatal. Pengembang kualitas prima perangkat lunak harus berhadapan dengan unsur-unsur matriks berikut:

 

Model [M] [M*PROCESS] [M*PRODUCT] [M*HUMAN]

Testing [T] Process Product Human = [T*PROCESS] [T*PRODUCT]   [T*HUMAN]

Data [D] [D*PROCESS] [D*PRODUCT] [D*HUMAN]

 

Unsur-unsur perangkat lunak utama dari sistem kualitas perangkat lunak ditunjukkan pada gambar di bawah. Pengintegrasian dari semua unsur-unsur system kualitas memerlukan suatu model. Permasalahannya untuk diperbaiki oleh dua model berikut (1) penanganan kompleksitas dalam disiplin dari sistem kualitas dantunsur-unsurnya dan (2) penunjukan beberapa kelemahan dari model existing process. Kompleksitas proses pengembangan dan dokumentasinya serta perubahan dokumentasi selama pemeliharaan adalah permasalahan penting dalam peningkatan kualitas. Dokumentasi yang dievaluasi sering sangat banyak dan kompleks. Oleh karena itu, hubungan kompleksitas antara produk data teknis, dokumentasi perencanaan, pengujian kebutuhan dan tahapan unsur-unsur life cycle pengembangan yang berbeda mengakibatkan dokumentasi ini sulit untuk dievaluasi dalam meyakinkan semua aktivitas telah cukup dikerjakan. Dokumentasi menyediakan komunikasi antar semua kelompok terkait dengan pengembangannya dan kendali proses proyek tersebut. Schweiggert mencatat beberapa pertimbangan untuk krisis dokumentasi:

“Software in the application process must be constantly adapted and altered. The

maintenance programmer usually does not have the time alteration to

documentation. Often suitable tools are not available either. This causes the

quality of documentation to suffer”

Metoda tradisional untuk verifikasi kualitas, seperti checklist bisa gagal dalam proses pengembangan software yang kompleks. Audit dan review tidak bisa dilakukan tanpa menggunakan bantuan dan alat yang membantu mengidentifikasi pemenuhan standar dan prosedur. Lebih dari itu, kompleksitas proses pengembangan dan perubahan yang tak terkontrol dari unsur-unsur proses secara negatif berdampak pada kualitas. Lifecycle pengembangan software yang berbeda dapat diusulkan. Hal ini dapat memungkinkan adanya perbedaan motivasi, kekuatan dan kelemahan. Tidak ada model lifecycle yang universal disesuaikan dengan lingkungan pengembangannya. Dalam model lifecycle tradisional, hubungan antara tahapan unsur-unsur lifecycle pengembangan software yang berbeda tidaklah cukup terwakili. Oleh karena itu, sulit untuk menguraikan efek segala perubahan dalam kebutuhannya yang ditetapkan atas kualitas, keselamatan dan sasaran hasil dari perangkat lunak. Lebih dari itu, keberadaan komputer dapat membantu untuk aplikasi model proses yang tidak fleksibel dan sulit untuk ditangani karena kekompleksitasnya. Dalam lifecycle pengembangan software, Identifikasi hubungan antara kelompok organisasi sangat penting untuk beberapa

pertimbangan berikut: (1) Pengembangan Proses harus berhadapan dengan kompleksitas dan perubahan kebutuhan, pengujian metoda, teknologi, ukuran dan lain lain; (2) Kesalahan perangkat lunak yang dihasilkan baik dalam suatu tahapan proses pengembangan software maupun sebagai alat penghubung antara dua tahapan; (3) Dukungan kuat dari manajemen puncak merupakan suatu faktor utama dalam mempengaruhi proses pengembangan tersebut. Menururut Wahono (2006), Deras masuknya produk perangkat lunak dari luarnegeri di satu sisi menguntungkan pengguna karena banyaknya pilihan produk dan harga. Namun di sisi lain cukup mengkhawatirkan karena di Indonesia tidak ada institusi yang secara aktif bertugas membuat standard dalam pengukuran kualitas perangkat lunak yang masuk ke Indonesia. Demikian juga dengan produk-produk perangkat lunak lokal, tentu akan semakin meningkat daya saing internasionalnya apabila pengembang dan software house di Indonesia mulai memperhatikan masalah kualitas perangkat lunak ini. Kualitas perangkat lunak (software quality) adalah tema kajian dan penelitian turun temurun dalam sejarah ilmu rekayasa perangkat lunak (software engineering). Kajian dimulai dari apa yang akan diukur (apakah proses atau produk), apakah memang perangkat lunak bisa diukur, sudut pandang pengukur dan bagaimana menentukan parameter pengukuran kualitas perangkat lunak. Bagaimanapun juga mengukur kualitas perangkat lunak memang bukan pekerjaan mudah. Ketika seseorang memberi nilai sangat baik terhadap sebuah perangkat lunak, orang lain belum tentu mengatakan hal yang sama. Sudut pandang seseorang tersebut mungkin berorientasi ke satu sisi masalah (misalnya tentang reliabilitas dan efisiensi perangkat lunak), sedangkan orang lain yang menyatakan bahwa perangkat lunak itu buruk menggunakan sudut pandang yang lain lagi (usabilitas dan aspek desain).

 

 

Apa yang diukur?

Pertanyaan pertama yang muncul ketika membahas pengukuran kualitas perangkat lunak, adalah apa yang sebenarnya mau kita ukur. Kualitas perangkat lunak dapat dilihat dari sudut pandang proses pengembangan perangkat lunak ( process) dan hasil produk yang dihasilkan (product). Dan penilaian ini tentu berorientasi akhir ke bagaimana suatu perangkat lunak dapat dikembangkan sesuai dengan yang diharapkan oleh pengguna. Dari sudut pandang produk, pengukuran dapat dilakukan dengan cara sebagai berikut:

Parameter dan metode pengukuran menurut Kelvin dalam Wahono (2006), When you can measure what you are speaking about, and express it in numbers, you know something about it. But when you can not measure it, when you can not express it in numbers, your knowledge is of a meagre and unsatisfactory kind. Pendekatan engineering menginginkan bahwa kualitas perangkat lunak ini dapat diukur secara kuantitatif, dalam bentuk angka-angka yang mudah dipahami oleh manusia. Untuk itu perlu ditentukan parameter atau atribut pengukuran. Menurut taksonomi McCall, atribut tersusun secara hirarkis, dimana level atas (high-level attribute) disebut faktor (factor), dan level bawah (low-level attribute) disebut dengan kriteria (criteria). Faktor menunjukkan atribut kualitas produk dilihat dari sudut pandang pengguna. Sedangkan kriteria adalah parameter kualitas produk dilihat dari sudut pandang perangkat lunaknya sendiri. Faktor dan kriteria ini memiliki hubungan sebab akibat (cause-effect). Tabel berikut menunjukkan daftar lengkap faktor dan kriteria dalam kualitas perangkat lunak menurut McCall

34

Kualitas software diukur dengan metode penjumlahan dari keseluruhan kriteria

dalam suatu faktor sesuai dengan bobot (weight) yang telah ditetapkan. Rumus

pengukuran yang digunakan adalah:

Fa = w1c1 + w2c2 + … + wncn

Dimana:

Fa adalah nilai total dari faktor a

wi adalah bobot untuk kriteria i

ci adalah nilai untuk kriteria i

Kemudian tahapan yang harus kita tempuh dalam pengukuran adalah sebagai

berikut:

Tahap 1: Tentukan kriteria yang digunakan untuk mengukur suatu faktor

Tahap 2: Tentukan bobot (w) dari setiap kriteria (biasanya 0 <= w <= 1)

Tahap 3: Tentukan skala dari nilai kriteria (misalnya, 0 <= nilai kriteria <=10)

Tahap 4: Berikan nilai pada tiap kriteria

Tahap 5: Hitung nilai total dengan rumus Fa = w1c1 + w2c2 + … + wncn

 

Contoh pengukuran perangkat lunak

Untuk mempermudah pemahaman, akan diberikan sebuah contoh pengukuran kualitas perangkat lunak dari faktor usabilitas (usability). Yang akan diukur adalah dua buah perangkat lunak yang memiliki fungsi untuk mengkontrol peralatan elektronik (electronic device). Perangkat lunak yang pertama bernama TukangKontrol, sedangkan kedua bernama Caktrol. Contoh dan hasil pengukuran dapat dilihat pada Table 3 dan 4.42

Dari penghitungan yang ada di Tabel 4, dapat kita simpulkan bahwa dari faktor usabilitas, kualitas dari perangkat lunak bernama TukangKontrol lebih baik daripada Caktrol. Nilai total TukangKontrol untuk faktor usabilitas adalah 16.8, sedangkan Caktrol adalah 10.2 (dari maksimum total nilai 20).

 

Mengapa Software Quality Engineering perlu dipikirkan?

Penerapan suatu rumusan pemrograman sederhana jawaban bisa diperkenalkan cara yang berikut:

RISK= F (1/quality)

Atau kualitas yang ditingkatkan untuk mengurangi resiko

Suatu metode di mana hasil dari resiko dari kualitas yang pudar dapat dimanifestasikan lebih banyak, bagaimanapun untuk seorang pemakai yang berpengalaman dikenali dalam contoh berikut:

– Kerugian Sosial atau profesional (nformasi/data, waktu, uang, pekerjaan dll.)

– Kerugian kesehatan atau kehidupan ( contoh: pasien over-X-rayed dalam suatu

   rumah sakit)

Jelaslah bahwa sebagai pemakai mungkin akan bermimpi untuk mengharapakan adanya bug-free yang merupakan tingkatan paling tinggi kualitasnya dengan harga yang serendah-rendahnya. Akan tetapi seberapa besar hal tersebut terjadi, tergantung dari SQE oleh perusahaan pengembangan software. Paling mungkin ada suatu kesempatan untuk tidak membeli perangkat lunak yang jelas ada cacat produksinya. Rendahnya kualitas perangkat lunak merupakan resiko yang didapat suatu organisasi yang membelinya dan terkadang suatu pengembang ataupun supplier tidak ambil pusing bahkan tidak mau disalahkan. Berdasarkan pengalaman, resiko yang paling besar sebagai hasil dari rendahnya kualitas perangkat lunak sering didapatkan oleh pemakai dan hanya sedikit yang didapatkan oleh penyalur perangkat lunak. Karena itu harus ada suatu kompromi antara developer atau supplier dan pemakai tentang perangkat lunak yang akan dibeli sehingga diharapkan tidak ada yang dirugikan dari transaksi yang terjadi. Menentukan Kualitas Perangkat Lunak Dipandang dari sudut hipotesis, para ahli dalam membuat dan menentukan kualitas perangkat lunak sebaiknya menerapkan, mengukur, mengevaluasi dan meningkatkan mutu perangkat lunak sepanjang lifecycle-nya. Pengetahuan yang luas tentang rekayasa perangkat lunak memerlukan suatu pendekatan yang terstruktur dan sistematis dengan mempertimbangkan pengalaman yang diperolehnya. Jika mungkin, disesuiakan dengan praktek industri sebenarnya. Suatu pendekatan terstruktur tidak terbatas pada tiga komponen utama yang terpusat pada inti pengetahuan perangkat lunak. Contohnya komponen Quality Requirements didapatkan dengan adanya prasyarat:

– Kualitas kebutuhan (Quality requirements)

– Pengukuran kualitas dan instrument evaluasi (Quality measurement and

   evaluation instruments)

– Implementasi kualitas dalam lifecycle (In-lifecycle quality implementation)

Pengetahuan dalam mendapatkan komponen Quality requirement (QR) sangat diperlukan terutama bagi kalangan ahli software dalam mempertimbangkan dan memperoleh kebutuhan yang berkualitas sehingga benar-benar didapatkan high-level stakeholder’s requirements. Karena itu untuk mendapatkan kemudian untuk QR digambarkan pengukuran kualitas dalam gambar di bawah ini:51

Model dekomposisi yang diusulkan didasarkan pada model kualitas dari ISO/IEC 9126 dalam konjungsi dengan standar TL 9000, dimana kontribusi dari penggunaan QR adalah untuk menetapkan kebutuhan mutu eksternal (External Quality requirements), yang mana pada gilirannya berperan untuk menetapkan kebutuhan mutu internal (Internal Quality requirements). Model tersebut didokumentasikan dengan baik sehingga relatif mudah untuk dipelajari dan digunakan akan tetapi sedikit statis dalam perubahannya. Karena itu, ahli SQ yang baik seharusnya mengetahuinya tidak hanya apa? tetapi juga bagaimana? Pendekatan ini ditujukan oleh model tersebut untuk proses praktis dalam melukiskan dan mengendalikan kualitas kebutuhan

61

Pada gambar di atas, anak panah dengan garis yang tidak putus-putus menunjukkan alur tentang ” bagaimana”, yaitu menanyakan tentang eksekusi dekomposisi kebutuhan. Yang ada dalam kotak berisi tentang pertanyaan ” apa ” , yaitu menggambarkan kebutuhan apa yang diakibatkan oleh proses dekomposisi. Sedangkan anak panah dengan garis putus-putus menandai adanya alur pokok dari traceability kebutuhan. Pengetahuan teoritis dan praktis yang menjawab pertanyaan diatas membutuhkan ahli yang berkompeten tentang SQ untuk mengatur proses definisi dan analisis kebutuhan. Komponen dari The Quality measurement and evaluation instruments memiliki tujuan untuk mendidik para ahli SQ tentang keberadaan

model kebutuhan dan mengukur pemilihan perangkat lunak dalam proses mendukung aktivitasnya. Demikian juga, dua unsur tersebut sebaiknya didokumentasikan sehingga mudah untuk dipelajari walau sedikit statis. Rancang bangun merupakan bagian dari pengetahuan dimana pemetaan tentang suatu instrumen ke dalam tahapan lifecycle perangkat lunak trlihat pada gambar di bawah sangat sedikit didokumentasikan dan memerlukan riset lebih lanjut .

71

Komponen terakhir dari hasil lifecycle quality implementation diakibatkan oleh dua Komponen yang sebelumnya di mana pengetahuan dasar telah didaptkan. Implementasi sekarang memerlukan aplikasi yang praktis tidak sekedar dengan

pengetahuan tersebut tetapi juga dalam proses pengembangan perangkat lunak.

 

IMPLEMENTASI KUALITAS SOFWARE UNTUK OPEN-SOURCE

Sepuluh tahun terakhir, proses pengembangan open-source telah muncul sebagai suatu pendekatan yang efektif dalam mengurangi waktu maupun menekan biaya desain, implementasi serta biaya penerapan quality assurance dalam pembuatan perangkat lunak, baik jenis perangkat lunak OS, compiler, bahasa pemrograman maupun software aplikasi lainnya. Sebagai contoh berikut ini merupakan jenis perangkat lunak yang paling banyak digunakan:

_ Sistem operasi, contohnya: Linux, FreeBSD dan NetBSD

_ Server web, contohnya:Apache dan JAWS

_ Basis Data (DBMS), contohnya: MySQL

_ Compiler, contohnya: GNU C/C++

_ Editors, contohnya: GNU emacs

_ Language processing tools, contohnya: Perl, GAWK, Flex dan Bison

_ System/network support tools, contohnya: Samba, Sendmail dan Bind.

Berbagai macam jenis open-source tersebut disebarluaskan dengan berbagai macam skema lisensi dan model bisnis yang beraneka ragam. Secara umum, Perangkat lunak tersebut didistribusikan kepada komunitas pemakai untuk berbagai macam pengembangan dan aktifitas software quality assurance yang diperformansi secara internal oleh provider software. Lebih dari itu, berikut ini merupakan kunci sukses dari beberapa contoh proyek dari open-source:

_ Dibuat dengan tujuan umum dan komoditas infrastruktur software yang

jelas dan mudah dengan kebutuhan dan API mudah diketahui. Contohnya:

requirements dan APIs for UNIX/POSIX operating systems, Web servers,

C/C++ compilers/linkers serta object request broker (ORB) mudah

dimengerti oleh para pengembang software. Demikian pula dibutuhkan

sedikit waktu dan usaha untuk aktifitas pengembangan software yang

mahal, seperti analisa kebutuhan atau spesifikasi desain antarmukanya.

Lebih dari itu, ada suatu kuntungan dari sisi pemrogramannya sehingga para

pamakai yang berbakat dalam pengembangan software lebih menikmati dari

tujuan umum dari infratruktut teknologi perangkat lunak ini.

_ Open-source melayani komunitas umum dimana kebutuhan akan software

tidak dijumpai dipasaran. Tentunya komunitas dengan teknologi tertentu,

seperti ilmuwan atau bahkan industri pertahanan, perangkat lunak yang

dibutuhkannya sering tidak dijumpai pasaran atau jika ada kemampuan

komunitas tersebut tidak sebanding dengan harga yang tawarkan, lebihlebih

untuk ukuran masyarakat Indonesia. Contohnya: Linux-based Beowulf

clusters yang dikembangkan untuk komunitas scientific computing yang

merupakan aplikasi komputasi mutakhir yang berjalan di atas perangkat

keras dengan konfigurasi infrastruktur perangkat lunak yang tidaklah secara

luas didukung via vendor IT di pasar umum.

_ Open-source dikerjakan oleh suatu komunitas pemakai yang trampil dan

terdidik. Anggotanya terdiri dari komunitas pemakai tertentu yang

mempunyai pengetahuan dan ketrampilan pengembangan software yang

pantas dipertimbangkan dari segi pengembangan umum, seperti compiler,

debuggers, configuration managers, online bug tracking systems, memory

leak/validation tools, dan performance profilers. Demikian juga, mereka

lancar mekanisme komunikasi terbukanya, seperti web/ftp-sites and

mailing lists, dan advanced Internet serta kemanisme kolaborasi seperti

Netmeeting atau instant messaging. Ketika anggota dari komunitas pemakai

yang secara teknis canggih dalam menghadapi bugs atau permasalahan

konfigurasi perangkat lunak, mereka tidaklah kurang baik menyelesaikan

permasalahan tersebut dan meluncurkan perubahan perangkat lunak

tersebut dengan segera.

 

Tantangan Perangkat Lunak Open-Source

Walaupun proyek open-source sudah banyak yang berhasil, pengalaman beberapa orang yang bekerja pada beberapa proyek open-source proyek lebih suatu decade telah menunjukkan perkembangan perangkat lunak open-source tersebut menghadapi tantangan-tantangan sebagai berikut berikut:

1. Berisi biaya-biaya evolusi dan pemeliharaan jangka panjang yang berhubungan dengan quality assurance ( QA). Secara umum, Tujuan perangkat lunak open-source adalah mirip dengan jenis perangkat lunak lainnya, yaitu., membatasi kesalahan regresi (limit regression errors), mendukung kepercayaan end-user dan goodwill serta memperkeci biayal pengembangan dan biaya QA. Bagaimanapun juga, untuk memastikan konsistensi kualitas perangkat lunak open-source maka perlu dikembangkan:

-Frekuensi pengeluaran beta (Frequent beta releases). Landasan opensource adalah pengulangan umpan balik yang singkat antar para pemakai dan pengembang utama sehingga mengakibatkan sering adanya pengeluaran versi ” beta” beberapa kali dalam satu bulan. Walaupun jadwal ini membuat puas end-users yang menerima patches yang cepat untuk bugs-nya dapat membuat frustasi end-users lainnya.

-Platforms-independence. Landasan perangkat lunak open-source adalah platform-independence-nya yang berasal dari open systems disbanding kepemilikan systems. Dukungan untuk platform-independence dapat menghasilkan Sisyphean task untuk memelihara suatu software opensource yang berdasarkan pada basis operasional di samping perubahan pada sistem operasi dan platform compiler.

-Dukungan untuk compile-time yang banyak dan konfigurasi run-time (Support for many compile-time and run-time configurations).Ketersediaan perangkat lunak dalam proyek open-source mendorong pengembang utama untuk meningkatkan banyaknya pilihan untuk konfigurasi dan subsetting perangkat lunak tersebut pada compile-time dan run-time. Meskipun fleksibel dalam peningkatan software aplikasi dengan penggunaanya yang luas akan memperbesar biaya QA dalam kaitannya dengan kombinasi jumlah alur kode yang harus diuji. Lebih dari itu, perancangan open-source memerlukan biaya yang besar, anggaran QA dalam kaitannya dengan minimnya anggaran yang dikeluarkan sehingga sebagian besar versi dan varian baru sering terlambat keluar.

2. Kepastian koheren system-wide properties. Secara alami, banyak opensource dirancang dan dibuat untuk komunitas yang umum dengan standardisasi common APIs dan kepastian semantik konsisten ketika komponen berlainan terintegrasi bersama-sama. Sejak proyek open-source tumbuh berkembang, kontribusi yang didasarkan pada pengembang dan para pemakai, usaha yang cukup harus dikeluarkan untuk memastikan penggunaan komponen yang sama dan integritas arsitektur diantara masyarakat pemakai.

 

SQA dalam Pengembangan Perangkat Lunak Open-Source

Software Quality Assurance (SQA) sendiri memiliki pengertian:

“..a planned and systematic approach to the evaluation of the quality of and adherence to software product standards, processes, and procedures. SQA includes the process of assuring that standards and procedures are established and are followed throughout the software acquisition life cycle. Compliance with agreedupon standards and procedures is evaluated through process monitoring, product evaluation, and audits. Software development and control processes should include quality assurance approval points, where an SQA evaluation of the product may be done in relation to the applicable standards (NASA, http://jira.atlassian.com/secure/attachment/17146/sqa+activities.txt)

Menurut Santoso (2007), Ide dasar dari OSS sebenarnya sederhana, yaitu “Ketika para programmer dapat membaca, mendistribusikan, dan memodifikasi source code dari perangkat lunak, makaperangkat lunak akan ber-‘evolusi’. Orangorang memperbaikinya, beradaptasi dengannya, dan memperbaiki atau membuang berbagai kesalahan (bugs). Dan bila hal ini diimplementasikan dalam slow pace pengembangan perangkat lunak konvensional, akan terlihat mengagumkan (OSI, 2006). Penerimaan yang luas dari masyarakat terhadap OSS terangkum dalam studi yang disebut GRAM(Generally Recognized as Mature) OSS/FS programs (Wheeler dalam Santoso: 2006). Dimana kriteria yang digunakan adalah penggunaannya yang signifikan (dalam market area), pengembangan atau dukungan yang signifikan, fungsionalitas yang matang, keamanan, kualitas, dan biaya. Di samping itu, studi terhadap OSS dalam perkembangan terakhir menunjukkan adanya pergeseran (transformasi) dari OSS menuju bentuk yang commercially viable (OSS 2.0). Studi tersebut mengidentifikasi bagaimana OSS 2.0 dapat mengakomodasi transformasi yang terjadi dengan jalan mendapatkan keseimbangan antara nilai keuntungan komersial (PS) dan nilai-nilai komunitas open source (OSS). Pada siklus pengembangan OSS, terdapat beberapa tahapan yang perlu dilalui, yaitu: Code: penulisan code dan dikirim pada komunitas OSS untuk direview. Review: merupakan salah satu kekuatan OSS, yaitu bersifat independent serta ada mekanisme peer review. Pre-commit test: jaminan bahawa semua kontribusi yang diberikan untuk membangun OSS telah melalui proses testing secara hati-hati sebelum mendapatkan status committed. Development release: kontribusi berupa kode dapat dimasukkan ke dalam rilis pengembangan dalam waktu yang relatif singkat sejak kode tersebut dikirimkan atau implementasi yang singkat ini menjadi motivasi tersendiri bagi developers. Parallel debugging: besarnya jumlah debuggers yang berpotensi dengan platform yang berbeda dan konfigurasi system menjamin bugs dapat ditemukan dan diperbaiki secara cepat. Production release: dalam kondisi yang relatif stabil, versi produksi dari sistem dirilis setelah melalui proses debugging.

 

Karakteristik SQA dalam Open-Source

Pengembangan OSS identik dengan proses versioning yang cepat, dikembangkan berbagai pihak yang berbeda di seluruh dunia, penggunaan log yang ketat, serta tim pengembang yang solid. Mekanisme pemeliharaan (maintainance) perangkat lunak berbasis open source dari berbagai belahan dunia dapat dijumpai pada SourceForge. SourceForge.net merupakan situs web pengembangan OSS terbesar di dunia, dimana dalamnya terdapat lebih dari 100,000 proyek dan lebih dari 1,000,000 pengguna yang teregister dengan sumber daya (resource) terpusat untuk mengatur proyek, issues, komunikasi, dan kode. SourceForge memiliki repository terbesar untuk kode dan aplikasi berbasis open source yang tersedia di Internet. SourceForge menyediakan hosting gratis bagi proyek-proyek pengembangan OSS. Esensi dari model pengembangan open source adalah rapid creation of solutions dalam lingkungan yang terbuka dan bersifat kolaboratif. Mekanisme kolaboratif dalam komunitas open source, yaitu tim pengembang dan pengguna menjanjikan standar kualitas yang tinggi, dan membantu penjaminan ‘keberlangsungan hidup’ jangka panjang (long-term viability) baik dalam hal data dan aplikasi. Sacha Labourey selaku JBoss General Manager EMEA memilikipandangan mengenai layanan open source (Big Market for Open Source Services) yaitu sebagai berikut:

_ Pertama, ada anggapan bahwa proses penjaminan kualitas perangkat lunak berbasis open source tidak terdefiniskan dengan baik. Proses penjaminan kualitas dalam open source berbeda dengan apa yang dilakukan pada pengembangan PS, namun tidak seburuk yang dibayangkan. Pada OSS, kita memiliki versi rilis yang begitu banyak dan banyak masukan berharga yang diperoleh dari pengguna. Bagaimanapun hal ini tidak cukup. Apa yang kita lakukan adalah mengkombinasikan keuntungan atau kelebihan dari open source dengan proses pengembangan perangkat lunak yang dilakukan secara profesional, yang kita sebut dengan Professional Open Source. Aktivitas ini meliputi testing, training, dan tahap-tahap pengembangan lainnya yang kita ketahui dari disain PS. Terdapat 4 (empat) cara bagaimana kita mendapatkan proyek; Pertama, kita mengambil proyek yang sudah atau sedang dikembangkan (existing project). Kita melakukannya dengan cara mempekerjakan tim pengembang (developers), sehingga kita dapat mengontrol kualitas dari proyek. Cara kedua adalah bagaimana memulai proyek dengan cara scratch in-house. Cara ketiga adalah terlibat dalam existing project. Cara keempat adalah mendapatkan PS dan menjadikannyaberbasis OSS.

_ Kedua, cara mengevaluasi atau melakukan assessment kualitas yang pada dasarnya merupakan kontribusi dari komunitas open source. Sistem assessment kualitas dapat didasarkan pada langkah-langkah melakukan assessment terhadap para kontributor untuk menjamin kualitas dari kontribusi yang diberikan. Untuk tiap-tiap proyek yang ditangani, perlu ada seorang pemimpin proyek, yang berwenang untuk menerima atau menolak kontribusi. Pada gambar berikut ini akan ditampilkan contoh mekanisme PMPL dalam pengembangan sebuah modul sebuah OSS.

 

Analisis Kualitas Source Code pada Pengembangan Software Open-source Linux

 Menurut Stamelos, dkk (2002) dalam jurnalnya yang berjudul Code quality analysis in open source software development menjelaskan sebagi berikut: pengembang software open-source mengklaim bahwa lebih baik perangkat lunak diproduksi menggunakan model open-source dari pada model tertutup tradisional. Bagaimanapun, ada keterangan empiris dalam mendukung klaim ini. Dalam paper ini, kami hadirkan hasil suatu studi kasus yang mengarahkan pada:

a. Pemahaman implikasi tentang kualitas struktural (structural quality)

b. Penggambaran keluar ttg keuntungan-keuntungan structural analisis kualita

    struktural kode yang ada pada pengembangan model open-source.

Studi kasus ini diimplementasikan pada open-source Linux dengan mengukur karakteristik kualitasnya (quality characteristics) dimana 100 aplikasi yang tertulis oleh Linux menggunakan alat pengukuran perangkat lunak dan membandingkan hasilnya dengan tools dari standard industri. Kasus lain pada studi ini adalah meneliti isu modular dari open-source sebagai karakteristik yang dipertimbangkan oleh pengembang software open-source yaitu dengan menganalisa hubungan antara ukuran komponen aplikasi dan kualitas yang dimiliki sampai pada kepuasan pemakai. Penentuan sampai taraf tertentu dan rata-rata ukuran komponen dari suatu aplikasi, secara negatif dihubungkan dengan kepuasan pemakai untuk aplikasi ini.

Pengembang open-source mendeskripsikan proses pengembangan software inovatif ini ( Bollinger et al., 1999) sebagai pilihan dari intensive spiral model (oehm, 1988). Bagaimanapun, tampaknya tidak ada resiko penilaian yang pernah dilakukan dan tidak ada tujuan terukur yang di-setting selama pengembangan software, sebagaimana diperlukan oleh model spiral oleh Boehm. Lebih dari itu, Bollinger dan para rekannya ( Bollinger et al., 1999) menunjukkan bahwa suatu kebutuhan penting untuk source program dari open-source adalah bahwa haruslah rigorously modular, self-contained dan self explanatory modular, untuk memungkinkan pengembangan pada web. Alasan lain untuk memperoleh kode kualitas (quality code) yang tinggi dari suatu proyek open-source bahwa langkah berikutnya adalah pemeliharaan produk terbuka dalam merujuk kebutuhan pasar. Dalam kasus ini, sistem kebutuhan harus lebih tepat, disain dan dokumentasi permintaan harus lebih bervariasi serta menuntut kode kualitas yang tinggi.Pada paper ini, kita memfokuskan pada isu yang terakhir yaitu tidak ada data yang telah diterbitkan dukungan berbagai klaim menyetujui atau menentang terhadap hadirnya open-source. Pengurangan koreksi yang cacat atas biaya-biaya yang dikeluarkan belum dicatat secara sistematis dan karakteristik kualitas yang diperlukan yaitu source program tidak ditunjukkan dalam analisa datanya. Akan tetapi beberapa studi kasus sudah mencoba untuk mengukur berbagai aspek source pada pengembangan open-source. Mockus rekannya ( Mockus et al., 2000) telah menguji developer participa-tion, core team size, productivity dan defect density. Godfrey& Tu ( 2000) sudah meneliti tingkat evolusi dari kernel Linux. Untuk studi kasus ini, digunakan Logiscope….(Telelogic, 2000), suatu perangkat menyeluruh yang mampu melakukan secara otomatis pada pengukuran kode dan perbandingan dengan standard programming yang telah didefinisikan  oleh pemakai. Lebih dari itu, Logiscope menyediakan pemrograman sendiri yang baku sebagai hasil dari kesimpulan empiris yang muncul setelah analisa terhadap berjuta-juta bentuk source program industri. Metodenya digunakan oleh beberapa organisasi besar untuk mengendalikan proses pemrogramannya. Melalui matrik struktural (structural metrics), lihat (Fenton& Pfleeger, 1997), Data dari program ini dikumpulkan untuk 10 metrik pengukuran kualitas komponen (component quality) sebagai berikut:

1. Jumlah statemen ( N_STMTS): untuk menghitung rata-rata jumlah executable statements tiap komponen [ 1-50].

2. Kompleksitas cyclomatic ( VG): sebagaimana digambarkan oleh McCabe ( 1976).

Hal tersebut merupakan suatu teori grafik yang didasarkan pada metrik yang menghadirkan banyaknya linier alur mandiri dalam suatu grafik yang dihubungkan, pada kasus ini, komponen pengendalian arus grafik. Dipertimbangkannya suatu indikator usaha yang diperlukan untuk memahami dan menguji komponen tersebut [ 1-15].

3. Tingkatan maksimum ( MAX_LVLS): untuk mengukur jumlah nesting dalam struktur kontrol dari suatu komponen. Nesting yang berlebihan mengurangi readability dan testability dari suatu komponen [ 1-5].

4. Jumlah alur ( N_PATHS): untuk menghitung rata-rata jumlah alur non-cyclic tiap komponen. Hal itu adalah indikator lain banyaknya test yang diperlukan untuk menguji suatu komponen [1- 80].

5. Lompatan tanpa syarat ( UNCOND_J): untuk menghitung banyaknya kejadian GOTO. Statemen jenis ini membantah prinsip [dari;ttg] programming structural untuk percontohan mengendalikan arus [ 0].

6. Frekuensi komentar (COM_R): hal ini digambarkan sebagai proporsi bentuk komentar ke executable statements [0.2-1].

7. Frekuensi kosa kata (VOC_F): digambarkan oleh Halstead ( 1975) sebagai pen;jumlahan banyaknya unique operands, n1, dan operator, n2, dimana penting bagi definisi program tersebut. Metriks ini disediakan pandangan komponen ukuran yang berbeda [1-4].

8. Panjangnya program (PR_LGTH): untuk mengukur panjang program sebagai penjumlahan banyaknya kejadian operator dan unique operands. Metrik ini menyediakan juga pandangan komponen ukuran lain [ 3-350].

9. Rata-rata ukuran ( AVG_S): untuk mengukur rata-rata ukuran statemen tiap komponen dan equal dengan PR_LGTH/N-STMTS [3-7].

10. Jumlah input/output ( N_IO): untuk menghitung banyaknya masukan (input) dan exit nodes suatu komponen. Kendali metrik ini sesuai dengan prinsip yang dikenal lainnya dari pemrograman terstruktur ( hanya satu input dan satu output yang diijinkan) [2].

 

Metode atau cara dalam kondisi default untuk mengukur masing-masing komponen dan mengevaluasinya terhadap empat kriteria utama, yakni Keterujian (testability) , kesederhanaan (simplicity), keterbacaan (readability) dan selfdescriptiveness pada penggunaan nilai-nilai yang terukur tersebut. Ukuran-Ukurantersebut diambil dari suatu standard internasional mengenai sub karakteristik dari

 

software quality ( Organisasi Standard Internasional ( ISO), 1991). Metode tersebut mengusulkan rekomendasi spesifik untuk masing-masing komponen perangkat lunak dan ukurannya. Tingkatan rekomendasi adalah sebagai berikut: ACCEPT, COMMENT, INSPECT, TEST, REWRITE.

8

Bagaimanapun juga untuk analisis kualitas source program open-source, suatu penilaian global untuk masing-masing komponen, mengkombinasikan semua empat ukuran-ukuran dan bersifat lebih baik. Tujuannya menggunakan suatu mekanisme pengumpulan yang disatukan pada satu metode. Karena masing-masing ukuran, penilaian dihitung dengan memperhatikan metrik terkait, masing-masing dengan suatu bobot berbeda sesuai bahasa program yang digunakan. Sebagai contoh, rumus untuk testabilasnya adalah:

 

Testability = 40 * CVG + 40 * CMAX_LVLS + 20 * CN_IO

 

Yang mana CVG adalah suatu variabel biner yang mewakili pemenuhan (conformance) pada cakupan yang sudah dikenal oleh VG metrik. Dengan mengambil nilai ‘1’ pada pernyataan tersebut adalah benar dan ‘ 0’ sebagai cara lainnya. CMAX_LVLS dan CN_IO digambarkan dengan cara yang serupa. Pemenuhan untuk semua tiga metrik akan menghasilkan skor “100”. Nilai penjumlahan lain dengan mengkalkulasikan skor komponen akhir dari skor yang diperoleh untuk masing-masing ukuran.

Singkatnya, untuk masing-masing komponen hádala suatu skor akhir yang dihitung, berkisar antara 0 sampai 100, berdasar pada yang empat skor yang diperolehnya dari ukuran-ukuran tersebut di atas. Skor akhir antara 90 dan 100 merupakan suatu komponen yang bisa diterima. Sebaliknya, skor akhir 30 atau dibawahnya menandakan suatu komponen harus ditulis ulang sejak awal. Komponen yang melanggar beberapa cakupan metrik direkomendasikan sebagai REWRITE. Skor menengah (intermediate) dianjurkan menggunakan rekomendasi lainnya pada tabel di bawah:

910

Hasil perbandingan dengan Standar Industri Logiscope‚ mungkin diinterpretasikan

sebagai berikut:

– Kualitas kode struktural (structural code quality) dari aplikasi Linux menyediakan hasil lebih tinggi dibanding apa yang diharapkan seseorang terhadap open-source tersebut. Dengan mempertimbangkan control terbatas atas proses pengembangan yang diikutinya yang telah diikuti.

– Kualitas kode struktural (structural code quality) dari aplikasi Linux menyediakan hasil lebih rendah dari mutu yang tersirat pada standard-nya.

– Pengembang tradisional mungkin kawatir atas open-source yang mempunyai suatu kemungkinan code yang tak terbaca dan kualitas yang rendah serta mustahil untuk memeliharanya

– Sebaliknya, temuan yang kedua adalah menentang filosofi pengembangan open-source. Dengan direct link antara karakteristik kualitas internal dan eksternal serta penemuan studi kasus ini, tampaknya komunitas opensource diperlukan keseriusan dalam mempertimbangkan kebutuhan untuk pengembangan kualitas code yang lebih tinggi. Hal Ini diusulkan atas fakta bahwa rata-rata hampir separuh komponen dari tiap aplikasi yang yang diuji tidak menerima rekomendasi “ACCEPT” dan harus dikerjakan lagi atau di revisi kem ali dengan berbagai cara yaitu. rewritten, tested, inspected atau commnted.

 

Kalau kita tengok ke belakang bahwa proses open-source dengan kualitas code strukturalnya dapat dibentuk sebagai salah satu tujuan proyek yang menggambarkan satu set ukuran struktural dan aturan pemrograman yang baik. Ada tiga hal berbeda yang dapat membantu dalam mencapai code kualitas tinggi (high quality code) yaitu:

1. Para programmer dapat diminta untuk mempertimbangkan kualitas kode struktural ketika membuat kode tesebut.

2. Koordinator proyek dapat menilai kualitas kode yang dikembalikan oleh para programmer menurut suatu standar yang sudah dikenal. Hal ini mengimplikasikan komponen tertentu tersebut tidak memenuhi standar atau mungkin ditolak sekalipun mereka menyediakan bugs yang benar ataupun fungsionalitas baru.

3. Koordinator proyek dapat mengambil keputusan code re-engineering kapan saja jika proyek mengalami permasalahan yang tak diinginkan.

Walaupun ada indikasi hanya suatu hubungan parsial antara ukuran komponen dan kepuasan pemakai, penemuan ini dapat digunakan ketika memutuskan isi dari suatu pengeluaran open-source. Bentuk release-nya adalah frekuensi aktifitas dalam pengembangan open-source biasanya (Raymond, 2000). Ketika akan ada versi baru dari suatu aplikasi, analisanya adalah dalam keadaan sama, versi yang ditandai oleh komponen yang lebih kecil ukurannya bisa terpilih untuk diikutsertaan dalam pengeluaran versi barunya. Lebih sedikit ukuran komponennya merupakan hasil dari desain yang lebih baik dan sebagai konsekuensi tingkat kecacatan lebih rendah serta lebih baik demi kepuasan pemakainya. Sebagai tambahan, komponen yang lebih kecil ukurannya dapat memudahkan pemeliharaan program dan evolusinya. Pada pendekatan otomatisasi, akan dengan mudah mengintegrasikan dalam proses open-source.

 

 

 

 

Pengukuran Perangkat Lunak Menggunakan Metrik Size-Oriented dan Metrik Function Oriented.

PENGANTAR:
Pengukuran adalah suatu hal pokok bagi disiplin perekayasaan(engineering), tidak terkecuali pada perekayasaan perangkat lunak atau software. Jangkauan luas pengukuran pada perangkat lunak komputer disebut metrik perangkat lunak.
Tujuan diterapkannya pengukuran pada proses perangkat lunak adalah untuk mengembangkan perangkat lunak itu sendiri dengan dasar yang kontinu.
Pengukuran software dalam konteks manajemen software difokuskan pada produktivitas dan metrik kualitas (pengukuran output perkembangan software sebagai fungsi usaha dan waktu yang diaplikasikan serta pengukuran “kesesuaian pemakaian” dari produk kerja yang dihasilkan).

1. PENGUKURAN, METRIK, DAN INDIKATOR

Dalam konteks rekayasa perangkat lunak, mengukur (measure) mengindikasikan kuantitatif dari ukuran atribut sebuah proses atau produk. Pengukuran (measurement) adalah kegiatan menentukan sebuah measure (pengukuran). Dan definisi metriks menurut IEEE adalah “ukuran kuantitatif dari tingkat dimana sebuah system, komponen atau proses memiliki atribut tertentu”.
Pengukuran telah ada jika suatu data-data tunggal telah dikumpulkan (misal: jumlah kesalahan yang ditemukan pada kajian sebuah modul tunggal). Metrik perangkat lunak menghubungkan pengukuran-pengukuran individu dengan banyak cara, misal rata-rata dari jumlah kesalahan yang ditemukan pada setiap kajian.

Rekayasa perangkat lunak mengumpulkan pengukuran dan mengembangkan metrik menjadi sebuah indikator, yaitu sebuah metrik atau kombinasi metrik yang memberikan pengetahuan dalam proses perangkat lunak, sebuah proyek perangkat lunak, atau produk itu sendiri. Fungsinya adalah memberi pengetahuan pada manajer proyek atau perekayasa perangkat lunak untuk menyesuaikan proses, proyek, dan produk agar menjadi lebih baik.

2. PENGUKURAN PERANGKAT LUNAK

Pengukuran langsung dari produk berkaitan dengan deretan kode, kecepatan eksekusi, ukuran memori, dan cacat yang dilaporkan pada suatu periode tertentu. Sedangkan pengukuran tidak langsung dari produk adalah tentang fungsionalitas, kualitas, kompleksitas, efisiensi, realibilitas, kemampuan pemeliharaan, dsb.Dalam kenyataannya, pengukuran perangkat lunak secara objektif akan sulit dilakukan secara langsung karena ada pengaruh-pengaruh seperti individu dalam tim pengukuran, atau tingkat kompleksitas proyek.
Tetapi jika pengukuran dinormalisasi, maka mungkin akan dapat didapatkan metrik perangkat lunak yang memungkinkan perbandingan dengan rata-rata organisasional yang lebih besar.

 

2.1 METRIK SIZE ORIENTED

Parameternya adalah ”ukuran” dari software yang dihasilkan. Dapat dilakukan jika ada record atau catatan dari organisasi. Perlu diperhatikan bahwa yang record yang diperlukan adalah keseluruhan aktivitas rekayasa perangkat lunak. Misalnya tabel dibawah ini adalah pengumpulan dari data-data record yang ada dari sebuah organisasi:

111

Dimana LOC (line of code) menunjukkan jumlah baris kode yang dibuat pada masing-masing proyek, misalnya pada kolom pertama, proyek aplha dibuat dengan 12100 baris kode dalam 365 halaman, dikembangakan dengan usaha 24 orang per bulan dengan biaya $168000. Lalu ditemukan kesalahan sebanyak 134 pada proyek sebelum direlease, 29 cacat setelah direlease pada pelanggan, dan ada 3 orang yang bekerja pada pengembangan proyek perangkat lunak alpha.

Untuk pengembangan dari metrik ini, dapat dibuat metrik size oriented baru yang sederhana untuk tiap proyek, misal: kesalahan per baris kode (dihitung ribuan), cacat per baris kode (ribuan), dokumentasi per baris kode (ribuan), kesalahan per usaha, baris kode per usaha, biaya per halaman dokumentasi, dsb.

Metrik ini tidak dapat diterima secara universal karena adanya kontroversi pada penggunaan baris kode sebagai titik ukur. Sebagian yang setuju pada pengukuran LOC menganggap bahwa LOC adalah suatu bukti real dari apa yang dilakukan oleh perekayasa perangkat lunak (dalam konteks ini membuktikan berapa banyak baris program yang ditulis oleh seorang programmer – comment yang ada).

Sedangkan sebagian yang tidak setuju bahwa LOC dijadikan suatu tolak ukur kebanyakan disebabkan alasan ambiguitas dari cara menghitung LOC itu sendiri. Dalam masa-masa awal bahasa pemrograman Assembly, hal ini tidak menjadi suatu masalah karena dalam 1 baris aktual program merupakan 1 baris instruksi, tetapi dalam bahasa pemrograman tingkat tinggi, dimana pada masing-masing bahasa, untuk menyelesaikan suatu masalah dengan algoritma yang sama pun LOC nya sudah berbeda-beda. Bahkan dalam satu bahasa pemrograman yang sama, untuk menyelesaikan masalah yang sama, LOC nya bisa berbeda jauh tergantung dari algoritma yang digunakan. Hal ini yang membuat banyak sekali kontroversi mengenai LOC sebagai tolak ukur dari sebuah software.

 

2.2 METRIK FUNCTION ORIENTED

Normalisasi dilakukan pada fungsionalitas pada aplikasi, tetapi untuk melakukan hal ini, fungsionalitas harus diukur dengan pengukuran langsung yang lain karena fungsionalitas tidak dapat diukur secara langsung. Maka pengukuran dapat dilakukan dengan pengukuran function point. Function point didapat dari penarikan hubungan empiris berdasarkan pengukuran domain informasi software dan perkiraan kompleksitas software.
Domain informasi yang biasa digunakan ada 5 karakteristik, yaitu:
· jumlah input pemakai: setiap input pemakai yang memberikan data yang berorientasi pada aplikasi yang jelas pada perangkat lunak (harus dibedakan dari penelitian yang dihitung secara terpisah) misal: tipe transaksi.
· jumlah output pemakai: setiap output pemakai yang memberikan informasi yang berorientasi pada aplikasi kepada pemakai. Pada konteks ini output mengacu pada laporan, layar, tampilan kesalahan, dsb. Jenis data individual pada laporan tidak dihitung terpisah. misal: report type.
· jumlah penyelidikan pemakai: input online yang mengakibatkan munculnya beberapa respon perangkat lunak yang cepat dalam bentuk output online.
· jumlah file: setiap master logika (pengelompokan data logis yang menjadi suatu bagian dari sebuah database yang besar atau sebuah file terpisah).
· jumlah interface eksternal: semua interface yang dapat dibaca oleh mesin yang digunakan untuk memindahkan informasi ke sistem yang lain

 

Sekali data telah dikumpulkan, maka nilai kompleksitas dihubungkan dengan masing-masing penghitungan dengan tabel perhitungan sebagai berikut:
Faktor pembobotan

121Dalam hal ini faktor pembobotan setiap faktor sudah menjadi standar dan tidak dapat diubah-ubah, tetapi dalam penentuan kriteria suatu perangkat lunak pada salah satu parameter pengukuran adalah sederhana, rata-rata atau kompleks ditentukan oleh organisasi atau perkeyasa perangkat lunak yang melakukan penghitungan itu sendiri. Tetapi meskipun begitu perkiraan kompleksitas tetap bersifat subyektif.

Untuk menghitung function point (FP) dapat digunakan hubungan sbb:
FP = jumlah total x [0,65 + 0,01 x Fi]
dimana jumlah total adalah nilai yang kita dapatkan pada tabel perhitungan di atas.

Sedangkan Fi dapat dihitung dari perhitungan sebagai berikut:
· Pertama-tama kita diberi 14 buah karakteristik dari suatu perangkat sebagai berikut:
1. Data communications
2. Distributed functions
3. Performance
4. Heavily used configuration
5. Transaction rate
6. Online data entry
7. End-user efficiency
8. Online update
9. Complex processing
10. Reusability
11. Installation ease
12. Operational ease
13. Multiple sites
14. Facilitation of change
Pada setiap karakteristik tersebut diberi bobot dari nilai 0 sampai 5 dengan asumsi nilai sebagai berikut:
0. Tidak berpengaruh
1. Insidental
2. Moderat
3. Rata-rata
4. Signifikan
5. Essential

Setelah setiap karakteristik diberi bobot masing-masing, lalu bobot-bobot dari setiap karakteristik ini dijumlahkan (jadi minimum 0 dan maksimal 70) dan kita akan mendapatkan nilai Fi. Setelah mendapatkan nilai Fi maka kita bisa menghitung nilai FP dengan rumus di yang sudah ada di atas.
Setelah kita mendapatkan nilai FP, maka kita dapat menggunakannya dengan cara analog dengan LOC untuk menormalisasi pengukuran produktivitas, kualitas perangkat lunak, serta atribut-atribut yang lain seperti:

· kesalahan per FP
· cacat per FP
· $ per FP
· halaman dokumentasi per FP
· FP per person-month
· dsb
(dimana untuk mendapatkan data-data untuk kesalahan, cacat, dolar, dsb dapat diambil dari data-data pada tabel record pada metrik size-oriented).

Contoh:

Pada proyek alpha (tabel record metrik size oriented) sudah dihitung bahwa jumlah input pemakainya ada 18 buah, jumlah output pemakai: 6 buah, jumlah penyelidikan pemakai 22 buah, jumlah file 45 buah, jumlah interface eksternal 20 buah, dengan asumsi bahwa jumlah input pemakai rata-rata, jumlah output pemakai sederhana, jumlah penyelidikan pemakai rata-rata, jumlah file kompleks, jumlah interface eksternal sederhana. Semua karakteristik pada perangkat lunak ini moderat. Hitung $ per FP nya!

Jawab:

jumlah total = (18 x 4) + (6 x 4) + (22 x 4) + (45 x 15) + (20 x 6) = 979
Fi = 14 x 2 = 28
FP = 979 x (0,65 + (0,01 x 28)) = 910,47
$ pada proyek alpha: 168000
$ per FP = 168000 / 910,47 = $184,52

Hasil dari contoh kasus diatas masih berupa suatu angka mentah, untuk dapat dilihat apakah angka ini termasuk baik atau tidak harus diperbandingkan dengan perhitungan lain, misalnya $ per FP dari proyek beta atau gamma, atau proyek dari organisasi lain.

Sebenarnya banyak sekali metrik-metrik yang digunakan untuk mengukur perangkat lunak, misalnya metrik FP yang diperluas (biasanya diaplikasikan dalam dunia bisnis) tetapi belum sempat dibahas disini.

 

REFERENSI :

http://rpl07.wordpress.com/2007/06/21/pengukuran-perangkat-lunak-menggunakan-metrik-size-oriented-dan-metrik-function-oriented-oleh-arif-m-5105-100-139/

 

http://www.geocities.com/iyuadi/rpluasImam.pdf

 

 

 

 

DISUSUN OLEH :

Tofan Teguh Perkasa

220641105

 

 

 

 

 


 

Dahulu orang banyak mengukur volume dari suatu software menggunakan LOC (Lines Of Code), yaitu suatu teknik pengukuran besar software dengan cara menghitung baris kode program yang ada. Teknik ini mempunyai sifat yang menjadi kekurangannya yaitu :

1.       Relatif terhadap bahasa/tool pemrograman dan gaya pengkodean programer. LOC sangat tergantung pada karakteristik tool pemrograman yang digunakan dan gaya pengkodean programer. Sebagai contoh dalam bahasa BASIC kode sebagai berikut :

a = a + 1

        hanya membutuhkan 1 baris kode. Sedangkan untuk mendapatkan hasil yang sama dalam bahasa PASCAL kode tersebut dikonversi sebagai berikut :

                                program x;

var

a : integer;

begin

a := a + 1;

end.

                yang membutuhkan 6 baris kode.

2.       LOC tidak bisa ditentukan sebelum proyek pengembangan menyelesaikan tahapan implementasi (pengkodean). Oleh karena itu, LOC tidak dapat dimanfaatkan untuk merencanakan proses pengembangan dan tidak pula dapat digunakan untuk memperkirakan harga produk. Selesainya tahapan implementasi adalah suatu fase yang sangat terlambat untuk menyusun estimasi sumber daya.

 

Dari kekurangan tersebut maka timbul keinginan untuk mendapatkan suatu teknik pengukuran volume software yang tidak hanya berdasar pada banyaknya baris kode program, namun lebih kearah sesuatu yang dapat diukur lebih awal pada software development life cycle sehingga kemudian munculah gagasan metode Function Point.

 

Metode Function Point

 

Perhitungan dengan metode Function Point menuntut untuk dilakukan oleh seorang profesional yang berpengalaman karena memiliki tingkat subyektifitas yang cukup tinggi. Metode ini sendiri terdiri dari banyak varia. Variasi yang adalah pada langkah/tahapan yang ada maupun pada isi dari tiap tahapan. Varian-varian ini timbul karena metode ini dapat diubah sesuai dengan kebijakan perusahaan pengembang software. Namun apapun varian yang digunakan oleh pengembang, hendaknya digunakan dengan konsisten agar tercipta komparasi yang benar antara softwaresoftware yang dinilai.

 

Tahapan-tahapan yang ada dalam menentukan function point adalah sebagai berikut :

 

Langkah 1 : Menghitung crude function points (CFP). Jumlah dari komponen fungsional sistem pertama kali diidentifikasi dan dilanjutkan dengan mengevaluasi kuantitasi bobot kerumitan dari tiap komponen tersebut. Pembobotan tersebut kemudian dijumlahkan dan menjadi angka CFP.

Perhitungan CFP melibatkan 5 tipe komponen sistem software berikut :

  • Jumlah macam aplikasi input
  • Jumlah macam aplikasi output
  • Jumlah macam aplikasi query online – aplikasi ini berhubungan dengan query terhadap data yang tersimpan.
  • Jumlah macam file/tabel logic yang terlibat
  • Jumlah macam interface eksternal – output atau input yang dapat berhubungan dengan komputer lewat komunikasi data, CD, disket, dan lain-lain.

Kemudian diberikan faktor bobot pada tiap komponen di atas berdasarkan

kompleksitasnya. Tabel di bawah ini merupakan contoh blanko pembobotan

tersebut.                                                              

 

 

 

 

Komponen system software

Level kompleksitas

Total CFP

Sederhana

Menengah

Kompleks

 

Count

Faktor bobot

Point

Count

Faktor bobot

Point

Count

Faktor bobot

Point

 

A

B

C=AxB

D

E

F=ExF

G

H

I=GxH

J=C+F+I

Input

 

3

 

 

4

 

 

6

 

 

Output

 

4

 

 

5

 

 

7

 

 

Query online

 

3

 

 

4

 

 

6

 

 

File logic

 

7

 

 

10

 

 

15

 

 

Interface external

 

5

 

 

7

 

 

10

 

 

Total CFP

 

 

 

 

 

 

 

 

 

 

 

 

Langkah 2 : Menghitung faktor pengubah kompleksitas relatif/relative complexity adjustment factor (RCAF) untuk proyek tersebut.

RCAF berfungsi untuk menghitung kesimpulan kompleksitas dari sistem software dari beberapa subyek karakteristik. Penilaian berskala 0 sampai 5 diberikan pada tiap subyek yang paling berpengaruh terhadap usaha pengembangan yang dibutuhkan. Blanko penilaian yang diusulkan penulis diberikan seperti table dibawah ini

 

1

Tingkat kompleksitas kehandalan backup/recovery

0

1

2

3

4

5

2

Tingkat kompleksitas komunikasi data

0

1

2

3

4

5

3

Tingkat kompleksitas pemrosesan terdistribusi

0

1

2

3

4

5

4

Tingkat kompleksitas kebutuhan akan kinerja

0

1

2

3

4

5

5

Tingkat kebutuhan lingkungan operasional

0

1

2

3

4

5

6

Tingkat kebutuhan knowledge pengembang

0

1

2

3

4

5

7

Tingkat kompleksitas updating file master

0

1

2

3

4

5

8

Tingkat kompleksitas instalasi

0

1

2

3

4

5

9

Tingkat kompleksitas aplikasi input, output, query online dan file

0

1

2

3

4

5

10

Tingkat kompleksitas pemrosesan data

0

1

2

3

4

5

11

Tingkat ketidakmungkinan penggunaan kembali dari kode (reuse)

0

1

2

3

4

5

12

Tingkat variasi organisasi pelanggan

0

1

2

3

4

5

13

Tingkat kemungkinan perubahan/fleksibilitas

0

1

2

3

4

5

14

Tingkat kebutuhan kemudahan penggunaan

0

1

2

3

4

5

Total = RCAF

 

FP = CFP x (0.65 + 0.01 x RCAF)

Langkah 3 : Menghitung Function Point dengan rumus :

 

FP = CFP x (0.65 + 0.01 x RCAF)

 

Nilai function point untuk sistem software tersebut kemudian dihitung berdasarkan hasil dari tahap 1 dan 2 yang dimasukkan ke dalam formula

 

                                FP = CFP x (0.65 + 0.01 x RCAF)

 

Contoh Penggunaan – Attend Master

 

Akan dibangun sebuah sistem presensi karyawan bernama Attend-Master yang direncanakan dapat melayani bisnis kelas kecil sampai menengah dengan karyawan sebanyak 10-100 orang. Sistem tersebut direncanakan akan memiliki interface dengan paket software dari perusahaan lain yaitu Human-Master, yang melayani sumber daya manusia dan Wage-Master yang melayani penggajian. Attend-Master direncanakan dapat menghasilkan beberapa laporan dan query online. Dari dokumentasi requirement sistem software yang direncanakan ini, didapatkan Data Flow Diagram (DFD) yang ditunjukkan pada di bawah ini. Dari gambar tersebut dapat dihitung nilai function point untuk sistem software Attend-Master yang diajukan.

 

Langkah 1 : Menghitung crude function points (CFP)

– Jumlah aplikasi input – 2

– Jumlah aplikasi output – 3

– Jumlah query online – 3

– Jumlah file logic – 2

– Jumlah interface eksternal – 2

Derajat kompleksitas (sederhana, menengah atau kompleks) kemudian dievaluasi untuk tiap komponen untuk mendapatkan nilai CFP seperti contoh pada diatas.

24

                                                                             

Komponen system software

Level kompleksitas

Total CFP

Sederhana

Menengah

Kompleks

 

Count

Faktor bobot

Point

Count

Faktor bobot

Point

Count

Faktor bobot

Point

 

A

B

C=AxB

D

E

F=ExF

G

H

I=GxH

J=C+F+I

Input

1

3

3

4

1

6

6

9

Output

4

2

5

10

1

7

7

17

Query online

1

3

3

1

4

4

1

6

6

13

File logic

1

7

7

10

1

15

15

22

Interface external

5

7

2

10

20

20

Total CFP

 

 

 

 

 

 

 

 

 

81

 

 

 

Langkah 2 : Menghitung relative complexity adjustment factor (RCAF)

Evaluasi terhadap karakteristik kompleksitas dari Attend-Master dan perhitungan dari RCAF digambarkan pada table di bawah ini.

 

1

Tingkat kompleksitas kehandalan backup/recovery

0

1

2

3

4

5

2

Tingkat kompleksitas komunikasi data

0

1

2

3

4

5

3

Tingkat kompleksitas pemrosesan terdistribusi

0

1

2

3

4

5

4

Tingkat kompleksitas kebutuhan akan kinerja

0

1

2

3

4

5

5

Tingkat kebutuhan lingkungan operasional

0

1

2

3

4

5

6

Tingkat kebutuhan knowledge pengembang

0

1

2

3

4

5

7

Tingkat kompleksitas updating file master

0

1

2

3

4

5

8

Tingkat kompleksitas instalasi

0

1

2

3

4

5

9

Tingkat kompleksitas aplikasi input, output, query online dan file

0

1

2

3

4

5

10

Tingkat kompleksitas pemrosesan data

0

1

2

3

4

5

11

Tingkat ketidakmungkinan penggunaan kembali dari kode (reuse)

0

1

2

3

4

5

12

Tingkat variasi organisasi pelanggan

0

1

2

3

4

5

13

Tingkat kemungkinan perubahan/fleksibilitas

0

1

2

3

4

5

14

Tingkat kebutuhan kemudahan penggunaan

0

1

2

3

4

5

Total = RCAF

41

                 

 

Langkah 3 : Menghitung Function Point (FP)

Dengan menggunakan rumus FP maka didapat :

 

                                FP = CFP x (0.65 + 0.01 x RCAF) = 81 x (0.65 + 0.01 x 41) = 85.86

 

Kelebihan dan Kekurangan Metode Function Point

 

Kelebihan utama :

· Perkiraan dapat disiapkan pada tahap pra-proyek dan oleh karena itu maka manajemen dapat didukung dalam usaha persiapan proyek.

· Karena metode ini berbasiskan pada dokumen spesifikasi requirement (tidak berdasarkan pada tool pengembangan atau gaya pengkodean programer), kehandalan metode ini relatif tinggi.

 

Kekurangan utama:

· Hasil perhitungan FP tergantung pada manual penggunaan function point yang digunakan.

· Terkadang ada beberapa proyek yang tidak memiliki dokumen spesifikasi requirement mendetail pada tahap pra-proyek.

· Seluruh proses penghitungan memerlukan profesional yang berpengalaman

· Banyaknya evaluasi yang dibutuhkan berdampak pada hasil yang terlalu subyektif

· Penghitungan FP dilakukan hanya didasarkan pada sistem pemrosesan data. Padahal aspek-aspek lain dari pengembangan sistem software juga ikut berpengaruh terhadap pengembangan itu sendiri. Oleh karena itu metode FP tidak dapat diterapkan secara universal atau masih membutuhkan dukungan perhitungan faktor lainn untuk memperkuat perkiraan

 

Kesimpulan

Dari uraian di atas dapat ditarik beberapa kesimpulan :

– Metode function point dapat dijadikan salah satu alternatif untuk menghitung volume software berdasarkan kompleksitasnya.

– Penggunaan metode function point memerlukan campur tangan professional yang berpengalaman karena perhitungannya sangat subyektif.

– Karena perhitungannya hanyak berdasarkan pada gambaran pemrosesan data, metode function point harus pula didukung data-data tambahan untuk memperkuat perkiraan volume sistem software yang dihasilkan.

 

Referensi utama : dosen.amikom.ac.id/downloads/artikel/

 

Referensi lain :

Gramus, D. dan Herron, D., 1996, Measuring the Software Process – A Practical Guide to Functional Measurements, Yourdon Press, Prentice Hall, New Jersey, US IEEE, 2000, IEEE Std 1061-1998 – Standard for Software Quality Metrics Methodology, The Institure of Electrical and Electronics Engineers, New York, US

 

Caldiera, G., Antoniol, G., Fiuterm, R. dan Lokan, C., 1998, Definition and Experimental Evaluation of Function Points for Object-Oriented Systems, Proceedings of The Fifth International Software Metrics Symposium, California, US

 

DISUSUN OLEH :

Nama     : Dedi Agung Kristanto

NIM       : 22064082

 

Metrik perangkat lunak mengacu pada suatu jangkauan luas pengukuran perangkat lunak computer. Pengukuran dapat diteraperangkat kerasan pada proses perangkat lunak guna mengembangkannya dengan dasar yang kontinu. Pengukuran dapat digunakan di seluruh proyek perangkat lunak untuk membantu perhitungan, control kualitas, perkiraan produktivitas, dan control proyek. Akhirnya, ppengukuran dapat digunakan oleh perekayasa perangkat lunak untuk membantu memperkirakan kualitas produk kerja teknis untuk membantu mengambil keputusan taktis pada saat proyek sudah berjalan.

 

PENGUKURAN, METRIK, DAN INDIKATOR

·         Measure = kuantitatif dari luasan, jumlah, dimensi, kapasitas, atau ukuran dari atribut sebuah proses atau produk.

·         Measurement = kegiatan menentukan sebuah measure (pengukuran).

·         Metrik = ukuran kuantitatif dari tingkat dimana sebuah system, komponen, atau proses memeiliki atribut tertentu.

Pengukuran terjadi sebagai hasil dari pengumpulan satu data atau lebih. Metric perangkat lunak menghubungkan pengukuran individu dengan banyak cara.

Rekayasa perangkat lunak mengumpulkan pengukuran dan mengembangkan metric sehingga diperoleh suatu indicator.

·         Indicator = sebuah metric atau kombinasi dari metric yanbg memberikan pengetahuan ke dalam proses perangkat lunak, sebuah proyek perangkat lunak atau produk itu sendiri.

Indicator memberikan pengetahuan yang memungkinkan manajer proyek atau perekayasa perangkat lunak menyesuaikan proses, proyek, dan produk untuk membuat semuanya menjadi lebih baik.

METRIK DALAM PROSES DAN DOMAIN PROYEK

Metric harus dikumpulkan sehingga indicator proses dan produk dapat dipastikan. Indicator proses memungkinkan sebuah organisasi rekayasa perangkat lunak memperoleh pengetahuan tentang reliabilitas sebuah proses yang sedang berlangsung (misalnya paradigma, tugas-tugas rekayasa perangkat lunak, produk kerja, dan kejadian penting). Indicator proses memungkinkan manajer dan pelaksana memperkirakan apa yang harus dikerjakan dan yang tidak. Metric proses dikumpulkan di seluruh proyek dan pada perkembangan proses perangkat lunak jangka panjang.

Indicator proyek memungkinkan manajer proyek perangkat lunak:

1. memperkirakan status sebuah proyek yang sedang berlangsung,

2. menelusuri resiko-resiko potensial,

3. menemukan area masalah sebelum masalah menjadi semakin rumit,

4. menyesuaikan aliran kerja atau tugas-tugas, dan

5. mengevaluasi kemampuan tim proyek untuk mengontrol kualitas hasil kerja rekayasa perangkat lunak.

Metrik Proses dan Peningkatan perangkat lunak

Satu-satunya cara yang paling rasional untuk meningkatkan proses adalah dengan mengukur atribut tertentu dari proses, mengembangkan serangkaian metric yang berarti berdasarkan atribut-atribut tersebut, dan kemudian menggunakan metric itu untuk memberikan indicator yang akan membawa pada sebuah strategi pengembangan.

Proses adalah factor yang dapat dikontrol dalam mengembangkan kualitas perangkat lunak serta unjuk kerja organisasional.

stepen11

Pada gambar, proses berada di tengah-tengah sebuah segitiga yang menghubungkan tiga factor yang sangat besar pengaruhnya terhadap kualitas perangkat lunak dan unjuk kerja organisasional. Ketrampilan dan motivasi yang diperlihatkan manusia merupakan satu-satunya factor yang paling berpengaruh pada kualitas dan unjuk kerja tim. Teknologi yang menghuni proses juga berpengaruh. Segitiga proses juga berada di dalam sebuah lingkaran yang menggambarkan kondisi lingkungan yang menyangkut lingkungan pengembangan (seperti alat-alat Bantu CASE), kondisi bisnis (seperti batas waktu, aturan bisnis), dan karakteristik pelanggan (misalnya lancarnya komunikasi).

Kita mengukur reliabilitas proses perangkat lunak secara tidak langsung yaitu dengan mengambil serangkaian metric berdasarkan keluaran yang dapat diambil dari proses. Keluaran menyangkut pengukuran kesalahan yang ditemukan sebelum pelepasan perangkat lunak, cacat yang disampaikan dan dilaporkan oleh pemakai akhir, prduk kerja yang dikirim, usaha manusia yang dilakukan, waktu kalender yang digunakan, konfirmasi jadwal, serta pengukuran yang lain.

Terdapat penggunaan privat dan public untuk tipe-tipe data proses yang berbeda, karena memang alamiah bila perekayasa perangkat lunak sensitive terhadap pemakaian metric yang dikumpulkan pada basis individual. Data-data tersebut juga harus bersifat pribadi bagi individu dan berfungsi sebagai indicator hanya untuk individu. Contoh metric yang bersifat pribadi terhadap individu menyangkut:

Nilai cacat oleh individu

Nilai cacat oleh modul

Kesalahan yang ditemukan selama pengembangan

 

Metric public biasanya mengasimilasi informasi yang secara orisinil bersifat pribadi bagi individu dan tim. Nilai cacat tingkat proyek, usaha, waktu calendar, dan data yang dikumpulkan dan dievaluasi dalam upaya menemukan indicator yang dapat mengembangkan unjuk kerja proses organisasional.

 

Maka dari itu diperlukan etika metric perangkat lunak ketika para manajer ingin melembagakan program metric proses:

Gunakan istilah umum dan kepekaan organisasi ketika menginterpretasikan data metric.

Berikan umpan balik regular kpada individu dan tim yang telah bekerja untuk mengumpulkan pengukuran dan metric.

Jangan menggunakan metric untuk menilai individu.

Bekerja dengan pelaksana dan tim untuk menentukan tujuan dan metric yang jelas yang akan dipakai untuk mencapainya.

Jangan pernah menggunakan metric untuk mengancam individu dan tim.

Metric data yang menunjukkan sebuah area masalah tidak boleh dianggap negative. Data-data itu hanya merupakan sebuah indicator bagi peningkatan proses.

Jangan tergoda pada sebuah metric dan kemudian mengabaikan metric penting yang lain.

 

Pada saat organisasi menjadi lebih nyaman dengan kumpulan dan manfaat metric proyek, deviasi dari indicator sederhana memberikan suatu cara kepada suatu pendekatan yang lebih teliti yang disebut statistical software process improvement (SSPI). Pada dasarnya SSPI menggunakan analisis kegagalan perangkat lunak untuk mengumpulkan informasi seputar semua kesalahan dan cacat yang terjadi pada saat sebuah aperangkat lunakikasi, system, atau produk dikembangkan dan dipakai. Analisis kegagalan bekerja dengan cara:

1. Semua kegagalan dan cacat dikategorikan dari awal (contohnya, kekurangan dalam spesifikasi, kekurangan dalam logika, ketidaksesuaian denga standar).

2. Biaya untuk mengoreksi setiap kesalahan dan cacat dicatat.

3. Jumlah kesalahan dan cacat dari setiap kategori dihitung dan ditata dalam urutan naik.

4. Biaya keseluruhan dari kesalahan dan cacat dalam setiap kategori dihitung.

5. Data resultan dianalissi untuk menemukan kategori yang menelan biaya besar.

6. Rencana dikembangkan untuk memodifikasi proses guna mengeliminasi kelas kesalahan dan cacat yang paling membutuhkan banyak biaya.

2233

 

Metrik Proyek

Metrik Proses digunakan untuk tujuan strategis. Pengukuran proyek perangkat lunak bersifat taktis, yaitu bahwa metrik proyek dan indikator yang berasal dari pengukuran digunakan oleh manajer proyek dan tim perangkat lunak untuk mengadaptasi aliran kerja proyek dan aktivitas teknis.

Pada saat kerja teknis dimulai, metrik proyek mulai memiliki arti. Nilai produksi yang disajikan dalam bentuk halaman dokumentasi, jam kajian, titik-titik fungsi, dan deretan sumber yang disampaikan diukur, dan kesalahan yang ditemukan selama masing-masing tugas rekayasa perangkat lunak kemudian ditelusuri. Selagi perangkat lunak berjalan dari spesifikasi ke perancangan, metrik teknik dikumpulkan untuk memperkirakan kualitas desain serta memberikan indikator yang akan mempengaruhi pendekatan yang akan diambil untuk memunculkan kode dan modul serta pengujian integrasi.

Metrik proyek mempunyai tujuan ganda, antara lain:

1. untuk meminimalkan jadwal pengembangan dengan melakukan penyesuaian yang diperluka untuk menghindari penundaan serta mengurangi masalah dan resiko potensial.

2. untuk memperkirakan kualitas produk pada basis yang berlaku dan apabila dibutuhkan memodifikasi pendekatan teknis untuk meningkatkan kualitas.

Pada saat kualitas meningkat, kesalahan menjadi minimal, dan selagi kesalahan semakin berkurang, jumlah kerja ulang yang dibutuhkan selama proyek berlangsung juga berkurang. Dengan demikian, pembiayaan proyek secara keseluruhan dapat berkurang.

Model yang lain dari metrik proyek mengusulkan bahwa setiap proyek seharusnya mengukur:

input (pengukuran sumber daya yang dibutuhkan untuk melakukan pekerjaan),

output (pengukuran kemampuan penyampaian atau produk kerja yang diciptakan selama proses rekayasa perangkat lunak),

hasil (pengukuran yang menunjukkan efektivitas kemampuan penyampaian).

 

PENGUKURAN PERANGKAT LUNAK

Pengukuran langsung dari proses rekayasa perangkat lunak menyangkut biaya dan usaha yang diaperangkat lunakikasikan. Pengukuran langsung dari produk menyangkut deretan kode (LOC) yang diproduksi, kecepatan eksekusi, ukuran memori, dan cacat yang dilaporkan pada sejumlah periode waktu. Pengukuran tidak langsung dari produk menyangkut fungsionalitas, kualitas, komperangkat lunakeksitas, efisiensi, reliabilitas, kemampuan pemeliharaan, dsb.

 

Metrik Size-Oriented

Metrik perangkat lunak size-oriented ditarik dengan normalisasi kualitas dan atau pengukuran produktivitas dengan mempertimbangkan ukuran perangkat lunak yang dihasilkan.

41

Untuk mengembangkan metrik yang dapat diasimilasi dengan metrik yang sama dari proyek yang lain, kita memilih sederetan kode sebagai nilai normalisasi. Dari data yang belum sempurna yang ada pada tabel, dapat dikembangkan serangkaian metrik size-oriented yang sederhana untuk setiap proyek:

kesalahan(error) per KLOC(Kilo Line Per Code),

$ perLOC cacat (defect) per KLOC,

halaman dokumentasi per KLOC.

Metrik menarik lain yang dapat dihitung:

Kesalahan/person-month,

LOC per person-month,

$/halaman dokumentasi.

 

Metrik Function-Oriented 

Metric perangkat lunak function-oriented menggunakan sebuah pengukuran fungsionalitas yang disampaikan oleh aperangkat lunakikasi sebagai suatu nilai normalisasi. Function point ditarik dengan menggunakan sebuah hubungan empiris berdasarkan pengukuran langsung domain informasi perangkat lunak yang dapat dihitung serta perkiraan kompleksitas perangkat lunak.

7

Jumlah input pemakai. Setiap input pemakai yang memberikan data yang berorientasi pada aperangkat lunakikasi yang jelas pada perangkat lunak dihitung. Input ini harus dibedakan dari penelitian yang dihitung secara terpisah.

Jumlah output pemakai. Setiap output pemakai yang memberikan informasi yang berorientasi pada aperangkat lunakikasi kepada pemakai dihitung. Pada konteks ini output mengacu pada laporan, layar, tampilan kesalahan, dsb. Jenis data individual pada sebuah laporan tidak dihitung secara terpisah.

Jumlah penyelidikan pemakai. Sebuah penyelidikan didefinisikan sebagai input on-line yang mengakibatkan munculnya beberapa respon perangkat lunak yang cepat dalam bentuk sebuah output on-line. Setiap penyelidikan yang jelas dihitung.

Jumlah file. Setiap file master logika (yaitu pengelompokan data secara logis yang menjadi suatu bagian dari sebuah database yang besar atau sebuah file yang terpisah) dihitung.

Jumlah interface eksternal. Semua interface yang dapat dibaca oleh mesin yang digunakan untuk memindahkan informas ke sistem yang lain dihitung.

Untuk menghitung functon points dipakai hubungan sbb:

FP = jumlah total * [0.65 + 0.01 * Fi]

Sekali function points telah dihitung, maka poin-poin tersebut digunakan dengan cara analog dengan LOC untuk normalisasi pengukuran produktivitas, kualitas perangkat lunak serta atribut-atribut yang lain:

kesalahan per FP

cacat per FP

$ per FP

halaman dokumentasi per FP

FP per person-month 

 

MENYATUKAN BERBAGAI PENDEKATAN METRIK YANG BERBEDA

 

Basili dan Zelkowitz menetapkan faktor penting yang mempengaruhi produktivitas perangkat lunak, yaitu:

Faktor manusia. Ukuran dan keahlian organisasi pengembangan.

Faktor masalah. Komperangkat lunakeksitas masalah yang dipecahkan dan jumlah perubahan dalam batasan dan persyaratan desain.

Faktor proses. Teknik analisis dan desain yang digunakan, bahasa dan peranti CASE yang tersedia dan teknik-teknik kajian.

Faktor sumber daya. Ketersediaan peranti CASE dan sumber daya perangkat keras dan perangkat lunak.

Jika salah satu faktor produktivitas tersebut diatas rata-rata untuk suatu proyek yang ditentukan, maka produktivitas pengembangan perangkat lunak akan secara signifikan lebih tinggi daripada jika faktor yang sama berada dibawah rata-rata.

 

METRIK UNTUK KUALITAS PERANGKAT LUNAK

 

Tujuan rekayasa perangkat lunak adalah untuk menghasilkan sistem, aperangkat lunakikasi, atau produk brkualitas tinggi. Untuk mencapai tujuan tersebut, perekayasa perangkat lunak harus menerapkan perangkat kerasan metode-metode yang efektif bersama-sama dengan peranti modern dalam konteks proses perangkat lunak yang matang. Sebagai tambahan, perekayasa perangkat lunak yang baik harus mengukur apakah kualitas tinggi direalisir.

Kualitas sistem, aplikasi atau produk merupakan persyaratan yang menjelaskan masalah, desain model solusi, kode yang membuat program dapat dieksekusi, dan pengujian yang menguji perangkat lunak untuk menemukan kesalahan. Perekayasa perangkat lunak yang baik menggunakan pengukuran untuk menilai kualitas model analisis dan desain, kode sumber, dan test case yang dibuat ketika perangkat lunak direkayasa.

 

Faktor-Faktor yang Mempengaruhi Kualitas

Faktor-faktor kualitas yang merupakan langkah pertama dalam mengembangkan metrik-metrik untuk kualitas perangkat lunak. Faktor-faktor tersebut menilai perangkat lunak dari tiga sudut pandang yang berbeda, yaitu (1) operasi produk(menggunakannya), (2) revisi produk(mengubahnya), (3) transisi produk(memodifikasinya untuk bekerja dalam lingkungan yang berbeda).

 

Mengukur Kualitas

Indikator berharga bagi tim proyek:

Cara yang benar. Program harus beroperasi dengan benar. Cara yang benar adalah tigkat dimana perangkat lunak melakukan fungsi-fungsi yang ditentukan. Ukuran yang paling umum adalah cacat per KLOC, dimana cacat didefinisikan sebagai kurangnya kesesuaian(yang telah terbukti) dengan persyaratan.

Maintanibilitas. merupakan kemudahan dimana program dapat dikoreksi jika ditemukan kesalaha, diadaptasi jika lingkungannya berubah, atau diperkuat jika pelanggan menginginkan perubahan kebutuhan. Metrik time-oriented sederhana adalah rata-rata waktu untuk berubah-ubah (MTTC), waktu yang diperlukan untuk menganalisis perubahan yang diperlukan, desain modifikasi yang tepat, mengimperangkat lunakementasikan perubahan, mengujinya, dan mendistribusikan perubahan kepada semua pemakai. Rata-rata, program yang dapat dipelihara akan mempunyai MTTC lebih rendah(untuk tipe perubahan ekivalen) daripada program yang tidak dapat dipelihara.

Integritas. Mengukur kemampuan sistem untuk menahan serangan (baik kebetulan maupun sengaja) terhadap sekuritasnya. Serangan dapat dilakukan pada semua komponen perangkat lunak: program, data, dan dokumen.

Untuk mengukur integritas, ada dua atribut tambahan yang harus ditentukan: ancaman dan sekuritas. Ancaman adalah probabilitas (yang dapat diestimasi atau berasal dari bukti-bukti empiris) bahwa serangan tipe tertentu akan terjadi dalam suatu periode waktu yang ditentukan. Sekuritas adalah probabilitas probabilitas (yang dapat diestimasi atau berasal dari bukti-bukti empiris) bahwa serangan tipe tertentu akan dipukul mundur. Integritas sistem kemudian ditentukan sebagai:

integritas = Σ [1-ancaman*(1-sekuritas)], dimana ancaman dan sekuritas adalah jumlah dari masing-masing jenis serangan.

Usabilitas. Merupakan usaha untuk mengukur user-friendliness dan dapat diukur dalam empat karakteristik:

1. ketrampilan fisik dan atau intelektual untuk mempelajari sistem,

2. waktu yang diperlukan untuk menjadi cukup efisien dalam menggunakan sistem,

3. peningkatan bersih dalam produktivitas (dalam pendekatan jika sistem diganti) yang diukur ketika sistem digunakan oleh seseorang yang cukup efisien,

4. penilaian subyektif (kadang-kadang diperoleh melalui kuisioner) dari sikap pemakai terhadap sistem.

Efisiensi Penghapusan Cacat

Metrik kualitas yang memberikan manfaat pada tingkat proyek dan tingkat proses adalah efisiensi penghapusan cacat (DRE-Defect Removal Efficiency). Pada dasarnya DRE adalah mengukur kemampuan penyaringan jaminan kualitas dan aktivitas kontrol ketika keduanya diteraperangkat kerasan pada semua aktivitas kerangka kerja proses.

DRE = E/(E+D), dimana

E = Σ kesalahan yang ditemukan sebelum perangkat lunak dikirim kepada pemakai akhir,

D = jumlah cacat yang ditemukan setelah pengiriman,

Nilai idealnya adalah 1, dimana tidak ditemukan adanya cacat pada perangkat lunak. Secara kenyataan, D akan lebih besar dari nol, tetapi nilai DRE masih dapat mendekati 1 jika E bertambah. Jika E bertambah, maka kemungkinan besar nilai akhir D akan berkurang(kesalahan disaring sebelum menjadi cacat).

 

MENYATUKAN METRIK-METRIK DALAM PROSES PERANGKAT LUNAK

 

Pengukuran memberikan manfaat pada tingkat strategik, pada tingkat proyek, dan tingkat teknis. Jika proses pengembangan perangkat lunak dapat ditingkatkan, maka akan diperoleh pengaruh langsung kepada lini dasar. Tetapi untuk dapat menetaperangkat kerasan tujuan untuk peningkatan, maka status saat ini dari pengembangan perangkat lunak harus dipahami. karena itu digunakan pengukuran untuk membuat baseline proses. Baseline berfungsi sebagai basis untuk estimasi. Kumpulan metrik kualitas memampukan organisasi mengaktifkan proses rekayasa perangkat lunaknya untuk menghapus penyebab vital few dari cacat-cacat yang paling besar pengaruhnya terhaadap pengembangan perangkat lunak.

Kumpulan data membutuhkan investigasi historis terhadap proyek-proyek sebelumnya untuk menyusun kembali data yang diperlukan. komputasi metrik dapat dilakukan setelah ukuran-ukuran dikumpulkan. Tergantung luasnya ukuran yang dikumpulkan, metrik dapat menjangkau banyak metrik LOC atau FP serta metrik kualitas dan orientasi proyek lainnya. akhirnya, metrik harus dievaluasi dan diteraperangkat kerasan selama estimasi, kerja teknis, kontrol proyek dan peningkatan proses. Evaluasi metrik memfokuskan pada alasan-alasan mendasar untuk hasil yang diperoleh dan membuat sekumpulan indikator yang memandu proyek atau proses.

  

Referensi : http://rpl07.wordpress.com/2007/06/15/proses-perangkat-lunak-dan-metrik-proyek-oleh-shinta-dwijayanti-5105-100-023/

 

DISUSUN OLEH :

 

Stefanus Eki H. [ 22064043 ]

 

A.     DEFINISI DAN PENJELASAN

Pengukuran merupakan salah satu dasar dari semua disiplin ilmu teknik.

Rekayasa perangkat lunak dalam IEEE Standard 610.12 didefinisikan sebagai

berikut: “The application of a systematic, disciplined, quantifiable approach to

the development, operation, and maintenance of software; that is, the application

of engineering to software”.

Metrik digunakan oleh industri perangkat lunak untuk mengukur proses

pembuatan, operasi, dan perawatan perangkat lunak. Melalui metrik, dapat

diperoleh informasi-informasi berharga dan parameter-parameter sebagai bahan

evaluasi yang obyektif mengenai atribut-atribut dan status dari suatu

pengembangan perangkat lunak. Implementasi metrik perangkat lunak pada suatu

proses pengembangan perangkat lunak dan pada suatu produk perangkat lunak

melibatkan tahapan-tahapan kompleks yang memerlukan pembelajaran yang

berkelanjutan, yang pada akhirnya dapat memberikan pengetahuan mengenai

status dari suatu proses pembuatan perangkat lunak dan atau suatu produk dari

perangkat lunak.

B.     METRIK DAN ESTIMASI PERANGKAT LUNAK

Metrik Proses dan Peningkatan Proses Perangkat Lunak

Menurut Paulish [1994], proses pada pengembangan perangkat lunak

dipaparkan dalam gambar 2.1 sebagai berikut:

1

Gambar 1 Lingkungan pengembangan perangkat lunak

Dari gambar, diperoleh bahwa proses berada di tengah-tengah segitiga

yang terhubung pada tiga faktor utama, yaitu: sumber daya manusia, kompleksitas

produk, dan perkembangan teknologi. Dari ketiga faktor tersebut yang paling

berpengaruh dalam hal kualitas dan performa proses adalah sumber daya manusia.

Segitiga proses terdapat di dalam sebuah lingkaran dari kondisi lingkungan dari

proses yang sedang berjalan, yang terdiri dari lingkungan pengembangan sistem, kondisi bisnis (misalnya: deadline, aturan bisnis), dan karakteristik pelanggan

atau pengguna (misalnya: kemudahan komunikasi).

Efisiensi dari suatu proses dapat diukur secara tidak langsung dengan cara

menentukan sekumpulan metrik berdasarkan kesimpulan yang dapat diambil dari

suatu proses. Kesimpulan dapat diambil dari perhitungan kesalahan-kesalahan

yang belum dapat diatasi sebelum perangkat lunak diterbitkan maupun kesalahan

yang dilaporkan oleh pengguna secara langsung. Kesimpulan juga dapat diambil

dari ukuran produktifitas pekerjaan, tenaga kerja yang digunakan, waktu yang

dihabiskan, kedisiplinan jadual, dan ukuran-ukuran lain yang lebih spesifik.

Grady [1992] berpendapat bahwa terdapat penggunaan privat dan publik

untuk data-data proses yang diperoleh. Beberapa metrik proses bisa bersifat privat

untuk tim dalam proyek, namun bisa bersifat publik untuk seluruh anggota tim.

21

Gambar 2 Grafik tulang ikan analisa proses pengembangan perangkat lunak

Untuk memudahkan suatu organisasi dalam melakukan analisis proses,

dibuat suatu pendekatan yang disebut dengan Statistical Software Process

Improvement (SSPI). SSPI menggunakan analisis kesalahan yang terdapat pada

perangkat lunak untuk mengumpulkan informasi mengenai semua kesalahan dan kekurangan yang dapat terjadi pada aplikasi atau sistem. Analisis kesalahan dilakukan pada hal-hal berikut:

1. Semua kesalahan dan kekurangan yang dikategorikan berdasarkan sumber

dari kesalahan

2. Pencatatan biaya untuk memperbaiki tiap kesalahan

3. Jumlah kesalahan dan kekurangan pada tiap kategori dijumlahkan dan

diurutkan mulai dari yang paling banyak sampai yang paling sedikit

4. Semua biaya dari kesalahan dan kekurangan dari tiap kategori dihitung

5. Data resultan dianalisa untuk menutupi kategori-kategori yang

memerlukan biaya paling besar

6. Perencanaan yang cermat dibuat untuk melakukan perubahan pada proses

dengan mengurangi frekuensi kesalahan dan kekurangan yang paling

banyak menghabiskan biaya.

Kumpulan dari metrik proses menghasilkan sebuah diagram ‘tulang ikan’

seperti pada gambar 2. Diagram yang lengkap dapat digunakan oleh organisasi

perangkat lunak dalam melakukan modifikasi proses untuk mengurangi frekuensi

kesalahan.

Pengukuran Perangkat Lunak

Pengukuran dapat dipisahkan dalam dua kategori, yaitu pengukuran

langsung dan pengukuran tidak langsung. Pengukuran langsung dalam proses

rekayasa perangkat lunak berhubungan dengan biaya dan sumber daya yang

diperlukan, misalnya: pengukuran jumlah baris kode, kecepatan eksekusi, ukuran

memori, dan kesalahan yang ditemui dalam suatu periode waktu. Pengukuran

tidak langsung dari suatu produk berhubungan dengan fungsionalitas, kualitas,

kompleksitas, efisiensi, reliabilitas, dan lain sebagainya. Pengukuran secara

langsung lebih mudah dilakukan, karena hasil dapat diperoleh secara langsung,

sedangkan pengukuran tidak langsung lebih sulit dilakukan, karena harus melalui

proses yang lebih kompleks.

Metrik dipisahkan menjadi metrik proses, proyek, dan produk. Metrik

produk bersifat privat untuk individu dan sering dikombinasikan untuk membuat

metrik proyek yang bersifat publik bagi tim pengembang. Metrik proyek

kemudian dikonsolidasikan untuk membuat metrik proses yang publik untuk

seluruh organisasi atau perusahaan. Kesulitan yang biasanya dihadapi adalah pada

saat melakukan kombinasi pada metrik-metrik yang diukur disebabkan karena

sering terjadi perbedaan metrik antara idividu satu dengan individu lainnya.

Masalah tersebut biasa diatasi apabila dilakukan normalisasi pada proses

pengukuran. Dengan adanya normalisasi maka dapat dilakukan perbandingan

metrik pada cakupan yang lebih luas.

Metrik Berorientasi Ukuran

Metrik beorientasi ukuran diperoleh dengan cara melakukan normalisasi

ukuran kualitas dan produktivitas dengan menghitung ukuran dari perangkat lunak

yang dibuat. Ukuran yang biasanya dijadikan sebagai acuan normalisasi adalah

LOC (lines of code). Dari pengukuran jumlah LOC pada suatu perangkat lunak,

dapat diperoleh:

1. Kesalahan per KLOC (ribuan LOC)

2. Kekurangan atau cacat pada spesifikasi per KLOC

3. Harga per LOC

4. Jumlah halaman dokumentasi per LOC

Selain itu, beberapa metrik yang bisa dihitung adalah:

1. Kesalahan per orang-bulan

2. LOC per orang-bulan

3. Harga per halaman dokumentasi

Menurut Jones [1986], metrik berorientasi ukuran tidak dapat diterima

secara universal sebagai cara terbaik untuk mengukur proses rekayasa perangkat

lunak. Alasan yang dikemukakan adalah kadang-kadang fungsionalitas program

dapat dicapai dengan baris program yang lebih sedikit. Selain itu, untuk

melakukan estimasi LOC harus digunakan analisis desain tingkat tinggi.

Metrik Berorientasi Fungsi

Metrik berorientasi fungsi menggunakan ukuran fungsionalitas yang

dihasilkan oleh aplikasi sebagai nilai normalisasi. Fungsionalitas tidak dapat

diukur secara langsung, sehingga untuk memperolehnya digunakan pengukuran langsung terlebih dahulu, lalu hasil pengukuran langsung tersebut digunakan

sebagai masukan. Metrik berorientasi fungsi pertama kali diusulkan oleh Albrecth

[1979], yang menyarankan pengukuran yang disebut function point (FP). FP

diperoleh dengan menggunakan hubungan empiris berdasarkan pengukuran

langsung dan estimasi terhadap kompleksitas perangkat lunak.

Terdapat lima karakteristik yang digunakan sebagai acuan, yaitu:

1. Jumlah masukan (user inputs)

2. Jumlah keluaran (user outputs)

3. Jumlah permintaan (inquiry)

4. Jumlah berkas

5. Jumlah antarmuka eksternal

Jumlah-jumlah tersebut dikalikan dengan faktor pemberat, sesuai dengan

kompleksitas (sederhana, sedang, kompleks) dari tiap karakteristik acuan. Untuk

mengukurnya, digunakan persamaan:

FP = jumlah total x [0.65 + 0.01 x Σ (Fi)]

C.     CONTOH PADA STUDI KASUS

Desain Sistem

Proyek yang digunakan sebagai bahan untuk

keperluan studi kasus adalah kegiatan pembuatan prototype Sistem Informasi

Manajemen Perencanaan Pemerintah Daerah Propinsi (SIMANCA) di CV Global

Intermedia, Yogyakarta. SIMANCA digunakan sebagai alat untuk melakukan otomatisasi

pengolahan data pada proses perencanaan kegiatan di pemerintah daerah.3

D.    IMPLEMENTASI

Estimasi berbasis LOC dan FP memiliki teknik yang unik. Keduanya

memiliki karakteristik sendiri. Perencana proyek memulai dengan kumpulan

pernyataan yang berisi kerangka dan batasan-batasan dari perangkat lunak dan

dari peryataan-pernyataan tersebut kemudian mencoba untuk melakukan

dekomposisi perangkat lunak ke dalam banyak fungsi permasalahan (problem

function) dan melakukan estimasi variabel-variabel (LOC dan FP) pada tiap

fungsi permasalahan. Sebagai alternatif, perencana proyek dapat memilih komponen untuk menentukan ukuran, seperti kelas obyek, perubahan, atau proses

bisnis yang terpengaruh.

Metrik produktivitas (misalnya: LOC/pm atau FP/pm9) diaplikasikan ke

dalam variabel estimasi. Akronim pm digunakan untuk menyatakan satuan

person-month (orang-bulan). Metrik kemudian dikombinasikan untuk

memperoleh estimasi dari keseluruhan proyek. Dengan menggunakan data dari

proyek di masa lalu, perencana proyek dapat membagi nilai perkiraan ke dalam

nilai ukuran (S), yang dihasilkan dari rata-rata antara keadaan optimis (Sopt),

mendekati (Sm), dan pesimis (Spess), seperti contoh dalam persamaan (2-2) berikut

ini:

S = (Sopt + 4Sm + Spess) / 6

Estimasi dilakukan pada analisis fungsi dan desain yang diperoleh dari

spesifikasi keperluan perangkat lunak dan spesifikasi desain perangkat lunak.

Estimasi ini lebih mengandalkan intuisi yang dikombinasikan dengan pengalaman

proyek di masa lampau sebagai bahan pertimbangan dalam melakukan estimasi.

Estimasi fungsi diperoleh dari spesifikasi keperluan perangkat lunak, sedangkan

estimasi desain data, antarmuka, menu, dan komponen diperoleh dari spesifikasi desain perangkat lunak. Estimasi fungsi dan desain digunakan sebagai acuan

untuk estimasi proses maupun estimasi LOC dan FP.

Pada estimasi berbasis proses, dilakukan estimasi pada waktu yang

diperlukan untuk melakukan analisa tiap fungsi, desain, pengerjaan (coding), dan

ujicoba (testing). Seluruh estimasi usaha dan tenaga yang diperlukan untuk tiap

fungsi dan desain dijumlahkan, sehingga langsung dapat diketahui estimasi

jumlah usaha dan tenaga yang diperlukan untuk menyelesaikan proyek

pengembangan perangkat lunak.

Selain estimasi berbasis proses, terdapat estimasi berbasis LOC dan FP.

Estimasi LOC dan FP juga menggunakan pengalaman proyek di masa lalu sebagai

salah satu bahan pertimbangan dalam estimasi. Pada estimasi berbasis LOC,

Sistem dibagi kedalam modul-modul yang sesuai, dan modul dibagi ke dalam

fungsi, lalu dilakukan estimasi jumlah LOC untuk tiap fungsi di dalam modul

tersebut. Estimasi jumlah LOC untuk tiap fungsi kemudian dijumlahkan sehingga

diperoleh estimasi LOC pada tiap modul. Estimasi LOC pada tiap modul

kemudian dijumlahkan sehingga diperoleh estimasi jumlah LOC perangkat lunak

secara keseluruhan.

Estimasi FP dilakukan berdasarkan jumlah masukan, jumlah keluaran,

jumlah permintaan (inquiries), jumlah berkas, dan jumlah antarmuka eksternal.

Masing-masing jumlah estimasi tersebut dikalikan dengan faktor pemberat

berdasarkan kompleksitas fungsi perangkat lunak, yang menghasilkan estimasi FP

untuk tiap komponen. Estimasi FP tersebut dijumlahkan untuk memperoleh estimasi FP total. Estimasi FP total kemudian dikalikan dengan faktor peubah

kompleksitas untuk memperoleh estimasi FP akhir.

Hasil estimasi LOC dan FP kemudian dimasukkan ke dalam persamaanpersamaan

yang sudah ditentukan, untuk mengubah estimasi LOC dan FP menjadi

estimasi tenaga kerja dan usaha yang diperlukan untuk menyelesaikan proyek

pengembangan perangkat lunak.

Antarmuka pengguna dan fasilitas kendali (UICF)

Antarmuka pengguna dirancang dengan menggunakan tampilan berbasis

web. Kendali fungsi dilakukan melalui pranala-pranala yang disediakan untuk tiap

modul yang terdapat pada SIMANCA.

4

Manajemen Basis Data (DBM)

Dalam estimasi desain basis data digunakan analisa berdasarkan rancangan

diagram E-R yang terdapat pada spesifikasi desain perangkat lunak. Perkiraan

dilakukan dengan menjumlahkan atribut dan entitas-entitas yang telibat pada

desain basis data. Perkiraan tersebut kemudian dijumlahkan dengan perkiraan

jumlah query yang akan dilakukan. Perkiraan LOC DBM ditampilkan dalam tabel

berikut:5

Modul Analisis Desain (DAM)

Modul analisis desain digunakan untuk memperkirakan jumlah LOC yang diperlukan pada fungsi yang ada pada SIMANCA.

6bc6ba1

Analisa LOC

Berdasarkan indikasi data historis yang diambil dari proyek-proyek yang

telah dikerjakan, produktifitas organisasi untuk sistem adalah 620 LOC/orangbulan.

Jumlah total estimasi LOC pada SIMANCA adalah:

LOC = LOC UICF + LOC DBM + LOC DAM

= 1121 + 197 + 940

= 2258 LOC

= 2,258 KLOC

Estimasi tenaga yang diperlukan untuk mengembangkan prototype

SIMANCA adalah:

EOB = LOC / 620

= 2258 / 620

= 3,64 orang-bulan

Estimasi dalam orang jam:

EOJ = EOB x 173,33

= 3,64 x 173,33

= 630,92 orang-jam

Jadi, berdasarkan perhitungan yang diperoleh dari estimasi LOC berdasarkan konstanta yang diambil dari proyek-proyek yang telah dikerjakan,  perkiraan jumlah tenaga yang diperlukan untuk mengembangkan SIMANCA adalah 3,64 orang-bulan atau setara dengan 630,92 orang-jam.

 

E..     KESIMPULAN

1. Estimasi perangkat lunak digunakan untuk melakukan perkiraan terhadap

sumber daya dan biaya yang diperlukan untuk menyelesaikan suatu proyek

pengembangan perangkat lunak.

2. Kebenaran hasil estimasi perangkat lunak baru dapat diketahui ketika

suatu proyek pengembangan perangkat lunak telah diselesaikan.

3. Untuk memperoleh perkiraan yang tepat perlu dilakukan pembelajaran

dengan melakukan kalibrasi pada perumusan konstanta estimasi, sesuai

dengan kondisi yang berlaku pada proyek pengembangan perangkat lunak

yang sedang dijalankan.

 

F. REFERENSI

http://www.westfallteam.com/software_metrics,_measurement_&_analytical_ methods.htm

 

B. Hetzel, Making Software Measurement Work: Building an Effective Measurement Program, QED Technical Publishing Group, Boston, Massachusetts, 1993, ISBN: 0471565687

Grady, Robert B., Practical Software Metrics for Project Management and Process Improvement, Prentice-Hall, Inc., 1992, ISBN: 0137203845

 

Lowell Jay Arthur, Measuring Programmer Productivity and Software Quality, John Wiley & Sons, Inc., New York, NY, 1985, ISBN: 0471887137

 

DISUSUN OLEH :

HADITYA RIFKIAJI H.

22063985

 

 

 

 

 

 

1. Pendahuluan

Pengukuran volume software telah menjadi suatu perbincangan hangat di kalangan

pengembang dan pebisnis software. Bagi pengembang, mengukur volume dari

software bermanfaat untuk merencanakan sumber daya, biaya dan durasi yang

diperlukan untuk membangun software. Selain itu, pengembang juga dapat

mengevaluasi kualitas produk dengan cara membandingkan volume sistem dengan

banyaknya error (error-count) dalam software yang dikerjakan.

Sementara dari perspektif bisnis, volume software dapat menjadi dasar untuk

menentukan nilai harga dari produk software yang bersangkutan.

2. Pengukuran Volume Software

Dahulu orang banyak mengukur volume dari suatu software menggunakan LOC

(Lines Of Code), yaitu suatu teknik pengukuran besar software dengan cara

 

menghitung baris kode program yang ada. Teknik ini mempunyai sifat yang menjadi

kekurangannya yaitu :

· Relatif terhadap bahasa/tool pemrograman dan gaya pengkodean programer.

LOC sangat tergantung pada karakteristik tool pemrograman yang digunakan

dan gaya pengkodean programer. Sebagai contoh dalam bahasa BASIC kode

sebagai berikut :

a = a + 1

hanya membutuhkan 1 baris kode. Sedangkan untuk mendapatkan hasil yang

sama dalam bahasa PASCAL kode tersebut dikonversi sebagai berikut :

program x;

var

a : integer;

begin

a := a + 1;

end.

yang membutuhkan 6 baris kode. Juga perhatikan contoh perbedaan gaya

pengkodean dari 2 skrip program berikut yang mengakibatkan perbedaan LOC.

 

Kode 1 (2 baris)

a := a + 1; b :=5;

if a = 2 then a=1;

 

 

Kode 2 (4 baris):

a := a + 1;

b := 5;

if a = 2 then

a := 1;

 

 

· LOC tidak bisa ditentukan sebelum proyek pengembangan menyelesaikan

tahapan implementasi (pengkodean). Oleh karena itu, LOC tidak dapat

dimanfaatkan untuk merencanakan proses pengembangan dan tidak pula dapat

digunakan untuk memperkirakan harga produk. Selesainya tahapan

implementasi adalah suatu fase yang sangat terlambat untuk menyusun estimasi

sumber daya.

Dari kekurangan tersebut maka timbul keinginan untuk mendapatkan suatu teknik

pengukuran volume software yang tidak hanya berdasar pada banyaknya baris kode

program, namun lebih kearah sesuatu yang dapat diukur lebih awal pada software

development life cycle sehingga kemudian munculah gagasan metode Function

Point.

 

Keunggulan dari metode Function Point adalah kemampuannya untuk menyediakan

perkiraan volume proyek dalam bentuk sumber daya pengembangan yang

dibutuhkan, sebelum proyek tersebut jauh melangkah. Perkiraan ini memberikan

dasar penting untuk perkiraan sumber daya yang dibutuhkan perusahaan software

dalam mempersiapkan proposal tender dan project plan. Penggunaan metode seperti

ini juga dapat mencegah atau setidaknya mengurangi secara substansial risiko dari

kesalahan manajerial karena underestimate pada perencanaan biaya proyek.

Metode function point perhitungannya didasarkan pada ukuran banyak dan

kompleksitas fungsi yang diinginkan dalam proyek software. Function point dapat

dihitung melalui telaah dokumentasi requirement fungsional sistem oleh seorang

profesional.

Metode function point diperkenalkan pertama kali oleh Albrecht pada tahun 1979.

Perkembangan selanjutnya metode ini digunakan secara luas untuk keperluan

komersial oleh banyak pihak namun masih dipandang sebagai eksperimental oleh

banyak ilmuwan atau profesional. Memandang pentingnya metode ini, maka risetriset

dilakukan untuk memvalidasi, meningkatkan dan mengadaptasikan metode ini

ke dalam beberapa jenis sistem software seperti sistem software real-time dan sistem

software berorientasi obyek.

3. Metode Function Point

Perhitungan dengan metode Function Point menuntut untuk dilakukan oleh seorang

profesional yang berpengalaman karena memiliki tingkat subyektifitas yang cukup

tinggi. Metode ini sendiri terdiri dari banyak varia. Variasi yang adalah pada

langkah/tahapan yang ada maupun pada isi dari tiap tahapan. Varian-varian ini timbul

karena metode ini dapat diubah sesuai dengan kebijakan perusahaan pengembang

software. Namun apapun varian yang digunakan oleh pengembang, hendaknya

digunakan dengan konsisten agar tercipta komparasi yang benar antara softwaresoftware

yang dinilai.

Pada tulisan ini penulis memberikan contoh berdasarkan publikasi varian yang

populer seperti Gramus dan Herron (1996), IEEE (2000), Caldiera dkk (1998) yang

menghasilkan manual penggunaan function point seperi IFPUG 3, IFPUG 4 dan Mark

II. Contoh berikut penulis buat dengan beberapa penyesuaian sesuai dengan

pengalaman dan pengamatan penulis. Tahapan-tahapan yang ada dalam

menentukan function point adalah sebagai berikut :

 

Langkah 1 : Menghitung crude function points (CFP). Jumlah dari komponen

fungsional sistem pertama kali diidentifikasi dan dilanjutkan dengan mengevaluasi

kuantitasi bobot kerumitan dari tiap komponen tersebut. Pembobotan tersebut

kemudian dijumlahkan dan menjadi angka CFP.

Langkah 2 : Menghitung faktor pengubah kompleksitas relatif/relative complexity

adjustment factor (RCAF) untuk proyek tersebut.

Langkah 3 : Menghitung Function Point dengan rumus :

FP = CFP x (0.65 + 0.01 x RCAF)

 

Langkah 1 : Menghitung crude function points (CFP)

Perhitungan CFP melibatkan 5 tipe komponen sistem software berikut :

· Jumlah macam aplikasi input

· Jumlah macam aplikasi output

· Jumlah macam aplikasi query online – aplikasi ini berhubungan dengan query

terhadap data yang tersimpan.

· Jumlah macam file/tabel logic yang terlibat

· Jumlah macam interface eksternal – output atau input yang dapat berhubungan

dengan komputer lewat komunikasi data, CD, disket, dan lain-lain.

Kemudian diberikan faktor bobot pada tiap komponen di atas berdasarkan

kompleksitasnya. Tabel 1 di bawah ini merupakan contoh blanko pembobotan

tersebut.

Tabel 1: Blanko penghitungan CFP

heni1

Langkah 2 : Menghitung faktor pengubah kompleksitas relatif/relative

complexity adjustment factor (RCAF).

RCAF berfungsi untuk menghitung kesimpulan kompleksitas dari sistem software dari

beberapa subyek karakteristik. Penilaian berskala 0 sampai 5 diberikan pada tiap

subyek yang paling berpengaruh terhadap usaha pengembangan yang dibutuhkan.

Blanko penilaian yang diusulkan penulis diberikan seperti Tabel 2.

Tabel 2: Blanko penghitungan RCAF

heni2heni3

Langkah 3 : Menghitung Function Point (FP)

Nilai function point untuk sistem software tersebut kemudian dihitung berdasarkan

hasil dari tahap 1 dan 2 yang dimasukkan ke dalam formula

 

FP = CFP x (0.65 +0.01 x RCAF)

 

4. Contoh Penggunaan – Attend Master

Akan dibangun sebuah sistem presensi karyawan bernama Attend-Master yang

direncanakan dapat melayani bisnis kelas kecil sampai menengah dengan karyawan

sebanyak 10-100 orang. Sistem tersebut direncanakan akan memiliki interface

dengan paket software dari perusahaan lain yaitu Human-Master, yang melayani

sumber daya manusia dan Wage-Master yang melayani penggajian. Attend-Master

direncanakan dapat menghasilkan beberapa laporan dan query online. Dari

dokumentasi requirement sistem software yang direncanakan ini, didapatkan Data

Flow Diagram (DFD) yang ditunjukkan pada Gambar 1. Dari gambar tersebut dapat

dihitung nilai function point untuk sistem software Attend-Master yang diajukan.

Langkah 1 : Menghitung crude function points (CFP)

– Jumlah aplikasi input – 2

– Jumlah aplikasi output – 3

– Jumlah query online – 3

– Jumlah file logic – 2

– Jumlah interface eksternal – 2

Derajat kompleksitas (sederhana, menengah atau kompleks) kemudian dievaluasi

untuk tiap komponen untuk mendapatkan nilai CFP seperti contoh pada Tabel 3

heni4

Gambar 1: Data Flow Diagram dari Attend-Master

Tabel 3: Contoh penghitungan CFP untuk Attend Master

heni5heni6FP = CFP x (0.65 + 0.01 x RCAF) = 81 x (0.65 + 0.01 x 41) = 85.86

5. Kelebihan dan Kekurangan Metode Function Point

Kelebihan utama :

· Perkiraan dapat disiapkan pada tahap pra-proyek dan oleh karena itu maka

manajemen dapat didukung dalam usaha persiapan proyek.

· Karena metode ini berbasiskan pada dokumen spesifikasi requirement (tidak

berdasarkan pada tool pengembangan atau gaya pengkodean programer),

kehandalan metode ini relatif tinggi.

Kekurangan utama:

· Hasil perhitungan FP tergantung pada manual penggunaan function point yang

digunakan.

· Terkadang ada beberapa proyek yang tidak memiliki dokumen spesifikasi

requirement mendetail pada tahap pra-proyek.

· Seluruh proses penghitungan memerlukan profesional yang berpengalaman

· Banyaknya evaluasi yang dibutuhkan berdampak pada hasil yang terlalu

subyektif

· Penghitungan FP dilakukan hanya didasarkan pada sistem pemrosesan data.

Padahal aspek-aspek lain dari pengembangan sistem software juga ikut

berpengaruh terhadap pengembangan itu sendiri. Oleh karena itu metode FP

tidak dapat diterapkan secara universal atau masih membutuhkan dukungan

perhitungan faktor lainn untuk memperkuat perkiraan

6. Kesimpulan

Dari uraian di atas dapat ditarik beberapa kesimpulan :

– Metode function point dapat dijadikan salah satu alternatif untuk

menghitung volume software berdasarkan kompleksitasnya.

– Penggunaan metode function point memerlukan campur tangan profesional

yang berpengalaman karena perhitungannya sangat subyektif.

– Karena perhitungannya hanyak berdasarkan pada gambaran pemrosesan

data, metode function point harus pula didukung data-data tambahan untuk

memperkuat perkiraan volume sistem software yang dihasilkan.

 

REFERENSI

Caldiera, G., Antoniol, G., Fiuterm, R. dan Lokan, C., 1998, Definition and

Experimental Evaluation of Function Points for Object-Oriented Systems,

Proceedings of The Fifth International Software Metrics Symposium,

California, US

Galin, Daniel, 2004, Software Quality Assurance, Pearson Education Limited,

Addison Wesley, Inggris

Gramus, D. dan Herron, D., 1996, Measuring the Software Process – A Practical

Guide to Functional Measurements, Yourdon Press, Prentice Hall, New Jersey, US

IEEE, 2000, IEEE Std 1061-1998 – Standard for Software Quality Metrics

Methodology, The Institure of Electrical and Electronics Engineers, New

York, US

URL :http://dosen.amikom.ac.id/downloads/artikel/DASI-MEI2006-Kusrini.pdf

DISUSUN OLEH:

HENOKH SUPRAYOGI SANTOSO

22064051