{"id":1388,"date":"2013-12-12T22:43:13","date_gmt":"2013-12-12T15:43:13","guid":{"rendered":"http:\/\/www.sulhansetiawan.com\/?p=1388"},"modified":"2013-12-15T16:10:42","modified_gmt":"2013-12-15T09:10:42","slug":"factorial-program-using-procedure","status":"publish","type":"post","link":"https:\/\/sulhansetiawan.com\/id\/factorial-program-using-procedure\/","title":{"rendered":"Faktorial dengan prosedur"},"content":{"rendered":"<p><\/p>\n<div style=\"width: 96px; margin-left: auto; margin-right: auto;\"><a href=\"\/id\/?p=1387\"><img decoding=\"async\" src=\"https:\/\/sulhansetiawan.com\/_wordpress_\/2013\/12\/arrowleft_green_32.png\" title=\"Prosedur\"\/><\/a><a href=\"\/id\/?p=1379\"><img decoding=\"async\" src=\"https:\/\/sulhansetiawan.com\/_wordpress_\/2013\/12\/home_green_32.png\" title=\"Tutorial Delphi\"\/><\/a><a href=\"\/id\/?p=1389\"><img decoding=\"async\" src=\"https:\/\/sulhansetiawan.com\/_wordpress_\/2013\/12\/arrowright_green_32.png\" title=\"Tentang parameter\"\/><\/a><\/div>\n<p>Kita sudah pernah menggunakan prosedur tanpa parameter. Pada saat itu parameter memang tidak dibutuhkan dalam prosedur tersebut. Prosedur tersebut akan selalu menghasilkan sesuatu yang benar-benar sama. Sekarang bayangkan sebuah prosedur yang bisa bertindak sesuai dengan keadaan, sehingga prosedur membutuhkan informasi untuk menentukan tindakannya. Cara untuk mengirimkan informasi ke dalam prosedur adalah dengan menggunakan parameter. Contoh prosedur dengan parameter adalah sebagai berikut:<\/p>\n<pre class='brush: delphi'>program HitungFaktorial5;\r\n{$APPTYPE CONSOLE}\r\nvar\r\n  n:integer;\r\n  procedure HitungFaktorial(bilangan:integer);\r\n  var n:integer;\r\n      faktorial:Extended;\r\n  begin\r\n    faktorial:=1;\r\n    if (bilangan<>0) then\r\n    begin\r\n      n:=1;\r\n      repeat\r\n        faktorial:=faktorial*n;\r\n        n:=n+1;\r\n      until (n>bilangan);\r\n    end;  \r\n    Write('Faktorial dari ',bilangan);\r\n    Writeln(' adalah ',faktorial);\r\n  end;\r\nbegin\r\n  Write('Masukkan sebuah bilangan: ');\r\n  Readln(n);\r\n  HitungFaktorial(n);\r\n  Writeln('Tekan Enter');\r\n  Readln;\r\nend.<\/pre>\n<p>Prosedur HitungFaktorial memiliki parameter bilangan. Di dalam prosedur tersebut, bilangan digunakan sebagai informasi yang dikirim dari pemanggilnya. Pada proses pemanggilannya, ekspresi yang diberikan kepada prosedur tersebut adalah n. Oleh prosedur, n akan diterjemahkan sebagai bilangan.<\/p>\n<p>Perhatikan pula bahwa di dalam prosedur HitungFaktorial terdapat variabel n. variabel ini merupakan variabel yang berbeda dengan variabel n milik program utama.<\/p>\n<p>Cobalah untuk menambahkan baris pada program utama sebagai berikut:<\/p>\n<pre class='brush: delphi'>begin\r\n  Write('Masukkan sebuah bilangan: ');\r\n  Readln(n);\r\n  HitungFaktorial(n); \r\n  Writeln(n); \r\n  Writeln('Tekan Enter');\r\n  Readln;\r\nend.<\/pre>\n<p>Saat program dijalankan, tampilannya adalah sebagai berikut:<\/p>\n<pre>Masukkan sebuah bilangan: 45\r\nFaktorial dari 45 adalah  1.19622220865480E+0056\r\n45\r\nTekan Enter\r\n\r\n<\/pre>\n<p>Prosedur HitungFaktorial melakukan perubahan terhadap variabel n, akan tetapi setelah pemanggilan terhadap prosedur tersebut, ternyata isi variabel n tetap sama. Hal ini menunjukkan bahwa variabel n milik prosedur  berbeda dengan variabel n milik program utama.<\/p>\n<p>Variabel n milik program utama disebut sebagai variabel global. Sedangkan variabel n milik prosedur disebut variabel lokal. Jika prosedur tersebut tidak memiliki variabel n, maka perubahan terhadap n diterapkan kepada variabel global. Akan tetapi jika sebuah prosedur memiliki variabel yang namanya sama dengan nama variabel global, maka perubahan terhadap variabel dengan nama tersebut akan diterapkan kepada variabel lokal.<\/p>\n<div style=\"width: 96px; margin-left: auto; margin-right: auto;\"><a href=\"\/id\/?p=1387\"><img decoding=\"async\" src=\"https:\/\/sulhansetiawan.com\/_wordpress_\/2013\/12\/arrowleft_green_32.png\" title=\"Prosedur\"\/><\/a><a href=\"\/id\/?p=1379\"><img decoding=\"async\" src=\"https:\/\/sulhansetiawan.com\/_wordpress_\/2013\/12\/home_green_32.png\" title=\"Tutorial Delphi\"\/><\/a><a href=\"\/id\/?p=1389\"><img decoding=\"async\" src=\"https:\/\/sulhansetiawan.com\/_wordpress_\/2013\/12\/arrowright_green_32.png\" title=\"Tentang parameter\"\/><\/a><\/div>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Kita sudah pernah menggunakan prosedur tanpa parameter. Pada saat itu parameter memang tidak dibutuhkan dalam prosedur tersebut. Prosedur tersebut akan selalu menghasilkan sesuatu yang benar-benar sama. Sekarang bayangkan sebuah prosedur yang bisa bertindak sesuai dengan keadaan, sehingga prosedur membutuhkan informasi untuk menentukan tindakannya. Cara untuk mengirimkan informasi ke dalam prosedur adalah dengan menggunakan parameter. Contoh&hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[105,104,96,145],"tags":[106],"class_list":["post-1388","post","type-post","status-publish","format-standard","hentry","category-delphi-lazarus","category-programming","category-all","category-tutorial","tag-delphi"],"_links":{"self":[{"href":"https:\/\/sulhansetiawan.com\/id\/wp-json\/wp\/v2\/posts\/1388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sulhansetiawan.com\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sulhansetiawan.com\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sulhansetiawan.com\/id\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sulhansetiawan.com\/id\/wp-json\/wp\/v2\/comments?post=1388"}],"version-history":[{"count":0,"href":"https:\/\/sulhansetiawan.com\/id\/wp-json\/wp\/v2\/posts\/1388\/revisions"}],"wp:attachment":[{"href":"https:\/\/sulhansetiawan.com\/id\/wp-json\/wp\/v2\/media?parent=1388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sulhansetiawan.com\/id\/wp-json\/wp\/v2\/categories?post=1388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sulhansetiawan.com\/id\/wp-json\/wp\/v2\/tags?post=1388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}