CCCPaste

Pseudocode Tiket Kereta

## Main Program
PROGRAM TiketKereta
    DECLARE totalTiket AS INTEGER
    DECLARE dataPenumpang AS ARRAY
    DECLARE totalHarga AS FLOAT

    CALL InputDataPenumpang(totalTiket, dataPenumpang)
    CALL HitungHargaTiket(dataPenumpang, totalHarga)
    CALL CetakDataTiket(dataPenumpang, totalHarga)
END PROGRAM


## Input Data Penumpang
MODULE InputDataPenumpang(totalTiket, dataPenumpang)
    INPUT "Masukkan jumlah tiket yang akan dibeli: " INTO totalTiket
    FOR i FROM 1 TO totalTiket DO
        DECLARE penumpang AS DICTIONARY
        INPUT "Masukkan nama penumpang ke-" + i + ": " INTO penumpang["nama"]
        INPUT "Masukkan kota tujuan penumpang ke-" + i + ": " INTO penumpang["kota"]
        ADD penumpang TO dataPenumpang
    END FOR
END MODULE

## Hitung Harga Tiket
MODULE HitungHargaTiket(dataPenumpang, totalHarga)
    DECLARE hargaPerKota AS DICTIONARY
    SET hargaPerKota["Jakarta"] = 100000
    SET hargaPerKota["Bandung"] = 80000
    SET hargaPerKota["Surabaya"] = 150000
    totalHarga = 0

    FOR EACH penumpang IN dataPenumpang DO
        SET kota = penumpang["kota"]
        penumpang["harga"] = hargaPerKota[kota]
        totalHarga = totalHarga + penumpang["harga"]
    END FOR
END MODULE

## Cetak Data Tiket
MODULE CetakDataTiket(dataPenumpang, totalHarga)
    FOR EACH penumpang IN dataPenumpang DO
        PRINT "Nama: " + penumpang["nama"]
        PRINT "Kota Tujuan: " + penumpang["kota"]
        PRINT "Harga Tiket: " + penumpang["harga"]
        PRINT "--------------------------"
    END FOR
    PRINT "Total Harga Tiket: " + totalHarga
END MODULE