Files
flowgorithm/piramidaDanBalok.fprg
2026-02-12 08:04:40 +00:00

117 lines
7.6 KiB
XML

<?xml version="1.0"?>
<flowgorithm fileversion="4.2">
<attributes>
<attribute name="name" value="piramidaDanBalok"/>
<attribute name="authors" value="yuvlian"/>
<attribute name="about" value=""/>
<attribute name="saved" value="2026-02-12 09:57:16 AM"/>
<attribute name="created" value="eXV2bGlhbjtQQU5DQUtFOzIwMjYtMDItMTI7MDc6MzY6MTMgQU07MjUzOQ=="/>
<attribute name="edited" value="eXV2bGlhbjtQQU5DQUtFOzIwMjYtMDItMTI7MDk6NTc6MTYgQU07OTsyNjYz"/>
</attributes>
<function name="Main" type="None" variable="">
<parameters/>
<body>
<declare name="cmPanjangSisiAlasPiramida" type="Real" array="False" size=""/>
<declare name="cmPanjangTinggiPiramida" type="Real" array="False" size=""/>
<declare name="cmPanjangBalok" type="Real" array="False" size=""/>
<declare name="cmLebarBalok" type="Real" array="False" size=""/>
<declare name="cmTinggiBalok" type="Real" array="False" size=""/>
<comment text="ini biar bikin support selain cm gampang, tinggal variable multiplier terus compare string buat nentuin, tapi malas, toh di soal juga cm ygy"/>
<output expression="&quot;semua angka cm ya!&quot;" newline="True"/>
<output expression="&quot;pastikan constraint ini terpenuhi ya!&quot;" newline="True"/>
<comment text="bagusnya ini pakai if statement, karena aturan pertama bikin aplikasi adalah: jangan pernah percaya user input"/>
<comment text="tapi karena belum boleh sama dosen, kita kasih tau lewat print aja dulu biar ga ngawuwor inputnya"/>
<output expression="&quot;cmLebarBalok &lt; cmPanjangSisiAlasPiramida &amp;&amp; cmTinggiBalok &lt; cmPanjangTinggiPiramida&quot;" newline="True"/>
<output expression="&quot;masukkan panjang sisi alas piramida:&quot;" newline="True"/>
<input variable="cmPanjangSisiAlasPiramida"/>
<output expression="&quot;masukkan tinggi piramida:&quot;" newline="True"/>
<input variable="cmPanjangTinggiPiramida"/>
<output expression="&quot;masukkan panjang balok:&quot;" newline="True"/>
<input variable="cmPanjangBalok"/>
<output expression="&quot;masukkan lebar balok:&quot;" newline="True"/>
<input variable="cmLebarBalok"/>
<output expression="&quot;masukkan tinggi balok:&quot;" newline="True"/>
<input variable="cmTinggiBalok"/>
<declare name="cmTinggiSisiPiramida" type="Real" array="False" size=""/>
<declare name="cmVolumePiramida" type="Real" array="False" size=""/>
<declare name="cmLuasPermukaanPiramida" type="Real" array="False" size=""/>
<declare name="cmVolumeBalok" type="Real" array="False" size=""/>
<declare name="cmSisaVolumeBalok" type="Real" array="False" size=""/>
<declare name="cmSisaLuasPermukaanPiramida" type="Real" array="False" size=""/>
<comment text="fun fact: cepetan ngedit XMLnya buat ginian drpd edit lewat flowgorithm wkwk"/>
<assign variable="cmTinggiSisiPiramida" expression="calcCmTinggiSisiPiramida(cmPanjangTinggiPiramida, cmPanjangSisiAlasPiramida)"/>
<assign variable="cmVolumePiramida" expression="calcCmVolumePiramida(cmPanjangSisiAlasPiramida, cmPanjangTinggiPiramida)"/>
<assign variable="cmLuasPermukaanPiramida" expression="calcCmLuasPermukaanPiramida(cmPanjangSisiAlasPiramida, cmTinggiSisiPiramida)"/>
<assign variable="cmVolumeBalok" expression="calcCmVolumeBalok(cmPanjangBalok, cmLebarBalok, cmTinggiBalok)"/>
<assign variable="cmSisaVolumeBalok" expression="cmVolumePiramida - cmVolumeBalok"/>
<assign variable="cmSisaLuasPermukaanPiramida" expression="calcCmSisaLuasPermukaan(cmLuasPermukaanPiramida, cmPanjangBalok, cmLebarBalok, cmTinggiBalok)"/>
<comment text="yg diminta di soal 2 ini aja jadi gausah print yg lain :3"/>
<output expression="&quot;volume akhir piramida: &quot; &amp; cmSisaVolumeBalok &amp; &quot; cm^3&quot;" newline="True"/>
<comment text="sebenernya ini nama variabelnya jelek sih. &quot;sisa&quot; kurang cocok buat lp"/>
<comment text="karena luas permukaan objek, misal dilubangin obj tersebut, pasti nambah luas"/>
<output expression="&quot;lp akhir piramida: &quot; &amp; cmSisaLuasPermukaanPiramida &amp; &quot; cm^2&quot;" newline="True"/>
</body>
</function>
<function name="calcCmLuasPermukaanPiramida" type="Real" variable="hasil">
<parameters>
<parameter name="sisiAlas" type="Real" array="False"/>
<parameter name="tinggiSisi" type="Real" array="False"/>
</parameters>
<body>
<declare name="hasil" type="Real" array="False" size=""/>
<declare name="luasAlas" type="Real" array="False" size=""/>
<declare name="luasSisiTegak" type="Real" array="False" size=""/>
<assign variable="luasAlas" expression="sisiAlas * sisiAlas"/>
<assign variable="luasSisiTegak" expression="4 * (0.5 * sisiAlas * tinggiSisi)"/>
<assign variable="hasil" expression="luasAlas + luasSisiTegak"/>
</body>
</function>
<function name="calcCmSisaLuasPermukaan" type="Real" variable="hasil">
<parameters>
<parameter name="luasPermukaanPiramida" type="Real" array="False"/>
<parameter name="panjangBalok" type="Real" array="False"/>
<parameter name="lebarBalok" type="Real" array="False"/>
<parameter name="tinggiBalok" type="Real" array="False"/>
</parameters>
<body>
<declare name="hasil" type="Real" array="False" size=""/>
<declare name="luasLubangAtas" type="Real" array="False" size=""/>
<declare name="luasDindingBalok" type="Real" array="False" size=""/>
<assign variable="luasLubangAtas" expression="panjangBalok * lebarBalok"/>
<assign variable="luasDindingBalok" expression="2 * (panjangBalok * tinggiBalok + lebarBalok * tinggiBalok)"/>
<assign variable="hasil" expression="luasPermukaanPiramida - luasLubangAtas + luasDindingBalok"/>
</body>
</function>
<function name="calcCmTinggiSisiPiramida" type="Real" variable="hasil">
<parameters>
<parameter name="tinggi" type="Real" array="False"/>
<parameter name="sisiAlas" type="Real" array="False"/>
</parameters>
<body>
<declare name="hasil" type="Real" array="False" size=""/>
<assign variable="hasil" expression="sqrt((tinggi ^ 2) + ((sisiAlas / 2) ^ 2))"/>
</body>
</function>
<function name="calcCmVolumeBalok" type="Real" variable="hasil">
<parameters>
<parameter name="panjang" type="Real" array="False"/>
<parameter name="lebar" type="Real" array="False"/>
<parameter name="tinggi" type="Real" array="False"/>
</parameters>
<body>
<declare name="hasil" type="Real" array="False" size=""/>
<assign variable="hasil" expression="panjang * lebar * tinggi"/>
</body>
</function>
<function name="calcCmVolumePiramida" type="Real" variable="hasil">
<parameters>
<parameter name="cmSisiAlas" type="Real" array="False"/>
<parameter name="cmTinggi" type="Real" array="False"/>
</parameters>
<body>
<declare name="hasil" type="Real" array="False" size=""/>
<assign variable="hasil" expression="(1.0/3.0) * (cmSisiAlas * cmSisiAlas) * cmTinggi"/>
</body>
</function>
</flowgorithm>